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 assigning value 99 to attribute 'GPUTargetFanSpeed' (DLBox:1[fan:0]) as specified in assignment
       '[fan:0]/GPUTargetFanSpeed=99' (Unknown Error).

I am doing deep learning and the temperature goes high to 80-85 degrees and it smells also.

1 Like

Found the solution. I had to run the following first and restart

sudo nvidia-xconfig -a --cool-bits=28

But I have another question. After reboot, The GPU control the FAN automatically. Then If I set the fan speed manually via

nvidia-settings -a '[gpu:0]/GPUFanControlState=1' -a '[fan:0]/GPUTargetFanSpeed=99'

It works as it should. But when I set

nvidia-settings -a '[gpu:0]/GPUFanControlState=0'

afterward, now the Nvidia X Server Settings does not update the FAN Speed although it is possible to see in Nvidia-smi that the fan speed is still changing.

By the way I updated to 396 driver.

1 Like

This worked for me, no need to add a xorg.conf file.

Find /usr/share/X11/xorg.conf.d/10-nvidia.conf

Add the coolbits option there and now looks like this:

Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
<b>    Option "Coolbits" "28"</b>
    ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection
2 Likes

@hhacvv Thanks, your solution is the only working one I found for Ubuntu 18.04 as the xorg.conf method resulted in not being able to log in and didn’t work at all due to deprecation. However with your method fan control only works on one of my GPUs, any ideas how I can apply it to others? I have been stuck on this all day trying pretty much everything Google has to offer.

1 Like

Section 7 on this link might help. There is something about enabling all house, I only have one card so, I cannot try it.

https://wiki.archlinux.org/index.php/NVIDIA/Tips_and_tricks#Displaying_GPU_temperature_in_the_shell

Got my rtx3090 and was trying to set coolbits for it using the same method with no luck.

However, using
sudo nvidia-xconfig -a --cool-bits=31 --allow-empty-initial-configuration

It worked but it created a xorg.conf file that you need to manually edit for a third monitor connected to motherboard’s GPU to work.

Setup before changes:
Ubuntu 20.04.2 LTS
Motherboard Asus Z270-A
GPU1 Intel HD530 (monitor #1 and #2)
GPU2 EVGA 780ti (monitor #3)
GPU3 Gigabyte rtx3090 (CUDA computing)

… after changes:
Ubuntu 20.04.2 LTS
Motherboard Asus Z270-A
GPU1 Intel HD530
GPU2 EVGA 780ti (monitor #1 ,#2 and #3)
GPU3 Gigabyte rtx3090 (CUDA computing)

Hi!
Same issue here with an RTX 2080, I can generate the xorg.conf file but my monitor setup blows up. I am not sure how could I add the monitors correctly to the .conf file. Would you mind to share the important bits?
Thanks!

I have not figure that out yet as there is something that stacks up first in my priorities list, but sure, as soon as I have them I’ll be happy to share them.