Since I started using coreboot, I have noticed my battery doesn't seem to
last as long. I have a very simple linux install on a separate partition
that I use to compare power consumption, so I decided to verify if my
perception was true. After some quick tests, I noticed the power profile
seem to have changed a whole lot, so I decided to check exactly how much by
running some tests.
I had saved results when running the thinkpad bios, so I decided to get
more measurements to compare the thinkpad bios to coreboot on the W520. The
test environment is X with just a xterm open to display powertop results.
Nothing else is running: there are just 130 wakeups per seconds (with 100
coming from tick_sched_timer), and according to powertop all the cores are
in mode C7-IVB between about 98 to 99% of the time. So it should be the
best environment to have accurate results without software interfering.
To reduce sources of error, I always start from a cold boot, with the
machine cold, no previous fan activity. With normal power saving options
(everything toggled in powertop), network stopped, and measurement repeated
every 5 seconds during 10 min and averaged, I get:
BIOS: 11W Coreboot: 19W
With the powersave governor
BIOS: 9W Coreboot: 17W
With brightness reduced to 200
BIOS: 8W Coreboot: 16W
The steps between each operation seem identical (activating powersave: -2W,
reducing brightness: -1W) however the baseline is off by about 8W. This is
on the exact same software environement, running the exact same linux
kernel with the exact same kernel options. (and no, the NVidia GPU was not
enabled in corebooy. Both results were on integrated GPU only)
I found that weird, so to confirm these results I put the hard drive into a
borrowed W530. It has the exact same CPU and screen as my W520, the same
USB peripherals (except a colormeter) and a similar memory configuration (4
dimms): I get about the same as the bios results I got before: 11W on the
minimal install, going down to 8W at maximum power saving.
However, with coreboot I just can't do any better than 16W.
The difference of 8W is quite a lot, as with all powersavings applied,
running coreboot mean taking 2x as much power. The room temperature hasn't
changed (I have a thermostat), and I don't believe a single USB peripheral
can take 8W.
So I think there is only one conclusion: I have a lot of work to do on my
W520 port to get even close to the initial power savings
So I wonder if there is anything I can do to improve power savings? What
are some basic suggestions?? The full 8W difference means there should be
at least a few low hanging fruits!!