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 is enough
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).
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.
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.
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.
HP Elitebook 840 G5 here, doubled battery time after switching from Windows 10 to Debian 12.
I’ve installed a few distros on my gaming laptop for fun and something I’ve noticed was that your desktop environment may have a large impact on your battery life.
With Mint, my battery would die in like 2.5 hours. After installing Arch with the Budgie desktop environment, I’ve noticed that my battery life was twice as long as when it was running on Mint.
I actually get 2x the battery life of windows on my ThinkPad. If you run a distro like Arch or Gentoo you will have to configure some things to get good battery life, but with Mint or something it just works™. If you want a whole lot of battery life you could get a laptop that has a replaceable battery, like the T480 (still plenty powerful for Linux), then your max life is limited only by how many extra batteries you are willing to carry.
My T480 has a very worn internal battery, but still does 8-10 hours. Thanks to the powerbridge I can hotswap a second battery to run for another 7 hours.
installed Linux Mint on various apple macbooks i got second hand and the battery life is abysmal.
English is not my first language, said that, abysmal is too good or too bad?
very bad, sadly
no good
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…
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
Pretty bad. My gaming laptop gets 2 hours on Arch and 4 on Windows. My work laptop gets 4 hours on Arch compared to 6 hours on Windows. My 2-in-1 laptop from 8 years ago gets about the same, if not more. My 2009 laptop gets like 8 hours, and probably more than Windows would.
Edit: I use auto-cpufreq, but this doesn’t help much. Power-profiles helps a little.
Gaming laptops are a bit worse on Linux. But this isn’t generally applicable.
I have a 2015 ultrabook that still gets 5h+ on battery under Linux. My 2022 gaming laptop required some tweaking but now does 8-10h on a charge as well.
My work laptop doesn’t have a discrete GPU; I bought it explicitly to get better battery life (I really like the gaming laptop for its 120Hz screen and other specs, but the battery life made it a no-go). It gets around 4-5 hours, which is good enough for me, but I’m sure it would get better battery life on Windows.
How did you get better battery life on the gaming laptop, if you don’t mind my asking? It uses a NVIDIA GPU.
I made a script that monitors the power state of the laptop and automatically toggles the following things:
- Limit the CPU boost frequency to something more reasonable using
cpufreq
when not plugged in. - I limit the GPU to 32W when on battery and 42W when charging over USB-C, while giving it the unrestricted 100W when running from the normal power charger. I tried fully turning off the GPU but there’s no measurable benefit in battery life compared to this setup (GPU goes to ~0W when idle anyway).
- I set refresh rate of the display to 60hz on battery (144hz when plugged in)
- I turn of half the cores of my 8 core CPU om battery (this is pretty aggressive, and does not result in better battery life on all platforms - your mileage may vary)
That takes me from 4-5h to ~8-10 and the computer is still very useable.
Mine is an AMD device but Nvidia offers similar toggles through the
nvidia-smi
command.Some good pointers, thanks! I imagine it’s mostly the 120Hz display that’s killing my battery life…which is a shame, but alas, sacrifices need to be made sometimes. I’ll have to give these things a try!
Was it hard to find an AMD dGPU laptop? There are almost none where I’m based.
Yes, it was slim pickings. I tried a couple last year and finally ended up keeping an all-AMD Asus Zephyrus G14.
Others I tried:
- MSI Delta 15: overall best performing of the bunch, returned it because of somewhat substandard machining and build quality. Linux worked perfectly out of the box.
- Medion Erazer Major: Intel Arc laptop. Good performance but couldn’t get the battery life up to good standards
- Lenovo Legion S7 16: just stopped booting after a week
- Asus Zephyrus G14: small, light, excellent quality, but a little bit of tweaking getting everything working
Today I would just preorder a Framework 16.
all-AMD Asus Zephyrus G14
That was what I originally wanted! They were sold-out by the time I needed to buy one, so I went with an ASUS Scar something-something.
Most of the laptops I own are Dell laptops which originally came with Windows, on account of the 5-year repair deal where they repair it wherever you are (making use of IBM’s network to do so). I didn’t get a chance to see how the latest one worked with Windows 11 because I wiped it immediately…
I’ve heard good and bad things about Framework with Linux. I don’t know if I would end up buying it either way, as it seems like it would demand more experience than I have.
I couldn’t find one locally either. Ended up ordering a returned product from Amazon abroad, a friend of mine then shipped it over. The stuff I do to avoid Nvidia…
- Limit the CPU boost frequency to something more reasonable using
I’ve never really noticed a huge difference with the Dell XPS models we use at my work. There’s a developer edition of that laptop that ships with Ubuntu, though, so they might have more optimizations than some manufacturers.
I think most people would recommend getting a laptop that has manufacturer support for Linux, which includes dedicated Linux laptop companies (like System76) but also certain Dell and Lenovo models. (There’s several others too. Those are just the ones I know off the top of my head.)
Yep I’m looking at system76. Not sure about how valid the 14h battery life claim is though. That seems awfully optimistic on a 10-core Intel chip.
I have a System76 Pangolin 11 with the Ryzen 7 and the battery life is trash. It would die on me during meetings from a full charge if I was sharing my screen. Not blaming System76 on this one, its probably the AMD chipset all things considered.
Replaced it with the Thinkpad X13 Gen 2 and love it. Easily gets 8 to 10 hours on OpenSUSE, and everything just works.