Hacker News new | ask | show | jobs
by jchw 1317 days ago
Does that laptop support Linux? If not, I'd expect a key reason is simple; it likely is not using all of the power saving functionality supported by the laptop. This might include things like S0ix, throttling, proper sleep states, etc. There's a lot of factors going in, and I think by and large it is not actually an endemic issue with Linux itself. Consider for example that x86 Chromebooks have no issue fully exploiting modern x86 power saving features and getting good battery life.
3 comments

Run powertop as root and go to the analysis tab

https://wiki.archlinux.org/title/powertop

It does not. I use some extra software to try and improve that, which helps, but it also means the laptop is noticably laggy on battery. But you're right that is likely part of the equation. I don't think it's the whole story though, I see other people complaining of wise than Windows battery life on laptops that do support Linux.
I've got an lg gram that I use for day-to-day life, and the battery on linux and windows is more or less identical.

I think the biggest thing is not having a discrete GPU.

I've personally sworn off discrete GPUs in laptops entirely. My direct and observational experience over a couple decades has been that they cause something like half the major problems in laptops, despite not being present in all of them. Your odds of not having any serious problems over, say, a five-year laptop lifespan are dramatically lower without a discrete GPU.

[EDIT] And that's even true for Apple laptops, IME.

The thing is, there aren't really that many laptops designed to run Linux. Even offerings like these and those from System76 are actually made largely based on designs made to run Windows and adapted later. Sure, this feels like a cop-out and is not really of much aid to anybody, but it's only fair to note. Generally, I do not have dramatically worse battery life on Linux vs Windows, but I also did stop buying laptops with NVIDIA graphics. (Irrespective of Linux, these have given me tons of trouble. Even on Windows, external displays were a painful experience on my Thinkpad P52 no matter what mux settings were set in firmware. I guess it works out OK since NVIDIA on Linux is far from ideal at the moment.)
> Even offerings like these and those from System76 are actually made largely based on designs made to run Windows and adapted later.

System76 does get complete hardware specs from the chipset manufacturer, though, and their cooperation in porting an open-source firmware to the motherboard. They run Coreboot instead of the proprietary OEM UEFIs, and this has let them achieve some nice things in power management (including MacBook-like instant on from sleep and hibernation, for example) on some models.

I'm still excited for the first systems where they get to do the physical design as well, but their firmware work on their rebadged laptops is substantial and relevant to the power efficiency issue.

I haven't owned a System76 laptop personally, but I really like what they have done in theory. I've actually been waiting largely because I'm interested to see what they put out when they start fabbing their own laptops.
I agree! The desktops they've built themselves are wonderfully designed, if rather expensive. I'm looking forward to the first laptop they make where they designed the whole thing.
Suppose I want to reverse engineer all of my laptop's power saving features and write drivers for them or whatever it is that Linux needs to work properly. How do I begin? I managed to get as far as dumping ACPI DSDT but I couldn't figure out where to go from there.

I got all the extra USB features working. It should be possible to support everything else too. If I learn this I'll add support for all the laptops I buy in the future too.