Laptop/ASUS

From ArchWiki
AcerAppleASUSDellFujitsuHPIBM/LenovoMSISamsungSonyToshibaOther

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
Note: As of 2020-12-11, the following battery device names are recognized: BAT0, BAT1, BATC and BATT.[4] Adjust accordingly or use the single character wildcard (?), 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.

Tip: Replace 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.

Note: As of 2020-12-01, this is the only functional workaround as neither path-based activation or systemd-tmpfiles were working.

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

Tango-edit-clear.pngThis article or section needs language, wiki syntax or style improvements. See Help:Style for reference.Tango-edit-clear.png

Reason: Generic info not specific to laptops should be removed and instead of creating super long, messy entries there should be a dedicated page for the laptop. Many entries also need language improvements (Discuss in Talk:Laptop/ASUS)

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-acpi
and
# 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

Tango-go-next.pngThis article or section is a candidate for moving to asusctl.Tango-go-next.png

Notes: See ASUS GA401I#ASUSCtl, all the content regarding asusctlAUR deserves a dedicated page. (Discuss in Talk:Laptop/ASUS)

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