In the terminal run:

sudo nvidia-xconfig
sudo nvidia-xconfig --cool-bits=4

restart your computer and search for NVIDIA X Server Settings in the Dash. There should be an option to change fan speed under Thermal Settings.

Answer from waspinator on askubuntu.com
🌐
UbuntuHandbook
ubuntuhandbook.org › home › howtos › control gpu/cpu fan speed with coolercontrol in ubuntu 24.04
Control GPU/CPU Fan Speed with CoolerControl in Ubuntu 24.04 | UbuntuHandbook
This tutorial shows how to install and use CoolerControl to control your CPU or graphics card fan speed in Ubuntu desktop computer or laptop. I’ve written about how to control fan speed for Thinkpad laptops. But for those who are looking for how to do the job for NVIDIA/AMD GPUs and other ...
Top answer
1 of 10
26

In the terminal run:

sudo nvidia-xconfig
sudo nvidia-xconfig --cool-bits=4

restart your computer and search for NVIDIA X Server Settings in the Dash. There should be an option to change fan speed under Thermal Settings.

2 of 10
8

To control Nvidia GPU fan speed via Terminal on Linux Mint 20 with a 1070 Ti:

sudo nvidia-xconfig --cool-bits=4

to tell nvidia-xconfig to allow the fan to be controlled in the command line. You may need to reboot here.

nvidia-smi

Gives information about the GPU(s) and their numbers. Importantly I note that my 1070 Ti is GPU 0.

nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUTargetFanSpeed=55"

For a much more detailed overview of this feature including multiple GPU fans, check out this thorough documentation Nvidia Overclocking and Cooling

For a somewhat rambling and wayward thread which lead me to the above link, check out Set Fanspeed in Linux from Terminal

==================END OF ANSWER==================

And as an extra tidbit not asked for in this question, you can also adjust the power output of your Nvidia GPU with:

sudo nvidia-smi -i 0 -pl 90

Where the 0 is my GPU number, and the 90 is the maximum power in watts. If you set this too low, you will get an error. In my limited experience, setting it too high had no effect. I found I can get 95%+ performance for ~75% energy cost by setting the power level to 100 in the above command in my mining rig, but I imagine other power conscious users would appreciate this too.

Discussions

Fan speed in Ubuntu for 2080ti FE - GeForce Graphics Cards
{{Framework.description ? Framework.description : 'Join the GeForce community. Browse categories, post your questions, or just chat with other members.'}} More on nvidia.com
🌐 nvidia.com
March 3, 2021
Controlling Radeon GPU Fans on Ubuntu
CoreCtrl works for me. I did read what you said about lm-sensors. You can use Corectrl to take a GPU fan to 100% when a certain program is run. Maybe I'm wrong, but I think you might be able to do that w/o a sensor. The GUI is a little weird - have some patience. There is a version in the Ubuntu repo. MAKE SURE YOU EDIT YOUR GRUB like it says to do at the bottom of this or IT WILL NOT WORK. It really took me awhile to understand how everything worked so don't give up immediately. More on reddit.com
🌐 r/linux4noobs
4
1
February 12, 2025
How to control fan speed on ubuntu 23.04 server without screen?
hi, how to control fan speed on ubuntu 23.04 server without screen, and multiple gpus ? I got this error : ERROR: The control display is undefined; please run nvidia-settings --help for usage information. thank you More on forums.developer.nvidia.com
🌐 forums.developer.nvidia.com
13
0
September 26, 2023
GPU Fan speed control in Ubutu Server without "nvidia-setting"
Hi, I have RTX 2080 TI GPUs on my Server (OS: Ubuntu 20.04 Sever version). I cannot install “Nvidia-settings” because my OS doesn’t suppurt GUI. My goal is to control GPU FAN Speed using “nvidia-smi” command or any app that you recommend. The GPUs are running hot because I cannot ... More on forums.developer.nvidia.com
🌐 forums.developer.nvidia.com
2
0
November 24, 2023
🌐
NVIDIA Developer Forums
forums.developer.nvidia.com › accelerated computing › cuda › cuda programming and performance
How to set fanspeed in Linux from terminal - CUDA Programming and Performance - NVIDIA Developer Forums
April 8, 2019 - I’m just trying to find help on how to manually set my fan speed on my Nvidia GPU. the command: nvidia-settings -a “[gpu:0]/GPUFanControlState=1” -a “[fan:0]/GPUCurrentFanSpeed=n” ...
🌐
NVIDIA
nvidia.com › en-us › geforce › forums › geforce-graphics-cards › 5 › 299732 › fan-speed-in-ubuntu-for-2080ti-fe
Fan speed in Ubuntu for 2080ti FE - GeForce Graphics Cards
March 3, 2021 - {{Framework.description ? Framework.description : 'Join the GeForce community. Browse categories, post your questions, or just chat with other members.'}}
🌐
Super User
superuser.com › questions › 1685945 › ubuntu-20-04-setting-fan-speeds-according-to-gpu-temp
graphics card - (Ubuntu 20.04) Setting Fan Speeds according to GPU Temp - Super User
This temperature is internally ... ...(leave INTERVAL, FCTEMPS, FCFANS untouched as we will do this programmatically) MINTEMP=0 MAXTEMP=1 MINSTART=hwmon/pwm/={PWM} MINSTOP=hwmon/pwm/={PWM} MINPWM=hwmon/pwm/={PWM} ...
Top answer
1 of 1
1

