source: general/sysutils/upower.xml@ 6fa3e04

12.1 ken/TL2024 lazarus plabs/newcss rahul/power-profiles-daemon trunk xry111/llvm18
Last change on this file since 6fa3e04 was ab4fdfc, checked in by Pierre Labastie <pierre.labastie@…>, 6 months ago

Change all xml decl to encoding=utf-8

  • Property mode set to 100644
File size: 11.2 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY upower-download-http "https://gitlab.freedesktop.org/upower/upower/-/archive/v&upower-version;/upower-v&upower-version;.tar.bz2">
8 <!ENTITY upower-download-ftp " ">
9 <!ENTITY upower-md5sum "bfd6e3275e61d7e097b53eb2b216fffa">
10 <!ENTITY upower-size "136 KB">
11 <!ENTITY upower-buildsize "6.5 MB (add 1.1 MB for tests)">
12 <!ENTITY upower-time "less than 0.1 SBU (using parallelism=4, add 0.6 SBU for tests)">
13]>
14
15<sect1 id="upower" xreflabel="UPower-&upower-version;">
16 <?dbhtml filename="upower.html"?>
17
18
19 <title>UPower-&upower-version;</title>
20
21 <indexterm zone="upower">
22 <primary sortas="a-UPower">UPower</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to UPower</title>
27
28 <para>
29 The <application>UPower</application> package provides an interface for
30 enumerating power devices, listening to device events and querying history
31 and statistics. Any application or service on the system can access the
32 org.freedesktop.UPower service via the system message bus.
33 </para>
34
35 &lfs120_checked;
36
37 <bridgehead renderas="sect3">Package Information</bridgehead>
38 <itemizedlist spacing="compact">
39 <listitem>
40 <para>
41 Download (HTTP): <ulink url="&upower-download-http;"/>
42 </para>
43 </listitem>
44 <listitem>
45 <para>
46 Download (FTP): <ulink url="&upower-download-ftp;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download MD5 sum: &upower-md5sum;
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download size: &upower-size;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Estimated disk space required: &upower-buildsize;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated build time: &upower-time;
67 </para>
68 </listitem>
69 </itemizedlist>
70
71 <bridgehead renderas="sect3">UPower Dependencies</bridgehead>
72
73 <bridgehead renderas="sect4">Required</bridgehead>
74 <para role="required">
75 <xref linkend="libgudev"/> and
76 <xref linkend="libusb"/>
77 </para>
78
79 <bridgehead renderas="sect4">Optional (Required if building GNOME)</bridgehead>
80 <para role="optional">
81 <xref linkend="gobject-introspection"/>
82 </para>
83
84 <bridgehead renderas="sect4">Optional</bridgehead>
85 <para role="optional">
86 <xref linkend="gtk-doc"/>,
87 <xref linkend="libxslt"/>,
88 <xref linkend="docbook-xsl"/>,
89 <xref linkend="pygobject3"/>,
90 <xref linkend="python-dbusmock"/>,
91 <xref linkend="umockdev"/> (for part of the test suite), and
92 <ulink url="https://libimobiledevice.org/">libimobiledevice</ulink>
93 </para>
94
95 </sect2>
96
97 <sect2 role="kernel" id="upower-kernel" revision="systemd">
98 <!-- With UPower-0.9.11's hardening of the systemd unit file,
99 User Namespace Support (CONFIG_USER_NS) is now required. Without this,
100 you will get "ERROR 213/USER" out of a 'systemctl start upower'. -->
101 <title>Kernel Configuration</title>
102
103 <para>
104 Enable the following options in the kernel configuration and recompile the
105 kernel if necessary:
106 </para>
107
108 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
109 href="upower-systemd-kernel.xml"/>
110
111 <indexterm zone="upower upower-kernel">
112 <primary sortas="d-upower">upower</primary>
113 </indexterm>
114 </sect2>
115
116 <sect2 role="installation">
117 <title>Installation of UPower</title>
118
119 <para>
120 First, remove an unneeded dependency from a test:
121 </para>
122
123<screen><userinput>sed '/parse_version/d' -i src/linux/integration-test.py</userinput></screen>
124
125 <para>
126 Install <application>UPower</application> by running the following
127 commands:
128 </para>
129
130<screen revision="sysv"><userinput>mkdir build &amp;&amp;
131cd build &amp;&amp;
132
133meson setup .. \
134 --prefix=/usr \
135 --buildtype=release \
136 -Dgtk-doc=false \
137 -Dman=false \
138 -Dsystemdsystemunitdir=no \
139 -Dudevrulesdir=/usr/lib/udev/rules.d &amp;&amp;
140ninja</userinput></screen>
141
142<screen revision="systemd"><userinput>mkdir build &amp;&amp;
143cd build &amp;&amp;
144meson setup .. \
145 --prefix=/usr \
146 --buildtype=release \
147 -Dgtk-doc=false \
148 -Dman=false &amp;&amp;
149ninja</userinput></screen>
150
151 <!-- On my system with LANG=zh_CN.UTF-8, one test attempted to compare
152 Chinese error message with English references and failed.
153 LC_ALL=C fixes the problem. -->
154 <!-- Headphone hotplug (bluetooth and AUX) was tested and seems to work
155 okay even with the test faliures. Maybe it's wants headphones plugged
156 in during the test? Regardless, it can be safely ignored. -->
157 <!-- On a 32-bit machine, the following test failure can be observed:
158 ======================================================================
159 FAIL: test_battery_energy_charge_mixed (__main__.Tests.test_battery_energy_charge_mixed)
160 battery which reports both current charge and energy
161
162 self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Percentage'), 40.0)
163 AssertionError: 40.00000000000001 != 40.0
164
165 This is known upstream as https://gitlab.freedesktop.org/upower/upower/-/issues/251
166 Not sure if this is an actual problem, but it seems to start and work
167 properly -renodr
168
169 test_bluetooth_le_device: upstream MR !207 -xry111 -->
170
171 <para>
172 To test the results, issue: <command>LC_ALL=C ninja test</command>. Some
173 checks may not pass due to missing files. The test suite should be run
174 from a local GUI session started with dbus-launch. On 32-bit machines,
175 one test will fail due to rounding errors:
176 <filename>Tests.test_battery_energy_charge_mixed</filename>. On some
177 systems, two tests relating to the headphone hotplug feature are known
178 to fail. Those can be safely ignored since the functionality still works.
179 The test named <filename>Tests.test_bluetooth_le_device</filename>
180 is known to fail with dbusmock-0.30.1 or later.
181 </para>
182
183 <para>
184 Now, as the <systemitem class="username">root</systemitem> user:
185 </para>
186
187<screen role="root"><userinput>ninja install</userinput></screen>
188
189 </sect2>
190
191 <sect2 role="commands">
192 <title>Command Explanations</title>
193
194 <para>
195 <parameter>-Dgtk-doc=false</parameter>: Prevents building the
196 documentation. Remove this if you have <application>GTK-Doc</application>
197 installed and wish to build the documentation.
198 </para>
199
200 <para>
201 <parameter>-Dman=false</parameter>: Prevents building the
202 manual pages. Remove this if you have <xref linkend='libxslt'/> and
203 <xref linkend='docbook-xsl'/> installed and wish to build the manual
204 pages.
205 </para>
206
207 <para revision="sysv">
208 <parameter>-Dsystemdsystemunitdir=no</parameter>: Removes
209 the dependency on <application>systemd</application>.
210 </para>
211
212 <para revision="sysv">
213 <parameter>-Dudevrulesdir=/usr/lib/udev/rules.d</parameter>: Tells
214 the build system where to install <application>udev</application>
215 rules because the information is missing in
216 <filename>/usr/lib/pkgconfig/libudev.pc</filename>
217 </para>
218
219 </sect2>
220
221 <sect2 role="configuration" revision="systemd">
222
223 <title>Configuring UPower</title>
224<!-- timer statistics have been removed from kernel (since 4.11)
225 I do not know if there is a replacement. See
226 https://patchwork.kernel.org/patch/9561519
227 and https://bugs.freedesktop.org/show_bug.cgi?id=100626
228
229 <para>
230 To use the command <command>upower -w</command> for information about
231 processor wakeups (this command is used by <phrase revision="sysv">
232 <ulink url="&gnome-download-http;/gnome-power-manager/">gnome-power-manager</ulink></phrase><phrase revision="systemd"><xref linkend="gnome-power-manager"/></phrase>)
233 you need to enable CONFIG_TIMER_STATS. This is achieved in
234 <command>make menuconfig</command> by going to the &apos;kernel-hacking&apos;
235 menu and selecting &apos;Collect kernel timers statistics&apos;.
236 </para>
237-->
238 <sect3 id="upower-init">
239 <title>Systemd Unit</title>
240
241 <para>
242 To start the <command>UPower</command> service at boot,
243 enable the previously installed systemd unit by
244 running the following command as the
245 <systemitem class="username">root</systemitem> user:
246 </para>
247
248 <indexterm zone="upower upower-init">
249 <primary sortas="f-upower">upower</primary>
250 </indexterm>
251
252<screen role="root"><userinput>systemctl enable upower</userinput></screen>
253
254 </sect3>
255
256 </sect2>
257
258 <sect2 role="content">
259 <title>Contents</title>
260
261 <segmentedlist>
262 <segtitle>Installed Program<!--
263See below... <phrase revision="systemd">s</phrase>--></segtitle>
264 <segtitle>Installed Libraries</segtitle>
265 <segtitle>Installed Directories</segtitle>
266
267 <seglistitem>
268 <seg>
269 upower
270<!-- <phrase revision="systemd"> and upowerd</phrase>
271Upowerd should not be listed, as it is in /usr/libexec, and is not supposed
272to be run by a user. Furthermore, upowerd is also in sysv, and there is no
273reason so single out systemd here. -->
274 </seg>
275 <seg>
276 libupower-glib.so
277 </seg>
278 <seg>
279 /etc/UPower,
280 /usr/include/libupower-glib, and
281 /var/lib/upower
282 </seg>
283 </seglistitem>
284 </segmentedlist>
285
286 <variablelist>
287 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
288 <?dbfo list-presentation="list"?>
289 <?dbhtml list-presentation="table"?>
290
291 <varlistentry id="upower-prog">
292 <term><command>upower</command></term>
293 <listitem>
294 <para>
295 is the <application>UPower</application> command line tool
296 </para>
297 <indexterm zone="upower upower-prog">
298 <primary sortas="b-upower">upower</primary>
299 </indexterm>
300 </listitem>
301 </varlistentry>
302<!-- See above
303 <varlistentry id="upowerd" revision="systemd">
304 <term><command>upowerd</command></term>
305 <listitem>
306 <para>
307 is the <application>UPower</application> Daemon. It provides the
308 org.freedesktop.UPower service on the system message bus.
309 </para>
310 <indexterm zone="upower upowerd">
311 <primary sortas="b-upowerd">upowerd</primary>
312 </indexterm>
313 </listitem>
314 </varlistentry>-->
315
316 <varlistentry id="libupower-glib">
317 <term><filename class="libraryfile">libupower-glib.so</filename></term>
318 <listitem>
319 <para>
320 contains the <application>UPower</application> API functions
321 </para>
322 <indexterm zone="upower libupower-glib">
323 <primary sortas="c-libupower-glib">libupower-glib.so</primary>
324 </indexterm>
325 </listitem>
326 </varlistentry>
327
328 </variablelist>
329
330 </sect2>
331
332</sect1>
Note: See TracBrowser for help on using the repository browser.