linux-surface/contrib/thermald/surface_pro_7/README.md

1.8 KiB

Using thermald to avoid thermal throttling

Install thermald for your distro, on many distros it might be installed by default.

Create the config file /etc/thermald/thermal-conf.xml and add the following content to the file:

<?xml version="1.0"?>
<ThermalConfiguration>
<Platform>
	<Name>Surface Pro 7 Thermal Workaround</Name>
	<ProductName>*</ProductName>
	<Preference>QUIET</Preference>
	<ThermalZones>
		<ThermalZone>
			<Type>cpu</Type>
			<TripPoints>
				<TripPoint>
					<SensorType>x86_pkg_temp</SensorType>
					<Temperature>65000</Temperature>
					<type>passive</type>
					<ControlType>SEQUENTIAL</ControlType>
					<CoolingDevice>
						<index>1</index>
						<type>rapl_controller</type>
						<influence>100</influence>
						<SamplingPeriod>10</SamplingPeriod>
					</CoolingDevice>
				</TripPoint>
			</TripPoints>
		</ThermalZone>
	</ThermalZones>
</Platform>
</ThermalConfiguration>

Depending on your ambient temperature you might want to lower the <Temperature> line to make thermald kick in more aggressively. (65000 = 65°C)

Create the file /etc/thermald/thermal-cpu-cdev-order.xml with the following content:

<CoolingDeviceOrder>
	<CoolingDevice>rapl_controller</CoolingDevice>
	<CoolingDevice>intel_pstate</CoolingDevice>
	<CoolingDevice>intel_powerclamp</CoolingDevice>
	<CoolingDevice>cpufreq</CoolingDevice>
	<CoolingDevice>Processor</CoolingDevice>
</CoolingDeviceOrder>

Making Fedora respect your config files

Fedora uses the --adaptive option by default, thus ignoring your config files. This might also apply to some other distros.

Edit /usr/lib/systemd/system/thermald.service and remove --adaptive from the ExecStart= line. Then do a systemctl daemon-reload so systemd realizes the change. thermald should then respect your configuration files.