If Linux previously always outperformed Windows the result should be similar this time around as well. It could possibly be some missing feature or a bug in the linux drivers but it sounds unlikely to me. I mean the architecture isn't fundamentally different. Maybe windows ignores some thermal throttling? Something smells fishy here for sure.
1) Intel is optimising for common cases inside the most dominant desktop operating system.. this is like apple having really good floating point in their cpu’s that makes javascript not suck for performance… and is why macbooks feel snappy with electron.
2) Intel and microsoft worked together when designing the CPU, so Windows is able to take advantage of some features that Linux is only just learning how to handle (or learning the exact way it works).
3) The way the operating systems schedule tasks is better in this generation for Windows over Linux, by accident.
“it’s better” doesn’t really factor, Windows has been shown repeatedly over the last half-decade to be so inferior as to be beaten by Linux when Linux is emulating Windows APIs. It’s difficult to be so slow that you’re slower than someone emulating your platform.
"Intel is optimising for common cases inside the most dominant desktop operating system."
- literally the history of Intel for more than 30 years and likely why we see this benefit now. gaming the compiler and hoping they wont get caught bought them a decade against AMD.
"Intel and microsoft worked together when designing the CPU"
- I guess the bitterness of Itanium doesnt last forever.
Otherwise Windows could make WSL (1) faster than Linux, but they can’t because they don’t have the similar enough underlying operating system paradigms.
I could give examples, but I think just comparing native python performance on both platforms is the easiest case I can make without going into details.
WSL 1 was faster and better than WSL 2, but they abandoned it for its technical complexity and switched to containers / virtual machines, which create a slew of Other Problems.
I recently learned that my device won't display UHD movies in Linux on my projector because HDMI is vendor-locked to Windows... Maybe this is something similar (a driver that was not done right)
I appreciate the fact that they waited two months to check their results before sharing them publicly. However, this feels like there should be a hypothesis for explaining the difference other than “this fits expectations”, especially after the author extensively claims this does not fit their own expectations. Did I miss something?
Unfortunately, I don't have any added insight/hypothesis besides maybe something power managemen beyond what was detailed in the article... Lenovo and Intel believe it's inline with expectations and they used various internal tools and what not but hadn't provided me with any detailed data on everything they checked or any own internal numbers. SO I don't really have anything else to add there.
But it doesn't align with the last 12~20 laptops I've tested between Ubuntu Linux and Windows out-of-the-box where if loading up say V-RAY, IndigoBench, Blender, etc, and using the official binaries on each platform, Linux has typically always dominated in said workloads for both AMD and Intel laptops. So something isn't aligning quite right there with this ThinkPad versus all the other hardware I have tested with Windows vs. Linux.
I don't follow your publications so sorry if this is a dumb question, but do you modify/normalize or at least inspect the hidden power settings at all before running benchmarks? Like "processor performance autonomous mode" or the various efficiency-class-related settings, say? Or the various firmware settings, like cool-and-quiet or whatever they are?
If there is a measurable performance differential, then such a big gap is actually a good sign. There is probably one thing massively broken, and not a systems design problem that needs a man-year to resolve if FOSS folks ever agree how to fix it.
The last time I tried Linux on a consumer device was 15 years ago. The battery life was unacceptable. Have things improved since then? Phoronix doesn't seem to test battery life.
I have a Framework 13 running an AMD AI 300 Series with Fedora as my personal laptop and an MBP M2 Pro as my work machine.
I would say that the Framework is fine for battery life when you’re using it but loses like 20-30% of battery per day in sleep mode vs like 1% per day for the MBP.
The workaround I use now is to set the FW to hibernate after 30 minutes of sleep so it’s not dead when I decide to use it again after a few days.
The downside of this is that waking up takes a couple of minutes and so I still tend to use the MBP if I need to do something quick and don’t want to wait for the hibernate tax.
This is sadly why windows will always prevail. You can't expect volunteers to deliver correct drivers, even if they spend a lot of time reverse engineering things.
It's 2025 and I would have expected the linux foundation or canonical to at least create a label "linux compatible" or "linux tested", so that brands can license it, and maybe spend money to collaborate with hardware vendors so they can write correct drivers, but that has not happened.
I am not saying linux/OSS is at fault here, but I am confused why the situation is still so bad. You can even find several governments ready to use linux, but it's not reliable enough yet, or maybe they're too tech-illiterate.
Open source/linux folks are so politicized against capitalism, proprietary software and patents that they excluded themselves from the economy. Only valve and the steam machine might have a chance of changing that situation but it's not even guaranteed.
I keep giving proprietary software chances. A polished experience has value. I'm willing to pay for software. I'll even tolerate subscriptions when they come with continuous added value.
Then Google gives HSBC the ability to lock people out of their banking app if they installed a third-party password manager from the "wrong" app store and I start to think RMS was right about everything.
> It's 2025 and I would have expected the linux foundation or canonical to at least create a label "linux compatible" or "linux tested", so that brands can license it, and maybe spend money to collaborate with hardware vendors so they can write correct drivers, but that has not happened.
A few distros do have something like this. Ubuntu has the "Ubuntu Certified" program https://ubuntu.com/certified and Fedora has "Fedora Ready" https://docs.fedoraproject.org/en-US/marketing/ready/list/ . For a situation like this, that doesn't really matter though. Linux does run on the laptop and Lenovo does officially support running Linux on it. If there's a problem with the CPU scheduling or something for that line of processors, Intel would have to fix it, not Lenovo.
> Open source/linux folks are so politicized against capitalism, proprietary software and patents that they excluded themselves from the economy. Only valve and the steam machine might have a chance of changing that situation but it's not even guaranteed.
I don't know what you're talking about here. The vast majority of Linux kernel development is done by companies, not unpaid volunteers. This has been the case since at least as far back as the mid 2000s.
> It would be nice if Linux got the same vendor support as windows.
A first step would be if the kernel developers weren't changing the kernel-internal APIs all the time. Since the driver model on Windows rarely changes, hardware vendors don't have to rewrite the drivers all the time.
Additionally, it is a well-known secret that Microsoft provides quite some internal tools to hardware vendors to symbolically execute the driver binaries and check them for buffer overflows. Otherwise, the quality of the drivers on Windows would be a disaster. On the other hand, once the drivers pass certification (of which this is a part), it is rather easy for the hardware vendor to make the driver "official" - no discussing on the LKML that the architecture of the driver that the hardware vendor developed does not fit what the subsystem maintainer wants.
This all makes Windows a much more "convenient" system for hardware vendors to develop official drivers for.
I bought a Thinkpad T440s in 2013. I would occasionally forget my charging cable at home, and could do a full day of work, with youtube playing in the background, on battery.
On the right laptop, linux will have decent battery life. On the wrong laptop, windows will have terrible battery life.
I surprised the choice of operating system can have such a large impact on performance. I would have expected the performance was more dependent on the application, not the OS.
In parallel to your tested application, CPU and memory are also clogged by running the ads for the Start menu, telemetry, disk encryption… and, concerning Windows, its architecture is famously too encapsulate recursively every previous version of Windows so that legacy programs can run seamlessly, which explains the disk size and may have impact on the daemons.
Could this be due to how Windows vs Linux does process scheduling on CPUs with P- and E-cores?
To my knowledge Linux isn’t that capable on BIG.little architectures, and Linux power-management (as this intersects with) has always left a little to be desired - when comparing battery life to Windows.
Disclaimer: pure speculation. Possibly misinformed :-D
> To my knowledge Linux isn’t that capable on BIG.little
Android uses Linux as it kernel and runs on billions of devices with heterogeneous cores. Linux had this capability for way longer than Windows did; Windows for the most part did not run on devices with heterogeneous cores until the Intel Alder Lake (12th gen) CPUs.
Win11 outperformed Linux at Alder Lake release too [1] but eventually this changed and Linux was better on Meteor Lake [2]. Probably Arrow Lake has some microarchitectural changes which do not mesh well with Linux's core scheduling logic which Intel will need to fix, at which point Linux will probably close the gap again.
Yep I suspect this too from the benchmarks. The linux kernel doesn't send the instructions to the right cores and likely sees them all as the same and not 'high power' vs 'low power' cores
There’s three possibilities.
1) Intel is optimising for common cases inside the most dominant desktop operating system.. this is like apple having really good floating point in their cpu’s that makes javascript not suck for performance… and is why macbooks feel snappy with electron.
2) Intel and microsoft worked together when designing the CPU, so Windows is able to take advantage of some features that Linux is only just learning how to handle (or learning the exact way it works).
3) The way the operating systems schedule tasks is better in this generation for Windows over Linux, by accident.
“it’s better” doesn’t really factor, Windows has been shown repeatedly over the last half-decade to be so inferior as to be beaten by Linux when Linux is emulating Windows APIs. It’s difficult to be so slow that you’re slower than someone emulating your platform.
- literally the history of Intel for more than 30 years and likely why we see this benefit now. gaming the compiler and hoping they wont get caught bought them a decade against AMD.
"Intel and microsoft worked together when designing the CPU"
- I guess the bitterness of Itanium doesnt last forever.
Otherwise Windows could make WSL (1) faster than Linux, but they can’t because they don’t have the similar enough underlying operating system paradigms.
I could give examples, but I think just comparing native python performance on both platforms is the easiest case I can make without going into details.
But it doesn't align with the last 12~20 laptops I've tested between Ubuntu Linux and Windows out-of-the-box where if loading up say V-RAY, IndigoBench, Blender, etc, and using the official binaries on each platform, Linux has typically always dominated in said workloads for both AMD and Intel laptops. So something isn't aligning quite right there with this ThinkPad versus all the other hardware I have tested with Windows vs. Linux.
Also, have you tried Windows 10?
- Intel optimized something MS asked for, so now X and Y syscalls are faster
or
- MS wrote some super-optimized BLAS/LAPACK libraries for this exact CPU which were are not (yet) available on Linux
or
-Intel added management things specifically for Windows.
I would say that the Framework is fine for battery life when you’re using it but loses like 20-30% of battery per day in sleep mode vs like 1% per day for the MBP.
The workaround I use now is to set the FW to hibernate after 30 minutes of sleep so it’s not dead when I decide to use it again after a few days.
The downside of this is that waking up takes a couple of minutes and so I still tend to use the MBP if I need to do something quick and don’t want to wait for the hibernate tax.
It's 2025 and I would have expected the linux foundation or canonical to at least create a label "linux compatible" or "linux tested", so that brands can license it, and maybe spend money to collaborate with hardware vendors so they can write correct drivers, but that has not happened.
I am not saying linux/OSS is at fault here, but I am confused why the situation is still so bad. You can even find several governments ready to use linux, but it's not reliable enough yet, or maybe they're too tech-illiterate.
Open source/linux folks are so politicized against capitalism, proprietary software and patents that they excluded themselves from the economy. Only valve and the steam machine might have a chance of changing that situation but it's not even guaranteed.
Then Google gives HSBC the ability to lock people out of their banking app if they installed a third-party password manager from the "wrong" app store and I start to think RMS was right about everything.
Does it always has to be this extreme?
I always thought he was right about some things, but wrong about others. (And all in all not great as a public face for the organisation)
A few distros do have something like this. Ubuntu has the "Ubuntu Certified" program https://ubuntu.com/certified and Fedora has "Fedora Ready" https://docs.fedoraproject.org/en-US/marketing/ready/list/ . For a situation like this, that doesn't really matter though. Linux does run on the laptop and Lenovo does officially support running Linux on it. If there's a problem with the CPU scheduling or something for that line of processors, Intel would have to fix it, not Lenovo.
> Open source/linux folks are so politicized against capitalism, proprietary software and patents that they excluded themselves from the economy. Only valve and the steam machine might have a chance of changing that situation but it's not even guaranteed.
I don't know what you're talking about here. The vast majority of Linux kernel development is done by companies, not unpaid volunteers. This has been the case since at least as far back as the mid 2000s.
Honestly I have no issues on my own AMD laptop but iirc nvidia drivers are still relatively bad at keeping power consumption low.
It would be nice if Linux got the same vendor support as windows.
A first step would be if the kernel developers weren't changing the kernel-internal APIs all the time. Since the driver model on Windows rarely changes, hardware vendors don't have to rewrite the drivers all the time.
Additionally, it is a well-known secret that Microsoft provides quite some internal tools to hardware vendors to symbolically execute the driver binaries and check them for buffer overflows. Otherwise, the quality of the drivers on Windows would be a disaster. On the other hand, once the drivers pass certification (of which this is a part), it is rather easy for the hardware vendor to make the driver "official" - no discussing on the LKML that the architecture of the driver that the hardware vendor developed does not fit what the subsystem maintainer wants.
This all makes Windows a much more "convenient" system for hardware vendors to develop official drivers for.
On the right laptop, linux will have decent battery life. On the wrong laptop, windows will have terrible battery life.
https://news.ycombinator.com/item?id=46002989
(i.e. no license, have to fallback to unaccelerated software-only implementation)
The consumer loses out but that's not something new either.
To my knowledge Linux isn’t that capable on BIG.little architectures, and Linux power-management (as this intersects with) has always left a little to be desired - when comparing battery life to Windows.
Disclaimer: pure speculation. Possibly misinformed :-D
Android uses Linux as it kernel and runs on billions of devices with heterogeneous cores. Linux had this capability for way longer than Windows did; Windows for the most part did not run on devices with heterogeneous cores until the Intel Alder Lake (12th gen) CPUs.
Win11 outperformed Linux at Alder Lake release too [1] but eventually this changed and Linux was better on Meteor Lake [2]. Probably Arrow Lake has some microarchitectural changes which do not mesh well with Linux's core scheduling logic which Intel will need to fix, at which point Linux will probably close the gap again.
[1] https://www.phoronix.com/review/alderlake-windows-linux/9 [2] https://www.phoronix.com/review/intel-meteorlake-windows-lin...
Had the same thought: I would also expect this to be an artifact of suboptimal scheduling on Linux or some otherwise unidentified issue.
Linux is usually outperforming Windows by a good margin on the same hardware.
Also, in my experience, Windows 11 does not improve performance compared to Windows 10 (I have to use both versions at my dayjob).
I would be very surprised if this isn’t an issue with drivers or scheduling.