Framework 13 is a little too warm to type on

Using the amd 13 with ai-300, and I am aware that it’s a heatwave, but typing on right nowis making my fingers sweat.

In normal use I probably don’t need to use most of the cores, and since we’re on Linux couldn’t it be a bit more proactive on keeping most of the cores off ?

I’m using this right now on bazzite on KDE in power saving mode.

1 Like

Turning off cores is probably not going to help with heat but you can turn down the power limit using ryzenadj or something.

I live in a perpetually warm country and especially in the summer the default fan curve ain’t cutting it.

When it’s >30C in the room the laptop itself just gets to warm to be comfy.

I’ve played with 2 ways on linux, none mutually exclusive, with the end goal of finding a nice “summer fan curve” to add to fw-fanctrl [1]:

  • Setting fan curve manually, this also helps with immediate relief/ figuring out temperature/ fan curve points, using the ectool by either setting to fan to a percentage of the speed (ectool fanduty 50 to run at 50% of max speed) or setting the fan to a specific RPM (e.g. ectool pwmsetfanrpm 5000 to set it to 5000 RPM).

    If you run any tool that automatically controls the fan, make sure to disable them first.
    You can set the fan to automatic mode using ectool autofanctrl 0

  • Install fw-fanctrl and check out if any of the default curves [2] match your liking. you can change the curves at runtime using fw-fanctrl use <CURVE_NAME> . If none of them matches, take the manual steps from above to figure out your personal curve.

[1] GitHub - TamtamHero/fw-fanctrl: A simple systemd service to better control Framework Laptop's fan(s) · GitHub

[2] https://github.com/TamtamHero/fw-fanctrl/blob/main/src/fw_fanctrl/\_resources/config.json

1 Like

When my framework 13 is under load and the fan is running near it’s max, I’ve noticed that I can get it a few degrees cooler just by increasing the tilt of the screen (needs to be almost 45°) since the fan exhausts from the hinge. I use a “lappad” when its on my lap to keep the fan inlet unobstructed (and my lap cooler).

If your working off a desk and you can spend ~$200, invest in a (portable) laptop stand like roost and a portable keyboard. The fan inlet and outlet are just about perfect with the roost - not to mention you can have better posture with the screen elevated. Using an external keyboard is required with a stand, but that also eliminates the hot key board issue.

If only I could recommend a framework portable keyboard that you can buy right now…

The EC does not seem to turn the fan on when the battery gets hot.
Using the ‘ectool fanduty 100’ will force the fan on, thus cool the battery. That should cool your hands a bit.
‘ectool autofanctrl’ to switch it back to normal.
The battery does report its temp, but the EC does not publish that to the user.
I modified my EC firmware to report battery temp and switch fans on when over 35C.

Sweat management…something to consider maybe:

This sounds like a gap in functionality somewhere, is this a missing firmware feature and if so where can we report the bug / feature request ?

I just added commands to check/do that.
See:

But most of the heat of charging does not come from the battery but the charger IC instead. On most systems the EC does not read the charger IC temps. But one of the other sensors is located close enough to it and it is supposed to approximate touch temperature.

2 Likes

Even a little standalone fan off to the side can make a big difference blowing over the keyboard and fingers.

Converting an old PC fan to run nearby would make a decent difference. Bonus points if setup with adjustable speeds! I think even Noctua has a 5V version of a 120mm fan they sell.

Don’t forget the little grills to protect against fingers or foreign objects getting caught on the blades.

You might want to give YAFI a try:

This GUI app for the Framework Laptop Embedded Controller features a convenient way to manipulate fan speed by percentage and rpm, as well as setting sensor specific fan triggers and max rpm.

YAFI also controls power button LED, keyboard backlight, charging LED colors, battery charge limiter and battery extender:

This is fun, though it would be good if there were humanised names for the fans, I wasn’t quite sure what they were all for.

Also, managed to accidentally cause it to overheat and shut down as I misinterpreted one of the settings.

1 Like

OK: So I can bring up fw-fanctl-gui and set it to the highest setting and cool the laptop, but this is a premium product and I expect it to work.

Before this laptop I’ve gone through various other AMD based laptops and now it honestly feels like gaslighting - I’ve been through “it’s too new so it doesn’t work yet” to “it’s too old and it’s unsupported” on my previous AMD laptops and for this I thought I’d pay a bit more to get something that works.

Fans should be set so that the laptop isn’t too hot to use, yes 31c is a heatwave in Europe, but in Asia where these are manufactured it’s " the hot season".

Can we get the defaults sorted ?

This is after all meant to be like the MacBook equivalent that runs Linux

Fair enough, though now I’ve seen that there are programs that can use the internal fans to cool the computer there really isn’t any need for external hardware for this expensive laptop.

So with fw-fanctrl I can manually choose some of the more extreme options for a bit.

When I said a gap in the functionality - I meant that, by default the laptop won’t keep itself cool enough to use - it’s good that tools can be installed to sort this out, but that’s not the norm for other laptops where the fans just work when needed.

Lots of places in Europe don’t have air conditioning as the heat wave is only a week or two a year and retrofitting old buildings is expensive.

It would be good if this hardware could have some user testing outside of air conditioned rooms.

Would it be useful to collect data under different temperatures to feed back to whichever team has control over this so it can be fixed in a firmware update ?

I’ve got temperature monitoring so I can monitor the temperature of the room it’s in so can collect data next time it’s hot enough (currently things are a bit cooler outside).