24

I would like to boost the Core frequency, shader clock, and memory clock on an eVGA GTX 480 I have in my development box running 10.04. Is it possible to overclock a recent graphics card from within Ubuntu? I tried the Coolbits approach, but I couldn't get this to work. I also tried nvclock, but as it has't been updated since January, 4th, 2009, it doesn't work with my card.

In windows, the driver itself ships with the ability to overclock the cards, but nvidia appears to have left this out of the linux drivers. Has anyone discovered a solution? Or would it be possible to stage the windows drivers within Ubuntu? (ick)

If there is a more appropriate forum to ask this question in, I'd be happy to do so -- but I'm hoping for a solution within Ubuntu. Thanks!

Update: It appears that I may need to have "Coolbit" "5" as discussed here. Hmm. Nope.

Here is the relevant section of my xorg.conf file:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 460"
    BusID          "PCI:2:0:0"
    Option         "Coolbits" "5"
    Option         "NoLogo" "True"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 480"
    BusID          "PCI:3:0:0"
    Option         "Coolbits" "5"
    Option         "NoLogo" "True"
EndSection

When I restart with Coolbits set to 5, I can enable fan control on GTX 460. I can also set it to maximum performance mode. I cannot change the clock frequencies. I am about to try different levels. But here is what I see (with Coolbits = 5):

alt text

Update 2: I've tried driver version - 260.24(beta - nvdeveloper) & 260.19.12 (released today). I am not able to see the "Clock Frequencies" tab for any of the 4xx cards. I can however alter the fan speed for the card with a display attached. I'm going to ask a second question and wait for better drivers to be released.

4
  • Note: if you copied the code straight off that coolbits explanation, you would have copied curly-quotes, not straight "s. That might explain why it didn't work for you.
    – Oli
    Oct 16, 2010 at 17:28
  • I didn't copy it, I just typed in the changes by hand. I'm going to update my question with my xorg file. It's still not working with Coolbits.
    – M. Tibbits
    Oct 16, 2010 at 17:39
  • It appears that the "4" bit enables fan control, but only if you have a display attached. But not clock frequencies. I'm currently running Driver version 260.24 (only available on the nvdeveloper site). Guess we'll just have to wait for support to come to the 4xx series.
    – M. Tibbits
    Oct 16, 2010 at 18:20
  • Typical Nvidia...
    – Oli
    Oct 16, 2010 at 18:49

5 Answers 5

16

You almost had it. Coolbits is the way. Here's my device in /etc/X11/xorg.conf:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 260"
    Option         "Coolbits" "1"
    Option         "NoLogo" "True"
EndSection

And then (after restarting X - control+alt+f1, sudo restart gdm), load up nvidia-settings and there's a Clock Frequencies page:

alt text

4
  • Just to note: (Why I haven't accepted this answer) The above configuration does not work for the 4xx series cards. The support has not yet been merged into the public driver stack. Still waiting / begging nVidia...
    – M. Tibbits
    Nov 8, 2010 at 5:03
  • 1
    Yeah Fermi support is lagging but when it does get here, this will be the way to enable it. The only other way I've ever seen is using Nibitor to edit the firmware on the card. Sounds a lot more destructive but if you need to edit the clocks, it's an option.
    – Oli
    Nov 8, 2010 at 9:22
  • 1
    Honestly, I don't care about the clocks - I'm running intensive CUDA programs and the fans stay at around 45% speed and keep the cards at 75C - 80C which I think is too hot. In windows, it's easy to crank the fans up to 90% and keep the cards at 50C under full load. Ps. I've now also checked the newest drivers up through: 260.19.29. Still no dice. C'mon nVidia!
    – M. Tibbits
    Jan 6, 2011 at 4:40
  • When the GPU is overclocked this way, would it result in any given frequency running at a lower voltage?
    – Sandu Ursu
    Jun 17, 2020 at 21:39
5

2018 Answer

To enable overclocking, run:

nvidia-xconfig --cool-bits=28

Reboot your PC. Now you can do things like:

# List all GPUs
# Set power to 100W, +1000 Mhz Mem clock offset, and +100 Mhz on GPU clock offset.
nvidia-settings -c :0 -q gpus
nvidia-smi -i 0 -pl 100
nvidia-settings -c :0 -a '[gpu:0]/GPUMemoryTransferRateOffset[2]=1000'
nvidia-settings -c :0 -a '[gpu:0]/GPUGraphicsClockOffset[2]=100'

The adventage of this method is that you can change the power input. Potential harm risk. Proceed with careful. Source here

5
  • To make changes permanent: sudo nvidia-smi -pm 1 May 17, 2018 at 0:27
  • 1
    GRAPHICAL WAY: Enable the coolbits, reboot, open nvidia settings, and look for PowerMizer. You won't be able to OC the power input in graphical mode. May 17, 2018 at 0:57
  • When the GPU is overclocked this way, would it result in any given frequency running at a lower voltage?
    – Sandu Ursu
    Jun 17, 2020 at 21:40
  • Voltage won't change. Only the power input. OC wise, the results are 99% the same. Jun 18, 2020 at 11:31
  • I got the idea from this comment. He provides further details in another post. Please let me know if the instructions you specified above would allow me to overclock as described in there. Thanks!
    – Sandu Ursu
    Jun 19, 2020 at 8:50
4

For anyone tackling this question in 2021:

I searched the issue with my Ubuntu distro (20.0.2)

The file is now located in /usr/share/X11/xorg.conf.d/10-nvidia.conf

I set Option "Coolbits" "28"

Restarted the GDM using systemctl restart gdm.service

You will also need to run to enable multiple GPUs: sudo nvidia-xconfig --enable-all-gpus

HotTip when using the GUI: You need to press Enter when editing the GPU clock or memory values in order for changes to be applied. You'll know they were applied because some text will appear in the bottom left side saying that the value was set

You should also note that the options are now nested in PowerMizer and look different than Screencapped here

This method also works for Ubuntu version 21.04

2
  • This option enabled Editable Performance Levels within PowerMizer, but not able to save changes either via UI or CLI. I am running Ubuntu 20.04 with 1660 Super on a Dell XPS 8940. Not sure if Dell has disabled overclocking in the OEM GPU.
    – Raj
    May 31, 2021 at 22:46
  • Is there an equivalent for AMD cards? Sep 2, 2021 at 14:54
3

There are also the following tools in the default Ubuntu repositories that you can install from the Software Center or from the terminal:

NVIDIA - for Ubuntu <=14.04

nvclock - Allows you to overclock Nvidia cards

nvclock-gtk - Nvclock but with GTK support

nvclock-qt - Nvclock but with QT support

ATI - for all currently supported versions of Ubuntu

rovclock - Allows you to overclock ATI cards

1
  • It doesn't work for newer devices; and when I force it with -f, it shows a negative (obviously incorrect) clock speed.
    – user248408
    Feb 15, 2014 at 8:27
1

For anyone having issues with GPUMemoryTransferRateOffset, I created a script using GPUMemoryTransferRateOffsetAllPerformanceLevels which you can find in this related question: https://askubuntu.com/a/1368739/1434762

2
  • If the Github repository ever disappears, sometime in the future, then your answer won't be much use. Therefore, in addition to providing the link to the script in your answers, as the script isn't very long, you could also edit your answers to include the script. Oct 12, 2021 at 6:12
  • Thanks. Added reference to another thread which is newer and actually contains it. Hope that's fine?
    – paradox
    Oct 12, 2021 at 18:25

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.