From ArchWiki

Tango-edit-clear.pngThis article or section does not follow the Laptop page guidelines.Tango-edit-clear.png

Reason: This page is missing a proper hardware and function keys table (Discuss in Talk:ASUS ROG GA401I)

This page contains instructions and tips for configuring Arch Linux on the ASUS Zephyrus G14 and ASUS ROG Studio Pro 14 (GA401I).

Kernel patch

Since kernel 5.11, support for the devices running Ryzen 4000 CPUs is available without patches.

Devices utilizing Ryzen 5000 series CPUs, on the other hand, currently require kernel patches for some functionality.

A kernel with these patches is available as linux-g14AUR.


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

Notes: Not specific to GA401I. (Discuss in Talk:ASUS ROG GA401I#Moving "ASUSCtl" to asusctl)

ASUSCtl 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: asusctlAUR.

This package provides two programs, asusctl and asusd, that can be used to view and modify some hardware settings, such as:

  • the current power profile (fan speed and boost mode)
  • the graphics card (Nvidia dGPU or AMD iGPU) to use
  • the battery charge limit
  • the LED mode for the keyboard backlight and AniMe Matrix (available only on some models)

Switching to the dedicated Nvidia GPU

The dedicated GPU offers better performance than the integrated one at the cost of higher power consumption. The current graphics mode can be checked using:

# asusctl graphics -g

Available modes are nvidia, hybrid, compute and integrated. Switch to the dedicated graphics card with:

# asusctl graphics -m nvidia

Then reboot to take the change into effect.

DBus notifications

Notifications provide feedback when a setting is changed using asusctl and are especially useful when a setting has been bound to a custom keyboard shortcut. They are provided by the asus-notify.service user unit which needs to be started/enabled.

Battery charge limit

Setting a limit to the battery charge can be useful to preserve its longevity when the laptop is used as a static workstation for long period of times. Set your prefered limit (in percent, from 20 to 100) using:

# asusctl -c 60

60% is usually considered a stable charge state for lithium-based batteries.

Power profile

The power profile controls three settings: CPU scaling (only on Intel CPUs), Boost mode and fans speed. By default, three profiles are provided: Quiet, Balanced and Performance. Custom profiles can be defined.

The easiest way to use this feature is to bind the Fn-F5 key to this command, which will switch to the next available profile: asusctl profile -n. This will imitate the way the original Asus service works on Windows. Notifications should be enabled in order to know which profile is selected each time the shortcut is pressed. A specific profile can be manually selected using:

# asusctl profile -P Quiet

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 > /sys/devices/system/cpu/cpufreq/boost

Or use the power profiles from asusctl to handle this automatically, as explained above.

General Tips

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


Using external display through the USB-C port

While the dedicated HDMI port works out of the box, the display output through the USB-C port does not appear to be connected to the integrated graphics controller. Using an external display through this port requires to switch to the dedicated Nvidia graphics card. See the asusctl section above for more details.

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 the pulseaudio.service user unit.

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