Star Hype News.

Premium celebrity moments with standout appeal.

general

Set Coolbits on Nvidia GPU without nvidia-xconfig or xorg.conf (Dual GPU AMD/Nvidia system)

By Sarah Smith

My system has 2 GPU's, my main display card, which is AMD, and a compute card, which is Nvidia. I want to overclock or change the fan curve of my Nvidia card without breaking my AMD card - using nvidia-xconfig results in it writing the following:

Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "GeForce RTX 3090"
EndSection
Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "Coolbits" "28" SubSection "Display" Depth 24 EndSubSection
EndSection

Then, I cannot boot up with my AMD GPU, all I see is a grey screen. Is there a way to set coolbits without modifying the xorg.conf so that I cannot boot? I have tried adding coolbits to /usr/share/X11/xorg.conf.d/10-nvidia.conf to no avail. Is it possible to either modify xorg.conf so that coolbits is enabled but that the AMD GPU also functions, or alternatively, do this without using xorg.conf?

Thanks.

5

1 Answer

Here is my xorg.conf with radeon as dual display and nvidia as gpu card:

Section "ServerLayout" Identifier "layout" Screen 0 "radeon" Screen 1 "nvidia"
EndSection
Section "Device" Identifier "radeon" Driver "radeon" Option "TearFree" "on" BusID "PCI:8:0:0"
EndSection
Section "Screen" Identifier "radeon" Device "radeon"
EndSection
Section "Device" Identifier "nvidia" Driver "nvidia" BusID "PCI:6:0:0"
EndSection
Section "Screen" Identifier "nvidia" Device "nvidia" Option "AllowEmptyInitialConfiguration" "True" Option "UseDisplayDevice" "none" Option "Coolbits" "12"
EndSection

Replace anything taggued "radeon" with your display settings.

Replace the BusIDs with your cards BusIDs with one of the following commands:

$ nvidia-xconfig --query-gpu-info
$ lspci | grep VGA

With that configuration, I was unable to set the fan speed for the GPU card through the nvidia-settings command.

For that, we have to trick Xorg into thinking a display is connected to the GPU card.

Extract an EDID file (Extended Display Identification Data) from your current monitor and place it in your xorg.conf folder:

$ sudo apt install read-edid
$ sudo get-edid -m 0 > edid.bin

My final xorg.conf "Screen" config with all the Coolbits you can have and a fake monitor looks like:

Section "Screen" Identifier "nvidia" Device "nvidia" Option "AllowEmptyInitialConfiguration" "True" Option "UseDisplayDevice" "none" Option "Coolbits" "28" Option "ConstrainCursor" "off" Option "ConnectedMonitor" "DFP-0" Option "CustomEDID" "DFP-0:/usr/share/X11/xorg.conf.d/edid.bin"
EndSection

For more GPUs, add new Screens to the "ServerLayout" section and define pairs of "Device" and "Screen" sections for your additional cards.

2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy