1

EDIT: After reading @jandry's reply, I decided to give another distro with a different window manager a try to see if it is really Unity's fault. I installed UbuntuGnome, and to my utmost surprise the battery life on a fresh vanilla installation, was about 8-10 hours which is even better than Windoze 7! It's a shame that Unity is the culprit here.

I'm running Ubuntu 13.10 on a Thinkpad T530 machine. (Core i7, 9-cell battery, 16GB RAM, nVidia + Intel VGA, 15" LCD, ...). Since I don't play games, I have disabled the nVidia card from BIOS so practically the system has only one VGA card, the Intel one.

I have installed and enabled laptop-mode-tools. When running on battery, the battery provides about 3 hours of charge. The same machine, running Windoze 7, had about 7-10 hours of battery life.

I understand that comparing battery consumption on Windoze and Linux doesn't make sense as it is deeply dependent on the quality of the drivers available on either operating system. However, still, 3 hours of charge is pretty much ridiculous for a 9-cell battery.

I installed powertop to find a clue. Here's a full output after logging in and before running any applications:

The battery reports a discharge rate of 23.5 W
The estimated remaining time is 2 hours, 18 minutes

Summary: 341.5 wakeups/second,  6.5 GPU ops/seconds, 0.0 VFS ops/sec and 6.9% CPU use

Power est.              Usage       Events/s    Category       Description
  3.56 W     2729 rpm                   Device         Laptop fan
  3.15 W      1.1%                      Device         Display backlight
  1.58 W      0.0%                      Device         Display backlight
  383 mW      0.3 pkts/s                Device         Network interface: wlan0 (iwlwifi)
 45.3 mW     11.6 ms/s      54.5        Process        compiz
 30.3 mW     14.9 ms/s      23.7        Process        /usr/lib/unity/unity-panel-service
 20.1 mW      9.7 ms/s      19.6        Process        indicator-multiload
 13.6 mW      6.8 ms/s       9.1        Process        /usr/lib/x86_64-linux-gnu/hud/hud-service
 8.11 mW      3.3 ms/s      21.9        Process        /usr/lib/x86_64-linux-gnu/indicator-application-service
 7.84 mW      3.7 ms/s       9.7        Process        chromium-browser --no-startup-window
 7.03 mW    419.1 µs/s      15.0        Process        syndaemon -i 1.0 -t -K -R
 6.18 mW    650.0 µs/s      59.0        Process        [rcu_sched]
 5.79 mW      2.9 ms/s       3.5        Process        /usr/bin/X -core :0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
 5.73 mW      1.3 ms/s      39.9        Interrupt      [46] i915
 4.69 mW      1.5 ms/s      21.5        Process        [irq/45-iwlwifi]
 4.17 mW      2.2 ms/s      0.00        Process        dbus-daemon --fork --session --address=unix:abstract=/tmp/dbus-S5L9UiJPRW
 3.32 mW      0.9 ms/s       2.6        Process        gnome-terminal
 2.43 mW      1.3 ms/s      0.15        Process        powertop
 2.05 mW      0.8 ms/s       6.9        Process        upstart-dbus-bridge --daemon --session --user --bus-name session
 2.01 mW      0.9 ms/s       3.5        kWork          iwl_bg_run_time_calib_work
 1.53 mW    372.9 µs/s       9.8        Timer          hrtimer_wakeup
 1.46 mW    679.7 µs/s       2.0        Process        /usr/bin/python3 /usr/bin/indicator-cpufreq
 1.42 mW    425.4 µs/s       7.3        Timer          tick_sched_timer
 973 µW     116.3 µs/s       9.0        kWork          ieee80211_iface_work
 864 µW     307.7 µs/s       3.3        Process        stardict
 844 µW      99.0 µs/s       7.8        Interrupt      [45] iwlwifi
 629 µW     263.2 µs/s       1.5        Process        /usr/lib/x86_64-linux-gnu/indicator-power/indicator-power-service
 478 µW     252.0 µs/s      0.00        Process        [kworker/u16:5]
 475 µW     245.6 µs/s      0.10        kWork          output_poll_execute
 447 µW     233.2 µs/s      0.05        Process        [rcuos/6]
 418 µW     220.3 µs/s      0.00        Process        [kworker/u16:7]
 398 µW     205.0 µs/s      0.10        Process        [rcuos/0]
 384 µW     202.2 µs/s      0.00        Process        [rcuos/4]
 381 µW     200.9 µs/s      0.00        Timer          process_timeout
 380 µW     195.9 µs/s      0.10        Interrupt      [7] sched(softirq)
 373 µW      35.7 µs/s       3.6        kWork          intel_unpin_work_fn
 329 µW     173.2 µs/s      0.00        Interrupt      [1] timer(softirq)
 303 µW     110.9 µs/s       1.1        Process        /usr/lib/upower/upowerd
 256 µW     135.0 µs/s      0.00        Process        dbus-daemon --system --fork
 251 µW      39.7 µs/s       2.1        kWork          intel_fbc_work_fn
 240 µW     102.3 µs/s       0.5        Process        NetworkManager
 230 µW     121.2 µs/s      0.00        Process        [rcuos/2]
 181 µW      95.3 µs/s      0.00        Timer          delayed_work_timer_fn
 153 µW      72.0 µs/s      0.20        Process        /usr/sbin/irqbalance
 149 µW      30.2 µs/s       1.1        Interrupt      [4] block(softirq)
 140 µW      56.0 µs/s       0.4        Process        gnome-settings-daemon -r
 134 µW      70.5 µs/s      0.00        Interrupt      [9] RCU(softirq)
 126 µW      64.2 µs/s      0.05        Process        [rcuos/3]

