Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 388725

Summary: x11-drivers/nvidia-drivers newer than the 190 series make the GPU fan run at 100% outside of X
Product: Gentoo Linux Reporter: Stuart W. Finlayson <stu>
Component: [OLD] UnspecifiedAssignee: Doug Goldstein (RETIRED) <cardoe>
Status: RESOLVED FIXED    
Severity: normal CC: jer, spock
Priority: Normal    
Version: 10.0   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: init script to run nvidia-smi for series 270+
init script to run nvidia-smi for series 260 and before
init script to run nvidia-smi for series 295+

Description Stuart W. Finlayson 2011-10-28 01:13:34 UTC
Created attachment 291057 [details]
init script to run nvidia-smi for series 270+

This relates to Bug #332293 comment #7.  x11-drivers/nvidia-drivers newer than the 190 series make the GPU fan run at 100% outside of X.

Basically, post series 190, the fan management is delegated to the drivers--which only manage the fan while they are in use.  So, if the drivers aren't in use, the fan spins at 100%.  Apparently, on some models and some manufacturers you can let the board control the fan by setting something in the video card's BIOS--but the only tools I found to do that with my card are Windows applications.

In poking around on the internet looking for a solution, I ran across a tidbit about the Nvidia System Management Interface (nvidia-smi) which comes with the drivers.  If you run it from the console, and the drivers aren't in use, it "turns them on" while it runs.  

I initially solved this problem by writing an init script to run nvidia-smi using the --loop-continuously option (-l) with the --interval option (-i).  This allows you to get the drivers to manage the fan without a lot of overhead.

However, Nvidia decided to change nvidia-smi starting with the 270 series.  They combined the --loop-continuously option (-l) and --interval option (-i) into the --loop option (-l) that requires an interval value, and they require that you specify that you want to --query (-q) the GPU--whch was the default behavior before.  In short, older versions run using "nvidia-smi -l -i 300" and newer versions use nvidia-smi "-q -l 300".

I am attaching both init scripts.
Comment 1 Stuart W. Finlayson 2011-10-28 01:14:35 UTC
Created attachment 291059 [details]
init script to run nvidia-smi for series 260 and before
Comment 2 Doug Goldstein (RETIRED) gentoo-dev 2012-07-14 20:27:43 UTC
(In reply to comment #1)
> Created attachment 291059 [details]
> init script to run nvidia-smi for series 260 and before

Are you still having this problem?
Comment 3 Stuart W. Finlayson 2012-07-15 01:54:33 UTC
Created attachment 318204 [details]
init script to run nvidia-smi for series 295+
Comment 4 Stuart W. Finlayson 2012-07-15 01:55:16 UTC
Yes, without the script the fan management turns off outside of X and my fan runs at 100%.  Also, around version 295 all the nvidia commands moved from /usr/bin/ to /opt/bin/, so I'm attaching a updated version of the init script.
Comment 5 Doug Goldstein (RETIRED) gentoo-dev 2012-07-22 20:49:24 UTC
I've added this for 304.22 and newer.
Comment 6 Doug Goldstein (RETIRED) gentoo-dev 2012-08-16 22:39:08 UTC
Fixed in 304.37.