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