Hi all, I received my Framework 12 (i5) last week and am running Ubuntu 25.04. I’ve noticed that the fans seems very “abrupt”. Often they go from nothing to full blast back to nothing in less than a second. This is kind of annoying to listen to, but more importantly I’m a bit worried that it is harder on the components.
Is there a way to smooth out the fans so that they ramp up and down over the course of a couple seconds instead (assuming the temp isn’t extreme), or would this be a bad idea? I noticed when they run in the 2-3k RPM range they are super quiet, but based on watching psensor for a bit its common for them to spike from 0 to 5-7k RPMs for just a second and then back to 0 instead.
I found this repo but the author only explicitly mentions the 13” and 16” so I’m not sure whether it would be safe to try, or what I should look out for if I do?
I do not have FW12 but based on the driver page it has “Framework EC” driver which is needed to control fan. the easiest way will to check if you can control fan with framework tool Releases · FrameworkComputer/framework-system · GitHub. It does not list FW12 as supported but if there is no EC communication you cannot break anything
the official framework_tool does appear to work on the Framework 12
i’m also able to use the following to monitor and manually change my fan speed
Framework EC Tool
Framework Fan Control
Framework Fan Control Gnome Extension
These do not, however, appear to let you adjust the actual fan curve settings in the EC.
There’s a community project that seems to monitor settings and do it’s own ramping, but it appears to only be for windows and the FW16 at this time, though the EC interfacing tools seem to be similar enough that it might at least function on the FW12.
With previous laptops and computers I’ve done it the other way around: limit CPU maximum frequency and using a simple daemon I check the current load of the CPU and if it persist to be higher than a threshold - allow higher frequency to be reached. If the load falls below a threshold for a period of time - limit maximum frequency.
That way anytime I started a heavy program which then idles the fan wouldn’t go loud for a second or two.
Easy project for an afternoon and then a week of tweaking to individual needs.
FYI, I’ve been studying the EC for one of my projects, and there isn’t a way to directly adjust the EC’s fan curve without custom firmware.
The FW12 does use the same EC chip as the other laptops (except FW13 Intel 11th, 12th & 13th gen), so I don’t see why the other projects wouldn’t work.
I tried it, and it does work kinda. Same same as your experience with fw-fanctrl:
i’m also able to use the following to monitor and manually change my fan speed
These do not, however, appear to let you adjust the actual fan curve settings in the EC.
Framework Control does indeed let you measure the fan speed and manually adjust the fan speed. It has a UI for setting a custom curve, but that setting currently does nothing on my FW12. When set to custom, the fan retains the previous Auto or Manual selection (which ever was selected before Custom).
e: Works fine with “CPU” selected instead of “APU”!
yep, it seems like the community project i linked to acts as a background process in the OS to monitor temperature and run it’s own fan curves (basically ignoring what is in the EC and doing everything itself)
I haven’t had a chance to test with any intense workloads yet but fw-fanctrl + the gnome extension listed by @jayasafunctionofe seem to be working really well at moderate temps - I’m messing with a couple custom strategies but even the default ones seem much smoother.
The framework-system tool shared by @wojciech_migas provides a good way to test the volume of different cycle %s (with --fansetduty) - helpful for designing custom strategies in fw-fanctrl.
And @Kemal_Ozturk ‘s GUI looks super slick for the windows users!
I will try to get this app working on Linux but that’ll likely come later when I have it somewhat feature complete. Right now I’m working on adding TDP adjustment and Temp Limit