A simple Rust CLI tool for overlocking, undervolting and controlling the fan of NVIDIA GPUs on Linux. Using the NVML library it equally supports X11 and Wayland.
This tool is still under testing and it is impossible for me to guarantee that it works on every hardware, so use it at your own risk
Show all possible options:
./nvidia-tuner --help
Usage example:
./nvidia-tuner ---core-clock-offset 150 --memory-clock-offset 800 --power-limit 180 --pairs 50:30,70:40,90:60,100:100
This command takes temperature and fan speed pairs as an argument. In this example the fan speed will be 30% up to 50°C and 100% above 100°C. The fan speed between the given temperature and fan speed pairs is linearly interpolated to enable smooth transitions.
/usr/local/sbin/
./etc/systemd/system/nvidia-tuner.service
with the following content:[Unit]
Description=nvidia-tuner
After=graphical.target
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/nvidia-tuner ---core-clock-offset 150 --memory-clock-offset 800 --power-limit 180 --pairs 50:30,70:40,90:60,100:100
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=graphical.target
sudo systemctl daemon-reload
sudo systemctl start nvidia-tuner.service
sudo systemctl enable nvidia-tuner.service
sudo journalctl -u nvidia-tuner.service