Laptop/ASUS
See also Wikipedia:Asus.
Battery charge threshold
Kernel 5.4 brought the ability to set the battery charge threshold for some Asus laptops, by modifying the charge_control_end_threshold
variable exposed under /sys/class/power_supply/BAT0/
[1][2].
By default this value is set to 100
and reset on every power cycle[3].
The effect of its change can be demonstrated as follows:
$ cat /sys/class/power_supply/BAT0/status Charging $ cat /sys/class/power_supply/BAT0/capacity 74 # echo 60 > /sys/class/power_supply/BAT0/charge_control_end_threshold $ cat /sys/class/power_supply/BAT0/status Not charging
?
), e.g. BAT?
.systemd service
In order to automatically change the value at boot, create the following systemd service:
/etc/systemd/system/battery-charge-threshold.service
[Unit] Description=Set the battery charge threshold After=multi-user.target StartLimitBurst=0 [Service] Type=oneshot Restart=on-failure ExecStart=/bin/bash -c 'echo 60 > /sys/class/power_supply/BAT0/charge_control_end_threshold' [Install] WantedBy=multi-user.target
and then enable it.
60
with the desired value.Restart=on-failure
and StartLimitBurst=0
are used to work around the service failing with a /bin/bash: /sys/class/power_supply/BAT0/charge_control_end_threshold: Permission denied
error.
This error is due to the service being started before asus-wmi could be loaded by the kernel (noted as kernel: battery: new extension: ASUS Battery Extension
in the journal), making it impossible to write there.
The combination of those two options allows unlimited restart of the service for DefaultStartLimitIntervalSec
(set to 10 seconds by default in /etc/systemd/system.conf
), leaving enough time for the sysfs path to become available and writable and thus ensuring the fastest execution of the service.
udev rule
The battery's charge_control_end_threshold
power supply class attribute does not initially exist. It is added to the sysfs(5) directory by the asus-nb-wmi
kernel module. Create a udev rule for asus-nb-wmi
to set the battery's charge threshold:
/etc/udev/rules.d/asus-battery-charge-threshold.rules
ACTION=="add", KERNEL=="asus-nb-wmi", RUN+="/bin/bash -c 'echo 60 > /sys/class/power_supply/BAT?/charge_control_end_threshold'"
Persist after hibernation
While this setting will persist after suspending to RAM, it will be reset when resuming from hibernation. In order to re-execute the service after hibernation, use one of the methods described in Power management#Sleep hooks.
E.g. if using Power management#Generic service template, enable an instance of the created template using:
# systemctl enable [email protected]
If creating a script as described in Power management#Hooks in /usr/lib/systemd/system-sleep, use something similar to:
/usr/lib/systemd/system-sleep/battery-threshold.sh
#!/bin/sh case $1/$2 in pre/*) echo "Going to $2..." ;; post/*) echo "Waking up from $2..." echo 60 > /sys/class/power_supply/BAT0/charge_control_end_threshold ;; esac
Do not forget to make the script executable.
List of models and details
Vivobook
Model version | Date | Video | Sound | Ethernet | Wireless | Bluetooth | Power management | Modem | Other | Remarks |
---|---|---|---|---|---|---|---|---|---|---|
VivoBook M513IA | 2021-09-12 | Yes | Yes | – | Yes | Yes | Yes | – | See #Function key behavior | |
VivoBook F510UA | 2018-07-01 | Yes | Yes | – | Yes | Yes | Untested | – | UEFI secure boot key rejected, had to disable in BIOS. | |
VivoBook 14 X442UA-GA139T | 2018-05-01 | Yes | Yes | Yes | Yes | Untested | Untested | – | UEFI secure boot does not pass, might need work. | |
VivoBook S301LA | 2016-09-01 | Yes | Yes | Yes | Yes | Yes |
acpi_osi= needed for hotkeys and backlight control. For package power states lower than PC3, see Remarks. |
– | To reach PC7, r8168 has to be built without certain build options. An easy way to do this is to build r8168-dkmsAUR after modifying its dkms.conf by removing EXTRA_CFLAGS='-DCONFIG_R8168_NAPI -DCONFIG_R8168_VLAN'
|
|
VivoBook X512DA | 2019-03-15 | Yes | Yes | – | Yes | Yes | Yes | – | See #Function key behavior | Fan spins unusually fast when started plugged in. |
Vivobook S14 M433 (X421IA) | 2020-07-31 | Yes | Yes | – | Yes | Yes | No | – | Fingerprint does not work. See #Function key behavior | See article for more details. |
VivoBook X509DA_D509DA | 2021-06-21 | Yes | Yes | – | Yes | Untested | Bad battery life fan always spins |
– | Sometimes the touchpad is not recognized, to fix run # rmmod i2c-hid-acpiand # modprobe i2c-hid-acpi |
Needed an external wifi/ethernet adapter (via USB) during archiso (for access to internet), screen brightness is set to lowest when you plug/unplug your power for the first time after boot (now fixed, i think by adding the amdgpu module in /etc/mkinitcpio.conf )
|
VivoBook Pro 14 (M3400) | 2021-04-29 | Yes | Yes | – | Yes | Yes | Yes | – | A few keys were strangely mapped (e.g. Screenshot key Fn+F11 mapped to Super+S ). |
Recovering from DPMS brightness reset to default can be solved by replacing acpi_video0 with amdgpu_bl0 .
|
Vivobook X450LCP | 2019-11-01 | Yes | Yes | Yes | Yes | No | Yes | – | Touchpad works better with deprecated xf86-input-libinput driver | Apparently there is no way to control manually the fan. Every time the fan just stops spinning, needing suspending/reboot to fix. |
Function key behavior
The Function keys default behavior is F1
,F2
,etc… and must be unset by using Fn+Esc
to use alternative functions.
Gaming
Model version | Date | Video | Sound | Ethernet | Wireless | Bluetooth | Power management | Modem | Other | Remarks |
---|---|---|---|---|---|---|---|---|---|---|
GL552VM-DM-802D | 2017-02-01 | Yes | Yes | Yes | Yes | Untested | Untested | – | Needs acpi_backlight=native to have Fn keys backlight control, idle=nomwait and acpi_osi=! acpi_osi='Windows 2009' to boot.
|
|
G502VM-FY017T | 2017-02-01 | Yes | Yes | Yes | Yes | Yes | Yes | – | The screen adjustment need a little workaround | |
FX502VM | 2017-02-01 | Yes | Yes | Yes | Yes | Untested | Yes | – | Fn keys does not send ACPI events, except F10 ,F11 ,F12 (sound control) |
|
FX504GD | 2019-05-30 | Yes | Yes | Yes | Yes | Yes | Yes | – | For Fan Speed Control see Fan speed control#Alternative method using EC registers. For touchpad five finger touch of death apply patch pinctl-intel.c patch | |
FX505DY | 2020-12-01 | Yes | Yes | Yes | Yes | Yes | Yes | – | See #Black screen after sleep | |
FX505DT | 2021-09-30 | Yes | Yes | Yes | Yes | Yes | Yes | – | See #Battery charge threshold. Keyboard backlight settings can be controlled via tuf-managerAUR | See #Black screen after sleep |
G73SW | 2011-08-19 | Yes | Yes | Yes | Yes | Yes | Untested | – | ||
G550JK | 2014-08-01 | Yes | Yes | Untested | Yes | Untested | Untested | – | fix background noises while using headphones | |
FX 533VE | 2018-02-01 | Yes | Yes | Yes | Yes | Yes | Yes | – | See #Nouveau prevents boot. | |
FX 504GM | 2019-02-01 | Yes | Yes | Yes | Yes | Yes | Yes | – | Did not manage to use the HDMI output (in fact, it is possible, but...), issue posted on the forum. See #Nouveau prevents boot. | |
FX 504GE | 2019-06-01 | Yes | Yes | Yes | Yes | Yes | Yes | – | See #Elan1200 touchpad. | |
GL 503VD | 2019-02-01 | Yes | Yes | Yes | Yes | Yes | Yes | – | See #Elan1200 touchpad. See #Nouveau prevents boot. |
|
FA506IV | 2022-02-02 | Yes | Yes | Yes | Yes | Yes | Yes | – | Keyboard backlight works but needs faustus with openrgbAUR (or openrgb-binAUR) to change RGB. | If using EFISTUB, cannot change the UEFI timeout using efibootmgr. |
Republic of Gamers (ROG)
Model version | Date | Video | Sound | Ethernet | Wireless | Bluetooth | Power management | Modem | Other | Remarks |
---|---|---|---|---|---|---|---|---|---|---|
ROG Strix GL702ZC | 2017-04-01 | Yes | Yes | Yes | Yes | No | Untested | – | Backlight keys are amdgpu, not xbacklight. Fancontrol is ACPI, there are some amdgpu fan control stuff on aur/github. | |
ROG Zephyrus M | 2019-11-01 | Yes | Yes | Yes | Yes | Yes | Bad battery life: cannot power down NVIDIA GPU |
– | No control over fans and keyboard backlight. Most of functional keys not working | The battery is the big disadvantage. On Windows it can last for up to 6h, however. This laptop is definitely not Linux friendly |
ROG Zephyrus G14 (GA401I) | 2021-05-12 | Yes | Yes | – | Yes | Yes | Yes | – | Some function keys and AniMe LED matrix work with kernel patches and asusctl-gitAUR. | |
ROG Zephyrus G15 (GA502IU) | 2020-07-08 | Yes | Yes | Yes | Yes | Yes | Yes | – | Some custom keys do not work. Can control only one fan with asus_nb_wmi module. |
|
ROG Zephyrus S15 (GX502LWS) | 2020-20-25 | Yes | Yes | Yes | Yes | Yes | Sleep: Untested | – | Keyboard colors work using rogauracore-gitAUR | |
ROG Flow X13 (GV301QE) | 2021-07-01 | Yes | Yes | – | Yes | Yes | Untested | – | Both accelerometer sensor and lid-backflip are not detected (waiting for asus-wmi fix?). | Tablet integration is manual, because the lid-backflip sensor is missing. |
ROG Flow X13 (GV301QH) | 2021-10-09 | Lid-backflip is not detected. Fingerprint sensor is detected when libfprint is fully upgraded, however it always fails to verify. | ||||||||
ROG Zephyrus GU501GM | 2021-11-24 | Yes | Yes | – | Yes | Yes | No | – | Fan curves cannot be changed though overboost modes work. RGB works with rogauracore-gitAUR and all keys work except the mute microphone button | HDMI output is hardwired to the Nvidia GPU. |
ROG Strix G15 G513QY Advantage Edition | 2022-01-16 | Yes* | Yes | Yes | Partial: No AP (HotSpot) mode | Yes | Yes | – | Flashing lights during sleep could be disable with asusctlAUR. Support for custom fan curves should land in kernel 5.17 | *System freezes if there is monitor connected to USB-C. Workaround exists: 1861 1748 |
ROG Strix Scar G15 G533QS | 2022-02-19 | Yes | Yes | Yes | Partial: No AP (HotSpot) mode | Yes | Yes | – | ||
ROG Strix G15 G513 (G513QR) | 2022-02-21 | Yes | Internal mic is very noisy (almost useless). Headset mic requires workaround: Install alsa-tools, run hdajackretask, select Realtek ALC825 from menu and override pin 0x19 with "Microphone". |
Yes | Yes | Yes | Yes | – | Sometimes the WiFi card is not recognized after rebooting. The keys for changing profile and muting the mic require workaround (see fix for profile and mic-mute. | Secure boot disabled. Followed asusctl guide but did not try supergfxctlAUR nor the linux-g14AUR kernel (from g14 repo). |
Asusctl
asusctlAUR (or asusctl-gitAUR) implements functionality specific to the ROG line of laptops, such as backlit keyboards, fan profiles, and the AniMe LED matrix. Check the project's official site for usage: https://asus-linux.org/
Black screen after sleep
Add amd_iommu=off idle=nomwait amdgpu.gpu_recovery=1
to your kernel command line.
Nouveau prevents boot
Boot with nouveau disabled: use nouveau.modset=0
on the kernel command line.
Need to edit bumblebee service to boot : https://github.com/Bumblebee-Project/Bumblebee/issues/764#issuecomment-450749984.
Elan1200 touchpad
Some fixes are needed: see https://bugzilla.redhat.com/show_bug.cgi?id=1543769.
ZenBook
Model version | Date | Video | Sound | Ethernet | Wireless | Bluetooth | Power management | Modem | Other | Remarks |
---|---|---|---|---|---|---|---|---|---|---|
UX305FA | 2016-10-01 | Yes | Yes | Yes | Yes | Yes | Yes | – | Function keys for brightness (F5/F6) do not send ACPI events | |
UX303LN | 2014-10-01 | Yes | Yes | – | Yes | Untested | Untested | – | Touchpad misses gestures, Touchscreen misses multi-touch support | Avoid some power management features due to Kernel Bug 102091. |
UX32L(N) | 2015-08-29 | Yes | Yes | – | Yes | Yes | Yes | – | Set the kernel parameters video.use_native_backlight=1 acpi_osi= for working backlight keys and backlight restore. |
Avoid activating some power management features due to Kernel Bug 102091. |
UX430UA | 2017-06-01 | Yes | Yes | – | Yes | Yes | Yes | – | PWM Fan control is not available | See dedicated page. |
UX390UA | 2018-05-01 | Yes | Yes | – | Yes | Yes | Yes | – | ||
UX534FTC | 2020-04-09 | Yes | Yes | – | Yes | Yes | Yes | – |
ExpertBook
Model version | Date | Video | Sound | Ethernet | Wireless | Bluetooth | Power management | Modem | Other | Remarks |
---|---|---|---|---|---|---|---|---|---|---|
B9450 | 2020-04-20 | Yes | Yes | Yes | Yes | Yes | Yes | – | ||
B9450CEA | 2021-03-14 | Yes | Yes* | Yes | Yes | Yes | Yes | – | ||
BR1100FKA | 2021-05-28 | Yes | Yes | Yes | Yes | Yes | Yes | – | Untested: Webcam Microphone Touchpad Stylus |
Integrated eMMC memory can't be formatted to linux compatible filesystems; you will need to install an NVME SSD. |
Other
Model version | Date | Video | Sound | Ethernet | Wireless | Bluetooth | Power management | Modem | Other | Remarks |
---|---|---|---|---|---|---|---|---|---|---|
W7S | 2007-08-01 (Arch Linux 0.9 Don't Panic) | Yes | Yes | Yes | Yes | Yes | Untested | – | ACPI works with acpi4asus and acpid | |
M51SN | 2008-12-17 | Yes | Yes | Yes | Yes | Yes | Untested | – | Add snd-hda-intel model=lenovo to /etc/modprobe.d/modprobe.conf
|
|
N80Vn-X5 | 2009-02 (Arch Linux 2009.02RC2) | Yes | Yes | Yes | Yes | Yes | Untested | – | Add options snd-hda-intel enable=1 model=g50v position_fix=0 to /etc/modprobe.d/modprobe.conf
|
|
F8SN | 2009-08 | Yes | Yes | Yes | Yes | Untested | Untested | – | ||
L3000D | 2010-02-13 | Yes | Yes | Yes | – | – | Yes | Untested | ||
N53JN | 2010-11-03 | Yes | Yes | Yes | Yes | Untested | Hibernate: Untested | – | suspend works but with problems due to USB3 controller | |
N53SV | 2011-06-26 | Yes | Yes | Yes | Yes | Untested | Yes | – | See also Ubuntu help | |
A8Le | 2011-07-31 | Yes | Yes | Yes | Untested | Untested | Untested | |||
UL30A | 2011-08-19 | Yes | Yes | Yes | Yes | Untested | Untested | – | Card reader: Untested | Needs acpi_backlight=vendor
|
K55VM | 2013-04-01 | Yes | Yes | Yes | Yes | Untested | Yes | – | ||
A55VJ | 2013-05-01 | Yes | Yes | Yes | Yes | Yes | Yes | – | Use i8042.nomux=1 to prevent jittery touchpad.
|
|
X401A/X401A1 | 2013-05-01 | Yes | Yes | Yes | Yes | Untested | brightness control needs asus-nb-wmi and acpi_backlight=intel acpi_osi=
|
– | ||
X502CA | 2013-07-01 | Yes | Yes | Yes | Yes | Untested | Yes | – | Poor Wi-Fi performance | |
S300CA | 2013-08-01 | Yes | Yes | Yes | Yes | Untested | Yes | – | Untested: USB3 Card reader |
Use acpi_osi=Linux acpi_backlight=vendor
|
Q400A | 2013-10-17 | Yes | Yes | Yes | Yes | Yes | Hibernate: Untested | – | HDMI output: Untested | |
X401U | 2014-01-05 | Yes | Yes | Untested | Yes | – | Yes | – | ||
K55N | 2014-11-12 | Yes | Yes | Yes | Yes | – | Overheats and immediately shuts down on modern 3D games. Use thermald to control temp using acpi_cpufreq | – | Fix fn brightness keys with acpi_osi="!Windows 2012" video.use_native_backlight=1 . Do not enable early radeon hook to prevent blank screen after hibernation. Fix blank screen on suspend to ram with sysctl -w kernel.acpi_video_flags=3 .
|
|
1015E | 2014-05-19 | Yes | Yes | Yes | Yes | Untested | Yes | – | USB3: Untested | |
X53BR/K53BR | 2014-03-30 | Yes | Yes | Yes | Yes | – | Yes | – | heats up very fast | |
X551CA | 2014-03-24 | Yes | Yes | Untested | Yes | Untested | Untested | – | Disabling WiFi blocks the card, Fn+F2 does not work. Workaround on Ubuntu forum.
|
|
N550JV | 2014-03-01 | Yes | Yes* | Yes | Yes | Untested | Yes** | – |
*external speakers pop on sleep/shutdown **battery issues when a powered device is left plugged into the USB charging port. |
|
X83VB-X2 | 2014-09-01 | Yes | Yes | Yes | Yes | Untested | Untested | Untested | Camera: Untested | |
Q500A | 2015-02-01 | Yes | Yes | Yes | Yes | Untested | Yes | |||
S400CA | 2015-02-01 | Yes | Yes | Yes | Yes | Untested | Yes | – | Untested: USB3 |
Use acpi_osi=Linux acpi_backlight=vendor
|
U32U | 2015-02-01 | Yes | Yes | Yes | Yes | Yes | Partial | – | Needs significant setup. Power management hard to get right. CPU Fan constantly on. | For rfkill issues options asus_nb_wmi wapf=1 may help
|
X553MA | 2015-06-01 | Yes | Yes | Yes | Yes | No | Yes | – | Set OS Selection in BIOS setup to Windows 7 broadcom-wl (causes freezes) |
|
F550J (aka A550J) | 2015-09-01 | Partial | Yes | Yes | Yes | Untested | Untested | – | xf86-input-synaptics recommended for touchpad | Recommend to disable standalone graphic card |
N550JX | 2015-12-01 | Yes | Yes | Yes | Yes | Yes | Yes | – | Read dedicated page. | |
X552M | 2015-12-01 | Yes | Yes | Yes | Yes | Untested | Yes | – | Use acpi_osi= acpi_backlight=native for changing backlight with Fn+F5 /Fn+F6
|
Read dedicated page. |
E403SA | 2016-06-01 | Yes | Yes | – | Yes | Untested | Yes | – | Card reader not tested. ACPI/Function keys and lid switch do not work and will not show up on acpi_listen; except for mute, volup, voldown. With acpi="!Windows 2012" all ACPI functions work perfectly but the touchpad gets disabled. | |
F555UA | 2016-08-14 | Yes | Yes | Yes | No | No | Yes | – | No two finger scroll, very buggy touchpad | Add options snd-hda-intel model=laptop-dmic position_fix=3 ac97_quirck=alc_jack to /etc/modprobe.d/alsa-base.conf to get mic and headphone/mic to work
|
K501J | 2016-09-01 | Yes | Yes | Untested | Yes | – | Yes | – | Touchpad works with xf86-input-libinput, but somewhat uncomfortable. Better with xf86-input-synaptics even if deprecated. | |
K501LX | 2017-01-01 | Yes | Yes | Yes | Yes | Yes | Yes | – | Keyboard backlight controls | Added pcie_port_pm=off to kernel parameters to make bbswitch work correctly.
|
R540SA | 2017-03-01 | Yes | Yes | Yes | Yes | Yes | Yes | – | ||
N551VW | 2017-06-01 | Yes | Yes | Yes | Yes | Yes | Untested | – | ||
N76V | 2019-01-05 | Yes | Yes | Untested | Yes | Untested | Untested | – | ||
X451MA | 2021-02-12 | Yes | Yes | Yes | Yes | Untested | Untested | – | ||
K55VD | 2021-11-27 | Partial* | Yes | Yes | Yes | Yes | Yes | – | *nvidia-390xx-dkmsAUR fails with both linux and linux-lts |