I have the exact same config - 3 GPUs on 18.04. Got it working by connecting a physical monitor to each of the 2 secondary GPUs in addition to the primary monitor and creating a new x screen for each of the two extra monitors from X Server Display Configuration. Different ports on the same monitor would probably work too.

Screenshots of my nvidia settings:

https://drive.google.com/open?id=1Rh2YnbK0VSPHH-JnSLLYUx7eCw7yQ2qG

Then I did Save to X Configuration File -> Show Preview and copied and pasted the contents to a text file and saved as /etc/X11/xorg.conf. Then I added Option "Coolbits" "28" line under Section "Device"for Device0, Device1 and Device2.

This is what it looks like now:

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 418.87.00

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    Screen      2  "Screen2" RightOf "Screen1"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "ViewSonic VT2430-M"
    HorizSync       15.0 - 82.0
    VertRefresh     55.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"
    # HorizSync source: unknown, VertRefresh source: unknown
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "BenQ GW2750H"
    HorizSync       0.0 - 0.0
    VertRefresh     0.0
    Option         "DPMS"
EndSection

Section "Monitor"
    # HorizSync source: unknown, VertRefresh source: unknown
    Identifier     "Monitor2"
    VendorName     "Unknown"
    ModelName      "DELL ST2420L"
    HorizSync       0.0 - 0.0
    VertRefresh     0.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 1080 Ti"
    BusID          "PCI:67:0:0"
    Option "Coolbits" "28"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "TITAN Xp COLLECTORS EDITION"
    BusID          "PCI:10:0:0"
    Option "Coolbits" "28"
EndSection

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 1080 Ti"
    BusID          "PCI:66:0:0"
    Option "Coolbits" "28"

EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "nvidia-auto-select +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "metamodes" "1920x1080 +0+0 {AllowGSYNC=Off}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device2"
    Monitor        "Monitor2"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "metamodes" "1920x1080 +0+0 {AllowGSYNC=Off}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Restarted and Fan settings working on all GPUs:

https://drive.google.com/open?id=1XzSD-SOHLub57zlekiI9-zvypJklnQQW

Edit: got it working on another machine with 3 GPUs but with 16.04 without connecting extra physical monitors. First ran nvidia-xconfig --enable-all-gpus, then edited the xorg.conf file to add Option "Coolbits" "28" line under Section "Device"for Device0, Device1 and Device2 as before. This is what it looks like:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 418.67


Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    Screen      1  "Screen1" RightOf "Screen0"
    Screen      2  "Screen2" RightOf "Screen1"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor2"
    VendorName     "Unknown"
    ModelName      "Unknown"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce RTX 2070"
    BusID          "PCI:3:0:0"
    Option "Coolbits" "28"  
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce RTX 2070"
    BusID          "PCI:4:0:0"
    Option "Coolbits" "28"    
EndSection

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 1080 Ti"
    BusID          "PCI:5:0:0"
    Option "Coolbits" "28"   
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device2"
    Monitor        "Monitor2"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Restarted and got fan settings working fine.

Not sure if it will work on 18.04 though. Don't want to mess up my config there so not trying it out on the 18.04 machine.

Find elsewhere
🌐
Ideanist
ideanist.com › 2017 › 07 › 29 › control-nvidia-fan-speed-linux-ubuntu-16
Control NVIDIA GPU Fan Speed on Linux Ubuntu 16.04 – ideanist.com
sudo env DISPLAY=:1 nvidia-settings -a [gpu:0]/GPUFanControlState=1 -a [fan-0]/GPUTargetFanSpeed=89 ... Interesting! ... This script worked like a charm while controlling the fan speed, but it also gave me a severe headache as it had unexpected side effects. I can’t elaborate them all, but ...
🌐
Techticity
techticity.com › howto › how-to-control-nvidia-graphics-card-fan-speed-in-linux
How to control Nvidia graphics card Fan Speed Automatically in Linux – Techticity
September 19, 2018 - There is a great tool to do that automatically by starting an X server for each gpu: https://github.com/andyljones/coolgpus · Apparently nvidia unlike amd doesn’t provide hwmon in sysfs in order to control the fans. There is a free tool ‘Green With Envy’ for nvidia cards. Using this software you can easy set up a custom fan curve. Yes, also painless over/down clocking and startup. Will be updating the article some time. the script do not execute at startup on ubuntu 20.04
🌐
Reddit
reddit.com › r/linux4noobs › controlling radeon gpu fans on ubuntu
r/linux4noobs on Reddit: Controlling Radeon GPU Fans on Ubuntu
February 12, 2025 -

