LinuxHardware.org

Support This Project
Home | Download | Features | Forum | Screenshots | Support | Future plans | Links
 
NVClock is a small utility that allows users to overclock NVIDIA based video cards running on the Linux platform. The original code used in building this application was borrowed from the nvcs application. That code has been extensively reworked in order to make the utility much more user friendly and to make it play nice with current distros and drivers.

News
Sunday January 4 2009
Due to huge demand I'm releasing a new version of NVClock. NVClock 0.8 (beta4) offers support for the latest cards and improves functionality for current models like smartdimmer support for Geforce8/9 boards and fanspeed adjustment / temperature monitoring on most Geforce8/9/GT200 cards. I would like to thank Michael Vassiliadis for his smartdimmer debugging and neldoreth for testing the fanspeed code. Further I would like to thank everyone who performed tests for me as myself I don't have access to much Nvidia hardware (mostly nv4x cards and a fanless 8600gt.

Changes:
  • Initial GT200 support
  • Smartdimmer support for various Geforce8/9 laptops from Sony, Samsung, HP and Apple
  • Added an smartdimmer program to replace the original smartdimmer 0.1 program by Erik Wahling
  • Bios dumping using PRAMIN to prevent flickering
  • Bios parsing fixes for newer Geforce9/GT200 bioses
  • Fanspeed adjustment on various Geforce8/9/GT200 cards
  • Use of video bios sensor calibration data on Geforce6-GT200 cards
  • Improved support for internal GPU diode temperature on G84/G86/G94/G96 cards
  • Fixed NV-CONTROL crash in nvclock_gtk
  • Many small bugfixes

  • Sunday January 6 2008
    I have updated the NVClock snapshot slightly to make it easier for packagers to package. The snapshot contains a .desktop file, an icon file and some makefile changes. It contains one small bugfix Coolbits on laptops (requires 169.x) but for the rest it is the same.
    Further Debian unstable should contain the latest nvclock too and soon Fedora 8 as well.

    Firday January 4 2008
    It is finally time for a new beta release 0.8 Beta3. I would have liked to do a non-beta release but lots of users have been asking for this release because of the 8800GT fan bug in Nvidia driver 169.07. Note this release is beta, some Geforce8 features are still missing and also realize that the release is still very experimental. When you encounter problems or bugs please report them.

    Changes:
  • Geforce8 support
  • Rewritten lowlevel Geforce6/7 overclocking backend [experimental]
  • Added bios PLL table parsing for Geforce6/7/8 cards
  • Fanspeed adjustments for 8800 cards equipped with ADT7473 chips
  • Support for additional Geforce7 AGP cards
  • Add support for more NV-CONTROL OpenGL settings in GTK
  • Geforce6 fake Quadro bugfixes
  • Geforce6 pipeline modding bugfixes
  • Tons of bugfixes

  • Wednesday November 14 2007
    Is NVClock dead? NO!! But why hasn't it been updated? The latest version of NVClock can be found in CVS. It is very different from 0.8 Beta 2. I would recommend everyone to use it. The reason there is no new version yet is that I want to support the Geforce8 properly too (or at least basic support). The Geforce8 is a very different GPU and I don't have direct access to it which makes adding support hard. There is Geforce8 code in NVClock but it is only very basic. Mainly some clock reading and card identification code. For 8800(GTX) boards there is also temperature reading / fanspeed adjustment too but that was relatively easy to add as it uses an already supported I2C sensor chip.

    Lots of users are also interested in brightness control of their laptop displays. Unfortunately it works different only on most laptops. On some it uses the GPU's PWM circuitry (at least on various Sony models). On others it is done without it. The problem is that I don't know how it works on all these laptops. If you know (you can do reverse engineering using a register dumper on windows) then I could add it.

    A new version will come out when it is done. The main requirement is access to Geforce8 hardware and especially a 8600 with fanspeed adjustment support.

    In the meantime use the CVS version. Install the program CVS and then type:
    cvs -d:pserver:anonymous@nvclock.cvs.sourceforge.net:/cvsroot/nvclock login (there is no password, just hit enter)
    cvs -z3 -d:pserver:anonymous@nvclock.cvs.sourceforge.net:/cvsroot/nvclock co -P nvclock

    After that extract the source and run autogen.sh, configure and so on.

    Saturday May 26 2007
    I have added a forum to NVClock's project page at sourceforge (http://www.sf.net/project/nvclock) as the forum at this site is still down.

    Saturday May 19 2007
    Lots of users have been requesting a new version for Geforce8 support and other features. I'm very busy at the moment but hope to release at least a third beta soon. The work can be found in CVS and it is a big improvement over the previous version. For Geforce88000 users there's fanspeed code in there. I hope to add more stuff soon. For now use the cvs version from http://www.sf.net/projects/nvclock. Go to the cvs page and use the commands to download the code (the modulename is nvclock).

    Thursday February 1 2007
    For the past couple of months I have been very busy. Development has gone slowly but you can find a lot of bugfixes in the CVS version. Among those are smartdimmer fixes, fanspeed fixes, clock reading fixes and other things. I have also added some very basic NV50 (Geforce 8800) support. Nvclock should now be able to read the lowlevel memory/GPU clocks on it. I have also identified the shader clock registers but those aren't read out yet. Further there's no lowlevel overclocking or other stuff on NV50 cards yet. This is mainly because the locations and meanings of lots of registers has changed.

    Tuesday August 1 2006
    A user reported a small but nasty bug which resulted in some incorrectly calculated lowlevel clocks for some NV4x/G7x users. The bug isn't dangerous it only resulted in slightly lower calculated clocks. I have replaced the beta2 snapshot with an updated one without this small bug.

    Monday July 31 2006
    It has been some time since the last beta version, so I release a new beta. Since the last release the NVClock core got a nice cleanup which makes it better usable as a library and for other purposes which I'll tell about in the near future. Next to this I added support for the ADT7473 sensor chip which is used on various 7800GTX/7900GTX. I also added pci id modding which can be used to turn some cards into Quadros, Smartdimmer support was added for the 7600Go. Further among the changes are bugfixes related to clock reading on G7x cards, pipeline modding, temperature reading and fanspeed adjustment.

    Changes:
  • Geforce 7300/7600/7800GS/7900 support
  • Smartdimmer suppport for 7600Go laptops
  • Fanspeed adjustment support for 7600/7800GS/7900 cards
  • Support for ADT7473/W83781D sensors
  • PCI id modding support (Quadro faking)
  • Temperature reading fixes for internal sensor
  • Fanspeed adjustment fixes for NV3x/NV4x boards
  • Pipeline modding fixes
  • Bios parsing fixes
  • Improved (experimental) lowlevel overclocking / clock reading for NV4x/G7x boards
  • Added temperature (-T) switch to nvclock cli
  • Adjusted -F / -S switch to support incremental fanspeed/smartdimmmer values
  • Added PCI-Express info reading
  • Rewritten core backend

  • All the changes result in a much more stable version of NVClock. Download the beta below and I hope to get lots of bugreports, so that I can release a stable 0.8 soon.

    Wednesday August 31 2005
    Various users reported bugs of which a few were critical. The critical ones affected affecting systems containing multiple Nvidia cards. Further a bug in the GTK version related to 3D clocks has been fixed and a temperature correction for the LM99 has been added. Because of the critical bugs I have updated the 0.8b snapshot to include those fixes.

    Tuesday August 30 2005
    After more than 2 years it is time for a major update: NVClock 0.8 (Beta). The new version contains a lot of new features like hardware monitoring, pipeline modding, fanspeed adjustments and more. The version is tagged as beta because I haven't been able to test most of the features on my own GeforceFX hardware. (The testing problem will be addressed for a small part as I will get a 6600GT soon.)

    The main reason why it took so long for 0.8 is that it took me a long time to get my hands on a GeforceFX card. The card is a bit problematic as you can't simple change the clocks because the drivers switch it to different clocks/voltages/fanspeeds when 3d applications are started. As a possible solution added bios parsing and experimented with a OpenGL wrapper to work around 2d/3d clocks. It never wanted to work fine as each time some other problem would appear. Further the Geforce6 appeared too which had similar issues and to make it worse bios parsing and overclocking worked very differently. These days overclocking works reasonably using the low-level backend, but for (desktop) GeforceFX/6/7 I prefer the newly added Coolbits which uses the Nvidia drivers for overclocking. The advantage of it is that it can safely set 2d/3d clocks. Between all the overclocking work I tried to add new features like hardware monitoring, adjustment of OpenGL settings and more.

    Features:
  • GeforceFX/6/7 support (experimental overclocking: Coolbits + low-level)
  • Pipeline modding for NV4x cards
  • Smartdimmer support for 6200Go based laptops
  • Hardware monitoring for LM99/MAX6659/F75375S/W83L785R chipsets
  • Support for internal NV43/NV44/NV47 temperature sensor
  • Ability to enable disabled temperature sensors used on NV43/NV44/NV47
  • boards
  • Fanspeed adjustment for FX5900/6600GT/6800GT boards and F75375S/W83L785R sensors
  • OpenGL options using NV-CONTROL extension
  • Rewritten GTK2 interface
  • Bios parsing (GeforceFX/6/7)
  • X86-64 support
  • Windows support for debugging purposes

  • Thanks to all my testers for all their hard work and especially to Dragoran who also did quite some experimental hacking. Further also thanks to my sponsors as I have been able to get updated hardware thanks to their donations. Now go and grab the new version from the Downloads section! When you have problems ask them in the forum or join #nvclock at freenode.net.



    Saterday May 14 2005
    For the past couple of weeks I have been busy with hardware monitoring stuff. First of all I have added support for a new Winbond sensor chip (W83L785R). Besides this I have added fanspeed adjustment support for (reference) Geforce FX5900/6600GT/6800GT and board with F75375 and W83L785R sensors. The code is available in CVS right now. To query the current fanspeed you need to use the -i switch where it will be listed under 'Sensor Info' to adjust the fanspeed you need to use: nvclock -F value. (where value is between 10% and 100%)

    Next to this I have been investigating the Geforce6 overclocking issues. As I still don't have any Geforce6 hardware I had to port NVClock to Windows to allow for some easy debugging. Various users have dumped the register values of clocks on Windows and using this information I hope to be able to fix the problems.


    Download
    Current version:
    NVClock 0.8 (Beta4): source

    Old unsupported versions:
    NVClock 0.8 (Beta3): source NVClock 0.8 (Beta2): source
    NVClock 0.8 (Beta): source
    NVClock 0.7: source
    NVClock 0.6.2: source

    Features
  • CPUs: X86/X86-64/PPC
  • Operating systems: Linux/FreeBSD/Windows
  • Low-level Overclocking for all Nvidia cards except for the riva128/riva128zx
  • Additional Coolbits overclocking for GeforceFX/6/7/8 (desktop) cards
  • Pipeline modding for Geforce6 cards
  • PCI id modding for Geforce cards (Quadro faking)
  • Smartdimmer backlight adjustment for Geforce 6200Go/7600Go based laptops
  • Hardware monitoring (including temperature reading, fanspeed adjustments)
  • I2C backend for ADT7473/W83L785R/W83781D/MAX6659/LM99/F75375S sensors
  • Support for internal NV43/NV44/NV47/G7x/G8x temperature sensor
  • Ability to enable disabled temperature sensors used on NV43/NV44/NV47/G7x boards
  • NV-CONTROL backend for adjusting OpenGL/Display settings
  • Bios parsing for GeforceFX/6/7/8 cards
  • Card information
  • Commandline interface
  • GTK2 interface
  • Qt interface

  • Screenshots
    Below you'll find some screenshots of the gui versions of NVClock:

    NVClock 0.8 GTK2 interface

    Support
    For support visit the forum, can come to #nvclock on irc.freenode.net or email me at thunderbird at linuxhardware.

    Future plans
  • X Configuration support
  • ..


  • Disclaimer
    The author(s) won't accept any responsibility for any problems that the use of this program may cause. This program is offered 'As Is'. The end user is entirely responsible for any complications that may arise through its use.

    We strongly suggest that you take the precaution of backing up any and all valuable data before installing any software package including NVClock.