Skip to content
forked from dahui/z13ctl

About

Linux control for the 2025 ASUS ROG Flow Z13 (GZ302): RGB keyboard & lightbar lighting, custom fan curves, TDP/PPT power limits, CPU undervolt (Curve Optimizer), battery charge limit, tablet posture & display coordination — CLI + systemd daemon. Compatible fork of dahui/z13ctl, co-installable.

Topics

Resources

Contributing

Stars

9 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

z13ctl+ — RGB, fan curves, TDP & undervolt control for the ASUS ROG Flow Z13 and AMD Strix Halo

Linux control for the 2025 ASUS ROG Flow Z13 (GZ302): RGB keyboard and lightbar lighting, custom fan curves, TDP/PPT power limits, CPU undervolting via Curve Optimizer, battery charge limiting, boot sound and panel overdrive, plus power automation, AMD P-State policy, coordinated display state, and telemetry — through one CLI and a systemd user daemon.

Built for the Z13, and the daemon reports what the machine actually has (capabilities in get-state). On other AMD Strix Halo hardware it starts without ASUS interfaces, answers "not supported on this machine" for controls it cannot drive, and lets clients such as Z13GUI+ hide them. That support is experimental until more machines are reported — see Compatibility.

z13ctl-plus is an independently named fork of dahui/z13ctl with its own command, socket, state, and packages, so it installs alongside upstream — enable only one project's hardware daemon at a time. The daemon protocol and Go API stay compatible; client integration details are in the API documentation.

What Plus Adds

  • Whole-system power automation — capture named presets and assign separate configurations to plugged-in and battery operation
  • Composable tuning — keep the physical profile independent from fan-curve, TDP, and undervolt overrides; reset or restore each without disturbing the others
  • AMD P-State policy — manage minimum CPU frequency, EPP, and boost through presets and the API
  • Coordinated display state — serialize KDE posture, rotation, scale, and refresh changes for the internal panel without touching external displays
  • Expanded telemetry — expose CPU, GPU, NPU, memory, VRAM, dual-fan, thermal, power, clock, and detailed battery data
  • Better hardware recovery — restore lighting after lid-open events that do not suspend and preserve firmware zero-RPM behavior in the Quiet profile

Tip

Prefer a touch interface? Install Z13GUI+. It exposes power automation, CPU policy, expanded telemetry, refresh rate, and tuning controls through the daemon. Display posture/rotation and scripting remain CLI/API workflows.

Z13GUI+ drawer showing the Overview, Power, RGB, and Settings tabs
Z13GUI+ drawer — Overview, Power, RGB, and Settings

Compatibility

Machine Status
ASUS ROG Flow Z13 (2025, GZ302) Supported — every control
Other AMD Strix Halo laptop or mini PC Experimental — telemetry, CPU policy and (with ryzen_smu) undervolt should work; lighting, fan curves, TDP, boot sound, panel overdrive and charge limit need ASUS hardware interfaces
Anything else Not supported

Commands for missing hardware fail with not supported on this machine: no <what>. If you try it on another machine, please open a compatibility report.

Tablet stack

z13ctl-plus is the display and settings authority in a three-repo tablet stack for the Z13. Install the other two repos alongside it:

  • z13-tablet-kit — detects dock/folio/tablet posture, toggles the touchscreen, and provides touch scrolling and two-finger context menus
  • z13ctl-plus (this repo) — owns internal-panel scale/rotation/refresh changes and persists tablet settings (desktop touch policy, two-finger hold, folio touchpad opt-in, scroll speed)
  • z13gui-plus — GTK4 overlay drawer exposing live posture/health and the tablet toggles

Flow: the kit detects posture and publishes it to this daemon, which applies the display changes; the GUI shows state and persists settings back through the daemon; the daemon projects them to a runtime settings file the kit reads and applies live.

Install

# Arch Linux (AUR)
yay -S z13ctl-plus-bin

# Debian / Ubuntu
sudo apt install ./z13ctl-plus_*.deb

# Fedora / RHEL
sudo dnf install ./z13ctl-plus_*.rpm

# Manual (from release tarball)
wget https://github.com/aic0d3r/z13ctl-plus/releases/download/v2.6.0/z13ctl-plus_2.6.0_linux_amd64.tar.gz
tar xzf z13ctl-plus_2.6.0_linux_amd64.tar.gz
sudo install -Dm755 z13ctl-plus /usr/local/bin/z13ctl-plus
sudo z13ctl-plus setup

# After stopping any other Z13 hardware daemon
systemctl --user enable --now z13ctl-plus.socket z13ctl-plus.service

See the Installation guide for systemd service setup, source builds, v1-to-v2 migration, and uninstall instructions. Packages leave the Plus user daemon disabled; enable it only after stopping any other daemon that controls the same hardware.

Quick Start

# Create/update the recommended AC and battery presets and apply the current one
z13ctl-plus preset restore-recommended

# Inspect and enable automatic source switching
z13ctl-plus preset list
z13ctl-plus preset policy --enable --ac "Plugged In" --battery "On Battery"

# Apply a named configuration manually
z13ctl-plus preset apply "On Battery"

# Publish tablet posture; rotation is an optional explicit override
z13ctl-plus display posture tablet
z13ctl-plus display rotation right

# Inspect expanded live telemetry and active overrides
z13ctl-plus status

Documentation

Full documentation at https://aic0d3r.github.io/z13ctl-plus

Say thanks

If z13ctl-plus makes your Z13 nicer to live with, star it on GitHub. That helps other Z13 owners find it. If you want to chip in, you can sponsor me on GitHub.

License

Apache 2.0

About

Linux control for the 2025 ASUS ROG Flow Z13 (GZ302): RGB keyboard & lightbar lighting, custom fan curves, TDP/PPT power limits, CPU undervolt (Curve Optimizer), battery charge limit, tablet posture & display coordination — CLI + systemd daemon. Compatible fork of dahui/z13ctl, co-installable.

Topics

Resources

Contributing

Stars

9 stars

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Contributors

Languages