[nvidia-settings] Enable GPU Fan Settings Option is Grayed out

Hi,

I would like to override zero RPM features of my GPU.
It is frustrated that we could not control fan speed using nvidia-smi.
The requirement for Xorg to access nvidia settings is cumbersome.

I arrived at the following setting after combing the internet for solutions:

  • /etc/X11/xorg.conf
Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVIDIA GeForce GTX 1080 Ti"
    BusID          "PCI:5:0:0"
    Option         "Coolbits" "4"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "AllowEmptyInitialConfiguration" "True"
    Option         "UseDisplayDevice" "None"
    SubSection     "Display"
        Virtual     1920 1080
        Depth       24
    EndSubSection
EndSection

Here, the Coolbits is set to 4, which should enable fan control.

  • /etc/X11/Xwrapper.config
needs_root_rights=yes
allowed_users=anybody 
  • Setting fan speed from terminal has no effect, i.e fans are not spinning up.
$ sudo  XAUTHORITY=...  nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUTargetFanSpeed=30"
  
Attribute 'GPUFanControlState' (localhost:10[gpu:0]) assigned value 1.
Attribute 'GPUTargetFanSpeed' (localhost:10[fan:0]) assigned value 30.
  • The Apply button under Thermal Settings is grayed out.

I am at my wits end. Any suggestions are much appreciate.

Regards.

Try the command below and restart the OS.
sudo nvidia-xconfig --cool-bits=8

That isn’t the correct coolbits value. Even if it was, OP is clearly using Wayland.

It is not clear how user is supposed to control the fan in headless server.
One would think that such basic function would not require users to jump through hoops.

Regardless, here are the steps that I use in case some unlucky soul find himself in similar situation.
The GUI is still broken, per 515.105.01 version.

  1. Generate xorg.conf with virtual display
$ sudo nvidia-xconfig --cool-bits=28 --allow-empty-initial-configuration
  1. Manually start Xorg in the back ground
$ Xorg & 
  1. Set the fan curve with sudo using regular user’s .Xauthority
$ sudo XAUTHORITY=/home/shepard/.Xauthority nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUTargetFanSpeed=40"

The end result is Xorg process sticks out like the sore thumb in the output of nvidia-smi

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      4863      G   /usr/libexec/Xorg                  14MiB |
+-----------------------------------------------------------------------------+

Of course killing Xorg afterward will reset the fan speed to 0%.

Even the AMD clone, rocm-smi, allow user to change fan speed directly.
What a shame.