As most of you are aware, due to poor ATI proprietary Linux drivers, ATI graphics cards are usually left out of the game when it comes to graphics card performance under Linux. Then of course, there's NVIDIA. NVIDIA has been developing Linux unified drivers for quite a while (the first Linux release with Pixel and Vertex Shader support occurred in early 2001) and it has definitely reflected upon their Linux graphics performance. Of course, both ATI and NVIDIA have extremely reliable drivers for Microsoft Windows, otherwise neither would exist. One stake neither NVIDIA nor ATI currently have a definite claim to is graphics card overclocking under Linux. There are numerous Windows overclocking utilities such as CoolBits, NVTweak, RivaTuner, ATiTool, and PowerStrip. One of the few ways to overclock your NVIDIA graphics card under Linux (without editing the video BIOS or physical card modification) is through NVClock. This is a handy little utility from the good people over at LinuxHardware.org, used for overclocking your NVIDIA based graphics card. In this article, we will explore NVIDIA overclocking as we try NVClock on a couple different of our NVIDIA based systems. The systems making their rounds today contain a Prolink PixelView AGP 5900XT, Gigabyte PCI Express 6600GT (GV-NX66T128), Leadtek WinFast PCI Express 6600GT TDH, and finally an old but beloved Riva TNT2 AGP. This article isn't intended to teach novices the fundamentals of overclocking a graphics card or all of the aspects of properly overclocking it (proper cooling, checking for artifacts, etc...), but is designed to inform Linux users of the options, or there the lack-there-of, for overclocking their NVIDIA graphics cards and the successes/failures we experienced when overclocking a few of our cards under Linux.
Disclaimer: As this article will discuss increasing your VPU and memory frequencies, this can potentially damage or destroy your graphics card and void the warranty with the manufacturer. Phoronix and its staff take absolutely no responsibility for any damage or harm that can potentially occur from the methods discussed in this article.
NVClock is currently available for download via source, RPM (Red-Hat Package), DEB (Debian Package), and CVS (Concurrent Versions System). As you continue reading this article, you will see NVClock 0.7, the latest version currently available in tarball format at LinuxHardware, which in our case only worked with the TNT2. For the other graphics cards, we used the NVClock CVS. The CVS currently available is NVClock 0.8pre and contains many different fixes, including the problem with overclocking the FX and 6XXX cards due to the 2D/3D switch. One of the other current features for this CVS includes a re-written GTK client. Below is what needs to be entered in the terminal in order to retrieve the latest CVS for NVClock.
cvs -z3 -d:pserver:firstname.lastname@example.org:/cvsroot/nvclock co -p nvclock
All of our machines in this article are running FedoraCore3 with the Linux 2.6.10-1.770 kernel, Xorg 6.8.2, GCC 3.4.2, and the NVIDIA 1.0-7174 display drivers. For artifact testing and benchmarking, we used Unreal Tournament 2003 Demo (2206), Unreal Tournament 2004 Demo (3334), glxgears, Cube (2004-05-22), and Doom 3 (1.1.1286). For each of the different tests on Unreal Tournament we loaded each map up with 12 bots and ran the benchmark for 77 seconds.