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.

kmario23
  • 1,009
  • 2
  • 10
  • 20
M. Tibbits
  • 1,328
  • 5
  • 18
  • 28
  • 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 '10 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 '10 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 '10 at 18:20
  • Typical Nvidia... – Oli Oct 16 '10 at 18:49

5 Answers5

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

Oli
  • 289,791
  • 117
  • 680
  • 835
  • 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 08 '10 at 05: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 08 '10 at 09: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 06 '11 at 04:40
  • When the GPU is overclocked this way, would it result in any given frequency running at a lower voltage? – Sandu Ursu Jun 17 '20 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

Adrian Lopez
  • 291
  • 1
  • 4
  • 13
  • To make changes permanent: sudo nvidia-smi -pm 1 – Adrian Lopez May 17 '18 at 00:27
  • 1
    **GRAPHICAL WAY**: Enable the coolbits, reboot, open nvidia settings, and look for [PowerMizer](http://z-issue.com/blog_imgs/tech/linux/nvidia_drivers/nvidia_settings_performance_level_fan_speeds_coolbits_4_and_8_12.jpg). You won't be able to OC the power input in graphical mode. – Adrian Lopez May 17 '18 at 00:57
  • When the GPU is overclocked this way, would it result in any given frequency running at a lower voltage? – Sandu Ursu Jun 17 '20 at 21:40
  • Voltage won't change. Only the power input. OC wise, the results are 99% the same. – Adrian Lopez Jun 18 '20 at 11:31
  • I got the idea from this [comment](https://www.reddit.com/r/Dell/comments/ccwlur/xps_15_7590_gpu_undervolting/etr059y/). He provides further details in another [post](https://www.reddit.com/r/Dell/comments/cdq5wr/how_i_stopped_my_xps_15_7590_gpu_from_throttling/). Please let me know if the instructions you specified above would allow me to overclock as described in there. Thanks! – Sandu Ursu Jun 19 '20 at 08: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

  • 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 '21 at 22:46
  • Is there an equivalent for AMD cards? – user5359531 Sep 02 '21 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

karel
  • 110,292
  • 102
  • 269
  • 299
Luis Alvarado
  • 209,003
  • 167
  • 543
  • 707
  • It doesn't work for newer devices; and when I force it with `-f`, it shows a negative (obviously incorrect) clock speed. –  Feb 15 '14 at 08: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

paradox
  • 163
  • 11
  • 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. – Greenonline Oct 12 '21 at 06:12
  • Thanks. Added reference to another thread which is newer and actually contains it. Hope that's fine? – paradox Oct 12 '21 at 18:25