Skip to content
asusctl & ROG Control Center

asusctl & ROG Control Center

The Zephyrus G16 has a lot of hardware features that don’t work out of the box on Linux: fan curves, performance profiles, the Slash LED on the lid, GPU switching, battery charge limiting. This page documents how I got all of it working using asusctl and the ASUS Linux project tools. On CachyOS, these tools are available directly from the package repos.

Package Information:

  • asusd 6.3.4: background daemon (backend) that manages all hardware features
  • asusctl 6.3.4: CLI frontend for fan curves, profiles, battery limit, RGB, Slash LED, GPU switching
  • rog-control-center 6.3.4: graphical frontend, part of the asusctl/asusd suite
  • Source: asus-linux releases · available in CachyOS/Arch repos

Installation

Install asusctl and ROG Control Center

sudo pacman -S asusctl rog-control-center

This installs:

  • asusd: the backend daemon that manages all ASUS hardware features
  • asusctl: CLI frontend that communicates with asusd
  • rog-control-center: graphical frontend that communicates with asusd

On CachyOS, this is all you need; both packages are available directly from the repos and everything works out of the box. No kernel patching or deep system configuration required.

Enable services

sudo systemctl enable --now asusd.service

Reboot to ensure all services start correctly:

sudo reboot

Verify hardware detection

After reboot, verify asusctl detected your hardware correctly:

asusctl info

Expected output should include:

Product family: ROG Zephyrus G16
Board name: GA605WV

Install monitoring tools (optional)

Useful utilities for monitoring hardware alongside asusctl:

sudo pacman -S nvtop powertop s-tui lm_sensors i2c-tools
PackageDescription
nvtopGPU process monitor (AMD + NVIDIA simultaneously)
powertopPower consumption analysis per process/device
s-tuiTUI dashboard: CPU frequency, temperature, load, stress test
lm_sensorsHardware temperature sensor readout
i2c-toolsLow-level hardware bus diagnostics

Configuration

Set battery charge limit (recommended: 80%)

Limiting the charge to 80% significantly extends battery lifespan. The laptop runs normally on AC power regardless of this setting.

Set via CLI:

asusctl battery --charge-limit 80

Set via GUI: Open ROG Control Center (rog-control-center) → System Control → Battery Charge Limit.

Verify:

asusctl battery

This setting persists across reboots and is managed by asusd.

Configure Slash LED (the light bar on the lid)

The Slash LED is the diagonal light bar on the lid of the G16. It supports multiple animations and can be configured to turn off on battery.

Show available animations:

asusctl slash --list

Available animations: Static, Bounce, Slash, Loading, BitStream, Transmission, Flow, Flux, Phantom, Spectrum, Hazard, Interfacing, Ramp, GameOver, Start, Buzzer

Recommended setup (AC only, off on battery and during sleep):

asusctl slash --enable -b false -s false

What these flags do:

  • --enable: turn on the Slash LED
  • -b false: disable on battery power
  • -s false: disable during sleep

Set animation:

asusctl slash --mode Spectrum

Set brightness (0–255):

asusctl slash -l 128
Performance profiles

asusctl provides three performance profiles that control CPU/GPU power limits and fan behavior:

ProfileDescription
SilentLow power, quiet fans, throttled performance
BalancedDefault. Moderate power and noise
PerformanceMaximum CPU/GPU power, aggressive fans

Set a profile:

asusctl profile -P Balanced
asusctl profile -P Silent
asusctl profile -P Performance

Cycle through profiles:

asusctl profile --next

Check current profile:

asusctl profile

Note: Profile switching requires power-profiles-daemon to be running. See the installation steps above.

GPU mode switching (ROG Control Center / asusctl armoury)

The GA605WV has a hybrid GPU setup: the AMD Radeon 890M (iGPU) drives the internal display, and the NVIDIA RTX 4060 (dGPU) handles GPU workloads.

GPU switching is managed via ROG Control Center (GUI) or asusctl armoury (CLI), both of which interface directly with the asus-armoury kernel driver (available since kernel 6.19).

ModeDescription
Hybrid (dgpu_disable 0)Both GPUs active. NVIDIA handles GPU workloads, AMD drives the display. Best for gaming.
Integrated (dgpu_disable 1)Only AMD iGPU. Lower power consumption, no NVIDIA. Good for battery.

Switch via GUI (ROG Control Center):

Open ROG Control Center (rog-control-center) and navigate to the GPU switching section to toggle between Hybrid and Integrated mode.

ROG Control Center - GPU switching

