From ArchWiki
Jump to navigation Jump to search

This page contains instructions and tips for configuring Arch Linux on ASUS Zephyrus G14 (GA401I).

Kernel patch

Since the hardware of this laptop is rather new, some kernel patches are currently needed for its full functionality.

A kernel with these patches is available in the AUR: linux-zen-g14AUR.

CPU frequency

By default, the i8042 and asus-nb-wmi (depends on i8042) kernel modules will refuse to load, resulting in CPU frequency dropping to 400MHz. To fix this, recompile the kernel with the following kernel patch.

Function keys

Most of them work out of the box, others need this patch.


ASUS NB Ctrl is a utility for Linux to control many aspects of various ASUS laptops, but can also be used with non-asus laptops with reduced features. It reimplements some Armoury Crate functionality, such as fan modes and the AniMe-Matrix display. It is available in the AUR: asus-nb-ctrl-gitAUR.

High battery usage/low runtime on battery

The G14 can be tweaked to have far better battery live and performance on windows [1]. A few optimizations can be taken to reach a similar battery live on Arch (you can monitor your current power usage using powertop - note that only the reported battery discharge seems to be fully accurate).

Nvidia driver optimization

When using the official Nvidia driver, the power usage can be reduced by putting the following line in /etc/modprobe.d/nvidia.conf:

options nvidia "NVreg_DynamicPowerManagement=0x02"

This has also shown to reduce fan noise and overall heat.

Disabling turbo boost

While not necessarily saving power, some user prefer to disable turbo boost for smoother power delivery and less heat. To temporarily disable boost, execute the following:

# echo 0 | tee /sys/devices/system/cpu/cpufreq/boost

General Tips

To maximize the battery life, follow the general tips at Power management.

Volume adjustment

When using built-in speakers, volume adjustment will not work for PulseAudio. Download this patch and apply it:

# patch -p1 -d /usr/share/alsa-card-profile/mixer/paths/ -i /path/to/patch

Then restart pulseaudio:

$ systemctl --user restart pulseaudio.service

Pacman hook

To apply the patch automatically after a pulseaudio upgrade, you can use a pacman hook:

Type = Path
Operation = Install
Operation = Upgrade
Target = usr/share/alsa-card-profile/mixer/paths/analog-output-speaker.conf

Description = Fixing pulseaudio volume adjustment...
When = PostTransaction
Exec = /usr/bin/patch -p1 -d /usr/share/alsa-card-profile/mixer/paths/ -i /path/to/patch