Published 17 March 2016
Linux Thermal Daemon (thermald) is a tool developed by Intel’s Open Source Technology Center which monitors and controls the CPU temperature, preventing it from overheating.
Thermald tries to prevent the CPU from overheating without a significant impact on performance by using some specific Intel functions available in the Linux Kernel. According to the Ubuntu wiki, thermald can control cooling using:
- active or passive cooling devices as presented in sysfs
- the Running Average Power Limit (RAPL) driver (Sandybridge upwards)
- the Intel P-state CPU frequency driver (Sandybridge upwards)
- the CPU freq driver
- the Intel PowerClamp driver
It’s worth mentioning that thermald applies various cooling methods only when the temperature reaches a certain threshold, so you may not notice a difference while using it if your laptop doesn’t usually get very hot.
I couldn’t find any information on what processors are supported by thermald on its official page, but according to a Debian wiki entry, it’s supported to support Intel Sandy Bridge and newer CPUs only. Also, according to a bug report, thermald is buggy / doesn’t properly support Haswell.
By default, thermald runs in zero configuration mode so after installing it, you don’t need to configura anything however, if your ACPI configuration is buggy or you just want to fine tune it by adding more sensors and cooling devices, you can edit the thermald XML configuration file, located under /etc/thermald/thermal-conf.xml For more information about this, see the thermal-conf.xml man page (“man thermal-conf.xml”)
How to enable intel_pstate in Ubuntu 14.04 and newer
This is for Ubuntu 14.04 and newer only! Don’t use it in older Ubuntu versions or you may encounter various issues (see below).
While it’s not mandatory, thermald should work better if Intel P-state is enabled. Intel P-state is not enabled by default in Ubuntu 14.04, but you can enable it easily (from what I’ve read, it’s enabled by default in Fedora, Arch Linux and OpenSUSE for instance).
is a new power scaling driver for modern Intel CPUs (it supports Intel SandyBridge+ processors). According to Arjan van de Ven from Intel (for more info, see the comments he posted HERE
shouldn’t be used any more and instead, modern Intel processors should use Intel P-state.
In Ubuntu, pstate is disabled by default because it didn’t work properly a while back
. It looks like the issues that resulted in intel_pstate being disabled by default in Ubuntu were fixed, but pstate is still not enabled by default in Ubuntu 14.04.
Note that while I didn’t encounter any issues on my laptop running Ubuntu 14.04 with intel_pstate enabled and from what I’ve read, it works for others as well, it might not work properly for you so use it at your own risk and only enable it if you know how to disable it in case something goes wrong!
1. To enable intel_pstate in Ubuntu 14.04 (only enable it if your laptop is using Sandy Bridge or Ivy Bridge CPUs), edit the /etc/default/grub configuration file with a text editor as root – I’ll use Gedit below: