The Power-profiles-daemon package provides a program that allows modification of the system power/behavior state. This is used on many laptops and can be used by a Desktop Environment to activate power saving or performance CPU governors through dbus. On other systems, Power-profiles-daemon can be used as a streamlined way to set the CPU governor in order to increase system performance at the cost of energy usage.
This package is known to build and work properly using an LFS 12.2 platform.
Download (HTTP): https://gitlab.freedesktop.org/upower/power-profiles-daemon/-/archive/0.21/power-profiles-daemon-0.21.tar.gz
Download MD5 sum: 0196aae5798263d3d8f33a9280a6cb10
Download size: 76 KB
Estimated disk space required: 3.2 MB
Estimated build time: less than 0.1 SBU (with tests)
Polkit-125, PyGObject-3.48.2 (pycairo is not needed), and UPower-1.90.4
GTK-Doc-1.34.0, The rest are for the tests, dbusmock-0.32.1, umockdev-0.18.3, isort, and mccabe
Enable the following options in the kernel configuration and recompile the kernel if necessary:
Power management and ACPI options ---> CPU Frequency scaling ---> -*- CPU Frequency scaling [CPU_FREQ] -*- 'performance' governor [CPU_FREQ_GOV_PERFORMANCE] <*/M> 'powersave' governor [CPU_FREQ_GOV_POWERSAVE] # Select if CPU is Intel: [ /*] Intel P state control [X86_INTEL_PSTATE] # Select if CPU is AMD: [ /*] AMD Processor P-State driver [X86_AMD_PSTATE] Device Drivers ---> # Some drivers under this submenu provide "platform profile" support # and power-profiles-daemon can take advantage from platform profiles; # select a driver if suitable for your platform: [ /*] X86 Platform Specific Device Drivers ---> [X86_PLATFORM_DEVICES]
Select the appropriate sub-options that appear when the above options are selected. As much as possible, the layout should be the same as in kernel configuration menus.
Install Power-profiles-daemon by running the following commands:
mkdir build && cd build && meson setup \ --prefix=/usr \ --buildtype=release \ -D gtk_doc=false \ -D tests=false \ -D systemdsystemunitdir=/tmp \ .. && ninja
If you have installed the external dependencies, to test the results issue: ninja test.
Now, as the root
user:
ninja install
Now, clean up an unneeded systemd unit installed into /tmp:
rm -fv /tmp/power-profiles-daemon.service
Create a directory required for persistent power states after reboot:
install -vdm755 /var/lib/power-profiles-daemon
-D gtk_doc=false
: Prevents
building the documentation. Remove this if you have GTK-Doc installed and wish to build the
documentation.
-D tests=false
: Prevents
building the tests because they cannot be run within the boundaries
of BLFS. Remove this if you have installed the external
dependencies and wish to run the tests.
-D
systemdsystemunitdir=/tmp
: Removes the dependency on
systemd.
To automatically start the power-profiles-daemon when the
system is rebooted, install the /etc/rc.d/init.d/power-profiles-daemon
bootscript from the blfs-bootscripts-20240416 as the
root
user:
make install-power-profiles-daemon
To list all supported power profiles, issue:
powerprofilesctl
To activate a power profile (for example performance
), issue:
powerprofilesctl set performance
Some desktop environments (for example GNOME and KDE) also provide a graphical interface to interact with power-profiles-daemon and activate a power profile.
The activated power profile is automatically stored in
/var/lib/power-profiles-daemon/state.ini
and
power-profiles-daemon will read
it out and activate it again on the next boot if the bootscript is installed as above.