Adjust the Fan Speed on Your NVidia Graphics Card

If you've got an NVidia graphics card and it has a fan that sounds like a jet engine, or, if as in my case your fan starts at full speed when the computer boots but then turns off after 20 seconds or so, you need nvclock.

After installing a new XFX GeForce 9800 GT video card last week I was met with a rather loud and annoying fan, but shortly there after the fan noise stopped, which is to say the fan stopped. After a cursory examination of the video card itself and a bit of head scratching I came to the conclusion that the fan was working fine and this had to be a software problem.

After a bit of web searching I stumbled upon nvclock, a utility that allows you to overclock your NVidia graphics cards (if you're into that sort of stuff) and also allows you to adjust the fan speed.

I'd suggest you get the version from CVS, particularily if you have a newer NVidia card (the release version didn't recognize my card but the CVS version did):

  $ cvs login
  $ cvs -z3 co -P nvclock

Then do the standard dance:

  $ cd nvclock
  $ ./configure
  $ make
  $ make install

Now check to see if nvclock recognizes your card:

  $ nvclock --info

My card produces this output:

  -- General info --
  Card:           nVidia Geforce 9800GT
  Architecture:   G92 A2
  PCI id:         0x614
  GPU clock:      601.712 MHz
  Bustype:        PCI-Express

  -- Shader info --
  Clock: 1512.000 MHz
  Stream units: 112 (1b)
  ROP units: 16 (1b)
  -- Memory info --
  Amount:         512 MB
  Type:           128 bit DDR3
  Clock:          899.996 MHz

  -- PCI-Express info --
  Current Rate:   16X
  Maximum rate:   16X

  -- Sensor info --
  Sensor: Analog Devices ADT7473
  Board temperature: 46C
  GPU temperature: 55C
  Fanspeed: 1195 RPM
  Fanspeed mode: auto
  PWM duty cycle: 40.0%

  -- VideoBios information --
  Signon message: GeForce 9800 GT VGA BIOS
  Performance level 0: gpu 600MHz/shader 1500MHz/memory 900MHz/0.00V/100%
  VID mask: 3
  Voltage level 0: 0.95V, VID: 0
  Voltage level 1: 1.00V, VID: 1
  Voltage level 2: 1.05V, VID: 2
  Voltage level 3: 1.10V, VID: 3

Now you can adjust the fan speed:

  $ nvclock --fanspeed 40

Note: The argument to --fanspeed is the PWM percentage which is not the same as the percent of fanspeed. Adjust the fan speed to a noise level you can live with that also doesn't let your video card get too hot.

If nvclock doesn't recognize your video card you can try the --force option. Use this option at your own risk.

Mitch Frazier is an embedded systems programmer at Emerson Electric Co. Mitch has been a contributor to and a friend of Linux Journal since the early 2000s.

Load Disqus comments