TLP - Linux Stromsparen

Aus ThinkPad-Wiki

Warning.png Diese Seite wird vom TLP Autor nicht mehr gepflegt und ist veraltet. Bitte die offizielle Dokumentation (englisch) verwenden.

Was ist TLP?

TLP spart Akkuleistung unter Linux, ohne dass der Anwender Detailwissen mitbringen muss.

TLP kommt mit einer Standardkonfiguration, die bereits auf Akkulaufzeit optimiert ist, so dass man es einfach installieren und danach vergessen kann. Anderseits sind die TLP-Einstellungen in hohem Maße anpassbar auf benutzerspezifische Anforderungen.

Hinweis: TLP ist für alle Laptop-Fabrikate geeignet; Ladeschwellen und Rekalibration des Akkus sind jedoch nur für IBM/Lenovo ThinkPads verfügbar.

Funktionen

TLP ist ein reines Kommandozeilenwerkzeug, dass automatisch im Hintergrund arbeitet. Es verfügt nicht über eine GUI.

Einstellungen in Abhängigkeit von der Stromquelle

Folgende Einstellungen, die alle relevanten Empfehlungen des Werkzeugs Powertop umfassen, werden in Abhängigkeit von der aktiven Stromquelle (Akku/Netzteil) automatisch vorgenommen:

  • Kernel-Laptop-Mode und Timeouts für das Zurückschreiben der Dateisystempuffer auf die Festplatte
  • Prozessortakt-Steuerung einschließlich "Turbo Boost" / "Turbo Core"
  • Maximaler/minimaler P-State um die Verlustleistung der CPU zu begrenzen (nur mit intel_pstate)
  • HWP-Energieeffizienz-Hinweise
  • Prozessorleistung versus Energiesparpolitik (x86_energy_perf_policy)
  • Advanced Power Management Level (APM) und Spindown Timeout (je Festplatte)
  • AHCI Link Power Management (ALPM)
  • AHCI Runtime Power Management (EXPERIMENTELL)
  • PCIe Active State Power Management (ASPM)
  • Runtime Power Management für PCIe-Bus-Geräte
  • Intel GPU Frequenz-Limits
  • AMD Radeon GPU Power Management (KMS und DPM)
  • WLAN (WiFi) Stromsparmodus
  • Ein-/Ausschalten von Bluetooth, WLAN und WWAN
  • Optisches Laufwerk im Wechselschacht (MediaBay/UltraBay) ausschalten
  • Audio Stromsparmodus

Weitere Einstellungen

  • I/O-Scheduler (je Festplatte)
  • USB Auto Suspend mit Geräte-Blacklist/Whitelist (Eingabegeräte werden automatisch ausgespart)
  • Bluetooth, WLAN und WWAN selektiv beim Systemstart bzw. beim Herunterfahren ein- bzw. ausschalten
  • Schaltzustand ein/aus von Bluetooth, WLAN und WWAN beim Systemstart wiederherstellen (wie beim letzten Herunterfahren bzw. Neustart)
  • Radio Device Wizard: Bluetooth, WLAN und WWAN ereignisgesteuert ein- und ausschalten (Netzwerkverbindung/-trennung, An-/Abdocken)
  • Wake-on-LAN deaktivieren
  • Schaltzustand ein/aus von Bluetooth, WWAN nach Suspend und Hibernation wiederherstellen
  • Akku-Ladeschwellen und -Rekalibration – nur bei ThinkPads

Installieren

TLP-Pakete sind für Arch, Debian, Fedora, Gentoo, openSUSE, Ubuntu und weitere verfügbar - eine umfassende Liste findet sich bei Repology. Wer TLP für eine andere Distribution paketieren möchte, wirft bitte einen Blick in die Entwickler-Dokumentation.

Ubuntu

Offiziell unterstützte Ubuntu Releases sowie korrespondierende Linux Mint Versionen – nicht jedoch LMDE (siehe Debian)

Paketquellen eintragen

In die Ubuntu-Paketquellen ist das TLP-PPA einzutragen mit folgenden Terminalkommandos:

sudo add-apt-repository ppa:linrunner/tlp
sudo apt update

Hinweis: TLP und die unten aufgeführten ThinkPad-spezifischen Pakete sind im offiziellen Ubuntu-Repository verfügbar. Dennoch wird empfohlen, das PPA zu verwenden, um stets die neueste TLP-Version zu erhalten.

Pakete installieren

Folgende Pakete sind zu installieren:

  • tlp (PPA bzw. universe) – Stromsparfunktionen von TLP
  • tlp-rdw (PPA bzw. universe) – optional – Funkgerätesteuerung (Radio Device Wizard)

Die Pakete installiert man über die Paketverwaltung (Ubuntu Software, Synaptic, ...) oder im Terminal:

sudo apt install tlp tlp-rdw

Nur für ThinkPads

Je nach Modell und Kernel-Version sind externe Kernelmodule erforderlich, um Akku-Ladeschwellen und Rekalibrierung zu ermöglichen.

Die Ausgabe von tlp-stat -b (TLP 1.2.2 oder höher empfohlen) führt zu dem zu installierenden Paket:

  • acpi-call-dkms (universe) – optional, nur für ThinkPads – ermöglicht Akku-Ladeschwellen und -Rekalibration für neuere Modelle (X220/T420 und später)
  • tp-smapi-dkms (PPA bzw. universe) – optional, nur für ThinkPads – ermöglicht Akku-Ladeschwellen und -Rekalibration sowie erweiterte Informationen

Hinweise:

  • Siehe auch Welches Kernelmodul?
  • Die ThinkPad-spezifischen Pakete funktionieren nur, wenn Secure Boot deaktiviert ist.

Debian

Debian oldstable, stable, testing und unstable; sowie Linux Mint Debian Edition (LMDE)

Die folgenden Schritte sind - wie bei Debian üblich - in einer Root-Shell auszuführen.

Paketquellen eintragen

Debian stable, testing und unstable

TLP und die unten aufgeführten ThinkPad-spezifischen Pakete sind im offiziellen Debian-Repository verfügbar.

Debian 10.0 "Buster" und 9.0 "Stretch"

Pakete der neuesten TLP-Version sind über Debian Backports verfügbar. Dazu ist die zur Debian-Version passende Zeile in /etc/apt/sources.list einzutragen:

deb http://ftp.debian.org/debian buster-backports main
deb http://ftp.debian.org/debian stretch-backports-sloppy main

Zuletzt führt man ein Update der Paketquellen durch:

apt update

Pakete installieren

Folgende Pakete sind zu installieren:

  • tlp (main) – Stromsparfunktionen von TLP
  • tlp-rdw (main) – optional – Funkgerätesteuerung (Radio Device Wizard)

Die Pakete installiert man über die Paketverwaltung oder im Terminal:

apt install tlp tlp-rdw

Für Debian Backports verwendet man stattdessen:

apt -t buster-backports install tlp tlp-rdw

bzw.

apt -t install stretch-backports-sloppy tlp tlp-rdw 

Nur für ThinkPads

Je nach Modell und Kernel-Version sind externe Kernelmodule erforderlich, um Akku-Ladeschwellen und Rekalibrierung zu ermöglichen.

Die Ausgabe von tlp-stat -b (TLP 1.2.2 oder höher empfohlen) führt zu dem zu installierenden Paket:

  • acpi-call-dkms (main) – optional, nur für ThinkPads – ermöglicht Akku-Ladeschwellen und -Rekalibration für neuere Modelle (X220/T420 und später)
  • tp-smapi-dkms (main) – optional, nur für ThinkPads – ermöglicht Akku-Ladeschwellen und -Rekalibration sowie erweiterte Informationen

Hinweise:

  • Siehe auch Welches Kernelmodul?
  • Die ThinkPad-spezifischen Pakete funktionieren nur, wenn Secure Boot deaktiviert ist.

Arch Linux

Pakete installieren

Pakete sind in den offiziellen Repositories (Community) erhältlich:

  • tlp (Community) - Stromsparfunktionen von TLP
  • tlp-rdw (Community) - optional – Radio Device Wizard (erfordert NetworkManager)

Man installiert sie im Terminal mit:

pacman -S tlp tlp-rdw

Nur für ThinkPads

Je nach Modell und Kernel-Version sind externe Kernelmodule erforderlich, um Akku-Ladeschwellen und Rekalibrierung zu ermöglichen.

Die Ausgabe von tlp-stat -b (TLP 1.2.2 oder höher empfohlen) führt zu dem zu installierenden Paket:

  • tp_smapi (Community) - optional, nur für ThinkPads – ermöglicht Akku-Ladeschwellen und -Rekalibration sowie erweiterte Informationen
  • acpi_call (Community) - optional, nur für ThinkPads – ermöglicht Akku-Ladeschwellen und -Rekalibration für neuere Modelle (X220/T420 und später)

Hinweise:

  • Siehe auch Welches Kernelmodul?
  • Die ThinkPad-spezifischen Pakete funktionieren nur, wenn Secure Boot deaktiviert ist.

systemd Konfiguration

Zum Abschluss der Installation muss diese Service Unit aktiviert werden:

systemctl enable tlp.service

TLP 1.2.2 oder älter benötigen auch:

systemctl enable tlp-sleep.service

Der Radio Device Wizard (tlp-rdw) erfordert zusätzlich:

systemctl enable NetworkManager-dispatcher.service

Um Konflikte bei der Funkgerätesteuerung auszuschließen, sollte man folgende Service Units maskieren:

systemctl mask systemd-rfkill.service
systemctl mask systemd-rfkill.socket

Siehe auch Arch Wiki (englisch).

Fedora

Offiziell unterstützte Fedora Releases

TLP-Pakete sind über die offiziellen Fedora Repositories verfügbar:

  • tlp (Updates) – Stromsparfunktionen von TLP
  • tlp-rdw (Updates) – optional – Radio Device Wizard, erfordert NetworkManager

Hinweis: Pakete für RHEL/CentOS finden sich in den EPEL6/7 Repositories.

Man installiert sie mit der Paketverwaltung oder im Terminal:

dnf install tlp tlp-rdw 

Nur für ThinkPads

ThinkPad-spezifische Komponenten für die erweiterten Akkufunktionen sind derzeit nicht aus den Fedora Repositories zu erhalten. Stattdessen werden das RPM Fusion und das TLP Repository benötigt (als root):

dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
dnf install http://repo.linrunner.de/fedora/tlp/repos/releases/tlp-release.fc$(rpm -E %fedora).noarch.rpm 

Folgende Pakete sind zu installieren:

  • akmod-tp_smapi (TLP Repo) – optional, nur für ThinkPads – ermöglicht Akku-Ladeschwellen und -Rekalibration sowie erweiterte Informationen
  • akmod-acpi_call (TLP Repo) – optional nur für ThinkPads – ermöglicht Akku-Ladeschwellen und -Rekalibration für neuere Modelle (X220/T420 und später)
  • kernel-devel (Fedora Repo) – optional – wird von den vorstehenden akmod-Paketen benötigt
dnf install akmod-tp_smapi akmod-acpi_call kernel-devel

Neue Pakete sind immer zuerst über das testing Repository verfügbar (nur vorübergehend):

dnf --enablerepo=tlp-updates-testing install akmod-tp_smapi akmod-acpi_call kernel-devel

Hinweise:

Probleme mit der Signatur

Ab Fedora 26 werden die Pakete mit neuen Signaturen versehen, die jeweils nur für das aktuelle Release gültig sind. Beim Wechsel von Fedora 25 auf 26 kommt es bei einigen Systemen zu Problemen, das richtige Zertifikat automatisch einzubinden. Siehe auch Fedora Repository Key Validation.

Lösung
dnf remove tlp-release
dnf install http://repo.linrunner.de/fedora/tlp/repos/releases/tlp-release.fc$(rpm -E %fedora).noarch.rpm

Gentoo

Die Installation mit layman ist hier (englisch) beschrieben.

openSUSE

Hinweis: derzeit sind für openSUSE keine gepflegten Paketquellen für tp-smapi and acpi-call verfügbar; Fehlerberichte dazu sind zwecklos.

openSUSE 15 und Tumbleweed

TLP-Pakete sind über die offiziellen Paketquellen verfügbar. Man installiert sie über die Paketverwaltung oder im Terminal:

 zypper install tlp tlp-rdw

Nur für ThinkPads

  • tp_smapi_kmp – optional, nur ThinkPads – ermöglicht Akku-Ladeschwellen und -Rekalibration sowie erweiterte Informationen; Download hier
  • acpi_call – optional, nur ThinkPads – ermöglicht Akku-Ladeschwellen und -Rekalibration für neuere Modelle (X220/T420 und später); Download hier

Einstellungen vornehmen

Alle TLP-Einstellungen finden sich in /etc/default/tlp. Die komplette Referenz findet sich in TLP Einstellungen.

Start

TLP aktiviert sich automatisch beim Systemstart.

Um nach der Installation ohne einen Neustart auszukommen, verwendet man das Kommando

sudo tlp start

Check

Um zu prüfen ob TLP korrekt arbeitet, benutzt man das Kommando

sudo tlp-stat -s

und schaut in der Ausgabe nach

+++ System Status
State = enabled
Last Run = < Zeitpunkt des Systemstarts bzw. des letzten Wechsels der Stromquelle >

Hinweis: es gibt keinen TLP-Hintergrund-Prozess oder -Dämon den man mit ps anzeigen könnte.

Terminal-Kommandos

Hinweis: alle in diesem Kapitel beschriebenen, mit sudo beginnenden Kommandos, können ohne sudo in einer root-Shell ausgeführt werden.

tlp

Start / Neustart von TLP

Alle Einstellungen für die momentane Stromquelle anwenden:

sudo tlp start

Auch verwendbar um Konfigurationsänderungen anzuwenden.

Akku-Einstellungen

Einstellungen für den Akku-Betrieb anwenden und in den manuellen Modus wechseln:

sudo tlp bat

Änderungen der Stromquelle werden nachfolgend ignoriert. Erst der nächste Neustart oder tlp start nehmen den Automatik-Modus wieder auf.

Netzteil-Einstellungen

Einstellung für den Betrieb am Netzteil anwenden und in den manuellen Modus wechseln:

sudo tlp ac

Änderungen der Stromquelle werden nachfolgend ignoriert. Erst der nächste Neustart oder tlp start nehmen den Automatik-Modus wieder auf.

USB Autosuspend

Autosuspend-Modus auf alle angeschlossenen USB-Geräte anwenden (außer in der Blacklist enthaltene und Eingabegeräte):

sudo tlp usb

Optisches Laufwerk

Optisches Laufwerk in Wechselschacht/MediaBay/Ultrabay ausschalten:

sudo tlp bayoff

Hinweise zu bayoff:

  • Das Laufwerk kann über den Wechselschacht/MediaBay/Ultrabay-Entriegelungsschieber bzw. bei neueren Modellen über den Auswurfknopf am Laufwerk wieder eingeschaltet werden.
  • Alle anderen Geräte, insbesondere Festplatten, werden durch dieses Kommando nicht ausgeschaltet.

Akku-Ladeschwellen

Ladeschwellen auf temporäre Werte setzen

nur für ThinkPads

sudo tlp setcharge  [ START_SCHWELLE STOP_SCHWELLE [ BAT0 | BAT1 ] ]

Ladeschwellen werden auf die angegebenen Werte gesetzt. Wertebereich von 1 bis 100; START_SCHWELLE muß kleiner als die STOP_SCHWELLE - 3 sein. Gibt man keine Parameter an, werden die in den Einstellungen angegebenen Schwellen für den Hauptakku (BAT0) verwendet. Die geänderten Ladeschwellen werden beim nächsten Systemstart wieder auf die in den Einstellungen vorgegebenen Werte gesetzt.

Beispiel:

sudo tlp setcharge 70 90 BAT0

Setzt Ladeschwellen von 70 / 90% für den Hauptakku (BAT0).

Ladeschwellen vorübergehend auf volle Kapazität setzen

nur für ThinkPads

sudo tlp fullcharge [ BAT0 | BAT1 ]

Die Ladeschwellen werden auf Werkseinstellungen 96/100 % gesetzt. Dient dazu den Akku voll aufzuladen. Die geänderten Ladeschwellen werden beim nächsten Systemstart wieder auf die in den Einstellungen vorgegebenen Werte gesetzt.

Hinweis: nach Einstellung der Ladeschwellen endet der Befehl; er wartet nicht auf den Abschluss des Ladevorgangs.

Beispiel:

sudo tlp fullcharge BAT1

Lädt den Zusatz-Akku (BAT1) bis zur vollen Kapazität auf.

Akku einmalig bis zur oberen Ladeschwelle laden

nur für ThinkPads

sudo tlp chargeonce [ BAT0 | BAT1 ]

Setzt die untere Akku-Ladeschwelle vorübergehend auf obere Ladeschwelle - 4 und löst dadurch einen Ladevorgang aus. Die geänderte Ladeschwelle wird beim nächsten Systemstart wieder auf den in den Einstellungen vorgegebenen Wert gesetzt.

Hinweis: nach Einstellung der Ladeschwelle endet der Befehl; er wartet nicht auf den Abschluss des Ladevorgangs.

Akku-Wartung

Akku entladen am Netzteil

nur für ThinkPads

sudo tlp discharge [ BAT0 | BAT1 ]

Mit dem Parameter BAT0 (Default) wird der Hauptakku, mit BAT1 der UltraBay-Akku entladen. Das Kommando zeigt laufend die verbleibende Kapazität und Entladezeit an. Das Entladen kann jederzeit mit Strg+C abgebrochen werden.

Hinweise:

  • Das Kommando endet sobald der Akku komplett entladen ist
  • Das Kommando funktioniert nur mit angeschlossenem Netzteil
  • Während des Entladevorgangs kann ganz normal mit dem ThinkPad gearbeitet werden
  • ThinkPads mit zwei Akkus: der Akku-Controller kann nur einen Akku gleichzeitig bedienen. Solange ein Akku mit diesem Kommando entladen wird, kann der Andere weder geladen noch entladen werden.
  • Bei Problemen mit dieser Funktion bitte auch die TLP FAQ beachten

Akku rekalibrieren am Netzteil

nur für ThinkPads

sudo tlp recalibrate [ BAT0 | BAT1 ]

Das Kommando arbeitet wie folgt:

  • Die Ladeschwellen werden auf die Hardware-Defaults 96%/100% zurückgesetzt
  • Der selektierte Akku wird komplett entladen (siehe obige Beschreibung von tlp discharge)
  • Sobald der Akku entladen ist, endet das Kommando
  • Wichtig: um die Rekalibrierung abzuschließen, lädt man anschließend den Akku bis 100% auf (dabei darf das ThinkPad ausgeschaltet, jedoch nicht vom Netzteil getrennt werden)

Beispiel:

sudo tlp recalibrate BAT0

Rekalibriert den Haupt-Akku (BAT0).

Hinweise:

  • ThinkPads mit zwei Akkus: der Akku-Controller kann nur einen Akku gleichzeitig bedienen. Solange ein Akku mit diesem Kommando entladen wird, kann der Andere weder geladen noch entladen werden.
  • Der Rekalibrierungsvorgang sorgt dafür, daß die Elektronik im Akku Ladezustand und Kapazität korrekt wiedergibt. Verschlissene oder defekte Akkuzellen werden dadurch nicht repariert.

Disk ID

tlp diskid

Ermittelt die IDs der Festplatten zur Angabe im Konfigurationsparameter DISK_DEVICES.

tlp-rdw

Aktivieren, Deaktivieren oder Anzeigen des Status für das ereignisbasierte Schalten von Bluetooth, WLAN und WWAN (Radio Device Wizard):

tlp-rdw [ enable | disable ]

Die Verwendung des Befehls ohne Argumente zeigt den aktuellen Status an.

Hinweis: die Automatik wird beim Neustart wieder aktiviert.

tlp-stat

Statusbericht der Konfiguration und aller aktiven Einstellungen erstellen:

sudo tlp-stat

Akkuinformationen anzeigen:

sudo tlp-stat -b
sudo tlp-stat --battery

Konfiguration anzeigen:

tlp-stat -c
tlp-stat --config

Laufwerksinformationen anzeigen:

tlp-stat -d
tlp-stat --disk

PCIe-Geräte-Informationen anzeigen:

tlp-stat -e
tlp-stat --pcie

Grafikkarten-Informationen anzeigen:

tlp-stat -g
tlp-stat --graphics

Prozessorinformationen anzeigen:

tlp-stat -p
tlp-stat --processor

Schaltzustand der Funkgeräte anzeigen:

tlp-stat -r
tlp-stat --rfkill

Systeminformationen anzeigen:

tlp-stat -s
tlp-stat --system

Temperaturen und Lüfterdrehzahl anzeigen:

tlp-stat -t
tlp-stat --temp

Mehr Daten anzeigen:

tlp-stat -v
tlp-stat --verbose

Warnungen anzeigen:

tlp-stat -w
tlp-stat --warn

Näheres erklärt die TLP FAQ im Abschnitt "Warnungen".

Debug Unterstützung

Stromquellen-Ereignisse anzeigen:

tlp-stat -P
tlp-stat --pev

Diagnoseinformationen zu Stromquellen anzeigen:

tlp-stat --psup

Traceausgabe anzeigen:

tlp-stat -T
tlp-stat --trace

wifi, bluetooth, wwan

Integriertes WLAN, Bluetooth und WWAN (UMTS) lassen sich im Terminal ein-, aus- und umschalten bzw. bei Aufruf ohne Parameter abfragen:

wifi [ on | off | toggle ]

Hinweis: für Intel 2100b-, 2200bg- und 2915abg-Karten muß das Kommando mit sudo oder in einer Root-Shell aufgerufen werden.

bluetooth [ on | off | toggle ]
wwan [ on | off | toggle ]

Hinweis: Voraussetzung für die gezeigten Funktionen ist, daß die Hardware das rfkill-Framework des Kernels unterstützt (Ausnahme: Intel 2100/2200/2915). Zur Überprüfung gibt man

rfkill list

ein und schaut ob die gewünschte Geräteklasse wifi/bluetooth/wwan in der Auflistung erscheint (für Debian ist zuvor das Paket rfkill zu installieren).

run-on-ac, run-on-bat

Bedingtes Starten von Befehlen in Abhängigkeit von der aktiven Stromquelle:

run-on-ac  befehl parameter ...
run-on-bat befehl parameter ...

Der "befehl" wird nur ausgeführt, wenn die passende Stromquelle (-ac für das Netzteil, -bat für den Akku) aktiv ist. Dies kann man z.B. in "System -> Einstellungen -> Startprogramme" verwenden.

Manpages

Details aller Befehle erhält man per:

man <befehl>

Lizenz

TLP ist nach der GPL Version 2 und höher lizensiert. Zum Download des Quellcodes siehe die TLP Programmdokumentation (englisch).

Support

FAQ

Erste Anlaufstation bei Fragen und Problemen ist die TLP FAQ sowie zur Eingrenzung der Fehlerursache TLP Troubleshooting (englisch).

Thinkpad-Forum

Für darüber hinaus gehende Fragen und Probleme gibt es einen TLP-Support-Thread im Thinkpad-Forum (selbstverständlich sind dort auch Nutzer anderer Fabrikate willkommen).

Notwendige Angaben

Bitte bei allen Supportanfragen immer die vollständige Ausgabe von

sudo tlp-stat

beifügen.

Ausserdem wird stets die Information benötigt, an welcher Stromquelle (Akku, Netzteil) das Problem auftritt.

Trace-Modus

Bei komplexen Fehlersituationen kann durch folgende Einstellung in /etc/default/tlp der Trace-Modus aktiviert werden:

TLP_DEBUG="arg bat disk lock nm path pm ps rf run sysfs udev usb"

Die gesammelten Informationen können jederzeit mit

tlp-stat -T

ausgelesen werden.

Voraussetzungen

nur für (r)syslog

Falls der Befehl keine Ausgabe erzeugt, muss die Syslog-Konfiguration ergänzt werden. Für rsyslog legt man dazu die Datei /etc/rsyslog.d/90-debug.conf mit folgendem Inhalt an:

*.=debug;\
        auth,authpriv.none;\
        news.none;mail.none     -/var/log/debug

Anschließend startet man den Dämon neu mit

sudo /etc/init.d/rsyslog restart

und führt den Testfall erneut aus.

Hinweis für systemd basierte Distributionen: es ist keine Anpassung der Konfiguration nötig – TLP nutzt journald für die Trace-Daten.

Links

TLP

Hintergrund

Changelog

Vollständiges Changelog inkl. Fehlerbehebungen siehe hier.