X1 Carbon 6th gen about 50% slower on Linux
200ok.ch
200ok.ch
Let that sink in. Somehow, rather than letting the CPU run with reasonable parameters and letting the EC control fans as needed, they are forcing the system into SMM (which interrupts everything on all cores) to fiddle with thermal parameters. And they want some ridiculous user space library (DPTF) to reconfigure this mess to actually do something sensible.
WTF
edit: Wow, the Intel code in question is hilariously enterprisey. Check this out:
https://github.com/intel/dptf/blob/master/DPTF/Sources/Polic...
and that repo is full of files like SuchAndSuchFacadeInterface.h.
I swear that at least 95% of the code doesn’t do anything. Maybe 99%.
when temp > upper_threshold: turn fan on until temp < lower_threshold
For a vendor-provided set of tuples (temperature, fan, upper_threshold, lower_threshold). And it’s not really clear whether the code is intended to handle the same temperature or fan occurring more than once.
This logic could be written in maybe 100 lines of code if all the abstraction were removed, and that’s if full support for repeats is needed.
Instead there are layers and layers of abstraction. Also, this code doesn’t belong in a user program or even on the main CPU at all. It belongs in the embedded controller.
At least according to this Ubuntu maintainer: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1763144...
So lenovo is doing something conservative because DPTF isn't officially supported on linux. There seems to be a DPTF repo here: https://github.com/intel/dptf
(Edit: specified Mac vs thinkpad I don’t like)
I also have the 5th edition (my first new Linux laptop) and I can't even begin to say how happy with it I've been. Setting up all my UIs and learning how to use Linux as a "User" not an "Administrator" has been a lot of fun. I now start the network instinctively with a quick terminal command (fish history is great). I quickly got used to (and now much prefer) a tiling window manager like i3. And above all, I've gotten used to the extra work of reading through changes to packages as they come in with Arch.
This laptop feels "just right" as a recent Apple user. It's got that anti-apple vibe, without feeling like a crap piece of plastic.
Now all Lenovo/Linux needs to do is match Apple's trackpad feel, and I'll call this is wash.
The BIOS sleep state issue seems common with modern Lenovos though (my 2nd Gen Helix is also a mess), which is a real shame because the hardware is great.
In essence the main thing that tends to shift is what is the "defining feature" of thinkpad. For T42 an X41 it was keyboard without windows keys and with textured trackpoint buttons, then it was 5-row keyboard and so on...
Another point in regards to this is that at least for me the really good ThinkPads started with the letter series, which is also the time when IBM started to outsource both design and manufacture. And the difference is plainly visible with traditional IBM's overengineering (eg. 600E, which is supposed to be low-cost model, is pain to disassemble and contains two handfuls of various weird and wonderful machined aluminium brackets, mainframe-style) being replaced with design that meaningfully balances cost, reliability and serviceability.
For a <1 min test yeah it's slower. (Essentially a race from "cold" temp to the respective temp limits - the one has more runway). Run both at full throttle for 5 mins and I suspect you'll find they'll both perform equally (since they're both repeatedly bumping up against their respective thermal throttling).
...still shouldn't be happening at all though.
I ran the tests for 20min, as well. But then the screen shot of s-tui won't cover the whole length of the test, so I chose to show those screen shots while only mentioning that longer benchmarks perform exactly the same.
The 6th gen came out in January '18: https://en.wikipedia.org/wiki/ThinkPad_X1_Carbon#2018_%E2%80...
I'd prefer to run my laptop with as few fan activity as possible without overheating. So when the CPU gets too hot, clock it down instead of starting the fan.
However, if I'm sitting at a desk where it's plugged in I would like to get as much performance out of it as I can.
I know absolutely nothing about it, and it looks like the user has to manually do it. And the obvious question: How do Windows users do it? When they are even less knowledgeable than me (generally speaking).
Windows users do it differently. The carbon has an auto-update service installed which will offer to update the BIOS when it finds a new version available.
Also, LVFS: https://fwupd.org/lvfs/component/1023/all <- to me, personally, this didn't work. I suspect it had to do with UEFI mode.
Just don't forget to change the Power setting in your BIOS to Linux, as mentioned in the link as well.
I got a BIOS update through Windows update once. Didn't have to do anything except deal with a random restart.
Which one is 'MUCH easier' is up to you.
This is quite different because Windows, which they ship with, works well. For better or for worse, Linux users expect to take a while to sort out new hardware.
Edit: I'm curious - this comment has a good number of upvotes, but it's sitting right at the bottom of the page, below greyed-out downvoted comments. Do moderators have a "super downvote" option or something? To be clear, I'm not complaining about moderation (this is a low quality comment), just curious exactly how this works.
Works for me.
Why spend $$$$ on a laptop with a beefy CPU if you aren't going to use it?
But for video transcoding that may take 3 hours, that's something I would do on a remote server anyway.