Monday, June 29, 2009

Overclocking Nvidia GTX260... and others


As you know, this blog is basically a catalogue of the adventures I've had under Linux in whatever version is the current one at the time of writing.

Around October last year, as I was building my workstation up by adding a bigger monitor (24") I needed to add a bigger graphics card to get the most out of the monitor. After all, 1900 x 1200 at 24 bit depth is rather a lot of screen real estate to drive at a reasonable speed so that it's useful as a business / graphics workstation.

I ended up with an Asus GTX260, which is of course and Nvidia chipset display device. It wasn't a regular one, as far as I could tell, but a special version overclocked to 576 MHz on the GPU and 999 MHz on the memory. Not bad.

However, after a look at nvidia-settings, it seemed that I was only getting 300 MHz of speedy goodness. I bought something quicker and I wanted to find out how to make do that.

Here's how:

For most purposes, nvidia-settings is what you will need, in conjunction with the most recent properly supported drivers from Nvidia. By properly supported, I mean the ones that Ubuntu ships with the distro or upgrades to along the way. There are some issues that can come up if you go to a 'too new' version in that other stuff can break. Stay leading edge, not bleeding edge.

Nvidia-settings is pretty simple - it lets you adjust a few things here and there such as anisotropic filtering, texture, etc. That's all pretty nice.

However, if you add one more option to your xorg.conf, you can unlock the overclocking side of things if it is available for your card.

First off, sudo apt-get install nvclock. It's a powerful command line tool for overclocking. I'm not sure what interdependencies there are between nvidia-settings and nvclock in regard to overclocking, but it just seems to work. Try it. There are some pretty cool command line features available in nvclock, but only use those if you know what you're doing. If you make a mistake you can either weaken or destroy your display card and potentially other hardware in your system.

The option to change in your xorg.conf is to add the line:
"Options" "Coolbits" "1"
... and that's it.

This allows overclocking to be selected in nvidia-settings' graphical interface. You can find it in the section "Clock Frequencies". Tick "Enable Overclocking" and off you go! Make sure that you know the maximum GPU and Memory clock for your card and for your cooling configuration. A smart move is to allow Power Miser to run. It is enabled by default. This means your card only goes to its maximum speeds on demand. Saves power, saves heat. I won't tell you how to disable it - if you're that keen, practice your Google-fu my friend.

As this card is an overclocked version, it also displays that there are two more performance settings. Default is 0, faster is 1 and highest is 2. If your nvidia-settings shows you this kind of information, then you are lucky enough to know what maximum speeds you can safely set and forget. If that kind of information isn't shown, then do a little research for the quickest reliable settings for your board, subtract say 10% and work it up from there. If the high performance speed minus 10% is less than the 'stock' speed, overclocking may not be for your card. It's up to you.


You can often overclock a touch faster if you can run your system cooler.

Here's a sweet cheat to do that:
sudo apt-get install nvclock-gtk
... Easy!

Run nvclock_gtk from the command line. It's a GUI'ed app for overclocking. Don't touch the overclock part of it otherwise it will take away your adjustments from the changes you made in nvidia-settings.

The part we're interested in is the fan duty cycle. The normal fan duty cycle set for my card is 40%. Tweak it to say 80%. Fan RPM will increase, perhaps a minor increase in noise but you will notice your temperature begin to reduce. The graphics card's temperature is for the most part ruled by the ambient temperature inside your system case and is influenced by ambient temperature in the room where the system case is. Obvious, huh?

In my case, "nvclock -T" reports GPU temperature = 60C and Board Temperature = 49C. This is a drop of 3C in about four minutes or so. I can feel a bit more breeze around the case with my bare feet (it's a tower sitting on the floor under my desk) which I'm sure will be a welcome relief in summer. :)

Any questions? Ask and I will try to assist.


Peace out. :)


No comments:

Post a Comment