WickedLukas / nvidia-tuner

A simple CLI tool for overlocking, undervolting and controlling the fan of NVIDIA GPUs on Linux. Using the NVML library it equally supports X11 and Wayland.
MIT License
23 stars 1 forks source link

NVIDIA-TUNER

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.

Features

Usage

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.

Run on startup

  1. Download the binary file from the latest release.
  2. Copy it to /usr/local/sbin/.
  3. Create the systemd service file /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
  1. Reload the systemd manager configuration to recognize the new service:
sudo systemctl daemon-reload
  1. Start the service:
sudo systemctl start nvidia-tuner.service
  1. Enable the service to start automatically at boot:
sudo systemctl enable nvidia-tuner.service
  1. Check the systemd journal for any errors:
sudo journalctl -u nvidia-tuner.service