Fan speed on headless linux machine without performance loss

System info:
* headless server with ubuntu 15.04

  • 4 x GTX780 on board
  • nvidia driver 375.20

Problem:

Question:

  • How to set fan speed properly on headless linux machine without loss of performance?

I’ve tried to apply various settings but it did’t work:

https://devtalk.nvidia.com/default/topic/832288/how-to-automatically-set-powermizer-to-prefer-maximum-performace-with-340-and-346-drivers/

https://devtalk.nvidia.com/default/topic/858868/powermizer-performance-stuck-at-level-3-all-the-time/

https://devtalk.nvidia.com/default/topic/572053/linux/-solved-forcing-maximum-power-saving-on-the-desktop-quot-minimum-power-quot-mode-for-powermizer-/

https://devtalk.nvidia.com/default/topic/831440/linux/fan-speed-without-x-headless-powermizer-drops-card-to-p8/

Hi,

same here, 4x GTX 1080 linux 4.4.0-47, nvidia driver version 375.26; some said it would be fixed in .26, it is not.
Any of the coolbits do not work for me; is there a simple command-line tool (like nvclock) that powers the fan to 100%? And no, I do not want to run any X servers on the cards, just headless for CUDA computation.

Thanks,

Martin

I’m reasonably sure that you fellas are out of luck, to my best knowledge there is no official way to make this work without X.

This said, there are unsupported ways of doing this, like customizing BIOS for your cards and enforcing fan target / fan curve / constant clocks etc.

https://www.techpowerup.com/downloads/2566/kepler-bios-tweaker-v1-27
http://www.overclock.net/t/1452223/kepler-bios-tweaker-v1-26-v1-27-added-tdp-unlock-gtx-780ti-780-titan-gtx770
http://cryptomining-blog.com/1014-how-to-increase-the-geforce-gtx-750-ti-power-target-limit/

Basically, biostweaker is a tool for user friendly bios editing, nvflash is a cracked nvidia tool that allows you to flash non-signed vbios images. This is one time thing, once flashed it will just work they way you set it up.

Please note that you keplerbiostweaker is a .net app, but it works in wine with dotnet30 installed via winetricks (or if you have windows box lying around you can modify it there). Nvflash for linux does exist (just google for it).

Don’t believe that pascals in-hardware signature checks have been cracked (yet), so 1080 owners are probably out of luck.

PS: nvidia folks don’t support this and it might or might not void your warranty

Hi,

thanks, for pascal there is no hack in linux yet.

I came across this post:
https://devtalk.nvidia.com/default/topic/789888/set-fan-speed-without-an-x-server-solved-/
It works, one can set the fan speed as desired, and then kill the X server again.

Recommended to run this one first:
nvidia-xconfig --enable-all-gpus --separate-x-screens --allow-empty-initial-configuration

All in one script:

X :0 &
sleep 5
nvidia-settings -a “[gpu:0]/GPUFanControlState=1”
nvidia-settings -a “[gpu:1]/GPUFanControlState=1”
nvidia-settings -a “[gpu:2]/GPUFanControlState=1”
nvidia-settings -a “[gpu:3]/GPUFanControlState=1”
nvidia-settings -a “[fan:0]/GPUTargetFanSpeed=100”
nvidia-settings -a “[fan:1]/GPUTargetFanSpeed=100”
nvidia-settings -a “[fan:2]/GPUTargetFanSpeed=100”
nvidia-settings -a “[fan:3]/GPUTargetFanSpeed=100”
killall Xorg

Still, I am at a loss, my MSI Aero 8G card starts to reduce clock frequency at a temperature around 80+C, although “nvidia-smi -a” says throttle to take place at 96C only.
Unfortunately, I have not managed to induce constant clock speed with nvidia-settings at this point.

Thanks for any suggestions.

  • martin