Skip to content

Latest commit

 

History

History
118 lines (94 loc) · 5.34 KB

File metadata and controls

118 lines (94 loc) · 5.34 KB

EPP Power Modes

English | Deutsch | Español

Eine Schnelleinstellungen-Erweiterung für GNOME Shell (46+) mit vier festen Zuständen für die CPU-Energie-Leistungs-Voreinstellung (EPP):

Modus EPP platform_profile
Energie sparen power low-power
Ausgeglichen-Sparsam balance_power low-power
Ausgeglichen-Leistung balance_performance balanced
Leistung performance performance

platform_profile hat nur drei Stufen gegenüber vier EPP-Stufen; Ausgeglichen-Sparsam teilt sich die low-power-Stufe mit Energie sparen statt mit Ausgeglichen-Leistung, weil auf ThinkPad-DYTC-Hardware platform_profile — nicht EPP — den Lüfter steuert. EPP bleibt innerhalb dieser gemeinsamen Stufe der feinere Regler.

Dazu kommen ein Sperren-Schalter, der automatische Abweichungen durch Firmware oder ACPI-Hotkeys verhindert, ohne die manuelle Auswahl einzuschränken, und ein Akku-Sicherheitsnetz. Dieses erzwingt beim Entladen unter 20 % mindestens den Modus Ausgeglichen-Sparsam, unabhängig vom Sperrzustand. Ein manuell gewählter Modus Energie sparen bleibt aktiv. Beim Umschalten der Sperre bleibt das Menü geöffnet und die Regel wird sofort gespeichert. Schlägt der nächste Durchsetzungsversuch fehl, wird die Sperre wieder deaktiviert, statt einen Schutz anzuzeigen, den die Hardware nicht einhalten konnte.

Nachfolger von power-saver-epp-fix; die vollständige Designbegründung steht in PLAN.md.

Schnelleinstellungsmenü von EPP Power Modes

Hardwarestatus

Die Kachel liest den EPP-Wert jeder verfügbaren CPU direkt aus sysfs. Sie aktualisiert sich nach eigenen Änderungen, beim Öffnen des Menüs und alle fünf Sekunden. Dadurch werden externe EPP-Änderungen auch bei deaktivierter Sperre sichtbar. Die vier exakten Werte werden direkt auf die vier Modi aus der Tabelle abgebildet. Abweichende CPU-Werte erscheinen als Uneinheitlich, nicht lesbare oder nicht unterstützte EPP-Werte als Unbekannt. Wenn platform_profile vorhanden ist, prüft der Helfer, dass EPP und Plattformprofil konsistent bleiben. Bei aktiver Sperre wird eine Abweichung zurückgesetzt. Bei gelöster Sperre wird eine externe Plattformänderung übernommen: balanced wird zu Ausgeglichen-Leistung; low-power wird zu Energie sparen, außer die CPUs melden bereits balance_power — dann wird es zu Ausgeglichen-Sparsam. Auf neueren Kerneln sind die providerspezifischen Schnittstellen unter /sys/class/platform-profile/ für Lesen und Prüfung maßgeblich. Zum Schreiben bevorzugt der Helfer den alten Sammelpfad /sys/firmware/acpi/platform_profile als vom Kernel koordinierten Weg und greift nur dann direkt auf die Providerdateien zurück, wenn dieser Sammelpfad nicht verfügbar ist oder den Schreibzugriff ablehnt. Auf mancher ThinkPad-DYTC-Firmware kann ein platform_profile-Schreibvorgang still verworfen werden — unabhängig von Netz-/Akkustatus oder der Nähe zu den vorausgehenden EPP-/PPD-Schreibvorgängen (siehe docs/power-saver-platform-profile-diagnose.de.md für die Messung dahinter). Statt deswegen den gesamten Moduswechsel scheitern zu lassen, behandelt der Helfer ein unbestätigtes Plattformprofil als ausstehend: EPP und power-profiles-daemon bleiben wirksam, die Kachel zeigt weiterhin den gewählten Modus, im Menü erscheint „Plattformprofil ausstehend", und der Hintergrund-Reassert versucht es weiter (mit Cooldown, um die Firmware nicht zu bombardieren), bis die Hardware bestätigt.

Der Installer lässt power-profiles-daemon aktiv, startet ihn aber mit blockiertem platform_profile-Treiber neu. Dazu verwendet er den bereits in power-saver-epp-fix bewährten Guard. Der Helfer wählt zunächst PPDs passendes grobes Profil, wartet dessen CPU-Schreibvorgang ab und setzt und prüft danach den exakten EPP- und Plattformzustand aus der Tabelle. Die Deinstallation entfernt den Guard und startet PPD wieder normal.

Diagnoseberichte

Installation

bash install.sh

Installiert einen Root-Helfer unter /usr/local/bin/eppmode-helper, eine auf genau dieses Programm beschränkte passwortlose sudoers-Regel (/etc/sudoers.d/eppmode) sowie systemd-Units für die Wiederherstellung beim Start, die erneute Durchsetzung des Sperrzustands und die regelmäßige Prüfung des Akku-Sicherheitsnetzes. sudo wird benötigt.

Deinstallation

bash uninstall.sh

Entfernt den Helfer, die sudoers-Regel, die systemd-Units, die udev-Regel und das Zustandsverzeichnis. Die GNOME-Shell-Erweiterung selbst muss separat entfernt werden, zum Beispiel mit:

gnome-extensions uninstall eppmode@yurij.de

Übersetzungen

Englisch (Quellsprache), Deutsch und Spanisch. Nach Änderungen an extension.js oder einer .po-Datei können po/eppmode.pot und die kompilierten .mo-Dateien so neu erzeugt werden:

tools/build-locale.sh

Lizenz

GPL-3.0-or-later, siehe LICENSE.