HOWTO: Overclock nVidia cards (ubuntu/debian)

Discussion in 'Linux, BSD and Other OS's' started by megamaced, Jan 12, 2007.

  1. megamaced

    megamaced Geek Geek Geek!

    Likes Received:
    0
    Trophy Points:
    36
    There are several methods you can use to overclock your nVidia graphics card under Linux. Which method you use will be dependant on the age of your graphics processor. Legacy nVidia card owners will have to use NVCLOCK. Whilst I have had no problems with it, some users have reported that it doesn't detect the correct clock speed and (or) doesn't work at all. Owners of newer video cards can use nVidia's CoolBits or NVCLOCK (which can use Coolbits as a backend).

    ... And before I forget, you should be using the binary 'nvidia' driver. You cannot perform overclocking with the open source 'nv' driver.


    USING COOLBITS [for non-legacy users only]


    We need to enable Coolbits before we can use it. Open up a terminal and type:

    Code:
    sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
    Code:
    sudo nano /etc/X11/xorg.conf
    Scroll down until you see the 'Device' section. Write the following on a new line:

    Code:
    Option	"CoolBits"	"1"
    See below for an example:

    Code:
    Section "Device"
            Identifier      "NVIDIA GeForce FX 5200"
            Driver          "nvidia"
            BusID           "PCI:1:0:0"
            [COLOR="Red"]Option          "Coolbits"              "1"[/COLOR]
            Option          "NoLogo"
    EndSection
    Save and exit the file by pressing 'CTRL+X', 'Y' and 'Enter'. End your current session by logging out of your computer. Finally, restart the X server by pressing 'CTRL+ALT+Backspace'

    Log back in to your computer and in a terminal, type:

    Code:
    nvidia-settings
    You should see a 'Clock Frequencies' section. You can use this control panel to overclock your graphics card. Any changes you make are lost after a reboot. This may seem like an annoyance but who needs an overclocked graphics card when you aren't playing games? :) If you really want to run the card overclocked permanently, you should use NVCLOCK and create a startup script (instructions coming up)


    USING NVCLOCK [legacy and non-legacy]


    If you want to use Coolbits as the backend for NVCLOCK (non-legacy only), you must enable it first as described above. NVCLOCK has it's own backend as well which you can use for legacy cards. We can install NVCLOCK by typing

    Code:
    sudo aptitude install nvclock
    If you want a nice graphical interface you should install 'nvclock-gtk' for GNOME or 'nvclock-qt' for KDE. I won't be covering either in this guide.

    Before we start changing our memory clocks, it's probably a good idea to check whether NVCLOCK has detected our graphics card and clock settings correctly. Run the following in a terminal:

    Code:
    nvclock -i
    MAKE SURE THE GPU AND MEMORY CLOCKS ARE CORRECT BEFORE PROCEEDING!

    Now we can start the black art of O/C'ing. Have you got a good enough dust buster? :) The basic syntax of nvclock is:

    Code:
    nvclock -b[backend] -n[clockspeed] -m[memory clock]
    For a non-legacy card you might type something like:

    Code:
    nvclock -b coolbits -n 270.000 -m 550.000
    For a legacy card you might type

    Code:
    nvclock -b lowlevel -n 179.000 -m 280.000
    Note the difference. You have to use 'lowlevel' for legacy cards. You cannot use Coolbits

    Remember your settings will be lost after a reboot. If you wish to keep them you will need to create a startup script. Open up a text editor and use the following as an example:

    Code:
    #!/bin/bash
    ## Script to overclock my graphics card
    nvclock -b coolbits -n 270.000 -m 550.000
    Save the file and make it executable by typing

    Code:
    chmod +x /path/to/file/file_name
    Move the file to your distribution's startup folder. For KDE users, that's /home/your_username/.kde/Autostart/. For GNOME users.... Sorry I don't use GNOME :D

    Alternatively, you could name the script something like 'nvoverclock' and move it to /usr/bin. Then when you want to overclock all you need to type is 'nvoverclock' in the terminal :)
     

Share This Page