The Chrome OS power manager consists of several components:
powerd
: C++ system daemon running as thepower
user that initiates dimming the screen, suspending the system, etc.powerd_setuid_helper
: setuid root binary used by powerd to perform actions requiring additional privileges.powerd_dbus_suspend
: shell script executed by powerd (by way ofpowerd_setuid_helper
) to suspend and resume the system.send_metrics_on_resume
: shell script executed bypowerd_suspend
and by thesend-boot-metrics
Upstart job to report suspend-related metrics.
The docs/
subdirectory contains additional documentation. Along with
answers to frequently-asked questions, the following information
is available:
- Battery Notifications describes when low-battery notifications are shown by the UI.
- Inactivity Delays describes powerd's logic for taking action (e.g. dimming the backlight or suspending) when the user is inactive.
- Input describes how powerd handles input events.
- Keyboard Backlight describes powerd's logic for controlling the keyboard backlight.
- Logging describes where and how powerd logs informative messages.
- Power Buttons describes how power buttons work.
- Power Supplies describes powerd's logic for determining the state of power supplies (e.g. batteries or line power).
- Screen Brightness describes powerd's logic for controlling the display backlight.
- Shutdown and Reboot describes why and how Chrome OS systems shut down and reboot.
- Suspend and Resume describes powerd's process for suspending and resuming the system.
- udev Usage describes how powerd uses the udev system to learn about hardware changes.
This repository contains the following subdirectories:
Subdirectory | Description |
---|---|
common |
Code shared between powerd and tools |
dbus |
D-Bus policy configuration files |
default_prefs |
Default pref files installed to /usr/share/power_manager |
docs |
Detailed documentation in Markdown format |
init/shared |
Scripts shared between Upstart and systemd |
init/systemd |
systemd-specific config files |
init/upstart |
Upstart-specific config files installed to /etc/init |
optional_prefs |
Pref files conditionally installed based on USE flags |
powerd |
Power manager daemon |
powerd/policy |
High-level parts of powerd that make policy decisions |
powerd/system |
Low-level parts of powerd that communicate with the kernel |
tools |
Utility programs; may depend on powerd code |
udev |
udev configuration files and scripts |