Monitor and tune an AMD Radeon GPU on Windows, with a desktop app and command line.
AMD GPU Tuner, formerly VoltShift, combines manual tuning, live telemetry, profiles, and experimental automatic tuning through AMD's official ADLX SDK. Controls follow what the installed GPU and driver expose.
User guide · Changelog · Report a bug · Contribute
Interface preview using a recorded RX 9070 XT read-only snapshot. Shown values are not tuning recommendations. Dashboard preview.
| Area | Available features |
|---|---|
| Monitoring | Core and memory clocks, temperature, hotspot, power, fan speed, voltage and load; frame statistics when a compatible frame source is available |
| Manual tuning | GPU voltage, core clocks, VRAM clock and timing, power limits, and driver fan curves where supported |
| Profiles | Save the current driver state to JSON; apply saved settings with a per-setting result log |
| Driver settings | Supported Radeon graphics features and per-display sync, scaling and color controls |
| Dynamic Voltage | Clock thresholds select validated voltage offsets while running; requires the MGT2_1 interface |
| Auto-Tune | Compare candidate settings with a baseline under a running workload; keep a confirmed improvement or restore the baseline |
| Adaptive | Apply learned per-game settings, with an optional budget of live tuning experiments |
| Benchmark tuning | Guide manually started 3DMark runs and compare their graphics scores |
| Diagnostics | Read-only status and JSON support reports; local telemetry, recovery journals and crash reports |
Automatic tuning is experimental. A successful write or a short trial does not establish long-term stability, and a performance improvement is not guaranteed. Read the action and reset reference before changing settings.
- Windows 10 or 11, 64-bit, with an AMD Radeon GPU and an Adrenalin driver providing the ADLX runtime.
- Python 3.12 for the documented source and executable builds.
- Git, CMake 3.24+, and Visual Studio 2022 or newer Build Tools with Desktop development with C++ to build the native bridge.
- An elevated terminal for hardware tuning and PresentMon capture. Start with the read-only commands below to inspect the installation.
Feature support depends on the GPU, VBIOS and driver. The bridge currently selects the first discrete GPU reported by ADLX, falling back to the first GPU. There is no GPU selector or simultaneous multi-GPU tuning. See compatibility.
Run in PowerShell:
git clone https://github.com/eikkapine/amd-gpu-tuner.git
cd amd-gpu-tuner
py -3.12 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".[dev,build]"
.\scripts\build_bridge.ps1The build script fetches a pinned revision of AMD's ADLX SDK on a fresh checkout and builds bridge\build\Release\voltshift_bridge.exe. Read the SDK license and dependency notices before building or redistributing SDK-dependent binaries. The runtime DLL comes from the installed AMD driver.
Check the installation before tuning:
.\.venv\Scripts\amd-gpu-tuner.exe status
.\.venv\Scripts\amd-gpu-tuner.exe status --json
.\.venv\Scripts\amd-gpu-tuner.exe diagnostics --output diagnostics.jsonLaunch the desktop app from an elevated terminal:
.\.venv\Scripts\amd-gpu-tuner-gui.exeAMD-GPU-Tuner.cmd provides a repository launcher. The old VoltShift.cmd launcher and python -m voltshift package entry point remain available for compatibility. See the build guide for a local Windows executable build.
- Inspect Dashboard and Tuning to identify the selected GPU, current readings and available controls.
- Save a profile of the current state before changing it. Saving a profile does not apply pending slider edits.
- Use one tuning mode at a time. Keep other GPU tuning applications from applying competing changes.
- Make a small change, apply it, then compare the same workload and inspect the result log. Check both frame pacing and temperatures.
- Use Reset all tuning to factory defaults or
amd-gpu-tuner resetto request the driver's factory tuning state.
GPU tuning can cause display resets, application crashes or system instability. If the app cannot reset tuning, use AMD Software → Performance → Tuning → Reset. Closing the app is not a universal reset for every driver setting.
These commands assume the virtual environment is activated, or that its Scripts directory is on PATH:
amd-gpu-tuner --help
amd-gpu-tuner metrics --watch
amd-gpu-tuner tune get
amd-gpu-tuner profile save "baseline"
amd-gpu-tuner autotune --goal balanced --no-download
amd-gpu-tuner adaptive --probes 0 --no-download
amd-gpu-tuner benchtune --test TimeSpy
amd-gpu-tuner resetautotune, adaptive, benchtune, verify, manual setters and profile loading can write GPU settings. adaptive --probes 0 still applies learned settings and may verify controls; it is not a read-only mode. The user guide explains each workflow and persistence behavior.
The app uses an available PresentMon executable for per-frame data, or a running RTSS installation as a fallback. When neither is available, the GUI and supported tuning sessions can fetch PresentMon from its official GitHub releases. Use --no-download for autotune and adaptive, or set telemetry.auto_fetch_presentmon to false in the configuration, to disable that download. Monitoring without a frame source still provides available hardware metrics; it cannot establish an FPS improvement.
Configuration, profiles, learned settings and diagnostic logs are stored locally. Existing voltshift_* filenames remain compatible after the rename. See data and privacy for details.
.\.venv\Scripts\python.exe -m pytest -qThe Python tests exercise simulated hardware and do not validate stability on a real GPU. Native bridge compilation and read-only hardware checks complement those tests. Development details and contribution expectations are in CONTRIBUTING.md.
Original project code is MIT licensed; see LICENSE. The AMD ADLX SDK is governed by AMD's SDK license agreement, with separate use and binary-distribution requirements. Dependencies retain their own terms; see third-party notices.
mVolt inspired clearer tuning workflows, status reporting and documentation. Its NVIDIA-specific controls are separate from this project's AMD implementation. The earlier manual-tuning scope was also inspired by RadeonTuner.
AMD GPU Tuner is an independent project, not affiliated with or endorsed by AMD or Intel. AMD and Radeon are trademarks of Advanced Micro Devices, Inc.
