# NVIDIA Aggressive Fan Control Service ## What this is A headless fan control daemon for the **NVIDIA RTX Pro 6000 Blackwell Workstation Edition** running on Ubuntu with driver 590. No X11 or display manager required. ### Why it exists The RTX Pro 6000's default fan curve is tuned for quiet office/workstation use. Under sustained rendering workloads it kept fans at ~50% even at 83°C with only 10°C of thermal headroom, causing hard power-off crashes. This daemon replaces the stock curve with an aggressive gaming-style curve via the NVML Python API (pynvml), keeping the GPU in the 70-74°C range at 83-86% fan speed instead of crashing. ### Results (tested 2026-02-17) | Metric | Stock curve (crashed) | This daemon (stable) | |-----------------|-----------------------|----------------------| | GPU peak temp | 83°C | 73°C | | Thermal headroom| 10°C | 20°C | | Fan at load | 50% | 86% | | 32-image render | Crash | Completed | --- ## Fan curve | GPU Temp | Fan Speed | |----------|-----------| | 0°C | 30% | | 45°C | 40% | | 55°C | 55% | | 63°C | 70% | | 70°C | 82% | | 75°C | 90% | | 80°C+ | 100% | Values between points are interpolated linearly. --- ## Files - `nvidia-fan-control.py` — the daemon script - `nvidia-fan-control.service` — systemd unit file - `README.md` — this file --- ## Prerequisites ```bash # pynvml must be installed pip3 show nvidia-ml-py # If missing: pip3 install nvidia-ml-py ``` --- ## Install / Reinstall steps ### 1. Copy the daemon script ```bash sudo cp nvidia-fan-control.py /usr/local/bin/nvidia-fan-control.py sudo chmod +x /usr/local/bin/nvidia-fan-control.py ``` ### 2. Test it manually first (Ctrl+C to stop, auto-restores fan control) ```bash sudo python3 /usr/local/bin/nvidia-fan-control.py ``` ### 3. Install the systemd service ```bash sudo cp nvidia-fan-control.service /etc/systemd/system/nvidia-fan-control.service sudo systemctl daemon-reload sudo systemctl enable nvidia-fan-control.service sudo systemctl start nvidia-fan-control.service ``` ### 4. Verify it's running ```bash sudo systemctl status nvidia-fan-control.service ``` --- ## Useful commands ```bash # Watch live fan log sudo journalctl -u nvidia-fan-control.service -f # Stop the service (fans revert to automatic) sudo systemctl stop nvidia-fan-control.service # Disable from autostart sudo systemctl disable nvidia-fan-control.service # Check GPU temps and fan live watch -n 1 nvidia-smi --query-gpu=temperature.gpu,fan.speed,power.draw,power.limit --format=csv,noheader ``` --- ## Notes - Tested on: Ubuntu 24.04, Driver 590.48.01, RTX Pro 6000 Blackwell - Power limit does NOT need to be reduced (600W default is fine with proper cooling) - The daemon runs as root (required for NVML fan control) - On daemon exit (including service stop), fan control is automatically returned to the driver