When I first installed 16.04 LTS, at kernel 4.4.0, I had a decent battery life of about 3 hours average, but I upgraded to 4.5.2 to solve the suspend problem and some other issues, and now it's less than 1.40 hours, even at low brightness.
What could have caused a drop between the kernels? 4.5.2 is stable, and the same thing happened when upgrading to 4.4.8 (lts).
I'm attaching TLP outputs. I'm desperate to make this a better battery life.
uname -a:
Linux gaj-Lenovo-Z51-70 4.5.2-040502-generic #201604200335 SMP Wed Apr 20 07:37:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
I did a tlp -stat output of both kernels in use (4.4.0 and 4.5.2), and the only difference I can notice is that the latest kernel 4.5.2, outputs this, compared to the 4.4.0 which saves battery:
/sys/devices/system/cpu/intel_pstate/min_perf_pct = 18
/sys/devices/system/cpu/intel_pstate/max_perf_pct = 100
/sys/devices/system/cpu/intel_pstate/no_turbo = 0
x86_energy_perf_policy: program for your kernel not installed.
When I try to install linux-tools, as explained at TLP's troubleshooting website, which says
tlp-stat -p shows "x86_energy_perf_policy: program [for your kernel] not installed."
Depending on the distro your mileage may vary:
Ubuntu: install the meta-package linux-tools (or linux-tools-lts-* for HWE stack kernels), no package available for mainline kernels.
I get:
Package linux-tools is a virtual package provided by:
linux-tools-virtual 4.4.0.21.22
linux-tools-lowlatency 4.4.0.21.22
linux-tools-generic 4.4.0.21.22
You should explicitly select one to install.
So no tools for 4.5.2 kernel. Or should I install HWE stack tools? What does HWE mean in relation to the stable 4.5.2 kernel?
Many thanks.
EDIT: At 4.5.2 I can also hear the fan more frequently and intensely, even at opening Chrome, Skype, etc.
EDIT 2: It might be worth noting that I use a hybrid graphics system INtel and ATI, but I haven't installed any propriertary drivers, or manually upgraded any.
EDIT 3: sudo tail -f -n 1000 /var/log/syslog when starting TLP:
^[[B^[[AMay 5 21:52:57 gaj-Lenovo-Z51-70 kernel: [ 7945.966502] acpi_call: Cannot get handle: Error: AE_NOT_FOUND
May 5 21:52:57 gaj-Lenovo-Z51-70 kernel: [ 7945.976707] acpi_call: Cannot get handle: Error: AE_NOT_FOUND
May 5 21:53:12 gaj-Lenovo-Z51-70 kernel: [ 7961.360242] acpi_call: Cannot get handle: Error: AE_NOT_FOUND
Best Answer
You have installed
TLP
to extend the battery life on your laptop, but are still getting poor battery life. When you look at the output oftlp -stat output
you found the error messagex86_energy_perf_policy: program for your kernel not installed
.When you attempt to install the energy performance policy by
sudo apt-get install linux-tools-generic
the install appears to work but does not have any effect.I have looked at the code for
x86_energy_perf_policy
and I could see no issues with it. It does not appear to be kernel specific so it looks likex86_energy_perf_policy
which is part oflinux-tools-common
is not linked into the kernel properly.This will have a big effect on battery life for laptops with Intel CPUs since the default policy is to maximise performance at the expense of energy expenditure (and hence battery life).
I may be wrong and
x86_energy_perf_policy
could be depreciated andTLP
has yet to catch up but this looks like a serious kernel bug. I could attempt to patch your kernel to resolve this, but this issue will effect this and subsequent versions of the Linux kernel until it is resolved so I suggest you raise a bug by enteringubuntu-bug
at a terminal. Feel free to paste parts of this answer into your bug report if this helps.