At long last, if your computer has previously sounded like a jet engine when using the open-source Nouveau driver with your NVIDIA GeForce/Quadro graphics card, there is a solution. Fan management code has now been published by the Nouveau developers to support controlling the graphics card's fan speed when using this in-kernel Linux driver.
Martin Peres writes to the Nouveau mailing list this morning, "Just saw the bitching on Phoronix about lack of fan management in nouveau (no offence Michael, it was justified ;)). Since it has been working flawlessly for more than a week on my desktop, I decided to let you guys know about it and ask for testing."
This power management code for thermal support is currently hosted on Gitorious
. This DRM branch supports controlling "PWM" (Pulse Width Modulation) fans with a speed between zero (off) and 100% speed.
Some NVIDIA graphics cards don't use PWM-type fans but rather can only be toggled on and off. Code has been written for these more basic fans, but it hasn't yet been tested for lack of hardware. Fortunately, those fans tend to be in low-end graphics cards anyways where they aren't as noisy.
There's also I2C-accessible fans in high-end NVIDIA graphics cards, but all that the Nouveau driver can do is launch the respective hwmon driver. The hwmon Linux interface currently doesn't let other kernel drivers access the I2C chip methods, but the Nouveau developers are working with the hwmon team to enable such support.
For now, this working fan management support is mostly about PWM fans. This should work for NVIDIA GPUs up to (but not including) the NVA3. The fan speed can be controlled via the sysfs interface. The Nouveau kernel driver supports disabling fan management (the fan runs at 100% continuously), manual fan management, automatic fan management, linear fan management, or even thermal management to target a particular GPU temperature.
On top of the fan management call for testing, Martin also says that soon he will have some power management code ready for testing! Another long sought after Nouveau feature. Hopefully this comes with GeForce 400/500 "Fermi" re-clocking support and I will be happy.
See this mailing list message
to find out how to test the Nouveau fan management support. With a bit of luck we could see this support land in the Linux 3.2 kernel.