linux-surface/contrib/thermald/surface_pro_5/README.md
2021-09-03 00:27:25 +08:00

48 lines
1.9 KiB
Markdown

# thermald configuration tweaked for Surface Pro 5
- thermald configuration starting point: https://github.com/intel/dptfxtract
- by default it uses sensor "GEN4", which is for the NVME drive, not good.
- pch_skylake is a better choice here.
- Takes care of `surface profile set {low-power|performance}` on power supply events.
- Restarts thermald on power events to load corresponding thermal profiles.
- There are 3 thermal profiles here:
- `thermal-conf.xml.auto.performance`: activated on AC power.
Runs at peak performance (~25watts) until reaching 60 degrees.
Stabilized at ~15watts under heavy load.
- `thermal-conf.xml.auto.mobile`: activated on battery.
Throttles early for ~15watts.
Throttles to ~8watts for heavy load.
Try to keep the device cool.
- `thermal-conf.xml.auto.cool`: reserved.
Basically, we are just using RAPL here to throttle the power (in watts), not
the frequency of the CPU, and it's more fine-grained and aligned with our
thermal targets.
See 40-surface-power.rules for more details on how to obtain info about sensors
and cooling devices.
## Bonus
40-surface-power.rules also contains power-related tweaks for:
- `surface profile`: currently low-power vs. performance
- Various PCIe powersaving strategies
- Intel p-state control for turbo-boost
50-surface.conf contains sysctl tweaks advised by `powertop`.
## Installation
- Make sure to install `surface-control`
- Install `40-surface-power.rules` to `/usr/lib/udev/rules.d/`
- Install `thermal-conf.xml*` to `/etc/thermald/`
- `thermal-conf.xml.auto` will be linked dynamically by the udev rule file.
- Install `thermal-cpu-cdev-order.xml` to `/etc/thermald/`
- Install `thermald.service` to `/lib/systemd/system/` and overwrite the old one.
- Maybe install to `/usr/lib/systemd/system/` too.
- Install `50-surface.conf` to `/etc/sysctl.d/`
- `systemctl daemon-reload`
- `systemctl restart udev`
- `systemctl restart thermald`