How to fix GPU fan speed failed to change on Ubuntu w/ NVIDIA GPU?

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 to change a fan what we need to, luckily I have found a workaround that should solve that issue to get fan control to work functionally, this step by steps will fix that.

Here’s a step by steps

  1. Download a driver that matches with your driver version from NVIDIA website when looking at nvidia-smi on a terminal or nvidia-settings --version, because some reason the NVIDIA X Settings app and NVIDIA SMI both are using an old driver version like 510 or older while your driver is up-to-date which causes compatibility issues like fan speed will remain automatic and cannot be changed, maybe is something have to do with an APT version of these guys. Because using an APT version does have an out of date apps which causes functionality issues.

  2. Run this command on a terminal sudo /home/*USERNAME*/downloads/NVIDIA-Linux-x86_64-*VERSION*.run --no-kernel-module --no-nvidia-modprobe --no-x-check --no-cc-version-check -a


Reminder:
The use of these guys --no-kernel-module --no-nvidia-modprobe --no-x-check --no-cc-version-check -a is to install an unmodulated driver, which we need that along side with Ubuntu’s NVIDIA driver to do a workaround. :wink:


  1. Select NVIDIA proprietary in a setup and install 32-bit compatibility by select yes.

  2. If its asking for X configuration update, hit yes (This shouldn’t hurt you Linux Device) and reboot (Optional but recommended just in case).

  3. After you’re able to boot to Linux, run sudo nvidia-settings on a terminal and change your fan speed if you want (Please note the rebooting will reset the fan speed)

  4. To make NVIDIA X Settings in root mode and make it permanent, copy and paste this and save it as nvidia-settings.desktop in “/home/“username”/.local/share/applications” partition.
    Like this.

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=NVIDIA X Server Settings
Comment=Configure NVIDIA X Server Settings
Exec=gnome-terminal -e "sudo /usr/bin/nvidia-settings"
Icon=nvidia-settings
Categories=Settings;HardwareSettings;

# Translation by Marcin Mikołajczak
Name[pl]=Ustawienia serwera X NVIDIA
Comment[pl]=Narzędzie konfiguracyjne dla ustawień serwera X NVIDIA

# Translation by RDL
Name[ru]=Параметры NVIDIA X Server
Comment[ru]=Конфигурирование параметров NVIDIA X Server

# Translation by Tractix
Name[ro]=Setări NVIDIA X Server
Comment[ro]=Configurează setările NVIDIA X Server
[/details]
  1. Save and exit before run it and it should pop up a terminal with a administrator password required before launching NVIDIA X Settings in a Sudo/Root Mode and then you should be good to go on changing a fan speed if you want. Because running NVIDIA X Settings in normal mode won’t let you change a fan speed until running it in sudo mode.

  2. Alternatively: Perhaps you could just instead make a file to change a fan speed entirely with two options and it’s much easier.

For GPU with 2 fans

sudo nvidia-settings -a “[gpu:0]/GPUFanControlState=1”
sudo nvidia-settings -a “[fan:0]/GPUTargetFanSpeed=100”

For GPU with 3 fans

sudo nvidia-settings -a “[gpu:0]/GPUFanControlState=1”
sudo nvidia-settings -a “[fan:0]/GPUTargetFanSpeed=100”
sudo nvidia-settings -a “[fan:1]/GPUTargetFanSpeed=100”

Please note that the changes of the fan speed will be reset on a reboot, so you’re going have to repeat a step 8 if you want a full fan speed. Also aware that if you update Ubuntu’s NVIDIA driver, make sure you start over this workarounds or else fan speed may be not working. But I really wish there’s a way for laptop users and palmtop users to have a fan speed changes on Linux with nvidia-settings.

To uninstall an unmodulated Proprietary driver:
Type sudo nvidia-uninstall and hit yes to uninstall it, if that failed type sudo ubuntu-drivers autoinstall to restore an APT version if that works.

Reminder:
Fan Speed Control only works on a desktops (Not Laptops nor Palmtops), perhaps if you wanna see your RTX GPU fan speed, use Hardware sensor indicator by installing this to get started and see your RTX GPU on a Top-bar.
sudo apt install indicator-sensors

4 Likes

Hey @romactu1 ! Great read!

It’s a wonderful addition to Tips & Tricks , where I have moved it. It’s a relatively new section, so I understand if it went missed.

Just one thing: we cannot condone downloading drivers directly from Nvidia since they create packaging conflicts and make the mechanism that helps to automatically download and inatall the right driver for any given system (ubuntu-drivers) return errors.

1 Like

Well Erich, this workaround I made will help people to their fan speed to work functionally.
It’s a great opportunity enough for certain gamers :video_game: when play games on Ubuntu, this workaround is for everyone that are Ubuntu or its flavors.

Yes, I have confirmed that workaround also works on Wayland since it’s due to adding Wayland support for nvidia-settings app.

But gamers are going have to download a file from NVIDIA and install it without modules which shouldn’t affect ubuntu-drivers so the driver from Ubuntu should still be install like usual, but with an updated nvidia-settings and updated nvidia-smi to fix fan control speed limitations, why not try it out to see if it does help yours :slightly_smiling_face:. I’ve done it myself, it worked like a :partying_face:JAM :partying_face:. So at the main time, I have to do this if I want a fan control speed at max rather than being automatic.

If you’re expecting the errors, you can uninstall a driver with this.
sudo nvidia-uninstall

It should help eliminate errors when changing NVIDIA drivers.

If there’s no plans on getting an updated version of these apps for current driver versions by default for Ubuntu or whatever, this workaround is why we need to have.


Also, translating your third list of your reply to get better English for some people, typos detected.

The only typo was the word “Inatall” so translating it to the word “Install”.


Let’s have a breakthrough on Just on thing list, does that make Canonical have to update NVIDIA apps depending on a version of driver?

The answer is No just because the workaround is there doesn’t make them have to make sure both NVIDIA X Settings and NVIDIA-SMI are up to date depending on a driver version, I’m not making a workaround just to make them have to update a situation, it would be great if they done it but it’s actually up to them to decide to do it or not. It’s not about making them to do something, they make a choice. If they accept a fixes that’s great but I’m not saying they have to do it. This is why this workaround is for everybody that are using a desktop, even if Canonical has no plans on doing fixes what we need.

Therefore, while using Ubuntu’s NVIDIA driver with sudo ubuntu-drivers autoinstall why not include a proprietary version without modules at the same time unless if there’s a legal reasons why Canonical cannot include a proprietary version.. Remember, download a driver matches an Ubuntu’s version and run it with sudo mode and with this --no-kernel-module --no-nvidia-modprobe --no-x-check --no-cc-version-check -a so that way we include fixes for Ubuntu’s version of the NVIDIA driver while using Ubuntu’s version at the same time. Like I said, I have confirm that workaround worked successfully so that way Ubuntu’s NVIDIA drivers are really useful.

Yeah, I was using mobile. Touch keyboards are hard.

1 Like

Great job!
I always wanted to ask why my nvidia-settings has so few options comparing to others?
I dont have many options as you do, not even fan control.

Thanks

1 Like

If you don’t see fan controls, it’s very likely due to the use of the laptop.

I’ve tested that workaround with Ubuntu 25.04: Plucky Puffin (Before 25.10 was released) on my tower with RTX 5060 w/ X11 and Wayland. Unless if you’re using Desktop, try use X Org from Wayland if you’re on Ubuntu 24.04 LTS to see if it works.

Or alternatively, did you tried a step 8 which changes a fan speed on a terminal?

I am in 25.04 ubuntustudio.
I entered sddm using xorg and all the settings appeared so nvidia-settings has more options while in Xorg.
Wayland is too young or barely supported…

To be clear, I only tested a workaround with Ubuntu Desktop from Canonical, not other flavors (Including Ubuntu Studio).

So are you able to change a fan speed on Ubuntu Studio 25.04 with X11?

Remember, run NVIDIA X Settings on Root/Sudo mode with this.
sudo nvidia-settings because running NVIDIA X Settings without Root or Sudo does have limitations.

Or do a step 8 which it’s alternative way of changing fan speed compare to step 7.

Running Xorg gave me all the settings but still no fan control :slight_smile:

Anyways , it is not that critical.

Well, that’s too bad.
At least I was able to see a fan speed control on Ubuntu (Not Ubuntu Studio because I never tried that).

Are you able to do a step 8 which’s an alternative way of changing a fan speed at least or it is not function?

liviu@bobdenaut:~$ sudo nvidia-settings -a “[gpu:0]/GPUFanControlState=1”
[sudo] password for liviu: 


ERROR: Error parsing assignment '“[gpu:0]/GPUFanControlState=1”' (Trailing garbage).

liviu@bobdenaut:~$ sudo nvidia-settings -a “[fan:0]/GPUTargetFanSpeed=100”



ERROR: Error parsing assignment '“[fan:0]/GPUTargetFanSpeed=100”' (Trailing garbage).

liviu@bobdenaut:~$

If I see that, it’s very likely due to using Laptop or Palmtop, because I saw your GPU version which it says “RTX 4070 Laptop GPU”.

I remember seen an error like on my Acer Nitro 5 Laptop, because on Linux Laptop’s GPU Fan speeds are not supported which I’m not sure why, but you’re told that workaround only works on Desktops (Not Laptops nor Palmtop).

Sorry @bobdenaut :cry:.

Indeed laptop

