You are not logged in.

#1 2020-08-03 05:59:42

jecogeo
Member
Registered: 2019-05-27
Posts: 27

[SOLVED] NVIDIA overclock/underclok coolbits not working

I recently created a conf file /etc/X11/xorg.conf.d/20-nvidia.conf in order to enable overclock of my discrete card. My intention is to underclock/undervolt the GPU to deal with overheating. Following the wiki, I added the line

Option "Coolbits" "24"

to the device section of this file referring to the discrete GPU.

However, it seems it's not taking effect. nvidia-settings does not show controls over power or clock at all. Also:

~$ nvidia-smi -q -d SUPPORTED_CLOCKS                                                                                                    


==============NVSMI LOG==============

Timestamp                                 : Mon Aug  3 02:52:29 2020
Driver Version                            : 450.57
CUDA Version                              : 11.0

Attached GPUs                             : 1
GPU 00000000:02:00.0
    Supported Clocks                      : N/A

which seems to indicate that change clock is not supported. /etc/X11/xorg.conf.d/20-nvidia.conf file contains:

Section "Device"
    Identifier     "Intel iGPU"
    Driver         "intel"
    BusID          "PCI:0:2:0"
EndSection

Section "Device"
        Identifier "Nvidia Card"
        Driver "nvidia"
        VendorName "NVIDIA Corporation"
        BoardName "GeForce MX150"
	Option         "Coolbits" "24"
	BusID          "PCI:2:0:0"
EndSection

My system is an optimus laptop running with PRIME.

OS: Arch Linux x86_64 
Kernel: 5.7.11-arch1-1 
DE: GNOME 
WM: Mutter 
CPU: Intel i7-8565U (8) @ 4.600GHz 
GPU: NVIDIA GeForce MX150 
GPU: Intel UHD Graphics 620 
Nvidia driver: 450.57-5
nvidia-prime: 1.0-4

Any ideas why I can't change the clock even if coolbits is set?

Last edited by jecogeo (2020-08-04 17:46:48)

Offline

#2 2020-08-03 21:03:09

jecogeo
Member
Registered: 2019-05-27
Posts: 27

Re: [SOLVED] NVIDIA overclock/underclok coolbits not working

Looking around, it seems that the applications where I'd be able to change clock or voltage, nvidia-seetings and nvidia-smi, need to be "connected"/"related" to any screen (physical or virtual). This was said on StackExchange, although I can't find anything mentioning that in the official docs.

I tried:

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Device"
    Identifier     "Intel iGPU"
    Driver         "intel"
    BusID          "PCI:0:2:0"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Nvidia Card"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce MX150"
    Option         "Coolbits" "28"
    BusID          "PCI:2:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Nvidia Card"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Coolbits" "28"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

   

Also following this post, but no success at all yet. I'd appreciate any comments on that.

Offline

#3 2020-08-04 17:46:23

jecogeo
Member
Registered: 2019-05-27
Posts: 27

Re: [SOLVED] NVIDIA overclock/underclok coolbits not working

Ok, Got it. To coolbits (and nvidia-settings/nvidia-smi) properly function, the NVIDIA card has to be connected to a "virtual display" even if it is not rendering any display at all. My working file is:

# a layout combining the actual and virtual monitors
Section "ServerLayout"  
    Identifier    "Layout0"     
#   Our real monitor
    Screen 0      "Screen0" 0 0     
#   Our virtual monitor
    Screen 1      "Screen1"     
EndSection

Section "Screen"
#actual screen
    Identifier     "Screen0"
#integrated intel GPU card
    Device         "Device0"
#actual monitor
    Monitor        "Monitor0"
    DefaultDepth 24
    SubSection     "Display"
       Depth 24
    EndSubSection
EndSection

Section "Screen"
# virtual monitor
    Identifier     "Screen1"
# discrete GPU nvidia
    Device         "Device1"
# virtual monitor
    Monitor        "Monitor1"
    DefaultDepth 24
    SubSection     "Display"
       Depth 24
    EndSubSection
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
# integrated intel GPU
    Identifier     "Device0"
    Driver         "intel"
    BusID          "PCI:0:2:0"
EndSection

Section "Device"
# discrete GPU NVIDIA
   Identifier      "Device1"
   Driver          "nvidia"
   VendorName      "NVIDIA Corporation"
   BoardName       "GeForce MX150"
   Option          "Coolbits" "24"
   BusID           "PCI:2:0:0"
EndSection

Last edited by jecogeo (2020-08-04 17:49:32)

Offline

Board footer

Powered by FluxBB