NVIDIA Fan Control Tool that uses NVIDIA's NVML library for direct hardware access without requiring X11 or nvidia-settings. It will work in background sessions and as a service.
# create symlink to libnvidia-ml.so.1
sudo ln -s /usr/lib/x86_64-linux-gnu/libnvidia-ml.so.1 /usr/lib/x86_64-linux-gnu/libnvidia-ml.so
# build
./build.shCopy to /usr/local/bin:
sudo cp -f ./gpu-fan-control /usr/local/bin/gpu-fan-controlCreate service file:
sudo nano /etc/systemd/system/gpu-fan-control.serviceCopy this config in it:
[Unit]
Description=GPU Fan Control Service
After=nvidia-persistenced.service
Wants=nvidia-persistenced.service
[Service]
Type=simple
ExecStart=/usr/local/bin/gpu-fan-control
Restart=always
RestartSec=3
User=root
[Install]
WantedBy=multi-user.targetEnable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable gpu-fan-control
sudo systemctl start gpu-fan-controlCheck status:
sudo systemctl status gpu-fan-control
sudo journalctl -u gpu-fan-control -fUpdate:
sudo systemctl stop gpu-fan-control
sudo cp -f ./gpu-fan-control /usr/local/bin/gpu-fan-control
sudo systemctl start gpu-fan-control