Improving Linux Laptop battery life Presented by Hans de Goede - - PowerPoint PPT Presentation

improving linux laptop battery life
SMART_READER_LITE
LIVE PREVIEW

Improving Linux Laptop battery life Presented by Hans de Goede - - PowerPoint PPT Presentation

Improving Linux Laptop battery life Presented by Hans de Goede Red Hat Desktop Hardware Enablement Team This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License Topics Spoiler Why not just run powertop /


slide-1
SLIDE 1

Hans de Goede

Presented by

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License

Improving Linux Laptop battery life

Red Hat Desktop Hardware Enablement Team

slide-2
SLIDE 2

Spoiler Why not just run powertop / TLP? Enabling autosuspend for USB Bluetooth Enabling autosuspend for Intel HDA codecs Enabling SATA link PM by default Enabling i915 Panel Self Refresh by default

Topics

slide-3
SLIDE 3

Spoiler

slide-4
SLIDE 4

Enabling a number of power-management features which default to of T ested on an idle T440s at 50% brightness T

  • gether these drop the idle power-

consumption from 7.9W to 5.6W For powerusers powertop --auto-tune or TLP already enables most Powerusers may still save an extra 0.5W by watching this talk :)

What is this about?

slide-5
SLIDE 5

Why not just run powertop / TLP?

slide-6
SLIDE 6

The OOTB experience matters (a lot) Not draining the battery should just work, for all Linux users TLP and esp. powertop can cause problems:

Non working USB keyboards/mice (powertop) Data corruption with some SATA SSDs (both)

Why not just use …?

slide-7
SLIDE 7

Enabling autosuspend for USB Bluetooth controllers

slide-8
SLIDE 8

If all USB devices are autosupended, the USB controller suspends saving ±0.4W Only device without autosuspend on many laptops is the Bluetooth HCI Wrote a kernel patch to allow enabling autosuspend by default through Kconfg Wrote another patch to disable this for atheros and realtek devices

Autosuspend USB BT

slide-9
SLIDE 9

Enabling autosuspend for Intel HDA codecs

slide-10
SLIDE 10

Allowing HDA to power-of when idle saves aprox 0.4W SND_HDA_POWER_SAVE_DEFAULT=1 in Kconfng Causes plops / crackles on some devices Created a hwdb based blacklist matching

  • n pci subsys ids and DMI strings

Will submit this upstream soon

HDA Autosuspend

slide-11
SLIDE 11

Enabling SATA ALPM by default

slide-12
SLIDE 12

Without ALPM, the CPU package cannot enter deeper sleep states then PC2 Enabling ALPM saves 1 – 1.5W ! Linux kernel min_power setting is known to cause disk corruption issues (oops) Wrote a new med_power_with_dipm policy mirroring Windows IRST defaults Enabled in Rawhide / Fedora 28 since January 1st

Enabling SATA ALPM

slide-13
SLIDE 13

Enabling i915 Panel Self Refresh by default

slide-14
SLIDE 14

PSR saves ±0.5W when available Defaults to of because it is known to cause issues on a lot of devices Did a blogpost asking for testing:

https://hansdegoede.livejournal.com/18653.html

Got over a 100 reports, results are not good, this causes issues on many devices. Plan to create a whitelist matching on both DMI (laptop model) and EDID (panel) info.

Panel Self Refresh

slide-15
SLIDE 15

Ideas? Suggestions? Questions?

hdegoede@redhat.com

Contact:

https://github.com/jwrdegoede/

Git repositories: