Improving linux compability of Lenovos E460

There are multiple problems with running my Lenove Edge 460 using Linux free drivers only (especially the graphics driver amdgpu).
Here are my optimizations and tweaks so far, that circumvent the following problems:
I’m currently using arch Linux, running kernel 4.5.1-1-zen 4.6.1-1-zen.

  1. amdgpu not turning off discrete graphics card completely
    resolved by adding the kernel parameters amdgpu.powerplay=1 amdgpu.dpm=1 amdgpu.runpm=1. resolved by Kernel 4.6-1-1
    In case you’re using tlp (see below), dont forget to add the module amdgpu to the line RUNTIME_PM_DRIVER_BLACKLIST=“noveau radeon“ in the file /etc/default/tlp
  2. Battery not charging to 100%
    resolved by installing tlp, tpacpi-bat and acpi_dkms and setting the charge threshold to 100% by running sudo tlp setcharge 90 100 Bat0 in a terminal.
    This allowed a complete recharge of the battery.

  3. Screen keeps flickering (blanking) on battery power
    Seems to be cased by a bad implementation of power saving modes. Was fixed using the kernel parameteri915.enable_rc6=4 and i915.enable_dc=1
    the second parameter seems to cause a lockup during shutdown, hence don’t use it.

    Resolved by updating the kernel to 4.6-1

  4. Does not wake up after hibernation
    Fixed by updating the bios to 1.20

Additionally removing the intel display driver and using the modesetting driver instead resultet in an improved performance.

If I’ll find more solutions I’ll post them here.