I will need to get a laptop in the foreseeable future, and I really want to stick to Linux. However, I may need to be out-of-home for 12+ hours straight in a day. After some research, it seems people are generally not that impressed with battery life on Linux?
The laptop does not need to do anything heavy duty, as I will remote back into my already very beefy desktop back home.
I guess a common solution to this light use case is M2 MacBook if one wants to completely throw battery concern out of the window. Well… let’s just say it’s a love-hate relationship.
My thinkpads have always gone further on ubuntu than on windaz.
Yeah my x1 carbon thinkpad has great battery life with Linux.
I’ll use power saver in fedora if needed.
My x1 carbon, with tlp and kubuntu, idling with screen on estimates 20 hours battery life. Haven’t had the patience to test it yet.
Is that just forcing the cpu scheduler? I use ubuntu-mate, and theres just a dropdown widget to switch between balanced/power/powersave.
Some addition power management tools I suppose?
vanilla with no configuration.
Tlp and Intel xtu for undervolting (lowers temps and power consumption, but newer cpus don’t support it) are pretty good ideas. If battery life is your perogative, try avoiding discrete gpus, they can be a pain to make sure they don’t drain battery in Linux. 14hrs is possible, but you have to spec properly (think thinkpad t480 with dual batteries, and a low power display).
tlp is enough
Battery life on laptops is always over exaggerated regardless what OS you run.
12+ hours of actual battery life during use just doesn’t happen.
yeah I put Linux on my 2019 XPS 15 back in 2019 and went from 4 hours of usable productivity time to 4 hours of usable productivity time
battery degradation is a much bigger issue than Linux vs windows
12+ hours of actual usage is doable on Apple Silicon, but it does depend on what your usage is. If you’re compiling something 50% of the time then probably not. If you spend most time writing code and then testing the application after compiling? Yeah it’ll last you 12.
I know that’s not what OP has and it’s not what they should get for Linux usage, but I’ve worked with 3 now (one personal, two at different jobs) and these things are the holy grail of battery life. First day on my M1 Air, taking it off the charger, 2 hours in it had used maybe 5% battery watching a udemy course and playing around in xcode.
So I think we should demand better of our laptops. I do believe AMD has done a lot, they had an entire generation where all they advertised was the increased power efficiency.
Removed by mod
This is what’s important. If you don’t enable power saving in some fashion, your hardware will always be “on” at full specs. Even if the machine isn’t actually being used, it’s still powering everything to be ready to jump at any opportunity to process something quickly without ramping down.
TLP has pretty excellent default settings. Simply turning it on will likely make your battery life go 2-3x longer than without it being on, and you will have about 80% of the performance from a UX perspective. And if you want to crunch numbers faster on battery, you can tune TLP or turn it off temporarily.
Thanks to you I just found out that I DID enable wake-on-lan a year ago and that there’s another reason I couldn’t do it.
It depends. If you get a fairly standard laptop from a brand that has some Linux awareness (Lenovo, Dell, Framework,…) you should be alright out of the box.
Gaming laptops generally are a bit worse since GPU switching is not as well integrated. I managed to get mine to parity but with a lot of tweaking. Devices with only integrated graphics tend to be fine out of the box.
It’s very dependent on the laptop. Some ThinkPad get better battery life than on Linux because a lot of kernel devs use them.
My X1 Carbon gets about 15% better battery life with PopOS vs. Windows.
That’s new info for me thanks. Never knew thinkpad can excel in this department.
It depends on the ThinkPad. They’re not all created equally and the quality between models varies wildly.
Gaming laptops will have marginally worse battery life when properly configured. But in general you’ll get better battery life on Linux in my experience.
I just spent two weeks trying to convince a new intel Zenbook laptop to have decent battery life. It would eat the battery both awake and asleep. Went through the Arch wiki on suspend issues. Discovered that the bios has a broken vestigial S3 suspend (which more and more vendors are shipping); the modern suspend mode is now S0ix (s2idle). Found that my system was only getting into C2 and C3 out of C10 levels of S0ix power-saving-state nirvana.
Somehow, I lucked upon finding that the Intel Rapid Storage/VMD setting in bios was what kept the processor from ever going to lower power states. Once I disabled that, nearly everything else fell into place. The cpu ran cooler at normal use, battery lasted longer, and power burn during sleep went from 4% an hour to negligible.
This was fun. Not one tool successfully pointed me at the real problem. It took one random dell support post to set me on the right path. https://bugzilla.kernel.org/show_bug.cgi?id=211879. I spent two weeks chasing the same problem that somebody else had in 2021. Linux doesn’t have a [WARNING] for detecting a damned VMD, and it doesn’t have a means to tell the VMD to fuck off? The stupid hardware doesn’t have the sense to not fuck up the processor if it isn’t attached to its Windows-only driver? I don’t understand how anybody has been able to use an intel for the last couple of generations if this is how they work.
In conclusion - battery life is actually pretty great now. But it was a bloody nightmare to get here.
HP Elitebook 840 G5 here, doubled battery time after switching from Windows 10 to Debian 12.
It depends on the distro and how you configure it.
For distros that just work out of the box like ubuntu or manjaro it should be about the same as windows unless there’s something weird in your laptop, but in general there are 3 really useful tools that I recommend you check out are:
- TLPUI: a user interface for TLP, a power management tool that’s used in most distros. With this you can configure your min/max clock speeds for your CPU and GPU when on battery vs plugged in, CPU governor, display brightness, automatic poweroff of drives and USB devices, and many other things
- throttled (https://github.com/erpalma/throttled): originally created to workaround a BIOS bug on some thinkpads, this can now set things like turbo duration, power limits and undervolting, all based on whether you’re on battery or plugged in
- LACT: if you have an AMD GPU, you can use this to undervolt it or to set a better power limit
Setting these up properly on my thinkpad t480 with manjaro gave it a good 50-60% of extra battery life for what I use it for (I’m a teacher so mostly presentations and various IDEs). You should check them out.
installed Linux Mint on various apple macbooks i got second hand and the battery life is abysmal.
Intel or ARM?
The battery life on Apple Silicon (at least on MacOS) is so good it’s bonkers. I’ve been curious about how well Linux does, but I haven’t successfully gotten a Linux distro w/ desktop fully running on my M2 MacBook yet (driver issues).
Old Intel crapbook air from 2013 or 2015. The battery life wasn’t ever great, but it significantly diminished when i changed them to linux. I expected an increase…
English is not my first language, said that, abysmal is too good or too bad?
very bad, sadly
no good
On my ThinkPad I get far more battery life than I ever did on windows
It depends on a few factors. Stock laptop experience with no power management software will likely result in poor battery life. You will need some kind of power management like TLP, auto-cpufreq, or powertop to handle your laptop’s power management settings.
Second is the entire issue of dedicated GPUs and hybrid graphics in laptops, which can be a real issue for Linux laptops. In my own laptop with a dGPU, I am reasonably certain that the dGPU simply never turns off. I have yet to figure out a working solution for this, and so my battery life seems to be consistently worse than the Windows install dual-booted with it on the same machine.
If your dGPU supports rtd3 power management, it should (almost) completely power off when not in use. For me the battery life changes a lot: is something like 2 hr vs 10hr battery life with the GPU off, which is very noticeable.
In everything I have seen, there has been no way to turn it off fully (laptop with a GTX 1060). Nvidia x server settings shows no option for a power saver mode, and even Optimus-manager set to integrated graphics only does not seem to have changed it. It seems to continuously idle at the minimum clock speed at around 5W of draw, according to programs like nvtop.
On my Linux laptop with a Nvidia card, there is a Nvidia program which lets you switch between dedicated or on-board graphics, or on-demand where applications can request the graphics card. Before that the dedicated card was always on. I’m on mobile at the moment, but there is an official Nvidia website with drivers and other programs to control this. I assume the same for AMD, but I haven’t checked.
Do you have any recollection of the name, or a link? I have the nvidia xserver settings gui program, but I do not see any option to put the GPU into a powersave mode.
Its usually the distro which create it like in ubuntu its prime-select.
Nvidia Optimus and the selector I’m using is MATE Optimus
Not bad at all. With some tweaking, it is commensurate with other operating systems.
I have an older 6th gen Intel XPS that probably lasted 7 hours max on windows and I get 6+ on Linux. Not really noticeable to me. I should have gotten the 1080p screen instead of this 4k monstrosity and battery life would have gone up 50%. The thing is also a beast at sleeping and will go well over 2 weeks before the battery drains. Which is great because I just use it on the couch now and will open it up for a few minutes here and there before shoving it back between the cushions again.
Last year I got a 12th gen framework and battery life is disappointing under Linux. Maybe 5ish hours. I can live with that but when sleeping it still drains like 25% a day.
I doubt you can get 12h on an x86_64 computer, regardless of OS. With tweaks Linux can match Windows battery life but if you really need 12h get that M2 MacBook.
Got it. Get a MacBook and install Asahi Linux on it. 😅
Asahi doesn’t have CPU frequency management and will drain battery in 3h iirc