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
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.

🌐
Reddit
reddit.com › r/linux_gaming › heya, need a good way to control fan curve on linux - nvidia
r/linux_gaming on Reddit: Heya, need a good way to control fan curve on Linux - NVIDIA
February 26, 2024 -

So, let me summarize to a lot of you.

my GPU is a 1660 Super, and since NVIDIA has a lot of problems on Linux I tend to try and find solutions and alternatives, but nothing seems to get to fix it.

I want to set a fan curve for my GPU, and Green With Envy sadly seems to just never work.

Even after setting the optimal settings, and enabling coolbits, it still refuses to work no matter what. If there is some kind of way to control fans for GPU fans on Linux, I would be very glad and it would help me a lot.

NVIDIA in general is still awful on Linux from my point of view, but i'm hoping those kinds of things will improve in the future.

Discussions

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
Modifying/controlling gpu fans
I’m running Ubuntu server 24.04.4 lts on a custom built pc ASRock B660M-ITX Intel® Core™ i9-12900 ASUS Dual NVIDIA GeForce RTX 3060 V2 OC Edition 12GB GDDR6 32GB Single DDR4 3200 1 TB WD nvme drive for os I built this computer to be used a plex media server. More on discourse.ubuntu.com
🌐 discourse.ubuntu.com
0
0
March 24, 2026
FAN Control Ubuntu 18.04
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 ... More on forums.developer.nvidia.com
🌐 forums.developer.nvidia.com
7
1
August 27, 2018
Nvidia Fan controls aren't working
Hi everyone, I’ve finally decided to start using Linux as my latest driver after using it way back when Ubuntu came out. After initial set-up, everything looked great and worked out of the box, installing non-free drivers, recognizing monitor- I was really impressed. More on forum.manjaro.org
🌐 forum.manjaro.org
0
0
June 20, 2024
🌐
NVIDIA Developer Forums
forums.developer.nvidia.com › graphics / linux › linux
How to fix GPU fan speed failed to change on Ubuntu w/ NVIDIA GPU? - Linux - NVIDIA Developer Forums
October 18, 2025 - Alright, since Canonical ltd (Due to legal reasons) cannot do anything with NVIDIA’s Proprietary Driver including technical supports or bug reports about NVIDIA problems on Ubuntu Discourse. 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 will not let us...
🌐
Medium
medium.com › @s1ddok › control-your-gpu-fan-speeds-while-connecting-to-your-machine-via-ssh-e01895b8909e
Control your GPU fan speeds while connecting to your machine via SSH | by Andrey Volodin | Medium
October 14, 2022 - NVIDIA has nvidia-settings console app which technically allows you to set any GPU settings using terminal. I started googling on how to set the fan speed for individual GPU using that. First of all, you have to set a bitmask that will allow controlling cooling settings:
🌐
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 …
🌐
GitHub
github.com › zmarty › nvidia-fan-control
GitHub - zmarty/nvidia-fan-control: NVIDIA Fan Control Service tested on Ubuntu providing more aggressive fan curves for RTX Pro 6000 GPUs · GitHub
NVIDIA Fan Control Service tested on Ubuntu providing more aggressive fan curves for RTX Pro 6000 GPUs - zmarty/nvidia-fan-control
Author   zmarty
🌐
Ubuntu Community Hub
discourse.ubuntu.com › support and help
Modifying/controlling gpu fans - Support and Help - Ubuntu Community Hub
March 24, 2026 - I’m running Ubuntu server 24.04.4 lts on a custom built pc ASRock B660M-ITX Intel® Core™ i9-12900 ASUS Dual NVIDIA GeForce RTX 3060 V2 OC Edition 12GB GDDR6 32GB Single DDR4 3200 1 TB WD nvme drive for os I built t…
Find elsewhere
🌐
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 ...
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.

🌐
Linux Mint Forums
forums.linuxmint.com › board index › main edition support › beginner questions
How can i control my Nvidia gpu fans? - Linux Mint Forums
May 1, 2021 - Have a look at these two links: ... show you how to ensure Nvidia software has the fan control enabled (scroll down to the bit about: "sudo nvidia-xconfig --cool-bits=4") so you can actually have control over the fan settings....
🌐
Manjaro Linux
forum.manjaro.org › support › graphics & display
Nvidia Fan controls aren't working - Graphics & Display - Manjaro Linux Forum
June 20, 2024 - Hi everyone, I’ve finally decided to start using Linux as my latest driver after using it way back when Ubuntu came out. After initial set-up, everything looked great and worked out of the box, installing non-free driv…
🌐
GitHub
github.com › vandabbin › nvidia-fan-control-linux
GitHub - vandabbin/nvidia-fan-control-linux: Fan Curve Control Script for Nvidia GPUs on Linux · GitHub
Fan Curve Control Script for Nvidia GPUs on Linux. Contribute to vandabbin/nvidia-fan-control-linux development by creating an account on GitHub.
Starred by 43 users
Forked by 8 users
Languages   Shell 96.6% | Makefile 3.4%
🌐
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 …
🌐
YouTube
youtube.com › watch
Graphics card fan not starting autometically in ubuntu . #nvidia ...
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
🌐
ArchWiki
wiki.archlinux.org › title › NVIDIA › Tips_and_tricks
NVIDIA/Tips and tricks - ArchWiki
3 weeks ago - $ nvidia-xconfig --enable-all-gpus $ nvidia-xconfig --cool-bits=4 · Note On some laptops (including the ThinkPad X1 Extreme and P51/P52), there are two fans, but neither are controlled by nvidia.
🌐
Hacker News
news.ycombinator.com › item
The Simplest Way to Control Nvidia GPU Fan Speed in Linux | Hacker News
June 28, 2024 - Stupidest? Definitely · What one really wants is a target temperature. There are two pieces I'd use here:
🌐
Steam Community
steamcommunity.com › groups › steamuniverse › discussions › 0 › 622954023421406914
steamos needs nvidia fan controller :: Steam Universe
With nvidia driver 337 or newer the Option "Coolbits" "12" thing in xorg.conf allows overclocking gpu and video RAM and provides a slider for fan control. In Ubuntu 14.04 I had to use xorg-edgers ppa to get a new enough nvidia version (346.22 ...
🌐
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
I solved this issue by writing a small python script run on startup that grep -P \d{1,3}(?=C)s the temperature from nvidia-smi. This temperature is internally used to calculate a PWM number (0, 255) which is then written to the /etc/fancontrol file provided initially by pwmconfig:
🌐
Steam Community
steamcommunity.com › app › 221410 › discussions › 0 › 617330406656996149
GPU Fan control - FIXED/SOLVED :: Steam for Linux 일반 토론
Normally you would use "sudo " prefix for these commands, but not needed in root console: apt-get purge nvidia* add-apt-repository ppa:xorg-edgers/ppa apt-get update apt-get install nvidia-346 nvidia-xconfig --cool-bits=12 Then you will have manual fan control option (and gpu & mem speed offsets) in NVIDIA X Server Settings.