erpalma / throttled

Workaround for Intel throttling issues in Linux.
MIT License
2.67k stars 167 forks source link

L380 Overheating #205

Closed HSPDev closed 3 years ago

HSPDev commented 4 years ago

Just update your BIOS to the newest version and remove this tool The unit will run perfectly fine. You could probably overclock further with this tool, but the thermal throttling is gone for every day (professional / programming) use.


The tool works fine and my L380 is much more usable than ever.

However I've experienced 3 thermal shutdowns in a week, but it is always when I'm doing something "stupid" as watching 2.7k Youtube through DisplayLink (uses CPU rendering) or stress testing.

I've tried undervolting to reduce temperature, but it still trips out. Only under extreme high load. I can watch it increase using s-tui for some time before tripping. It doesn't affect me in normal usage.

Any suggestions on how to debug/resolve this? I'm gonna do the basics and clean the laptop + apply new thermal grease.

Lenovo L380 i5-8250u (8th gen, 1.6 Ghz quad) Integrated HD630 graphics.

Running Ubuntu 18.04 with latest updates.

Don't know about BIOS, never used Windows, so it hasn't touched any Lenovo Windows GUI Tools.

This is my config:

[GENERAL]
# Enable or disable the script execution
Enabled: True
# SYSFS path for checking if the system is running on AC power
Sysfs_Power_Path: /sys/class/power_supply/AC*/online

## Settings to apply while connected to Battery power
[BATTERY]
# Update the registers every this many seconds
Update_Rate_s: 30
# Max package power for time window #1
PL1_Tdp_W: 29
# Time window #1 duration
PL1_Duration_s: 28
# Max package power for time window #2
PL2_Tdp_W: 42
# Time window #2 duration
PL2_Duration_S: 0.002
# Max allowed temperature before throttling
Trip_Temp_C: 80
# Set cTDP to normal=0, down=1 or up=2 (EXPERIMENTAL)
cTDP: 0
# Disable BDPROCHOT (EXPERIMENTAL)
Disable_BDPROCHOT: False

## Settings to apply while connected to AC power
[AC]
# Update the registers every this many seconds
Update_Rate_s: 5
# Max package power for time window #1
PL1_Tdp_W: 42
# Time window #1 duration
PL1_Duration_s: 28
# Max package power for time window #2
PL2_Tdp_W: 42
# Time window #2 duration
PL2_Duration_S: 0.002
# Max allowed temperature before throttling
Trip_Temp_C: 80
# Set HWP energy performance hints to 'performance' on high load (EXPERIMENTAL)
HWP_Mode: False
# Set cTDP to normal=0, down=1 or up=2 (EXPERIMENTAL)
cTDP: 0
# Disable BDPROCHOT (EXPERIMENTAL)
Disable_BDPROCHOT: False

# All voltage values are expressed in mV and *MUST* be negative (i.e. undervolt)! 
[UNDERVOLT.BATTERY]
# CPU core voltage offset (mV)
CORE: -20
# Integrated GPU voltage offset (mV)
GPU: -20
# CPU cache voltage offset (mV)
CACHE: -20
# System Agent voltage offset (mV)
UNCORE: -20
# Analog I/O voltage offset (mV)
ANALOGIO: 0

# All voltage values are expressed in mV and *MUST* be negative (i.e. undervolt)!
[UNDERVOLT.AC]
# CPU core voltage offset (mV)
CORE: -20
# Integrated GPU voltage offset (mV)
GPU: -20
# CPU cache voltage offset (mV)
CACHE: -20
# System Agent voltage offset (mV)
UNCORE: -20
# Analog I/O voltage offset (mV)
ANALOGIO: 0

# [ICCMAX.AC]
# # CPU core max current (A)
# CORE: 
# # Integrated GPU max current (A)
# GPU: 
# # CPU cache max current (A)
# CACHE: 

# [ICCMAX.BATTERY]
# # CPU core max current (A)
# CORE: 
# # Integrated GPU max current (A)
# GPU: 
# # CPU cache max current (A)
# CACHE: 
tamalban commented 3 years ago

Hi, I also have an L380. I am able to run it smoothly with some changes.

The default power limits in the .conf file are too high for L380. That has also causes thermal shutdowns for me, when the CPU gets close to 95C for a couple of minutes. The heatsink of the L380 is too weak to dissipate heat.

I use power limits of 25W/15W and trip temperature of 85C, along with disabling BD_PROCHOT and that solves all issues for me. I am also undervolting Cpu and Cache with -80mV and iGPU with -50mV.

Try these changes and see if it works for you. Remember to fully uninstall the tool (including deleting the .conf file in /etc), and then install as usual...

HSPDev commented 3 years ago

Good thing you reminded me to check this thread @tamalban

Honestly, I removed this tool entirely and installed all the available BIOS updates. Lenovo has mostly fixed the issue and I'm not throttling anymore if I use the L380.

I ended up replacing the unit for a P53 with i7 for even more power though, but that's just because I needed an upgrade. Much better thermal design in general in the P series, but holy **** it sounds like a jet engine. :open_mouth:

f100024 commented 3 years ago

Hi guys @HSPDev @tamalban ! I'm using L380 on ubuntu. I've some issues looks like similar to yours, could you please help me with it:

tamalban commented 3 years ago

@f100024 Hi Artem, -I checked the logs and there were complaints just before thermal shutdown. Also I constantly monitor CPU temperature using a widget and notice these problems only when the notebook overheats. Have you tried using any other distro? I personally use Kubuntu, and had other issues with the Gnome version (regular ubuntu). Kubuntu runs smooth for me.

daviewales commented 4 months ago

I was able to update the BIOS using fwupd on Linux Mint 21.3, following these instructions: https://www.cyberciti.biz/faq/thinkpad-update-firmware-on-linux-x1-extreme-p1-gen2/

I was on a 2018 version, and now I'm on a 2024 BIOS version. (1.37)

Pre-update, my Geekbench 6 score on battery power was 1139 single-core, and 2941 multi-core. Post-update, I got 1167 single-core and 3678 multi-core on battery. So it seems the BIOS update improved multi-core performance.

However, on power, I get only 616-630 single-core and 2773-2846 multi-core. (post-BIOS upgrade. Didn't think to test on power pre-upgrade.)

I'll check if throttled improves anything further.

EDIT: I installed throttled (no changes to default config). On battery, I get 1153 single-core and 3721 multi-core. On power, I get 807 single-core and 2950 multi-core.

So it seems that the BIOS update made some improvements, but throttled is still helping, especially when connected to power.

EDIT: I reduced AC trip temp from 95 to 90, and undervolted CPU CORE and CACHE by -80 mV, and GPU by -50 mV as suggested by tamalban above, and I'm now getting 903 single-core and 2959 multi-core on power. (Not sure if that's just natural variance, or a real improvement though.)