Hi, i am on a asus laptop where I run Fedora 42 (but this problem occured even in previous versions). I use asusctl as a tool to set custom fan curves for each profile. for example, the fan curve for the Performance profile is:
Which means that the fans shouldn’t run at all below 55°C. However, if I just boot the computer fans will run way too fast (> 2000 rpm) with a CPU temperature of ~30°C. I have to manually select another power profile via the KDE toolbar (for example switching from Performance to Balance and bacl) and then the fans slow down and act according to the curve I set.
What is going on? Why aren’t asusctl fan curves applied at boot?
The command ‘asusctl’ does not appear in a fedora package. Expecting 3rd party apps and configs to run by default is not appropriate. I realize it comes for support of an asus laptop, but it probably requires user config to ensure the fan profile is active at startup.
Having the fans totally disabled until the temps reach 55c seems problematic since the CPUs will heat up at an exponential rate and could reach the shutdown level (about 95c+) before the fan has a chance to begin cooldown. If you want the fan profile to work for you, why not start the fan at about 30c at a very low speed instead of waiting until 55c to even start the fan.
For me it is much better to allow the system defaults to control the fan speeds, and the fans running at startup seems appropriate.
The asusctl utility is under active development, is not distributed by fedora, and may in fact require a custom kernel… depending on the asus model… if im reading the upstream instructions correctly.
Its best to contact the asusctl developers directly. Good luck. It looks like they are working hard to get the necessary kernel patches for asusctl into the upstream kernel, but its definitely a very new thing so its not unsurprising there are some rough corners. It might be a known deficiency, or it might be a bug, the upstream developer would be able to point you in the right direction.
Hi, thanks for the replies. I am using the default amd updated kernel. The asusctl software works and from journalctl I can see that it loads up without errors and that it correctly reads the custom fan curves.
I can’t just use the default fan curves beacause for some reason they are way too aggressive: for example in idling with a cpu/gpu temp below 30 °C the fans run at 3000 rpm which seems excessive and noisy. Also, whith the custom curve that I posted I manage to keep the temperature always below 65 °C and even while gaming It heats up but the temperature stays controlled and far from 90°C.
I was thinking if there is an alternative tool for this purpose.