I want to run some computations using CUDA, and therefore is desirable to stop the X server to that GPU.
But unfortunately, without a running X server, an user made auto-adjust fan speed script doesn’t work anymore, since nvidia-settings (which is the responsible to set the fan rate) complains about the absence of X server.
The facts:
The GPU doesn't have a built-in method to adjust the fan speed automatically, thus an user-made script is needed, since the GPU will work a lot
X server must be stopped to use the CUDA debugger and run things smoothly
Fan adjust command doesn't work without an X server
To solve this, may then be possible to:
Loore nvidia-settings somehow, to force set values on the device?
Use nvidia-smi instead?
Develop a VBIOS capable of auto-adjust fan speeds?
I’ve been looking around on these 3 subjects last days, with no luck.
nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=n"
and it complains because X isn’t running? would it be possible to launch an X server with only the nvidia-settings running in it at ctrl-alt-f8? something like what they do to launch games in a seperate X server described here: Gaming - ArchWiki
Thank you for the answers guys. I found the solution on another forum and, as ubuntuaddicted pointed, it involves running an X server to set speed and maintain a nvidia-smi log to keep a GPU context, so the settings are preserved.
This script doesn’t auto-adjusts speeds according to temperature over time, but it allows to have fans at a given fixed speed without an active X server.