nvuv
What it is
nvuv is a free Linux command-line tool for adjusting NVIDIA GPU power and clock behavior. It can set power limits, lock GPU or memory clock ranges, and apply offsets to either clock. On systems with multiple GPUs, the -i GPU_INDEX option selects the device to configure. Its indirect undervolting method locks the GPU’s maximum clock and applies a positive clock offset because NVIDIA does not expose direct voltage control on Linux. The project says this can provide roughly similar performance with lower voltage and power draw, reducing temperature and fan noise. Settings may come from a TOML file, using /etc/nvuv/nvuv.toml by default. Applying, changing, or resetting settings requires root privileges. Changes do not survive reboot, resume, or driver reload unless the supplied systemd service reapplies them. nvuv is described as a thin NVML wrapper, with downloads through GitHub releases and an Arch User Repository package.
For and against
For
- Sets GPU power limits
- Locks GPU or memory clocks
- Applies GPU and memory offsets
- Supports multiple-GPU selection
- Can reapply settings through systemd
Against
- Linux only
- Requires root privileges
- Direct voltage control is unavailable
- Settings are not persistent without systemd
The verdict
nvuv offers focused NVIDIA tuning controls and an indirect undervolting approach on Linux. Its command-line workflow and persistence requirements make system administration knowledge important.
Who it suits
It suits Linux users with NVIDIA GPUs who want command-line power and clock controls. Users should be comfortable with root privileges, TOML configuration, and systemd services.
On the record
- Automation
- A provided systemd service can apply configuration at startup and after resume or driver reload.github.com · read 7 Oct 2026
- Configuration
- nvuv can apply settings from a TOML configuration file, with `/etc/nvuv/nvuv.toml` as the default path.github.com · read 7 Oct 2026
- Controls
- The CLI can set power limits, lock GPU or memory clocks, and apply GPU or memory clock offsets.github.com · read 7 Oct 2026
- Download options
- The README links to GitHub releases and an Arch User Repository package.github.com · read 7 Oct 2026
- Downloads
- The README links to GitHub releases and an Arch User Repository package.github.com · read 7 Oct 2026
- Expected effect
- The README says this technique can deliver roughly the same performance with lower voltage and power draw, reducing temperature and fan noise.github.com · read 7 Oct 2026
- GPU controls
- It can set GPU power limits, lock GPU or memory clock ranges, and apply GPU and memory clock offsets.github.com · read 7 Oct 2026
- GPU selection
- The `-i GPU_INDEX` option selects a specific GPU when multiple GPUs are present.github.com · read 7 Oct 2026
- Implementation
- nvuv is described as a thin wrapper around NVIDIA's NVML library.github.com · read 7 Oct 2026
- License
- The project uses Apache License 2.0 WITH Commons-Clause-1.0.github.com · read 7 Oct 2026
- Maker
- The GitHub profile identifies the maintainer as Pierre Dommerc and says Arch Linux is his main driver.github.com · read 7 Oct 2026
- NVIDIA library
- The project describes nvuv as a thin wrapper around NVIDIA's NVML library.github.com · read 7 Oct 2026
- Permissions
- Applying, changing, and resetting GPU settings requires root privileges.github.com · read 7 Oct 2026
- Persistence limit
- Settings changes do not survive reboot, resume, or driver reload unless a systemd service reapplies the configuration.github.com · read 7 Oct 2026
- Purpose
- nvuv is a command-line tool for indirectly undervolting and overclocking NVIDIA GPUs on Linux.github.com · read 7 Oct 2026
- Requirements
- Root privileges are required to change or apply GPU settings.github.com · read 7 Oct 2026
- Startup and resume
- A provided systemd service can apply the configuration at startup and after resume or driver reload.github.com · read 7 Oct 2026
- Undervolting method
- The project describes indirect undervolting as locking the GPU maximum clock and applying a positive clock offset because NVIDIA does not expose direct voltage control on Linux.github.com · read 7 Oct 2026