
ZenTune (formerly UXTU4Linux) is a power management tool for AMD Ryzen APUs and desktop CPUs on Linux and macOS. Talks to the CPU through direct PCI access on most systems, or through ryzen_smu when Secure Boot is enabled. Set power limits, thermal ceilings, VRM current limits, clocks, and Curve Optimizer offsets without entering firmware setup. The terminal UI runs as an unprivileged user; a root background service manages privileged hardware operations via run0 or sudo.
- Built-in Eco / Balanced / Performance / Extreme presets for Ryzen APUs, desktop CPUs, and Framework Laptops
- Adaptive Mode (Linux only): dynamically scales power limits, Curve Optimizer offsets, and iGPU clocks responding live to temperature and compute load
- Custom Preset Editor with ~65 parameters on APUs: power limits (STAPM/Fast/Slow), thermal targets, VRM currents, per-core Curve Optimizer, and static clocks
- Platform controls: Energy Performance Preference (EPP), CPU Boost toggle, and power profile daemon integration (
power-profiles-daemon,TuneD, or ACPI fallback) - ASUS hardware controls: thermal performance policies, discrete GPU Eco mode, and MUX isolation on supported laptops
- NVIDIA discrete GPU controls: frequency locks, core clock offsets, memory clock offsets, and power caps via NVML
- Preset Backup and Restore: unified export and import (
~/zentune_backup.json) across systems - Live sensor telemetry (Linux): Home tab graphs for CPU temperature, package power, core clock, and workload utilization
- Event-driven automations: automatic preset switching on AC/battery power transitions and post-suspend resume
- Anti-flap protection and reapply loops to prevent OEM thermal managers from overriding active limits
- Status and Hardware tabs: live SMU command execution logs, hardware return codes, and physical CCD topology
- Built-in updater preserving local configuration and custom presets
| Platform | Status |
|---|---|
| Linux with systemd, Python 3.10+ | Actively supported (run0 and sudo elevation) |
| Linux without systemd (OpenRC, runit, etc.) | Supported: installer configures dependencies; launch daemon manually |
| macOS (Hackintosh, AMD Ryzen CPU) | Supported: tuning, presets, and automations; Adaptive Mode and Home tab graphs are Linux-only |
| Intel | Not supported |
Note
ryzen_smu is only required on Linux when Secure Boot is enabled. Direct PCI access operates without external kernel modules on standard Linux installations. On macOS, the daemon communicates with the SMU via DirectHW or the kext-free IOPCIBridge path (debug=0x144). Home tab sensor graphs and Adaptive Mode are Linux-exclusive. For full platform setup and troubleshooting details, see the Wiki.
curl -fsSL https://raw.githubusercontent.com/HorizonUnix/ZenTune/main/install.sh | bashThen run:
zentuneThe first run walks you through setting up the daemon and detecting your hardware. For the full setup guide, ryzen_smu build steps and troubleshooting, see the Wiki.
| Contributor | Contribution |
|---|---|
| FlyGoat | RyzenAdj |
| JamesCJ60 | UXTU preset design and inspiration |
| amkillam | ryzen_smu DKMS fork |
| utajum | g-helper-linux reference for ASUS WMI and power profile support |
| b00t0x | Guidance on ryzenadj build dependencies |
| NotchApple1703 | Advisor |







