I was wondering why my Lenovo X200 had such a short battery lifetime when running Libreboot/Coreboot, so I did a few measurements using the following hardware configuration:
X200 with P8700 CPU 8GB RAM LED Display (yes, one of the rare ones) OCZ Trion SSD (unused, just idling) Wifi and WWAN removed Battery removed Ubuntu MATE 16.04 Live running from an USB thumb drive No tweaking with powertop or such
I kept this configuration unchanged except for the BIOS and waited 5 minutes after booting, so the system could settle. Then I measured power consumption both at full brightness and at minimum brightness using a conventional power meter (EKM 365) which was plugged between the AC adapter and the power socket in the wall.
I obtained the following numbers:
Vendor BIOS: 7,5W (lowest) to 10W (highest) Libreboot 20150518 (using the precompiled binary binary): 13,3W (lowest) to 16,1W (highest) Latest Coreboot, config attached (80a3df260767a6d9ad34b61572d483579c21476c): 10,4W (lowest) to 13,4W (highest)
While Libreboot performs much worse than Coreboot, Coreboot still eats around 3W extra when compared with the vendor BIOS. In other words: Coreboot consumes around 30-40% more juice than the vendor BIOS which is a very sad result for an ultraportable notebook.
Is this a known issue? Has someone else tried the same and obtained different numbers?
coreboot as such is not active once your system has booted. My guess is that with vendor BIOS you are getting better working p-states and/or c-state residency than with coreboot.
I think lower max consumption with vendor bios can be attributed to the cpu really being idle in your experiment. Could you try running stress -c 8 -m 8 on both stock bios and coreboot bios and compare peak consumption? Also what happens if you boot on vendor bios with idle=poll ? this will disable cstates, so if power consumption goes up, that may be the problem. You can also try with intel_pstate=disable on vendor bios and see if that makes a dent on wattage.
first thing: We never got to the deepest processor sleep states (C3, C4) when we originally ported coreboot for the GM45 chipset. But we didn't see a difference in power consumption back then on the Roda/RK9.
On 01.05.2016 00:55, Daniel Kulesz via coreboot wrote:
No tweaking with powertop or such
This might not be a good idea: It's not always clear which power saving options should be set by the firmware and which should be set by the os. Anyway, I don't think it makes a big impact, but could you rerun your measurements after `powertop --auto-tune`.
thank you again for the suggestions!
First thing: VGABIOS. I was able to extract the blob (the hint in the wiki is a bit hidden and the introduction of the section is a bit misleading btw) and re-ran the measurements using the proprietary VGA BIOS:
Idle: 13,4W Stress: 37,2W
So they values are exactly the same as with native graphics init.
Second thing: Powertop. I did the suggested powertop --autotune experiments in idle and obtained the following results:
vendor BIOS: 8,8W Coreboot: 12,2W
So in both cases a decrease of around 1,2W.
But still something else drains these extra 3,5W. Not running in C3/C4 would explain that difference maybe. How can I check that? I am now doing another attempt to include the microcode updates, but I doubt this will make such a big difference.