13

I have seen in forums and manuals that you have to add

Option "Coolbits" "value"

to xorg.conf or similar files.

I have been able to get this working for the first GPU, the one rendering the display. I have not been able to get overclocking options in nvidia-settings for the second GPU, not rendering any display.

I have tried things like

Section "Device"
    Identifier  "Videocard0"
    Driver      "nvidia"
    BusID       "PCI:2:00:0"
    Option      "Coolbits" "12"
EndSection

Section "Device"
    Identifier  "Videocard1"
    Driver      "nvidia"
    BusID       "PCI:3:00:0"
    Option      "Coolbits" "12"
EndSection

in the various files: xorg.conf, 99-nvidia.conf, nvidia-xorg.conf. Everything I have tried has led to black screens, no overclocking capability or overclocking capability on the first GPU only.

Is it possible to unlock overclocking for both GPUs, if so how?

I have not found this question asked anywhere. I am running 346.59 drivers on Fedora 21.

4
  • Did you ever solve this issue? Commented Sep 8, 2015 at 13:40
  • No I have the slower of the two GPUs on the display so I can OC it to the level of the other GPU. I havn't found a proper solution.
    – Agade
    Commented Sep 9, 2015 at 19:43
  • I have solved it on my machine, and added an answer. Give it a try? Commented Sep 10, 2015 at 8:24
  • Had trouble because Fedora doesn't have a xorg.conf by default and the tools to generate it were giving invalid ones. Once I had a xorg.conf your method was quick to work.
    – Agade
    Commented Sep 10, 2015 at 14:55

5 Answers 5

12

I never was able to get it to work by hand editing xorg.conf. What did work was to execute on the command line which sets it all up for you:

sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration

Then edit xorg.conf. For me that was sudo vi /etc/X11/xorg.conf and prepend "#" to each line containing allow-empty-initial-configuration to comment it out.

Reboot.

Then to overclock run:

/usr/bin/nvidia-settings

To restore your settings after a reboot create an executable file that you call from startup applications containing the text below which will set the gpu clock offset and set the gpu to prefer maximum performance. My example sets the offset to 50. Don't set the offset too high in the file for your actual display gpu until you know for sure what you want or you may end up with a system where the display won't work:

nvidia-settings -a [gpu:0]/GpuPowerMizerMode=1
nvidia-settings -a [gpu:0]/GPUGraphicsClockOffset[3]=50

nvidia-settings -a [gpu:1]/GpuPowerMizerMode=1
nvidia-settings -a [gpu:1]/GPUGraphicsClockOffset[3]=50

nvidia-settings -a [gpu:2]/GpuPowerMizerMode=1
nvidia-settings -a [gpu:2]/GPUGraphicsClockOffset[3]=50

nvidia-settings -a [gpu:3]/GpuPowerMizerMode=1
nvidia-settings -a [gpu:3]/GPUGraphicsClockOffset[3]=50

If you want to overclock memory too it's

nvidia-settings -a [gpu:0]/GPUMemoryTransferRateOffset[3]=800 

And of related interest, you can also modify power to the cards. To see the valid values enter a value of 1000

sudo -n nvidia-smi -i 0 --persistence-mode=1
sudo -n nvidia-smi -i 0 --power-limit=145

And just to display power

nvidia-smi
3
  • This worked for me, but you do not need to comment out Allow Empty Initial Configuration. And if you are going to comment out these lines anyway, just run the command without the --allow-empty-initial-configuration parameter.
    – Doug
    Commented Jul 22, 2017 at 11:36
  • On my system I did.
    – DarthMouse
    Commented Jul 22, 2017 at 21:17
  • 1
    If I don't comment out those lines I get duplicate icons on my panel. I have no idea why.
    – DarthMouse
    Commented Feb 17, 2018 at 22:22
4

Changing the xorg.conf file to add virtual X servers for each of the cards (even those not connected to a monitor) solved the issue.

Basically, you want to have a server layout section with all of your real and virtual screens:

Section "ServerLayout"  
    Identifier    "Layout0"     
#   Our real monitor
    Screen 0      "Screen0" 0 0     
#   Our virtual monitors
    Screen 1      "Screen1"     
    Screen 2      "Screen2"
#    ....
    Screen 3      "Screen3"     
    InputDevice   "Keyboard0" "CoreKeyboard"
    InputDevice   "Mouse0"    "CorePointer" 
EndSection

Then, for each your cards, you can put in (almost) identical "Monitor", "Screen" and "Display" sections, differing only by their identifiers, which in the following are N, but should be repaced by the card number, 0,1, etc. Note that at least the parameters for the real monitor should correspond to what you currently have in your xorg.conf file, i.e. in the following I have CRT since it's an old VGA monitor.

Section "Screen"
    Identifier     "ScreenN"
    Device         "DeviceN"
    Monitor        "MonitorN"
    DefaultDepth 24
    Option         "ConnectedMonitor" "CRT"
    Option         "Coolbits" "5"
    Option         "TwinView" "0"
    Option         "Stereo" "0"
    Option         "metamodes" "nvidia-auto-select +0+0"
    SubSection     "Display"
       Depth 24
    EndSubSection
EndSection



Section "Monitor"
    Identifier     "MonitorN"
    VendorName     "Unknown"
    ModelName      "CRT-N"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "DeviceN"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Your Card name here"
    BusID          "PCI:X:Y:Z"
EndSection
5
  • You write Then, for each your cards, you can put in (almost) identical "Monitor", "Screen" and "Display" sections but then you show Screen, Monitor and Device not Display sections. What's the truth? Commented Jun 29, 2017 at 12:28
  • Many thanks for the tip, I also had the same issue with overclocking settings not showing up. I managed to get my system work by adding just a screen for each device.
    – Pejvan
    Commented Jul 4, 2017 at 11:01
  • 1
    It can be very hard to get this to work by editing this file manually. Running this command sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration will automatically make the changes for you to the xorg.conf file. Then you just need to reboot and you should be good to go.
    – Doug
    Commented Jul 22, 2017 at 11:39
  • If your monitors are not attached to Device 0, nvidia-xconfig might give you a blank screen after rebooting. You can just change the identifier of the attached device to Device 0. And to remove the extra space caused by the virtual screens, see here.
    – hkchengrex
    Commented Dec 22, 2020 at 15:21
  • I did everything but I still cannot overclock the card.
    – Lich4r
    Commented May 21, 2021 at 14:16
1

First use

sudo vim /etc/X11/xorg.conf

And write this into file

Section "ServerLayout"  
    Identifier    "Layout0"     
    #   Our real monitor
    Screen 0      "Screen0" 0 0     
#   Our virtual monitors
    Screen 1      "Screen1"     
    Screen 2      "Screen2"
#    ....
    Screen N      "ScreenN"  

    InputDevice   "Keyboard0" "CoreKeyboard"
    InputDevice   "Mouse0"    "CorePointer" 
EndSection

where N-1 is the number of graphic cards

save with

:w

Then use this command, to auto-fill the rest, and to unlock overclocking.

sudo nvidia-xconfig -a --cool-bits=28 --allow-empty-initial-configuration

Then again

    sudo vim /etc/X11/xorg.conf

and check if the GPU to whom the monitor is attached is in the first place wher N=0.

save with

:w

reboot

0

If you want to apply the same settings to all cards, a shorthand would be: nvidia-settings -a GpuPowerMizerMode=1 nvidia-settings -a GPUGraphicsClockOffset[3]=50

0

Sudo Nvidia-settings -a crashed my desktop. I had to delete /etc/X11/xorg.conf for it to work again. I have 2 dgpus, with only 1 monitor connected

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .