How bad is battery life on Linux laptop?

OmltCat@lemmy.world to Linux@lemmy.ml – 67 points –

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.

85

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?

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.

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.

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.

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.

It really depends on the hardware and your use cases (ie. workflow).

I have a laptop (Dell Latitude 7420) with an integrated GPU (all Intel Tiger Lake), and I regularly get between 8 - 10 hours of battery life with just using terminals and web browsers (Firefox).

On GNOME, you will want to take advantage of the power profiles. With Pop, you can take advantage of their power management system. Otherwise, you can use something like TLP to minimize your power usage.

Moreover, if you are watching videos, then you want to make sure it is GPU accelerated and using the builtin hardware codecs rather than relying on the CPU to do the decoding.

I think that 12 hours on Linux on Intel/AMD is a stretch... but 8-10 hours is achievable and realistic (from my experience anyway).

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.

HP Elitebook 840 G5 here, doubled battery time after switching from Windows 10 to Debian 12.

Not bad at all. With some tweaking, it is commensurate with other operating systems.

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...

I was buying a new laptop subsidized on 80% store credit, so I could only go for what they had in stock, unfortunately. I still haven't had a single computer with an AMD GPU, but iGPU laptops give me a taste of what things could be like without NVIDIA...

I've got a Surface Laptop 3 running Fedora that is always dead after an extended sleep. Actual working battery life is not bad though.

2 more...

On my ThinkPad I get far more battery life than I ever did on windows

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.

My exceedingly old X230 with an inefficient sandy bridge chip gets 10 hours with normal light use. If I start using CAD or something more intensive it drops a bit, but it’s still likely there’s a machine that can do a 10 hour workday with your workload.

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

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

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...

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.

Using a 2022 Lenovo Legion 5i with 3070 and the batter life is regrettably similar. I desperately wish my Linux boot could dunk on the battery life of windows but it is extremely similar, which I guess I should take as a win.

Running Mint with 6.1 kernel, but have tried a slew of different builds and they are all within hitting distance. Again. I should be happy but I'll only be happy if all the hours I have spent screwing with my OS leads to a clear win of some sort other than the intangible benefit of sticking it ever so slightly to MS.

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.

Considering my gaming laptop, it does 1h on Linux and, if I recall correctly, 2hrs on Windows. You can pick a laptop with a good Linux support so that you can have a good battery life

Yeah gaming laptops are notoriously bad at battery life, regardless of the OS.

I just installed openSUSE on my laptop, and I think it's actually better, mostly because it actually sleeps properly.

Lol I haven't had batteries in a laptop for years 😹

My Tuxedo Pulse 15 (Gen 1) had 12h of battery life doing office work, when it was new. Now with some degradation, it still gets 9h. Of course that changes heavily depending on workload and screen brightness

My lenovo yoga slim 7 pro x with a ryzen 6800hs consumed about 6 watts at idle when I used manjaro and i3 with auto-cpufreq. That meant it got around 8 hours of screen on time in the real world and up to 10 if I barely taxed it. Now on fedora with gnome and wayland and no tweaks it also consumes just over 6 watts at idle but we'll we how it pans out. If there are any power tuning tips for gnome/wayland/amd I'd like to hear them. I don't know if auto-cpufreq is still relevent with the newest kernels.

A lot of the newer AMD models have excellent battery life thanks to the combined efforts of Vavle & AMD on the Steam Deck.

I can only speak from experience, but all three of my Thinkpads last about 20-30% longer on Linux than Windows.

My old laptop got a new life after switching to minimalist linux instead of windows. So much longer battery time. Extended lifetime by years.

On r/thinkpad (I think), I at some point read about the AMD powered machines having extraordinary battery life on Linux, to the degree that I regretted my very recent Intel ThinkPad purchase. Maybe that's something to search for. I think it was the new T14.

I use a 2020 hp envy 360 with a ryzen 4700u. I can get away all day typing or websurfing indoors. I can also drain the battery in two hours by playing games.

One of the things I like, is how easy it is to govern the cpu. If I know I'm away from a wall for a bit I can govern the cpu to 1.4ghz and it'll last a long time. I haven't actually done any testing to see how long.

I get 10 hours of my usage on my framework. It really depends on model and your setup.

I can give you my opinion on a Gigabyte Clevo Laptop.

My laptop both ran to fast and hot which drained the battery. This was an issue in both Fedora and Manjaro.

I need to use different utilities to reign in the battery depending on the OS. Fedora it came out of the box but Manjaro I needed to install Slimbook Battery.

The other issue is the networking kills my sleep. Fedora was better with this than Manjaro, but newer versions of Manjaro kill WiFi when you put it to sleep. So it been better.

In comparison with windows while id like it to just work. Being able to tweak it is much preferable.

im getting pretty similar results to what it was on windows i think. endevouros kde on lenovo yoga, with tlp conservation mode when charging.

Using a Matebook running NixOS as my daily driver. Battery life is pleasingly good, lasting up to 9 hours. This without tinkering with battery settings at all.

It's around the same for me, altough windows is slightly better when battery saver is activated (hp pavilion 14 with an i7 1255u, windows 11 and fedora 38)

I'm sporting 8-10h on my Tuxedo Pulse 15 (Gen 1)

At least with AMD my runtime was always pretty good under Linux. Since some years at least. Was on Intel before and always had worse battery life with Linux - most probably because of the additional NVidia GPU, that didn't play nicely with Linux power management

With mine (an Acer Aspire A515 I got for free from where my mom works) I get around 3 hours (according to the time remaining, although in longer use sessions at my desk I usually plug it in every hour or 2, and unplug it when its full), which is about the same as Windows thinks it is. So i would say it gets around the same battery life whether I use Windows or Linux

I have ~1.25hrs of uptime on Windows. Almost the same, if not more, on Arch.

It's really almost the same.

Depends on the device. Some devices are horrible but some last for 18+ hours.