Skip to content

Instantly share code, notes, and snippets.

@garrett
Last active May 1, 2023 19:12
Show Gist options
  • Save garrett/0c3cbedb86c52bc3bf3ba063786b49af to your computer and use it in GitHub Desktop.
Save garrett/0c3cbedb86c52bc3bf3ba063786b49af to your computer and use it in GitHub Desktop.
ThinkPad 14s overheating issues
# /etc/tmpfiles.d/power_limit.conf
# MSR
# PL1
w /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_0_power_limit_uw - - - - 44000000
w /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_0_time_window_us - - - - 28000000
# PL2
w /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_1_power_limit_uw - - - - 44000000
w /sys/devices/virtual/powercap/intel-rapl/intel-rapl:0/constraint_1_time_window_us - - - - 2440
# MCHBAR
# PL1
w /sys/devices/virtual/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_0_power_limit_uw - - - - 44000000
# ^ Only required change on a ASUS Zenbook UX430UNR
w /sys/devices/virtual/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_0_time_window_us - - - - 28000000
# PL2
w /sys/devices/virtual/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_1_power_limit_uw - - - - 44000000
w /sys/devices/virtual/powercap/intel-rapl-mmio/intel-rapl-mmio:0/constraint_1_time_window_us - - - - 2440
  • https://github.com/vmatare/thinkfan/issues/45#issuecomment-658830584

  • And then: sudo enable --now zcfan

  • Having extreme issues? Temporarily turn off turbo (which makes the computer a fraction of the speed, but helps with thermals). Only use this when you’re having very bad issues and you’re in the middle of a heat wave:

    • echo 1 | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
  • Some laptops, like the ThinkPad T14s (Intel), are apparently just ship with completely broken hardware and there’s not much you can do. (The above techniques may help a bit in some cases.) Other ThinkPad models also have heating issues, to some degree, but usually not nearly as severe as the T14 line, especially the T14s Intel (which is what I have).

  • If you’re using GNOME, then the Vitals extension may help to monitor fan and temperature: https://extensions.gnome.org/extension/1460/vitals/ (It doesn’t require lm_sensors, thankfully.)

  • And there are several ThinkPad related kernel arguments you can give that “improve the battery life”, which also makes the computer more efficient when plugged in too:

    • i915.enable_rc6=1 i915.enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1 thinkpad_acpi.fan_control=1 thinkpad_acpi.experimental=1

    • Silverblue; run this and reboot: rpm-ostree kargs --append=thinkpad_acpi.fan_control=1 --append=thinkpad_acpi.experimental=1 --append=i915.enable_rc6=1 --append=i915.enable_fbc=1 --append=i915.lvds_downclock=1 --append=i915.semaphores=1

  • “Balanced” mode (default) causes the CPU to throttle above 50 degrees (which my computer is above at least 99.9% of the time. It gets worse as temperatures go up. Switching to “performance mode” mainly stops the throttling and causes processes to finish more quickly, so it can (ideally) get back to idle faster. GNOME has support for switching performance modes by default, in the main menu on the top-right of the screen.

  • Even with all the above, computer still throttles (>50°C) and eventually overheats (>90°C); 1.8 Ghz is dropped to 600 Mhz; thermald can work around this a bit: thermald --ignore-cpuid-check

  • Fix for underclocking issue, where the laptop gets stuck at low Mhz (including 400 Mhz): Put the attached file at /etc/tmpfiles.d/power_limit.conf to adjust clock rates on boot. To take effect immediately (without a reboot), run sudo systemd-tmpfiles --create to copy the correct values to the right place after adding the file or editing it. Found at https://github.com/erpalma/throttled/blob/master/README.md#static-fixthrottled from copr doesn't want to install on Silverblue, hence using the static fix instead (with systemd-tmpfiles).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment