It's usually always a good thing to receive a newer laptop, as usually that means shiny new hardware, better performances and also better battery life. I was really pleased with previous Lenovo Thinkpad t460s and so the normal choice was its successor, also because default model following company standard, and so the t490s
When I received the laptop, I was a little bit surprized (had no real time to review/analyze in advance) by some choices :
- No SD card reader anymore (useful when having to "dd" some image for armhfp tests)
- Old docking style is gone and you have to connect through usb-c/thunderbolt
- Embedded gigabit ethernet in the t490s (Intel Corporation Ethernet Connection (6) I219-LM (rev 30)) isn't used at all when docked, but going through usb-net device
Installing CentOS Stream (so running kernel 4.18.0-147.6.el8.x86_64 when writing this post) was a breeze, after I turned on SecureBoot (useful also because you can also use fwupd to get LVFS firmware updates automagically as I did for my t460s)
But quickly I realized a huge difference between my previous t460s and the new t490s : heat/temperature and so fan usage. To a point where it was really impossible to just even use our official video-conferencing solution : fan going crazy, laptop unresponsive (load average climbing to ~16), and video/sound completely "off-sync".
Dmesg was also full of such warnings :
[248849.131909] CPU1: Core temperature/speed normal [248894.211874] CPU1: Package temperature above threshold, cpu clock throttled (total events = 1221232) [248894.211897] CPU5: Package temperature above threshold, cpu clock throttled (total events = 1221232) [248894.211902] CPU3: Package temperature above threshold, cpu clock throttled (total events = 1221233) [248894.211903] CPU0: Package temperature above threshold, cpu clock throttled (total events = 1221233) [248894.211903] CPU6: Package temperature above threshold, cpu clock throttled (total events = 1221233) [248894.211904] CPU4: Package temperature above threshold, cpu clock throttled (total events = 1221233) [248894.211905] CPU2: Package temperature above threshold, cpu clock throttled (total events = 1221233) [248894.211905] CPU7: Package temperature above threshold, cpu clock throttled (total events = 1221233) [248894.212895] CPU1: Package temperature/speed normal [248894.212895] CPU5: Package temperature/speed normal [248894.212908] CPU4: Package temperature/speed normal
After some quick research, I found some links about known issues on some (recent) Lenovo thinkpads and some possible solutions explaining the issue[s]:
Nice, or not so (still waiting for Lenovo to fix this through FW update for the t490s - when writing this blog post). I quickly tried to rebuild a community proposed fix and rpm is available in my Copr repository.
But, as stated on said github repo, it doesn't work with SecureBoot, so I temporary disabled it to test said fix, but it wasn't magical either, so I decided to re-eanble SecureBoot and be back in "normal" mode.
Then I found another interesting forum thread about t480 and fan/heat issue, so I decided to have a look.
Indeed : 'Thunderbolt BIOS Assist Mode' was disabled too in my case (wondering why it came with that disabled, while it was coming with RHEL8 installed, and pre-loaded) : let's enable it and see how that goes :
OMG ! instead of having a terminal open with "watch sensors" running, I wanted to have a quick look directly from gnome, so just installed the gnome-shell-extension-system-monitor-applet (available now in epel8-testing) and so far so good :
When running normal workload, while connected to Dock and two external displays), it runs like this :
And yesterday I was happy (ultimate test) to be in a video conf-call for more than one hour, with no video/sound issue and temperature just climbed a little bit, but nothing unusual when using such video call :
Hope it helps, also not if you run Linux on a t490s but any recent Lenovo Thinkpad (or even Yoga it seems) model. Now still waiting on Lenovo to release firmware for the throttling issue but at least the laptop is currently usable :)