ASUS Linux - ArchWiki

Jump to content

# ASUS Linux

From ArchWiki

Related articles

- Laptop/ASUS
- asusctl
- supergfxctl
- PRIME
- NVIDIA
- NVIDIA/Tips and tricks
- Power management

ASUS Linux is a suite of tools designed to improve the performance and functionality of ASUS laptops when running Linux. It comes in 2 main parts, asusctl and supergfxctl, the former interacts with the `asus-wmi` and the `asus-armoury` kernel modules to control BIOS level features and the latter is used to control the dedicated GPU in dual GPU systems.

The project is maintained by Luke Jones and is hosted on GitLab.

ASUS Linux is a founding member of the Open Gaming Collective. Their Discord server is now the server for the OGC.

## Software

Note The custom OGC repository is the only installation method officially supported, tested, and maintained by the upstream asus-linux developers.
Warning While alternative AUR links are provided on this page for convenience and ease of linking, their use for core system daemons is heavily discouraged. If any runtime issues are encountered with AUR alternatives, the first troubleshooting requirement is switching to the official prebuilt repository. See AUR for details.

ASUS Linux provides many packages, please see subsections below. They recommend users to install Linux firmware, Microcode and power-profiles-daemon. They primarily recommend the use of KDE Plasma and then GNOME for the best and most complete experience.

There is a custom repository which contains prebuilt binaries available: Unofficial user repositories#OGC, provided by Luke Jones.

This repository is the officially recommended way of installing the asus-linux utilities by the asus-linux developers, it was created and is being maintained by them.

See the Arch Guide and FAQ for instructions on utilities and common fixes.

### asusctl

asusctlAUR is a CLI utility for ASUS ROG & TUF laptop, to name some of the important features it gives users control over:

- Integrated GPU MUX Control
- Keyboard RGB Lighting Profile (but limited compared to the Windows AURA/Armoury Crate)
- Fan Curves
- Battery Charge Limit
- Panel Overdrive
- AniMe Matrix Screens

For usage instructions see asusctl.

### rog-control-center

rog-control-centerAUR is a GUI frontend for asusctl and supergfxctl.

### Custom kernel

Note

- The linux-g14 kernel has been deprecated and replaced by the OGC kernel.
- The asus-armoury driver has been included in the mainline Linux kernel since version 6.19. If the Armoury driver is the only feature you require, installing a custom kernel is no longer necessary.

The OGC repository provides a custom kernel through linux-ogc and linux-ogc-headers packages that is focused on gaming and performance improvements.

Note If you are switching from a stock kernel to a custom kernel you must also update any kernel modules to their DKMS variants.

### GPU

For NVIDIA GPUs, see PRIME, NVIDIA, and NVIDIA/Tips and tricks.

Graphics switching is preferably done with PRIME#Desktop environment integration as it is NVIDIA recommendation.

#### cardwire

Note The cardwire project is in early development. Bugs and incomplete functionality are to be expected.

cardwireAUR is a GPU manager, created as a successor to the deprecated supergfxctl project, for Linux using eBPF LSM hooks to block GPUs. A git version of the package is available at cardwire-gitAUR. See documentation.

#### supergfxctl

Warning Supergfxctl is being phased out and its use is unadvised. During this transitioning period where an alternative is in development, unless you require vfio for virtual machines or have problems turning off your dGPU, don't install it.

supergfxctlAUR is a CLI utility for managing GPU switching functionality on ASUS hybrid laptops, particularly dedicated GPU MUX control.

For usage instructions see supergfxctl.

#### nvidia-laptop-power-cfg

Warning nvidia-laptop-power-cfg should not be blindly installed as udev rules and firmware settings are hardcoded in the package and differences in GPU architecture could harm your GPU and computer. It is preferable to view these as helper configurations.
Note nvidia-laptop-power-cfg is not packaged in the AUR. It is available in the OGC repo only.

nvidia-laptop-power-cfg is a set of udev rules and modprobe configs designed to make it easier for NVIDIA GPU owners to easily configure their device with their respective proprietary drivers.

It is intended for Ampere architecture (RTX 2000) or later devices, but can be configured for Turing architecture (GTX 1000) cards also with the following changes after installation of the package:

    /etc/modprobe.d/nvidia.conf

    options nvidia_drm modeset=1

    options nvidia NVreg_EnableGpuFirmware=0 NVreg_EnableS0ixPowerManagement=1 NVreg_DynamicPowerManagement=0x02

    /usr/lib/udev/rules.d/80-nvidia-pm.rules

    # Remove NVIDIA USB xHCI Host Controller devices, if present
    ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"

    # Remove NVIDIA USB Type-C UCSI devices, if present
    ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"

    # Remove NVIDIA Audio devices, if present
    #ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"

    # Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
    ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
    ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"

    # Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
    ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
    ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"

Note

Depending on your architecture:

- You may want to enable and start `nvidia-suspend.service`, `nvidia-hibernate.service`, `nvidia-resume.service` and `nvidia-powerd.service`
- You may want to also enable `nvidia-suspend-then-hibernate.service`
- If S0ix power management is supported (check with `# cat /proc/driver/nvidia/gpus/bus_address/power`) you may benefit from nvidia-settings and vulkan-icd-loader

Verify your configurations from NVIDIA and NVIDIA/Tips and tricks.

## See also

- Project homepage - https://asus-linux.org/
- Project GitLab page - https://gitlab.com/asus-linux

Category:

- ASUS

ASUS Linux
Add topic