# Configure ThermalD
ThermalD is a Linux daemon that helps prevent platform overheating by continuously monitoring temperature sensors and applying thermal mitigation using available cooling mechanisms. It functions as an intelligent thermal management system, maintaining safe operating temperatures proactively, before the hardware needs to apply aggressive corrective measures.
ThermalD monitors CPU and overall system temperatures using digital temperature sensors and enforces thermal control by engaging multiple cooling strategies, such as:
>
>
> - CPU frequency scaling
> - Power limiting
> - Fan control
The daemon integrates with the Linux thermal subsystem (`/sys/class/thermal`) and extends or overrides kernel thermal policies using XML-based configuration files. It supports both automatic configuration through ACPI thermal relationship tables and manual configuration to enable custom thermal management strategies.
Following is the XML structure overview of ThermalD:
Platform Name
Product Name or *
Optional UUID
QUIET|PERFORMANCE
Copy to clipboard
## Push custom rules to ThermalD
ThermalD uses the configuration file `/etc/thermald/thermal-conf.xml` for manual configuration.
The following example shows how to manually configure ThermalD using an XML configuration file to manage GPU and CPU thermal zones:
>
>
> - The configuration specifies three thermal sensors, one for the GPU and two for separate CPU clusters, each associated with passive cooling trip points. The GPU thermal zone is triggered at 35 °C, while the CPU cluster zones activate at 40 °C and 45 °C, respectively.
> - All zones use CPU or GPU frequency scaling as the cooling mechanism, with a 100 ms sampling interval and a 5 °C hysteresis to prevent thermal oscillation. The cooling devices are configured with defined state ranges and automatic down-control enabled, allowing for gradual and controlled temperature reduction.
*
*
*
QUIET
5
gpuss-0-thermal
0
cpu-0-0-0-thermal
0
cpu-1-1-1-thermal
0
gpuss-0-thermal
gpuss-0-thermal
35000
5000
5000
passive
SEQUENTIAL
0
devfreq-3d00000.gpu
5000
5
cpu-0-0-0-thermal
cpu-0-0-0-thermal
40000
5000
5000
passive
SEQUENTIAL
0
cpufreq-cpu0
5000
5
cpu-1-1-1-thermal
cpu-1-1-1-thermal
45000
5000
5000
passive
SEQUENTIAL
0
cpufreq-cpu4
5000
5
0
devfreq-3d00000.gpu
/sys/class/thermal/cooling_device2
0
3
1
1
1
1
0
cpufreq-cpu0
/sys/class/thermal/cooling_device0
0
13
1
1
1
1
0
cpufreq-cpu4
/sys/class/thermal/cooling_device1
0
13
1
1
1
1
Copy to clipboard
Note
See [Thermal Daemon](https://github.com/intel/thermal_daemon/blob/master/README.txt) for more information.
## Next steps
- [Verify thermal state](https://docs.qualcomm.com/doc/80-80022-30/topic/thermal-debug.html#thermal-debug)
Last Published: May 06, 2026
[Previous Topic
Regulate temperature with fan controller](https://docs.qualcomm.com/bundle/publicresource/80-80022-30/topics/fan-controller.md) [Next Topic
Verify thermal state](https://docs.qualcomm.com/bundle/publicresource/80-80022-30/topics/thermal-debug.md)