liviu@bobdenaut:~$ fastfetch    
           `.:/ossyyyysso/:.                liviu@bobdenaut
        .:oyyyyyyyyyyyyyyyyyyo:`            ---------------
      -oyyyyyyyodMMyyyyyyyysyyyyo-          OS: Kubuntu x86_64
    -syyyyyyyyyydMMyoyyyydmMMyyyyys-        Host: ROG Strix G614JI_G614JI (1.0)
   oyyysdMysyyyydMMMMMMMMMMMMMyyyyyyyo      Kernel: Linux 6.14.0-33-generic
 `oyyyydMMMMysyysoooooodMMMMyyyyyyyyyo`     Uptime: 2 hours, 33 mins
 oyyyyyydMMMMyyyyyyyyyyyysdMMysssssyyyo     Packages: 4271 (dpkg), 17 (flatpak)
-yyyyyyyydMysyyyyyyyyyyyyyysdMMMMMysyyy-    Shell: bash 5.2.37
oyyyysoodMyyyyyyyyyyyyyyyyyyydMMMMysyyyo    Display (TMX1603): 2560x1600 @ 240 Hz (as 1766x1104) in 16" [Built-in] *
yyysdMMMMMyyyyyyyyyyyyyyyyyyysosyyyyyyyy    Display (LG HDR 4K): 3840x2160 @ 60 Hz (as 2849x1602) in 31" [External]
yyysdMMMMMyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy    DE: KDE Plasma 6.3.4
oyyyyysosdyyyyyyyyyyyyyyyyyyydMMMMysyyyo    WM: KWin (Wayland)
-yyyyyyyydMysyyyyyyyyyyyyyysdMMMMMysyyy-    WM Theme: Orchis-dark_Nvidia
 oyyyyyydMMMysyyyyyyyyyyysdMMyoyyyoyyyo     Theme: Oxygen (OrchisDark) [Qt], Mojave-Dark-alt [GTK2/3/4]
 `oyyyydMMMysyyyoooooodMMMMyoyyyyyyyyo      Icons: ubuntustudio-dark [Qt], ubuntustudio-dark [GTK2/3/4]
   oyyysyyoyyyysdMMMMMMMMMMMyyyyyyyyo       Font: Noto Sans (11pt) [Qt], Noto Sans (11pt) [GTK2/3/4]
    -syyyyyyyyydMMMysyyydMMMysyyyys-        Cursor: Breeze_Light (24px)
      -oyyyyyyydMMyyyyyyysosyyyyo-          Terminal: Ptyxis 48.1
        ./oyyyyyyyyyyyyyyyyyyo/.            Terminal Font: FiraCode Nerd Font weight=450 (14pt)
           `.:/oosyyyysso/:.`               CPU: 13th Gen Intel(R) Core(TM) i9-13980HX (32) @ 5.60 GHz
                                            GPU 1: NVIDIA GeForce RTX 4070 Max-Q / Mobile [Discrete]
                                            GPU 2: Intel Raptor Lake-S UHD Graphics @ 1.65 GHz [Integrated]
                                            Memory: 15.98 GiB / 30.93 GiB (52%)
                                            Swap: Disabled
                                            Disk (/): 19.55 GiB / 1.60 TiB (1%) - zfs
                                            Disk (/zroot): 256.00 KiB / 1.58 TiB (0%) - zfs
                                            Local IP (enp109s0): 192.168.10.10/24
                                            Battery (R220358): 96% [AC Connected]
                                            Locale: en_US.UTF-8

Like I said, I saw your picture of NVIDIA X Settings that shows you’re using RTX 4070 Laptop GPU which it’s not supported by Linux itself, sure a GPU itself will function but Manual Fan controls are some reason not function, it’s a same thing to me as well, so you’re not alone.

I wish they fix that problem to make were that we laptop users with NVIDIA are able to do a fan speed changes like desktop users do.

Again sorry @bobdenaut :cry:

1 Like

Don’t be bro, I appreciate your time!
All good! :slight_smile:

1 Like

Unless if there’s a legal reasons why Canonical ltd cannot include a proprietary version. It make sense to me, again this is why I made a workaround to let Ubuntu users and others have to install a driver in an unmodulated way alongside with ubuntu-drivers manually.

I have rename a title for this topic that should make more sense and what am I’m talking about for a fan speed on a NVIDIA X Settings.

Does that help laptop/palmtop users to have fan speed control available or function on nvidia-settings? :slightly_smiling_face:

Welp that didn’t answer the question but thanks for letting me know that I take it as a no about laptop fan speed changes, because some people would like if there is a laptop fan speed not just desktop fan speed. :slightly_smiling_face:

Just one thing: I wasn’t misunderstood, I just wanna know if it does help fan speed support for laptops and palmtops, that’s all. So I didn’t ask for random workarounds that isn’t part of the fan speed for laptops/palmtops at the moment. And also, @bobdenaut was asking about fan speed for his laptop, not random workarounds that isn’t what he wants.

For the record, my suggestion wasn’t random.

I don’t have access to your machine, no access to the tools on that machine, so no knowledge of what you can actually see on that machine.

But, the avenue I proposed for discovering a possible un-documented solution is something you don’t appear to want to consider, so I have removed my posts, to keep the conversation “clean”.

Your welcome.