Introduction to UPower

The UPower package provides an interface for enumerating power devices, listening to device events and querying history and statistics. Any application or service on the system can access the org.freedesktop.UPower service via the system message bus.

This package is known to build and work properly using an LFS 12.1 platform.

Package Information

UPower Dependencies


libgudev-238 and libusb-1.0.27

Optional (Required if building GNOME)



GTK-Doc-1.33.2, libxslt-1.1.39, docbook-xsl-nons-1.79.2, PyGObject-3.46.0, dbusmock-0.30.2, umockdev-0.17.18 (for part of the test suite), and libimobiledevice

Kernel Configuration

Enable the following options in the kernel configuration and recompile the kernel if necessary:

General setup --->
  -*- Namespaces support --->                                       [NAMESPACES]
    [*] User namespace                                                 [USER_NS]

Installation of UPower

First, remove an unneeded dependency from a test:

sed '/parse_version/d' -i src/linux/integration-test.py

Install UPower by running the following commands:

mkdir build                         &&
cd    build                         &&
meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -Dgtk-doc=false     \
      -Dman=false         &&

To test the results, issue: LC_ALL=C ninja test. Some checks may not pass due to missing files. The test suite should be run from a local GUI session started with dbus-launch. On 32-bit machines, one test will fail due to rounding errors: Tests.test_battery_energy_charge_mixed. On some systems, two tests relating to the headphone hotplug feature are known to fail. Those can be safely ignored since the functionality still works. The test named Tests.test_bluetooth_le_device is known to fail with dbusmock-0.30.1 or later.

Now, as the root user:

ninja install

Command Explanations

-Dgtk-doc=false: Prevents building the documentation. Remove this if you have GTK-Doc installed and wish to build the documentation.

-Dman=false: Prevents building the manual pages. Remove this if you have libxslt-1.1.39 and docbook-xsl-nons-1.79.2 installed and wish to build the manual pages.


Installed Program: upower
Installed Libraries: libupower-glib.so
Installed Directories: /etc/UPower, /usr/include/libupower-glib, and /var/lib/upower

Short Descriptions


is the UPower command line tool


contains the UPower API functions