Find a file
Bastien Nocera 09283442cd main: Add intel_pstate-based driver
Intel's p-state driver provides "Energy vs. Performance" hints that
user-space can use to set a policy for the P-state selection logic.
On all supported Intel systems that should have a range from "power"
to "performance" with steps in between.

Depending on the selected profile, performance or power will be selected
for the equivalent power profile.

See https://www.kernel.org/doc/html/v4.12/admin-guide/pm/intel_pstate.html#energy-vs-performance-hints
and https://www.kernel.org/doc/html/v4.12/admin-guide/pm/intel_pstate.html#turbo-p-states-support

Closes: #13
2020-09-04 15:01:30 +02:00
data data: Make service D-Bus activatable 2020-08-10 11:42:31 +02:00
docs docs: Fix copyright year 2020-07-24 11:23:44 +02:00
src main: Add intel_pstate-based driver 2020-09-04 15:01:30 +02:00
tests main: Get rid of "SelectedProfile" property 2020-08-12 16:55:58 +02:00
.editorconfig power-profiles-daemon 2020-07-10 17:29:23 +02:00
.gitignore power-profiles-daemon 2020-07-10 17:29:23 +02:00
.gitlab-ci.yml ci: Add packages for integration tests 2020-07-16 17:07:10 +02:00
COPYING power-profiles-daemon 2020-07-10 17:29:23 +02:00
meson.build data: Make service D-Bus activatable 2020-08-10 11:42:31 +02:00
meson_options.txt power-profiles-daemon 2020-07-10 17:29:23 +02:00
NEWS power-profiles-daemon 2020-07-10 17:29:23 +02:00
README.md main: Add fake performance driver 2020-08-12 15:31:54 +02:00

power-profiles-daemon

Makes power profiles handling available over D-Bus.

Installation

$ meson _build -Dprefix=/usr
$ ninja -v -C _build install

It requires libgudev and systemd.

Introduction

power-profiles-daemon offers to modify system behaviour based upon user-selected power profiles. There are 3 different power profiles, a "balanced" default mode, a "power-saver" mode, as well as a "performance" mode. The first 2 of those are available on every system. The "performance" mode is only available on select systems and is implemented by different "drivers" based on the system or systems it targets.

In addition to those 2 or 3 modes (depending on the system), "actions" can be hooked up to change the behaviour of a particular device. For example, this can be used to disable the fast-charging for some USB devices when in power-saver mode.

GNOME's Settings and shell both include interfaces to select the current mode, but they are also expected to adjust the behaviour of the desktop depending on the mode, such as turning the screen off after inaction more aggressively when in power-saver mode.

Note that power-profiles-daemon does not save the currently active profile across system restarts and will always start with the "balanced" profile selected.

Debugging

You can now check which mode is in use, and which ones are available by running:

gdbus introspect --system --dest net.hadess.PowerProfiles --object-path /net/hadess/PowerProfiles

You can change the selected profile by running (change power-saver for the chosen profile):

gdbus call --system --dest net.hadess.PowerProfiles --object-path /net/hadess/PowerProfiles --method org.freedesktop.DBus.Properties.Set 'net.hadess.PowerProfiles' 'SelectedProfile' "<'power-saver'>"

If that doesn't work, please file an issue, make sure any running power-profiles-daemon has been stopped: systemctl stop power-profiles-daemon.service and attach the output of: G_MESSAGES_DEBUG=all /usr/libexec/power-profiles-daemon running as root.

Testing

If you don't have hardware that can support the performance mode, you can manually run the power-profiles-daemon binary as root with the environment variable POWER_PROFILE_DAEMON_FAKE_DRIVER set to 1. For example:

$ sudo POWER_PROFILE_DAEMON_FAKE_DRIVER=1 /usr/libexec/power-profiles-daemon

References