Switch via CLI (asusctl armoury):

Check current dGPU state:

asusctl armoury get dgpu_disable

Switch to iGPU-only (disable dGPU):

asusctl armoury set dgpu_disable 1

Switch to Hybrid (enable dGPU):

asusctl armoury set dgpu_disable 0

Note: A reboot or logout/login may be required after switching modes.

Important: nvidia-powerd.service must remain disabled and masked on this laptop. It conflicts with AMD ATPX power management and causes soft lockups and reboot hangs (black screen, backlights stay on). GPU power is managed via ATPX (via ACPI). See NVIDIA Driver Installation Guide for diagnosis details and commands.

Keyboard RGB (Aura)

Set keyboard backlight brightness (0–100):

asusctl led-brighter
asusctl led-dimmer

Open Aura configuration in ROG Control Center:

rog-control-center

Navigate to the “Keyboard Aura” section for animation, color, and per-key configuration.

Custom fan curves

Fan curves can be configured per performance profile in ROG Control Center or via CLI.

Open ROG Control Center:

rog-control-center

Navigate to “Fan Curves” to set temperature/speed curves per profile (Silent, Balanced, Performance).

CLI fan curve format:

# Show current fan curve data for a profile
asusctl fan-curve -m Balanced

# Set a custom curve (8 temperature/speed pairs: temp:speed,temp:speed,...)
asusctl fan-curve -m Balanced -D 30:0,40:10,50:30,60:50,70:70,80:85,90:100,100:100

Note: Fan curve customization requires the asus-armoury kernel driver. On kernel < 6.19, the driver is not available and curves set in the GUI may not persist as expected. See the Known Issues page for details.

Monitoring

Hardware monitoring commands

GPU monitor (AMD + NVIDIA):

nvtop

CPU frequency, temperature, load dashboard:

s-tui

Power consumption per process/device:

sudo powertop

Hardware temperatures:

sensors

Check asusd service logs:

sudo journalctl -b -u asusd
Known issues and troubleshooting for asusctl & ROG Control Center are documented on the Known Issues page.

CLI Quick Reference

CommandDescription
asusctl infoShow detected hardware
asusctl battery --charge-limit 80Set battery charge limit to 80%
asusctl batteryShow current charge limit
asusctl profileShow current performance profile
asusctl profile -P BalancedSet performance profile
asusctl profile --nextCycle to next profile
asusctl slash --listList available Slash LED animations
asusctl slash --enable -b false -s falseEnable Slash LED, off on battery and sleep
asusctl slash --mode SpectrumSet Slash LED animation
asusctl slash -l 128Set Slash LED brightness (0–255)
asusctl armoury get dgpu_disableShow current dGPU state (0=enabled, 1=disabled)
asusctl armoury set dgpu_disable 1Switch to iGPU-only (disable dGPU)
asusctl armoury set dgpu_disable 0Switch to Hybrid mode (enable dGPU)
rog-control-centerOpen ROG Control Center GUI

Kernel Updates

Kernel 6.19: asus-armoury driver lands in mainline

The asus-armoury driver has been merged into Linux 6.19. This new platform/x86 driver replaces parts of the older asus-wmi with a cleaner sysfs-based API, enabling panel mode switching, APU memory allocation, PPT tuning, and more directly from the kernel. The driver is entirely community-developed by the asus-linux team, with no involvement from ASUS themselves. CachyOS ships kernel 6.19.8-1-cachyos which includes this driver and additional ASUS-specific patches.

Before: basic asusctl controls without Armoury settings:

ROG Control before asus-armoury in mainline

After: full Armoury settings exposed, including PPT/power limit tuning:

ROG Control System Control with Armoury settings and power limit tuning

Sources: Phoronix article · Community discussion · Patch series (lore.kernel.org)

Kernel 7.0: ASUS laptop quirks + newer AMDGPU enablement

Linus confirmed the next kernel will be 7.0, with the merge window now open and a stable release expected mid-April 2026. For this ASUS ROG G16, the headline is better graphics driver coverage: the DRM updates bring AMDGPU enablement for newer RDNA 3.5-class IP blocks (GFX11.5.4) plus ongoing NVIDIA Nova/Nouveau work, which should translate into better handling of both the iGPU and dGPU. Early expectations are that the Radeon 890M could see around a 20% uplift. CachyOS will pick this up as it ships.

Sources: Linus confirms Linux 7.0 · HID laptop quirks for ASUS ROG models · Linux 7.0 DRM/AMDGPU updates

Additional Resources