#631337 xserver-xorg-video-nouveau: excessive fan speed on GeForce 9600GT

Package:
xserver-xorg-video-nouveau
Source:
xserver-xorg-video-nouveau
Description:
X.Org X server -- Nouveau display driver
Submitter:
Maze
Date:
2012-12-23 05:57:08 UTC
Severity:
important
#631337#5
Date:
2011-06-23 00:11:08 UTC
From:
To:
I own a GeForce 9600GT video card. The issue I've always had with this
card is that the fan speed remains at 100%, generating approx. the same
noise as a 747 during take off.

My loud beast is enrolled by the following ID:
02:00.0 VGA compatible controller: nVidia Corporation G94 [GeForce 9600 GT] (rev a1)

It is only when I have an X server started with the nvidia module loaded
that my GPU fanspeed falls down to a reasonnably noisy and otherwise
adequate 35%.

The following situations leave the card at 100% fan speed, with (to my
knowledge) no easy way for the user to remedy:
- no driver loaded
- nvidia module loaded and X not started
- nouveau loaded and X started
- nouveau loaded and X not started

Now, after two years of living with it, I found a way to fix it!

In order to get a fan speed of 35%, you need to have the following
values in your GPU registers:
NV_E100 (0xe100): 00001b00
NV_E11C (0xe11c): 0000021c
NV_E120 (0xe120): 000000bd

Instead, what I normally get when using nouveau is the following:
NV_E100 (0xe100): 00001900
NV_E11C (0xe11c): 00000001
NV_E120 (0xe120): 00000000

This is not a patch but rather a workaround. It'd be übercool if
freedesktop could integrate that to nouveau so that my GPU fan speed is
adjusted when the driver is loaded. The proprietary driver only does it
when X is started, which is not the good way to go, so you could have it
right when they don't.

E11C and E120 are PWM registers for fan current supply which you
probably know about. Don't ask me about E100, I found it by comparing
the register content in cases where it works and cases where it don't.

I'd be interested to know if someone else owns a 9600GT and uses it
without the same issue in GNU/Linux. By googling I found out that quite
a few people are suffering from excessive fan noise issues with this
chipset in other OSes.  Once I talked to a guy on a forum who said he
had exactly the same issue with a 9600GT on GNU/Linux.

Regards,

#631337#12
Date:
2011-10-18 20:39:47 UTC
From:
To:
Just another vote to get this fixed in next update. (Radio Shack has a 25 Ohm 4
watt rheostat available which I might put on for interim to slow it down).

#631337#17
Date:
2011-10-18 21:00:55 UTC
From:
To:
Votes are useless, code is necessary.  Anyway, you could experiment with
the nouveau.perflvl kernel parameter; use "dmesg | grep 'performance level'"
to find out available performance levels for your card.

There is also an experimental kernel git tree for nouveau fan
management, see the announcement at
http://lists.freedesktop.org/archives/nouveau/2011-August/008977.html.

Regards,
        Sven

#631337#22
Date:
2012-12-23 05:55:12 UTC
From:
To:
Hi,

Are there any i2c buses available on your card?  e.g.

# ls /sys/devices/pci*/*/*02:00.0

On an 8800GT I can access thermal sensors and fan speed settings via:

# modprobe adt7473
# modprobe adt7475
# ls /sys/devices/pci0000:00/0000:00:0f.0/0000:18:00.0/i2c-4/4-002e

Regards,

#631337#25
Date:
2012-12-23 05:55:12 UTC
From:
To:
Hi,

Are there any i2c buses available on your card?  e.g.

# ls /sys/devices/pci*/*/*02:00.0

On an 8800GT I can access thermal sensors and fan speed settings via:

# modprobe adt7473
# modprobe adt7475
# ls /sys/devices/pci0000:00/0000:00:0f.0/0000:18:00.0/i2c-4/4-002e

Regards,