The fan speed on my graphics card has been locked at 0 no matter how hot the card gets, which is obviously a problem. For the life of me, I can't find a way to control the fan speed that works on my system.

Most of the programs I've seen rely on `lm-sensors`, which (on my system) works fine for temperature sensors, but doesn't detect most fan sensors, and says `There are no usable PWN outputs` when I run `sudo pwmconfig`.

I've seen other users have trouble because of the fglrx driver, but it looks like that's no longer supported (since Ubuntu 16). I've also seen some users get `Found unknown chip with ID 0x____` from `sudo sensors-detect`, which I also get, but their solutions haven't worked (changing grub config -> install it87 driver -> `modprobe it87`, but I can't seem to install the driver properly, and I can't even tell if it's supported by my chipset).

Potentially relevant info:
GPU: Radeon RX 7900XT
Mobo: Gigabyte x870 Eagle Wifi7
CPU: 7800X3D
Ubuntu Version: Ubuntu 24.04.2 LTS
Kernel Version: Linux 6.11.0-17-generic x86_64

Thanks in advance, please let me know if there's any more info I can give

🌐
NVIDIA Developer Forums
forums.developer.nvidia.com › graphics / linux › linux
How to control fan speed on ubuntu 23.04 server without screen? - Linux - NVIDIA Developer Forums
September 26, 2023 - hi, how to control fan speed on ubuntu 23.04 server without screen, and multiple gpus ? I got this error : ERROR: The control display is undefined; please run nvidia-settings --help for usage information. thank you
🌐
NVIDIA Developer Forums
forums.developer.nvidia.com › graphics / linux › linux
GPU Fan speed control in Ubutu Server without "nvidia-setting" - Linux - NVIDIA Developer Forums
November 24, 2023 - Hi, I have RTX 2080 TI GPUs on my Server (OS: Ubuntu 20.04 Sever version). I cannot install “Nvidia-settings” because my OS doesn’t suppurt GUI. My goal is to control GPU FAN Speed using “nvidia-smi” command or any app …
🌐
Ubuntu Community Hub
discourse.ubuntu.com › lounge › tips & tricks
How to fix GPU fan speed failed to change on Ubuntu w/ NVIDIA GPU? - Tips & Tricks - Ubuntu Community Hub
October 14, 2025 - Unfortunately Ubuntu’s NVIDIA Additional Driver has limitations on a fan speed by default, which means if you install a GPU driver with sudo ubuntu-drivers autoinstall to install a recommended version you have an APT version of NVIDIA Settings and NVIDIA SMI that will cause limitations and ...
🌐
Bailiwick
bailiwick.io › 2019 › 09 › 21 › controlling-nvidia-gpu-fans-on-a-headless-ubuntu-system
Controlling NVIDIA GPU Fans on a headless Ubuntu system
December 18, 2025 - $ sudo DISPLAY=:0 XAUTHORITY=/run/user/124/gdm/Xauthority nvidia-settings -a [fan:1]/GPUTargetFanSpeed=25 Attribute 'GPUTargetFanSpeed' (server:0[fan:1]) assigned value 25.
🌐
NVIDIA Developer Forums
forums.developer.nvidia.com › graphics / linux › linux
FAN Control Ubuntu 18.04 - Linux - NVIDIA Developer Forums
August 27, 2018 - Hello, I would like to change the FAN Speed Profile on Ubuntu 18.04. I have not found a working method. I have GTX 1080 TI Founder Edition and current driver is 390.77. When I run nvidia-settings -a '[gpu:0]/GPUFanControlState=1' -a '[fan:0]/GPUTargetFanSpeed=99' it just returns ERROR: Error assigning value 99 to attribute 'GPUTargetFanSpeed' (DLBox:1[fan:0]) as specified in assignment '[fan:0]/GPUTargetFanSpeed=99' (Unknown Error).
🌐
YouTube
youtube.com › watch
fix manual fan control nvidia driver "Failed to set new Fan Speed" in Ubuntu 22.04 - YouTube
Fix Manual Fan Control Nvidia Driver in Linux Ubuntu 22.04https://github.com/galanghanafi/fix-manual-fan-control-nvidia-linux#linux #ubuntu #nvidia
Published   April 23, 2022
🌐
nixCraft
cyberciti.biz › nixcraft › howto › centos › how to find fan speed in linux for cpu and gpu
How to find fan speed in Linux for CPU and GPU - nixCraft
September 12, 2024 - The procedure to find fan speed ... by running sudo sensors-detect command. ... Finally, run sensors command in Linux to see CPU and GPU temperature, including fan speed....