GPU fan speed Linux interface

This is more of a general question with specific example of what I want to do.

Is there a preferable way of setting GPU fan speed in Linux? I guess that there are many levels on which this can happen, so I want to ask first what are the caveats.

I want to be able to control AMD GPU fan speed either with a simple config file, a profile or a fancy fan curve. Really don’t care as long as it works.

So far I tried:

  • fancontrol and pwmconfig, but only one of my GPUs can be controlled by fancontrol
  • I’ve compiled radeon-profile but the GUI cant see my GPUs at all

The rest of the software I was able to find looks like abandonware.

1 Like

Does the GPU support, 0db fan mode? Where the fans stop spinning?

There are some frequency based software available for the cpu that may have options to work overall, quiet mode, performance mode etc. Cpufreq is one of those, there are others to chose / compile from. Check gitlab / hub, for more modernised versions of software.

They usually provide either a curl-based install-mode (copy & paste) or script. Just follow the readme’s if there’s one…

Thanks for the answer @anon94072931


They don’t stop. I want to change their speed relative to GPU temp/load.

I don’t want to touch CPU, as its cooling and freq are working well at the moment. Also I don’t want to set any global mode that I don’t know how it works internally. The thing I’m after is setting GPU fan speed relative to GPU die temp or GPU load - preferably through well defined and documented interface.

1 Like

U don’t need to explain it, but thanks i guess :stuck_out_tongue:

Well defined and documented interface? What does that mean? U want a interface that has the documentation available inside the GUI? That is kind of what it sounds like, but u probably mean u want a well-explained interface, in the docs. Which is kind of how gitlab / github sometimes work, so that shouldn’t be an issue.

I’ve already said, check github / lab, there are almost always well documented software there. Especially for linux in particular. For example :

If the software isn’t documented or isn’t available don’t use it. Simple as that :+1:

1 Like

Ok, I was able to set the speeds with fancontrol. Now I have all settings in one file /etc/fancontrol.
I just kept trying with pwmconfig and after n’th time the script found the second GPU.

I just don’t like the idea of relying on DIY projects when it comes to device support. It is beyond me that in this day and age there are no options to set this things through either opensource or proprietary drivers.

Like: here is the device .conf file, type temps here. speeds here, save, reload, done.

I definetly do not like the idea relying on DIY projects aswell, but you’re on linux. Where distro’s are actual DIY projects, unless they’ve got a company behind them. Some do, some don’t.

And even distro’s with companies behind them don’t usually provide extensive support, where something like fan-control is included.

If u want to stay on linux, u should appreciate DIY projects a bit more. Because as long as they provide the documentation and possibly guides, that should to some extent be enough. Being able to read code is of course even better, than reading a .readme

And while some may have not-so-nice intentions in their code, having or helping a community around software can provide more / better possible flagged software.

1 Like

If you’re using Arch or familiar with python, I put together this as an AUR: GitHub - mcgillij/amdfan: Updated AMD Fan control utility forked from amdgpu-fan and updated. it supports multiple GPUs (assuming they are using the amdgpu driver).

1 Like

Wouldn’t recommend anyone using the amdgpu driver though, unless it’s workload specific. There isn’t much reason to otherwise.

When the MESA drivers have come so far and also has tools / scripts available for the open source driver. The performance of which last i checked surpassed the proprietary drivers by far.

The open source driver problem, for example can arise from people or potential groups messing with the code on an end-users computer and make the users hardware do things it’s not supposed to be doing. (Mine some coin, redirect packets or worse)

These things can be done on a level the end-user does not understand, for example with tools, scripts and whatnot. Then it’s better to run those in a container or VM within the OS (or read the code). Rather than installing script’s from the internet, which generally shouldn’t be recommended to anyone, anywhere.

It could be a real problem for high-end linux users or linux enthusiast in general.

(It’s not platform specific, but an end user will always be an easy target and even more so while using open source coded systems)

amdgpu is the opensource driver that is recommended over the proprietary one in almost every case.

Initially I was using amdgpu fan control but later switched to Radeon profile when I found out about it. Radeon profile sounds like what you want but not sure why it doesn’t see your gpu. Ultimately it would be nice if there was something from AMD like catalyst or wattman where you could control it.

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.