←back to thread

447 points stephenheron | 1 comments | | HN request time: 0.001s | source

Hi,

My daily workhorse is a M1 Pro that I purchased on release date, It has been one of the best tech purchases I have made, even now it really deals with anything I throw at it. My daily work load is regularly having a Android emulator, iOS simulator and a number of Dockers containers running simultaneously and I never hear the fans, battery life has taken a bit of a hit but it is still very respectable.

I wanted a new personal laptop, and I was debating between a MacBook Air or going for a Framework 13 with Linux. I wanted to lean into learning something new so went with the Framework and I must admit I am regretting it a bit.

The M1 was released back in 2020 and I bought the Ryzen AI 340 which is one of the newest 2025 chips from AMD, so AMD has 5 years of extra development and I had expected them to get close to the M1 in terms of battery efficiency and thermals.

The Ryzen is using a TSMC N4P process compared to the older N5 process, I managed to find a TSMC press release showing the performance/efficiency gains from the newer process: “When compared to N5, N4P offers users a reported +11% performance boost or a 22% reduction in power consumption. Beyond that, N4P can offer users a 6% increase in transistor density over N5”

I am sorely disappointed, using the Framework feels like using an older Intel based Mac. If I open too many tabs in Chrome I can feel the bottom of the laptop getting hot, open a YouTube video and the fans will often spin up.

Why haven’t AMD/Intel been able to catch up? Is x86 just not able to keep up with the ARM architecture? When can we expect a x86 laptop chip to match the M1 in efficiency/thermals?!

To be fair I haven’t tried Windows on the Framework yet it might be my Linux setup being inefficient.

Cheers, Stephen

Show context
gettingoverit ◴[] No.45025038[source]
> might be my Linux setup being inefficient

Given that videos spin up those coolers, there is actually a problem with your GPU setup on Linux, and I expect there'd be an improvement if you managed to fix it.

Another thing is that Chrome on Linux tends to consume exorbitant amount of power with all the background processes, inefficient rendering and disk IO, so updating it to one of the latest versions and enabling "memory saving" might help a lot.

Switching to another scheduler, reducing interrupt rate etc. probably help too.

Linux on my current laptop reduced battery time x12 compared to Windows, and a bunch of optimizations like that managed to improve the situation to something like x6, i.e. it's still very bad.

> Is x86 just not able to keep up with the ARM architecture?

Yes and no. x86 is inherently inefficient, and most of the progress over last two decades was about offloading computations to some more advanced and efficient coprocessors. That's how we got GPUs, DMA on M.2 and Ethernet controllers.

That said, it's unlikely that x86 specifically is what wastes your battery. I would rather blame Linux, suspect its CPU frequency/power drivers are misbehaving on some CPUs, and unfortunately have no idea how to fix it.

replies(2): >>45025451 #>>45030870 #
akho ◴[] No.45025451[source]
x12 and x6 do not seem plausible. Something is very wrong.
replies(2): >>45025536 #>>45026028 #
gettingoverit ◴[] No.45025536[source]
My CPU is at over 5GHz, 1% load and 70C at the moment. That's in a "power-saving mode".

If nothing would be wrong, it'd be at something like 1.5GHz with most of the cores unpowered.

replies(3): >>45025915 #>>45026339 #>>45026423 #
vient ◴[] No.45026339[source]
Something is wrong with power governor then. I have an opposite experience, was able to tune Linux on a Core Ultra 155H laptop so it works longer than Windows one. Needed to use kernel 6.11+ and TLP [0] with pretty aggressive energy saving settings. Also played a bit with Intel LPMD [1] but did not notice much improvement.

[0] https://github.com/linrunner/TLP

[1] https://github.com/intel/intel-lpmd

replies(1): >>45035332 #
Chiikawa ◴[] No.45035332[source]
I also own a 155H laptop using Linux Mint! Would you share your settings with TLP and LPMD? I am not getting not much longer battery life than Windows 11 on it after some tinkering, so seeing somebody else's setup may help a lot. Thanks!
replies(1): >>45038879 #
1. vient ◴[] No.45038879{3}[source]
Won't say I got much longer battery life, and even what I got may be as well explained as "TLP made energy profile management almost as good as on Windows, and then Windows's tendency to get a bunch of junk processes seeping on your battery tipped the scales to favor Linux". Also I ended up switching back to Windows because of never-ending hardware issues with Linux, installing it on 155H back in February 2024 was especially rough but even 6 months later I randomly got Bluetooth not working anymore after Ubuntu update.

My TLP and LPMD configs: https://gist.github.com/vient/f8448d56c1191bf6280122e7389fc1...

TLP: don't remember details now, as I recall scaling governor does not do anything on modern CPUs when energy perf policy is used. CPU_MAX_PERF_ON_BAT=30 seems to be crucial for battery savings, sacrificing performance (not too much for everyday use really) for joules in battery. CPU_HWP_DYN_BOOST_ON_BAT=0 further prohibits using turbo on battery, just in case.

LPMD: again, did not use it much in the end so not sure what even is written in this config. May need additional care to run alongside TLP.

Also, I used these boot parameters. For performance, I think, beneficial one are *mitigations, nohz_full, rcu*

    quiet splash sysrq_always_enabled=1 mitigations=off i915.mitigations=off transparent_hugepage=always iommu=pt intel_iommu=on nohz_full=all rcu_nocbs=all rcutree.enable_rcu_lazy=1 rcupdate.rcu_expedited=1 cryptomgr.notests no_timer_check noreplace-smp page_alloc.shuffle=1 tsc=reliable