ACPI/de

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page ACPI and the translation is 100% complete.
Resources

ACPI (Advanced Configuration and Power Management Interface) ist ein Energiemanagement System, das Teil des BIOS ist.

Installation

Kernel

Die folgenden Kerneloptionen müssen für ACPI aktiviert werden:

KERNEL
Power management and ACPI options  --->
    [*] Power Management support
        [*] ACPI (Advanced Configuration and Power Interface) Support  --->
Optional drivers
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/acpid

USE-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-shutdown

Konfiguration

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 start

Um den acpid-Dienst beim Booten zu starten, fügen Sie ihn dem Standard-Runlevel hinzu:

root #rc-update add acpid default

systemd

Wenn systemd als Init-System verwendet wird, aktivieren Sie den acpid-Dienst beim Systemstart, indem Sie Folgendes eingeben:

root #systemctl enable acpid.service

Um den Dienst jetzt zu starten:

root #systemctl start acpid.service

Fortgeschrittene 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:

DATEI /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 -p daemon "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 $group in
	ac_adapter)
		case $value in
			*0) log "switching to power.bat power profile"
				hprofile power.bat;;
			*1) log "switching to power.adp power profile"
				hprofile power.adp;;
			*) uhd $*;;
		esac
		;;
	battery)
		case $value in
			*0) log "switching to power.adp power profile"
				hprofile power.adp;;
			*1) log "switching to power.adp power profile"
				hprofile power.adp;;
			*) uhd $*;;
		esac
		;;
	button)
		case $action in
			lid)
				case "$id" in
					close) hibernate-ram;;
					open) :;;
					*) uhd $*;;
				esac
				;;
			power) shutdown -H now;;
			sleep) hibernate-ram;;
			mute) 
				$alsa && $amixer toggle;;
			volumeup) 
				$alsa && $amixer 3dB+
				$oss && $ossmix +3;;
			volumedown) 
				$alsa && $amixer 3dB-
				$oss && $ossmix -3;;
			*) uhd $*;;
		esac
		;;
	cd)
		case $action in
			play) :;;
			stop) :;;
			prev) :;;
			next) :;;
			*) uhd $*;;
		esac
		;;
	jack)
		case $id in
			*plug) :;;
			*) uhd $*;;
		esac
		;;
	video)
		case $action in
			displayoff) :;;
			*) uhd $*;;
		esac
		;;
	*) uhd $*;;
esac
 
unset alsa oss amixer ossmix group action device id
 
# vim:fenc=utf-8:ft=sh:ci:pi:sts=4:sw=4:ts=4:
Hinweis
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!
Hinweis
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:


Siehe auch