Linux – Why does Linux have poor battery life by default compared to Windows

acpibatterylinux-kernelwindows

Is there something inherent to Linux operating systems that makes them poor managers of battery power by default? I would have thought a light distro like Lubuntu would have a clear battery life advantage over Windows, yet this doesn't seem to be the case. Is it a hardware vendor issue – are laptops just designed to work more power efficiently with Windows OSes?

For example, in my experience on the same laptop, a given linux distribution always seems to have poor battery life compared to Windows. My old laptop (a Thinkpad X61) lasted nearly half as long when booted into Lubuntu than it did when using Windows XP. On a newer model, I get a similar poor performance using Fedora 20 vs Windows 8.1.

Best Answer

A modern computer contains hundreds of parts that can be turned on and off or clocked faster or slower independently. The granularity is smaller than visible chips, smaller even than cores. A large part of power saving consists on turning parts on and off at the best time. Each part should be turned off when not in use, but only if it's going to remain unused for a long enough time to be worth it (when the part restarts, it needs some time and hence some power to reboot and restore its old state).

Thus good power management requires well-written drivers. Hardware manufacturers are very cagey about giving out details about their hardware to people who write drivers. Even people who write closed-source drivers under a non-disclosure agreement often lack detailed documentation — and people who are writing open-source drivers for an operating system that the manufacturer doesn't care much about have it a lot worse.

So on PCs, Linux starts at a disadvantage, not for technical reasons, but for social reasons.

Linux is used in many embedded devices and higher-end devices that run on batteries. The kernel matters a lot for battery life; most smartphones run Android, which is based on a Linux kernel.

To save battery, make sure not to run a “screen saver” (go for a plain black screen), and stay away from 3D effects (which stress the GPU). Don't keep web pages with CPU-intensive animations and other effects (Chrome has a nice view of per-tab CPU consumption). Enable CPU frequency scaling while not connected to the mains; it makes your computer slower by slowing down the main CPU, which saves power. Run Powertop to see where your power is going given the way you use your computer.

Related Question