I have been using a self-refurbished Thinkpad X230 for quite a while as a personal machine. I believe in the benefits of continuing to use old laptops [1, 2, 3]. However, recently, I’ve started to need to use a laptop to do presentations frequently, and the HDMI port on my X230 is not functioning fully, resulting in distorted colors and other distracting artifacts. I might try and repair that, someday.
However, due to pressing need, I instead picked up a used T480s from a good friend, which had a working HDMI port.
Over the first couple days of use, I noticed that this thing ran hot.
Sure, I have the i7-8650u version, but the fans were spinning up far more than I’d like, and CPU temps would frequently exceed 95 °C for bursts at a time.
Naturally, I did a little digging.
It turns out, Linux and the T480s have a longstanding problem!
I don’t understand the problem well enough to explain it here.
But, essentially, people were seeing throttling and temperature issues with these machines on Linux (but not Windows).
To be clear, this issue was found on an old Linux kernel (4.15, I’m on 6.14).
I do not know if this specific problem is affecting me.
However, through this, I learned about a fun tool for undervolting a T480s: throttled.
Even if this issue was resolved in newer kernels, I imagined that some undervolting could still help my thermals and performance. So, I tried it. In addition, to give the attempt the best chance it had, I also replaced the thermal paste with fresh Duronaut.
I was surprised to find a 12% improvement in single-core performance and a 24% improvement in multi-core on Geekbench 6!
The laptop runs much cooler, and the fans spin up much less. It’s much more pleasant to use.
I ultimately landed on the following undervolt for this machine. (Remember, each chip is different, you might not be able to use these values.)
# All voltage values are expressed in mV and *MUST* be negative (i.e. undervolt)!
[UNDERVOLT]
# CPU core voltage offset (mV)
CORE: -135
# Integrated GPU voltage offset (mV)
GPU: -105
# CPU cache voltage offset (mV)
CACHE: -135
# System Agent voltage offset (mV)
UNCORE: -105
# Analog I/O voltage offset (mV)
ANALOGIO: 0
What a satisfying way to squeeze a little more performance out of a still-great laptop.