I’ve been having some serious overheating problems with my laptop, specially since I’ve started using the new Gallium open-source driver for AMD (AKA ATI) graphic cards on Linux (Fedora 15).
I’ve always had a small overheating problem with all ATI open-source drivers since I have this laptop, but recently it got worst. Sometimes when watching some flash (don’t you just hate flash?) videos with some crappy player – this never happened with youtube or vimeo for instance – the laptop would get so hot it would shutdown. That’s when I got really worried and bought a laptop cooling pad. Although things got better, when performing CPU intensive activities, for example a encrypted backup, lm_sensors gave me readings of 98 ºC. The critical temperature for my CPU is 105 ºC, so it was pretty close to the limit!
So I finally tried to find a better solution. In the great Arch wiki I found some information about KMS powersaving features and instructions to set the GPU frequency. It’s possible to set the GPU to dynamic frequency switching:
# echo dynpm > /sys/class/drm/card0/device/power_method
Or to choose one of the available profiles: ‘low’, ‘mid’, ‘high’, ‘default’ and ‘auto’.
# echo mid > /sys/class/drm/card0/device/power_profile
As the wiki states, these changes are not permanent. It’s necessary to add these commands to /etc/rc.local so that the settings are set at startup time.
As for the results, I’m still testing but the dynpm option and the low profile lowered the core temperature to 86 ºC at full CPU load.
The mid profile just lowered the temperature to 94 ºC at full CPU load. Not very good, but a little better.
The problem with low and mid profiles is some occasional flicker. This also happens with dynpm and this options has the disadvantage of not working with more then one head…
Anyway, I’ll test this further in the next days but I can live with the occasional flicker if it saves my laptop from toasting :).