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.
Created attachment 291059 [details] init script to run nvidia-smi for series 260 and before
(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?
Created attachment 318204 [details] init script to run nvidia-smi for series 295+
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.
I've added this for 304.22 and newer.
Fixed in 304.37.