MCPcopy Index your code
hub / github.com/WickedLukas/nvidia-tuner

github.com/WickedLukas/nvidia-tuner @0.5.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.5.0 ↗ · + Follow
20 symbols 35 edges 5 files 4 documented · 20%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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

  • Set core clock offset.
  • Set memory clock offset.
  • Set power limit.
  • Fan control using a custom linear fan curve.
  • Use temperature hysteresis to prevent the fan from spinning up and down too frequently.
  • Automatically set the fan control back to default on termination.

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

[Service]
Type=exec
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

Core symbols most depended-on inside this repo

get_num_fans
called by 2
src/nvml.rs
set_default_fan_speed
called by 2
src/nvml.rs
parse_temperature_fan_speed_parts
called by 1
src/utils.rs
parse_temperature_fan_speed_pairs
called by 1
src/utils.rs
check_temperature_fan_speed_pairs
called by 1
src/utils.rs
interpolate_fan_speed
called by 1
src/utils.rs
escalate_priviliges
called by 1
src/main.rs
check_driver_version
called by 1
src/main.rs

Shape

Function 16
Class 4

Languages

Rust100%

Modules by API surface

src/nvml.rs10 symbols
src/utils.rs6 symbols
src/main.rs3 symbols
src/cli.rs1 symbols

For agents

$ claude mcp add nvidia-tuner \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact