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