Why Is Linux Notebook Battery Life Still Poor?
Ganty writes "I recently purchased a Lenovo W500 notebook, and after 'downgrading' to XP and creating a dual partition, I found that I had a battery life of nearly three hours using the long-life battery, at this point I was a happy camper because it means that I can watch a DVD during a flight. I then tried various Linux distributions and found the battery life under FOS to be very disappointing, with an average of 45 minutes before a warning message. After settling on Ubuntu I then spent three days trying various hardware tweaks but I only managed to increase the battery life to one and a half hours. Unwanted services have been disabled, laptop mode has been enabled, the dual core CPU reduces speed when idle and the hard drive spins down when not needed. Obviously Apple with their X86 hardware and BSD based OS have got it right because the MacBooks last for hours, and a stock install of MS Windows XP gives me three hours of life. Why is battery life on notebooks so poor when using Linux? Some have suggested disabling various hardware items such as bluetooth and running the screen at half brightness but XP doesn't require me to do this and still gives a reasonable battery life."
Is your screensaver running SETI?
Probably not a good idea if you want to conserve battery life.
I may sound like a jerkwad here, but why waste all that battery power watching a dvd when you could watch the divx version off local storage?
Linux is a popular choice for netbooks, where battery life is paramount.
You mean "was", until Microsoft decided to keep Windows XP alive in the North American market for a few more years at bargain-basement prices per copy.
This is just the same problem Noted in XKCD.
Good battery life is not cool. Open source software, especially a mutt like linux, is all about cool.
Good battery life requires annoyingly huge amounts of microoptimizations and chipset-dependent tricks. Which is most definatly NOT cool.
Test your net with Netalyzr
It always cracks me up when WHOOOSH!
09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
And I get 7-8 hours on ubuntu with my netbook. ... but I get 10 hours in WinXP, and that's the point. We need a comparison.
We need a -1 TrollFeeder option
"A person is smart. People are dumb, panicky dangerous animals and you know it." - K
Oare we talking notebooks or netbooks? Linux on my netbook had a lot more battery life then XP or OSX on the same netbook. Win 7 may beat it or be close. haven't fully tested it yet. It could also be that the SSD drive is liked more by Linux then XP for me.
But have others have said, are the power saving setting turned on? I thought those were turned off by default. Is it even a fair test? Are both machines the same? Both OS set to turn the same things off?
Why would the manufacturer lie in a way that makes its own product look worse?
But the problem still is: On windows, it has tons of background stuff active, you use the mouse, you have a colorful UI with FX, and full brightness, while your wlan scans the surroundings, and you *sill* get nearly as much battery life. Something is wrong there...
Any sufficiently advanced intelligence is indistinguishable from stupidity.
Hardware specifically designed for the OS...
As far as I know, Windows does not tailor it's code to all Dell, Lenovo, Gateway, HP, and Asus laptops.
Come on, you refute your own argument. Hardware manufacturers do design their laptops to play well with Windows, in general. It is only recently that they have even considered installing linux as a feature. Most of them are probably still way behind on making their hardware play well with Linux. The main complaint I always hear about Linux is about having to do fancy things to make drivers work. So all comparisons are valid.
So maybe it's time for both kernel developers and distribution packagers to focus a little bit more on which hardware users are buying.
Which is not multi (4+) core servers, but rather cheap laptops and netbooks.
And, anyway, lower power consumption and better efficiency will probably also benefit the "big iron".
Maybe Computers will never be as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1988]
It is notoriously hard to work with power management features of notebooks, because it is hard to find a really ACPI-compatible BIOS. Most of them are broken in some way, or require undocumented voodoo and magic values to behave. There is really no solution to this unless: a) Manufacturers get their shit together and ship functioning hardware, not hardware that accidentally happens to work under Windows (systemic approach); b) Linux gets more mindshare and those issues get sorted out on a per-device basis (band-aid approach). a) is very unlikely, since shipping functioning hardware brings no obvious reward to the manufacturer. Therefore we can only hope for b).
Note that this is not limited to ACPI. In almost every area, there are hardware products that do not comply with specifications they are supposed to comply with, lie about supported features when probed, have bogus device descriptors, reuse the product ID of a different device, do stupid things when supplied valid commands it doesn't expect, etc.
Those who would give up liberty to obtain working drivers, deserve neither liberty nor working drivers.
I'm running a stock Ubuntu install (except Nvidia drivers) and my battery life is great. The sleep mode works, too. The key to running Linux is using compatible hardware and it works very well. Ubuntu really has made the user experience better than Windows. I'm not saying that Linux offers the same breadth of software but on compatible hardware is really is slick. I was at my brothers and wanted to print a file. I plugged the USB cable in and the selected the printer while printing from the application. No downloading drivers, no loading crapware from a CD, just plug in and print.
I think many of the posters here, who all have great ideas and suggestions, are missing the point of the OP.
Why is an out-of-the-box XP machine performing better than an out-of-the-box Linux machine?
The Linux community shouldn't be saying "try this" or "tweak that" or "install this device driver" or "switch your hardware"... they should be working on building those into the next revs of the OS and making them part of the default configuration (or at least an easy prompt like XP offers).
-David
It's incredibly hard to say because the summary doesn't provide enough detail in and of itself to diagnose the problem (e.g. which graphics card, which chipset, which drivers are being used, which version of Ubuntu and so on). The most likely explanation is that hardware is being left on in Linux that other OSes are powering down when on battery. Examples of this:
As you can a myriad of reasons and not nearly enough information to whittle down the cause. Further how do you know each OS is using the same defaults? It could be that Windows says you are running out of battery later than Linux does (I'd imagine that this sort of thing could only account for 10 minutes difference to actual empty battery though) or the display is defaulting to a different brightness - it could be that lots of little things are adding up to the major difference.
A few years ago I had access to a Thinkpad T60 and it would draw two watts less power under Windows XP than under Ubuntu Gutsy. That doesn't mean things don't change over time but nor does it mean that people aren't seeing real problems now. If you know how to constructively help, things can get progressively better on your system but it can take some time and you need to know how to track these things down. Tools like powertop help and developers have been putting together good power management practices for Linux guides. However in all honesty posting to Slashdot is unlikely to help you obtain a solution (and indeed there is no guarantee of a solution even over a long period of time).
Sounds like you are simplifying the situation alot. Yes thats how you do power management on tiny microcontrollers, but that has nothing to do with power management on a typical PC.
Video card have ways to stop clocks in certain areas of the chips, this is the main way power is saved, same with CPU's. These devices don't have I/O pins in the same way microcontrollers do, usually all the buses are tri-state and there is no need at all to 'set' something to input or output or high or low, you simply high impedance the whole bus connection.
What you are talking about has nothing to do with programming on modern computers, you can't just tell your video card what pins to set as output and input, you have to talk to it over a bus, and it runs its own firmware/bios that may have calls that make it disable clocks in certain parts of its chips and high empedance certain bus lines etc. Knowing what these commands are and how to talk to chip when the manufacturer doesn't release any details, just a windows binary driver is the whole problem in the first place.