Linux has a lot of advantages, but long battery life on a laptop isn’t usually one of them.
Manufacturers optimize their device drivers to work best on Windows, and while a laptop may perform just as well with Linux as on Windows, it will often eat through the battery more quickly. New versions of the Linux kernel have improved power-saving this in the past and hopefully will in the future, but here’s how you can get longer battery life today.
For laptops with Nvidia and AMD graphics
If you have a gaming laptop with Nvidia Optimus or AMD’s equivalent switchable graphics, Linux flat-out doesn’t handle it properly out of the box. By default, your laptop will use that power-hungry Nvidia or AMD GPU all the time. This can result in dramatically shorter battery life than you’d get on Windows.
Even if you don’t have switchable graphics and just have Nvidia or AMD graphics, the open-source graphics drivers aren’t as far along with power-management support. You’ll likely get better battery life by installing the proprietary Nvidia or AMD graphics drivers, which can enable the GPU’s lower-power state more reliably.
To fix this, you’ll want to install the Nvidia or AMD drivers. If you don’t care about graphics switching at all, both the Nvidia X Server Settings and AMD Catalyst Control Center tools offer a way to disable the dedicated GPU and always use the integrated one. After you make this change, you could get hours of longer battery life.
This is the one big “gotcha” with many modern laptops. Linux handles everyone else decently out-of-the-box, but not switchable graphics.
The usual power-saving tweaks
The usual tips for boosting battery life on a Windows laptop apply to Linux laptops, too.
You can easily control the power-saving options from your Linux desktop’s main settings window. For example, these options are all available in System Settings on Ubuntu’s Unity desktop.