ACPI/pl
ACPI (Advanced Configuration and Power Management Interface - Zaawansowana Konfiguracja i Interfejs Zarządzania Energią) to System zarządzania energią który jest częścią BIOS.
Instalacja
Jądro
Następujące opcje jądra muszą zostać aktywowane dla ACPI:
Power management and ACPI options --->
[*] Power Management support
[*] ACPI (Advanced Configuration and Power Interface) Support --->
Option | Module | Recommend | Description |
---|---|---|---|
Deprecated /proc/acpi files | - | No | Creates deprecated files in the procfs filesystem, which are now replaced by files in the sysfs filesystem. |
Deprecated power /proc/acpi directories | - | No | Creates deprecated files in the procfs filesystem, which are now replaced by files in the sysfs filesystem. |
EC read/write access through /sys/kernel/debug/ec | ec-debugfs | No | Debug interface to the Embedded Controller. |
Deprecated /proc/acpi/event support | - | No | Creates deprecated files in the procfs filesystem, which are now replaced by the input layer or netlink events. |
AC Adapter | ac | Laptops | Creates files to tell if your system is connected to AC. |
Battery | battery | Laptops | Creates files to tell if your system is powered by a battery. |
Button | button | - | Handles events on the power, sleep, and lid buttons. |
Video | video | - | Supports basic operations for Video cards. |
Fan | fan | - | Supports ACPI fan devices, allowing user-mode applications to perform basic fan control (on, off, status). |
Dock | dock | - | Supports ACPI-controlled docking stations and removable drive bays, see the acpi dock article. |
Processor | processor | - | Installs ACPI as the idle handler for Linux and uses ACPI C2 and C3 processor states to save power. |
Processor Aggregator | processor-aggregator | - | ACPI 4.0 function to perform specific processor configuration and control. |
Thermal Zone | thermal | Yes | Supports ACPI thermal zones to protect your processor against overheating. |
NUMA support | - | - | |
Debug Statements | - | No | |
PCI slot detection driver | pci-slot | No | Helps to correlate PCI bus addresses with physical slots |
Container and Module Devices | container | - | Supports ACPI Container and Module devices to hotplug nodes, CPUs, and memory. |
Smart Battery System | sbs, sbshc | - | Supports another type of access to battery information, found on some laptops. |
Hardware Error Device | hed | - | Supports the Hardware Error Device, which is used to report some hardware errors. |
Allow ACPI methods to be inserted/replaced at run time | custom-method | No | |
ACPI Platform Error Interface (APEI) | - | - | APEI allows to report errors (for example from the chipset) to the operating system. |
Emerge
Desktop environments react on the common events generated by ACPI. If a desktop environment is not installed or to have the system react on special events the ACPI package can be installed. Install the sys-power/acpid package:
root #
emerge --ask sys-power/acpid
Flagi USE
Several packages know about the global acpi
USE flag. There are no use flags available for sys-power/acpid at this time.
SELinux
Aby acpid mógł zamknąć system SELinux, upewnij się, że pakiet / selinux-shutdown sec-policy / selinux-shutdown jest zainstalowany, a plik wykonywalny / sbin / shutdown jest ponownie oznaczony etykietą:
root #
emerge --ask sec-policy/selinux-shutdown
Konfiguracja
The scripts found in /etc/acpi define how the system reacts on ACPI events. They can be edited as necessary to meet the user's needs.
Usługi
OpenRC
Usługa acpid może teraz zostać uruchomiona. Jeśli korzystasz z OpenRC:
root #
/etc/init.d/acpid start
Aby uruchomić usługę acpid podczas rozruchu, dodaj ją do domyślnego poziomu uruchamiania:
root #
rc-update add acpid default
Systemd
If systemd is being used as the init system, enable the acpid service on system boot by issuing:
root #
systemctl enable acpid.service
Aby uruchomić usługę teraz:
root #
systemctl start acpid.service
Zaawansowane przykłady
The default ACPI setup may be satisfactory for some users, however a little extra configuration may be required to get the acpid daemon to treat some basic ACPI events properly (AC power plug in/out, multimedia keys, etc.).
Modifications can be make to /etc/acpi/default.sh along with /etc/acpi/events/default if necessary. Why not create a complicated setup that makes use of the /etc/acpi/actions and /etc/acpi/events capabilities? Simply put scripts and event files in those locations for advanced usage.
A basic default.sh file will probably be enough for most users, however the following is an example of what could be done using 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:
Userspace utilities
Many packages use ACPI functions. A few are listed here:
- sys-power/acpi: to show information from the /proc filesystem, such as battery status or thermal information
- sys-power/acpitool: a small command line application, intended to be a replacement for the apm tool
- sys-power/acpilight: replacement for xbacklight that uses the ACPI interface to set brightness
- app-laptop/laptop-mode-tools: linux kernel laptop_mode user-space utilities
- x11-misc/cbatticon: a lightweight and fast battery icon that sits in your system tray
- app-admin/conky: an advanced, highly configurable system monitor for X
Zobacz również
- 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