(I'm sure linux is in theory just as power efficient as MacOS or Windows, but distros are just usually not very concerned or capable of tuning it well enough.)
(I'm sure linux is in theory just as power efficient as MacOS or Windows, but distros are just usually not very concerned or capable of tuning it well enough.)
I used to fiddle forever but this gets like 80% of the wins. Things like "do we reduce power state of sata links" used to be extremely conservatively set, for fear of really old hardware from the beginning of sata era that behaved badly, but was an obvious &bhige win for 99.999999% of folk. Linux has finally started turning a bunch of these baseline expected tuning on by default, across the past few years (rather than powertop doing it), so the out of box experience is finally much more reasonable.
It's been like this forever but people love throwing shade. I had a Transmeta Crusoe laptop (p1120) amd yes, at first battery life was worde. But I did low hanging fruit optimizations, and Linux got better, and soon I had like an hour more runtime on Linux.
Mac famously has a trashburger IO subsystem, so not having that boat anchor hanging off the side should probably let the system hurry-up-and-idle better, saving power.
Ideally there would also be a way to omit certain device or subsystem tunings from auto-tune as well.
Personally I think it'd be fun to mess around with more advanced schemes, where we dynamically alter powersaving behaviors based on user behavior. What we have now seems somewhat unresponsive. It'd be fun to dive into.
This used to be different when I first installed Asahi, but the GPU driver and other improvements have made battery life something I don't really worry about anymore.
One thing which bothers me a lot as it makes the laptop hardly useable for me at night: display brightness cannot be adjusted, it is either off or 100%. Some user claim this can be accomplished by installing the asahi-edge kernel, which does not even boot for me.
And this also bothers me lot: why are things checked in/distributed which do not work at all in Asahi Arch?!?! If you install e.g. a dev kernel which does not boot because the NVME driver is broken and you do not have a fallback kernel you are doomed. You cannot mount the partition in macOS to fix this manually.
Also presumably if Apple wants this to happen, they as a single vendor can provide a single definitive answer on what they are doing for each configuration. Eventually...
In the x86 world, there is Intel, AMD and like 50 different manufacturers each with a particular HW implementation/BIOS customization, leading to IntelAMDHardware_Vendor_customizations^50 permutations that'd need to be validated.
Never has there been any effort taken within Linux to apply a generalstic ‘small speaker EQ’ to anything with detected internal speakers.
Similarly, the Linux kernel by default is optimized for server style workloads (throughput) instead of smoothness. It would be so easy to check for an internal battery and if true apply a few kernel parameters so your laptop stays smooth under load.
Linux as a desktop (well, laptop) OS is terrible not because it is incapable of being great at it, but because people don’t seem to care for the death-by-a-thousand-cuts issues.
The real trouble is that you get some wireless chip which isn't popular enough for anybody to reverse engineer it but the manufacturer didn't provide any documentation, so the driver for it sucks or doesn't exist.
There is plenty of well-supported hardware so the solution is, don't buy the bad one. But some poor sucker who already did and now they want to run Linux on it may have a bad time.
Just clearing some FUD if people consider Linux bad for everyday use, that's mostly shit if you run Wayland and like sharing your screen (Jitsi or obs+virtualcam works well too).
Edit: remember Android runs on the Linux kernel-ish
Not 100% the same, but the Asahi members reported something like 8 hours on a M1 Macbook, so that's better than most/all x86 laptops with Linux
VMs and games (crossover) also bring my battery life down to 4-6 hours.
My old intel MBP would get around the same battery life when doing the same workloads (games under bootcamp Windows), it would get worse battery life sitting idle or for optimised workloads (like video playback).
Mixed workloads, I get maybe 2-3 hours more with my M1 laptop. That's not nothing, but it's not the crazy 18 hours battery life in the marketing material
The question is, what's the battery life when you're doing kernel compiles or GPGPU.
And not to beat the already long dead horse any more, but toss in some electron apps running in the background, I probably average somewhere around ~7 hours or so. I'm not convinced the 10+ hour lifetime is possible if you've got stuff like Discord/Slack/VS Code open.
But in terms of when I am doing truly evil things to it, I am surprised it lasts as long as it does, be it max CPU compiling or all of this morning when I was toying around with stable diffusion, it gets around ~4 hours or so.
Which of course should be expected. My M1 probably gets about 18-20 hours when I am just web browsing. If I am compiling Xcode projects, half that. Messing around in C in Emacs, probably 14-16 hours battery life.
It is makes no sense to compare an $1k/$2k M1 Macbook with random laptops. Those laptops exist because people want to run MS Word or Excel for $400. That's the feature.
Various System76 laptops, Thinkpads (among many other laptops recommended by Linux users) give you battery life comparable to macOS on the M1.
that is a lie. system76 and thinkpads are nowhere close to giving you a full day of battery life on Linux.
And I'm no Apple fanboy, the only Apple device I've ever used has been an ipad 5 years ago and my M1 macbook.
Apple’s numbers are equally unrealistic. They rate my m1 air for 15 hours, but in practice it gets to around 8 hours.
Of course if its a day where I'm compiling often and have several tasks running its going to be lower, but thats not the usecase they advertise
Maybe Asahi Linux will improve things, since they only target a very small number of hardware configurations.