Also, all CPU cores are running at ~1200MHz and I have manually disabled all the services I don't mind starting manually like postgresql or tor. As you can see the battery is discharging at ~24W/h which is outrageous.

How can I improve the situation here? What is the main culprit behind this awful discharge rate? I can't understand the logic that how powertop is reporting that value. I have read a ton of post regarding power consumption but to no avail.

TIA,

1 Answer 1

1

EDITED OUT THIS LINK TO DEBIAN FORUMS BECAUSE I DONT HAVE ENOUGH "REP"

https://wiki.archlinux.org/index.php/Lenovo_ThinkPad_T530

I wrote the battery section of the Arch wiki, and you can see my response at the end of the debian thread above. The biggest problem with Ubuntu I suspect is that it runs a lot of processes straight from boot, many of which you dont need. Also, laptop-mode-tools is not just an install and its done type of deal- you will have to go through its options with a fine-tooth comb. Something I neglected to mention in either place is to create the file: /etc/modprobe.d/intel.conf and place the following in it: options i915 i915_enable_rc6=7 i915_enable_fbc=1 lvds_downclock=1

That one dropped my idle usage watts below whats listed in the Arch wiki. With the latest kernel in the Arch world (3.13.4-1-ARCH), my T530 (specced similar to yours) is using about 6.4-6.6 watts idle. Windows used 8 watts after I installed a bare install (using a bare windows 7 cd from microsoft using my cd key- legal), and set it up exclusively for battery life. Fedora was higher, and I havent set Debian up for mobile use.

My Arch install at least lasts noticeably longer than windows off the AC (by at least an hour if used; more if a lot of idle time). So that is to say, dont lose the faith! The T530 is actually great driver wise EXCEPT the ethernet card (no powersavings). Also, Unity if Im correct uses compositing by default- GPU use even on an intel card will kill battery life. FWIW, I have windows set up to not use the GPU and its still more power hungry. Good luck..

EDIT In your case, it is definitely Unity that is killing your battery. And heres the big problem- there isnt really anything you can do about it if you keep Unity. Notice the compiz process? Thats what Unity uses as a compositor now. Thats ~50 wakeups from deep sleep, plus an additional ~25 wakeups for Unity's panel. The biggest cost however is the GPU wakeups- 6 (!) per second. To offer a comparison, check out this screenshot: http://tinypic.com/view.php?pic=ru7g4g&s=8

This is the canonical example of how Ubuntu has taken a turn for the worse (pun intended). Between integrated spyware and an interface that is sparse yet resource intensive, it is not what it used to be. Take this from someone who started on Ubuntu 6.10 and became very active in the community. Im no expert, but you are seeing now what many of us (former) members have grown weary of.

So what can you do? Well, you dont have to ditch Unity entirely if you dont want. You DO have to ditch it when using the battery though. My screeny above isnt the only way; you could install Openbox and a panel application like I have (xfce4-panel), Fluxbox (which has its own toolbar and window tabbing), or maybe even PekWM which many like. You would then select your option at the login screen- this gives you basically a "battery" choice and a "on power" choice (Unity).

Alternatively, have you considered Xubuntu? You can disable compositing on Xubuntu, and it is MUCH lighter on memory, CPU usage, and GPU usage (with compositing disabled). Even Kubuntu would likely save you juice if you told Kwin (window manager of KDE, the desktop environment of Kubuntu) to disable compositing. The plus of this is, Kwin is currently the most feature-stuffed window manager that exists, so you could certainly have flash and function.

Its up to you. Unfortunately, what used to be a moderately severe "bug" is now a "feature"; Ubuntu is just not power efficient at all anymore. You either keep Unity and never have good battery life, or ditch Unity in favor of something more power conscious.

3
  • Thanks for the information! Just updated the question to include more details. I went through the page on ArchWiki and, yes, it did make a difference but only 1W/h :-S
    – BahmanM
    Feb 25, 2014 at 0:39
  • And I just edited my response above to respond. Good luck..
    – jandry
    Feb 25, 2014 at 22:10
  • Editied the question to reflect the new findings.
    – BahmanM
    Mar 3, 2014 at 16:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .