ACPI/de
ACPI (Advanced Configuration and Power Management Interface) ist ein Energiemanagement System, das Teil des BIOS ist.
Power states S1 to S4 (and S0ix) are various forms of sleep or standby, while S0 is the working state, and S5 is soft powered off[1] . There are also specific device, cpu, and performance states controlled by ACPI.
Installation
Kernel
Die folgenden Kerneloptionen müssen für ACPI aktiviert werden:
Power management and ACPI options ---> [*] Power Management support [*] ACPI (Advanced Configuration and Power Interface) Support --->
| Option | Modul | Empfehlung | Beschreibung |
|---|---|---|---|
| Veraltete /proc/acpi Dateien | - | No | Erzeugt veraltete Dateien im Dateisystem procfs, die nun durch Dateien im Dateisystem sysfs ersetzt werden. |
| Veraltete Leistung /proc/acpi Verzeichnisse | - | No | Erzeugt veraltete Dateien im procfs-Dateisystem, die nun durch Dateien im sysfs-Dateisystem ersetzt werden. |
| EC Lese-/Schreibzugriff über /sys/kernel/debug/ec | ec-debugfs | No | Debug-Schnittstelle zum Embedded Controller. |
| Veraltete /proc/acpi/event Unterstützung | - | No | Erzeugt veraltete Dateien im procfs-Dateisystem, die nun durch das Eingabe-Layer oder Netlink-Ereignisse ersetzt werden. |
| Netzadapter | ac | Laptops | Erzeugt Dateien, um festzustellen, ob das System an das Stromnetz angeschlossen ist. |
| Batterie | battery | Laptops | Erzeugt Dateien, um festzustellen, ob das System mit einer Batterie betrieben wird. |
| Tasten | button | - | Verarbeitet Ereignisse auf den Power-, Sleep- und Deckel-Tasten |
| Video | video | - | Unterstützt grundlegende Operationen für Grafikkarten. |
| Lüfter | fan | - | Unterstützt ACPI-Lüftergeräte, so dass Anwendungen im Benutzermodus eine grundlegende Lüftersteuerung (Ein, Aus, Status) durchführen können. |
| Dock | dock | - | Unterstützt ACPI-gesteuerte Dockingstationen und Wechsellaufwerksschächte, siehe den Artikel acpi dock. |
| Prozessor | processor | - | Installiert ACPI als den Idle-Handler für Linux und verwendet die ACPI-Prozessorzustände C2 und C3, um Strom zu sparen |
| Prozessor-Aggregator | processor-aggregator | - | ACPI 4.0-Funktion zur Durchführung spezifischer Prozessorkonfiguration und -steuerung |
| Thermozonen | thermal | Yes | Unterstützt ACPI-Thermozonen zum Schutz des Prozessor vor Überhitzung. |
| NUMA-Unterstützung | - | - | |
| Debug-Anweisungen | - | No | |
| PCI-Slot-Erkennungstreiber | pci-slot | No | Hilft bei der Zuordnung von PCI-Bus-Adressen zu physikalischen Steckplätzen |
| Container- und Modulgeräte | container | - | Unterstützt ACPI-Container- und Modulgeräte zum Hotplugging von Knoten, CPUs und Speicher. |
| Intelligentes Batteriesystem | sbs, sbshc | - | Unterstützt eine andere Art des Zugriffs auf die Batterieinformationen, die bei einigen Laptops zu finden ist. |
| Hardware-Fehler-Gerät | hed | - | Unterstützt das Hardware-Fehler-Gerät, das zur Meldung einiger Hardwarefehler verwendet wird. |
| Erlaubt das Einfügen/Ersetzen von ACPI-Methoden während der Laufzeit | custom-method | No | |
| ACPI Platform Error Interface (APEI) | - | - | APEI ermöglicht es, Fehler (z.B. vom Chipsatz) an das Betriebssystem zu melden. |
Emerge
Desktopumgebungen reagieren auf die allgemeinen Ereignisse die von ACPI erzeugt werden. Wenn keine Desktopumgebung installiert ist oder das System auf spezielle Ereignisse reagieren soll, kann das ACPI-Paket installiert werden. Installieren Sie das Paket sys-power/acpid :
root #emerge --ask sys-power/acpidUSE-Flags
Mehrere Pakete kennen das globale acpi USE-Flag. Für sys-power/acpid sind zur Zeit keine USE-Flags verfügbar.
SELinux
Damit acpid ein SELinux-System herunterfahren kann, müssen Sie sicherstellen, dass das Paket sec-policy/selinux-shutdown installiert und die ausführbare Datei /sbin/shutdown umbenannt ist:
root #emerge --ask sec-policy/selinux-shutdownKonfiguration
Die Skripte in /etc/acpi definieren, wie das System auf ACPI-Ereignisse reagiert. Sie können nach Bedarf bearbeitet werden, um die Bedürfnisse des Benutzers zu erfüllen.
Dienste
OpenRC
Der acpid-Dienst kann nun gestartet werden. Bei Verwendung von OpenRC führen Sie aus:
root #/etc/init.d/acpid startUm den acpid-Dienst beim Booten zu starten, fügen Sie ihn dem Standard-Runlevel hinzu:
root #rc-update add acpid defaultsystemd
Wenn systemd als Init-System verwendet wird, aktivieren Sie den acpid-Dienst beim Systemstart, indem Sie Folgendes eingeben:
root #systemctl enable acpid.serviceUm den Dienst jetzt zu starten:
root #systemctl start acpid.serviceFortgeschrittene Beispiele
Die Standard-ACPI-Einstellung mag für einige Benutzer zufriedenstellend sein, jedoch kann eine zusätzliche Konfiguration erforderlich sein, damit der acpid-Daemon einige grundlegende ACPI-Ereignisse richtig behandelt (Ein- und Ausschalten der Stromversorgung, Multimedia-Tasten usw.).
Änderungen können an /etc/acpi/default.sh zusammen mit /etc/acpi/events/default vorgenommen werden, falls erforderlich. Warum nicht ein kompliziertes Setup erstellen, das die Möglichkeiten von /etc/acpi/actions und /etc/acpi/events nutzt? Legen Sie einfach Skripte und Ereignisdateien an diesen Orten für die erweiterte Nutzung ab.
Eine einfache default.sh-Datei wird wahrscheinlich für die meisten Benutzer ausreichen, aber das Folgenden ist eine Beispiel dafür, was mit default.sh gemacht werden könnte:
/etc/acpi/default.sh#!/bin/sh # # $Header: /etc/acpi/default.sh Exp $ # $Author: (c) 2012-2014 -tclover <tokiclover@dotfiles.> Exp $ # $License: MIT (or 2-clause/new/simplified BSD) Exp $ # $Version: 2014年12月24日 21:09:26 Exp $ # log(){logger-pdaemon"ACPI: $*";} uhd(){log"event unhandled: $*";} set$* group=${1%/*} action=${1#*/} device=2ドル id=3ドル value=4ドル [-d/dev/snd]&&alsa=true||alsa=false [-d/dev/oss]&&oss=true||oss=false amixer="amixer -q set Master" ossmix="ossmix -- vmix0-outvol" case$groupin ac_adapter) case$valuein *0)log"switching to power.bat power profile" hprofilepower.bat;; *1)log"switching to power.adp power profile" hprofilepower.adp;; *)uhd$*;; esac ;; battery) case$valuein *0)log"switching to power.adp power profile" hprofilepower.adp;; *1)log"switching to power.adp power profile" hprofilepower.adp;; *)uhd$*;; esac ;; button) case$actionin lid) case"$id"in close)hibernate-ram;; open):;; *)uhd$*;; esac ;; power)shutdown-Hnow;; sleep)hibernate-ram;; mute) $alsa&&$amixertoggle;; volumeup) $alsa&&$amixer3dB+ $oss&&$ossmix+3;; volumedown) $alsa&&$amixer3dB- $oss&&$ossmix-3;; *)uhd$*;; esac ;; cd) case$actionin play):;; stop):;; prev):;; next):;; *)uhd$*;; esac ;; jack) case$idin *plug):;; *)uhd$*;; esac ;; video) case$actionin displayoff):;; *)uhd$*;; esac ;; *)uhd$*;; esac unsetalsaossamixerossmixgroupactiondeviceid # vim:fenc=utf-8:ft=sh:ci:pi:sts=4:sw=4:ts=4:
Beachten Sie, dass das obige Skript mit ALSA und OSS kompatibel ist, so dass beim Wechsel von OSS zu ALSA oder umgekehrt keine zusätzlichen Aktionen erforderlich sind. Zögern Sie nicht, das Skript zu bearbeiten!
Das obige Skript verwendet auch ein Energieverwaltungsprofil mit hprofile. Weitere Informationen dazu finden Sie im Artikel hprofile.
Userspace-Werkzeuge
Viele Pakete verwenden ACPI-Funktionen. Einige davon sind hier aufgeführt:
- sys-power/acpi : um Informationen aus dem /proc-Dateisystem anzuzeigen, z.B. den Batteriestatus oder thermische Informationen
- sys-power/acpitool : eine kleine Befehlszeilenanwendung, die als Ersatz für das Programm apm gedacht ist
- sys-power/acpilight : Ersatz für xbacklight, das die ACPI-Schnittstelle zur Einstellung der Helligkeit verwendet
- app-laptop/laptop-mode-tools : Linux Kernel laptop_mode Userspace-Hilfsmittel
- x11-misc/cbatticon : ein leichtes und schnelles Batteriesymbol, das in der Taskleiste angezeigt wird
- app-admin/conky : ein fortschrittlicher, hochgradig konfigurierbarer Systemmonitor für X
Siehe auch
- ACPI/ThinkPad-special-buttons — describes how to configure ACPI events and actions for the Lenovo ThinkPad T410 laptop.
- Suspend and hibernate — describes how to suspend or hibernate a Gentoo system.
- Knowledge Base:Disabling ACPI support at boot time