source: multimedia/libdriv/wireplumber.xml@ a4b1bd7

12.1 gimp3 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since a4b1bd7 was 63b3f5fe, checked in by Douglas R. Reno <renodr@…>, 10 months ago

Add Wireplumber to the book in support of Snapshot.

  • Property mode set to 100644
File size: 8.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
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 wireplumber-download-http "https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/&wireplumber-version;/wireplumber-&wireplumber-version;.tar.gz">
8 <!ENTITY wireplumber-download-ftp " ">
9 <!ENTITY wireplumber-md5sum "3604fd7006c7ca442d994c808e6d1553">
10 <!ENTITY wireplumber-size "404 KB">
11 <!ENTITY wireplumber-buildsize "44 MB (with tests)">
12 <!ENTITY wireplumber-time "0.3 SBU (with tests)">
13]>
14
15<sect1 id="wireplumber" xreflabel="Wireplumber-&wireplumber-version;">
16 <?dbhtml filename="wireplumber.html"?>
17
18 <title>Wireplumber-&wireplumber-version;</title>
19
20 <indexterm zone="wireplumber">
21 <primary sortas="a-wireplumber">Wireplumber</primary>
22 </indexterm>
23
24 <sect2 role="package">
25 <title>Introduction to Wireplumber</title>
26
27 <para>
28 The <application>Wireplumber</application> package contains a session and
29 policy manager for <application>Pipewire</application>.
30 </para>
31
32 &lfs120_checked;
33
34 <bridgehead renderas="sect3">Package Information</bridgehead>
35 <itemizedlist spacing="compact">
36 <listitem>
37 <para>
38 Download (HTTP): <ulink url="&wireplumber-download-http;"/>
39 </para>
40 </listitem>
41 <listitem>
42 <para>
43 Download (FTP): <ulink url="&wireplumber-download-ftp;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download MD5 sum: &wireplumber-md5sum;
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download size: &wireplumber-size;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Estimated disk space required: &wireplumber-buildsize;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated build time: &wireplumber-time;
64 </para>
65 </listitem>
66 </itemizedlist>
67
68 <bridgehead renderas="sect3">Wireplumber Dependencies</bridgehead>
69
70 <bridgehead renderas="sect4">Required</bridgehead>
71 <para role="required">
72 <phrase revision="sysv"><xref linkend="elogind"/></phrase>,
73 <xref linkend="glib2"/><phrase revision="sysv">,</phrase> and
74 <xref linkend="pipewire"/>
75 </para>
76
77 <bridgehead renderas="sect4">Recommended</bridgehead>
78 <para role="recommended">
79 <xref linkend="lua"/>
80 </para>
81
82 <bridgehead renderas="sect4">Optional</bridgehead>
83 <para role="optional">
84 <xref linkend="doxygen"/>,
85 <xref linkend="gobject-introspection"/>,
86 <xref linkend="lxml"/>,
87 <xref linkend="sphinx"/>,
88 <xref linkend="sphinx_rtd_theme"/>, and
89 <ulink url="https://pypi.org/project/breathe/">Breathe</ulink>
90 </para>
91
92 </sect2>
93
94 <sect2 role="installation">
95 <title>Installation of Wireplumber</title>
96
97 <para>
98 Install <application>Wireplumber</application> by running the following
99 commands:
100 </para>
101
102<screen><userinput>mkdir build &amp;&amp;
103cd build &amp;&amp;
104
105meson setup --prefix=/usr --buildtype=release -Dsystem-lua=true .. &amp;&amp;
106ninja</userinput></screen>
107
108 <para>
109 To test the results, issue: <command>ninja test</command>.
110 </para>
111
112 <para>
113 Now, as the <systemitem class="username">root</systemitem> user:
114 </para>
115
116<screen role="root"><userinput>ninja install</userinput></screen>
117
118 </sect2>
119
120 <sect2 role="commands">
121 <title>Command Explanations</title>
122
123 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
124 href="../../xincludes/meson-buildtype-release.xml"/>
125
126 <para>
127 <parameter>-Dsystem-lua=true</parameter>: This switch enables using the
128 system version of Lua. Omit this switch if you have not installed Lua,
129 but note that <application>meson</application> will download and install
130 it's own version.
131 </para>
132
133 </sect2>
134
135 <sect2 role="configuration">
136 <title>Configuring Wireplumber</title>
137
138 <sect3><title>Configuration Information</title>
139
140 <para>
141 In order for Wireplumber to be used by Pipewire, Wireplumber must be
142 configured to start when a desktop environment is started.
143 </para>
144
145 <para revision="systemd">
146 To configure Wireplumber to start when a desktop environment is
147 started, run the following commands as the &root; user to enable the
148 systemd user units:
149 </para>
150
151<screen role="root" revision="systemd"><userinput>systemctl enable --global pipewire.socket &amp;&amp;
152systemctl enable --global wireplumber</userinput></screen>
153
154 <para revision="sysv">
155 First, create a shell script that will start Wireplumber and Pipewire
156 in the correct order as the &root; user:
157 </para>
158
159<screen role="root" revision="sysv"><userinput>cat &gt; /usr/bin/pipewire-launcher.sh &lt;&lt; "EOF"
160<literal>#!/bin/sh
161# Begin /usr/bin/pipewire-launcher.sh
162
163# Start Pipewire first.
164exec /usr/bin/pipewire &amp;
165
166# Wait for a second for Pipewire to launch.
167sleep 1
168
169# Start Wireplumber now that Pipewire has been started.
170exec /usr/bin/wireplumber &amp;
171# End /usr/bin/pipewire-launcher.sh</literal>
172EOF</userinput></screen>
173
174 <para revision="sysv">
175 Next, make this shell script executable as the &root; user:
176 </para>
177
178<screen role="root" revision="sysv"><userinput>chmod +x /usr/bin/pipewire-launcher.sh</userinput></screen>
179
180 <para revision="sysv">
181 Finally, create an XDG Autostart file that will run
182 <command>/usr/bin/pipewire.sh</command> when a desktop environment is
183 started, as the &root; user:
184 </para>
185
186<screen role="root" revision="sysv"><userinput>cat &gt; /etc/xdg/autostart/pipewire.desktop &lt;&lt; "EOF"
187<literal>[Desktop Entry]
188Version=1.0
189Name=Pipewire
190Comment=Starts the Pipewire and Wireplumber daemons
191Exec=/usr/bin/pipewire-launcher.sh
192Terminal=false
193Type=Application</literal>
194EOF</userinput></screen>
195
196 <para>
197 Now that Wireplumber is configured to start when a desktop environment is
198 started, it is recommended that you log out of your session and log back
199 in again.
200 </para>
201
202 </sect3>
203 </sect2>
204
205 <sect2 role="content">
206 <title>Contents</title>
207
208 <segmentedlist>
209 <segtitle>Installed Programs</segtitle>
210 <segtitle>Installed Libraries</segtitle>
211 <segtitle>Installed Directories</segtitle>
212
213 <seglistitem>
214 <seg>
215 wireplumber,
216 wpctl, and
217 wpexec
218 </seg>
219 <seg>
220 libwireplumber-0.4.so
221 </seg>
222 <seg>
223 /usr/include/wireplumber-0.4,
224 /usr/lib/wireplumber-0.4, and
225 /usr/share/wireplumber
226 </seg>
227 </seglistitem>
228 </segmentedlist>
229
230 <variablelist>
231 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
232 <?dbfo list-presentation="list"?>
233 <?dbhtml list-presentation="table"?>
234
235 <varlistentry id="wireplumber-prog">
236 <term><command>wireplumber</command></term>
237 <listitem>
238 <para>
239 is a session and policy manager for Pipewire
240 </para>
241 <indexterm zone="wireplumber wireplumber-prog">
242 <primary sortas="b-wireplumber">wireplumber</primary>
243 </indexterm>
244 </listitem>
245 </varlistentry>
246
247 <varlistentry id="wpctl">
248 <term><command>wpctl</command></term>
249 <listitem>
250 <para>
251 controls and queries information from Wireplumber
252 </para>
253 <indexterm zone="wireplumber wpctl">
254 <primary sortas="b-wpctl">wpctl</primary>
255 </indexterm>
256 </listitem>
257 </varlistentry>
258
259 <varlistentry id="wpexec">
260 <term><command>wpexec</command></term>
261 <listitem>
262 <para>
263 executes Wireplumber scripts, which are often written in Lua
264 </para>
265 <indexterm zone="wireplumber wpexec">
266 <primary sortas="b-wpexec">wpexec</primary>
267 </indexterm>
268 </listitem>
269 </varlistentry>
270
271 <varlistentry id="libwireplumber">
272 <term><filename class="libraryfile">libwireplumber-0.4.so</filename></term>
273 <listitem>
274 <para>
275 contains functions that allow other programs to control Wireplumber
276 </para>
277 <indexterm zone="wireplumber libwireplumber">
278 <primary sortas="c-libwireplumber">libwireplumber-0.4.so</primary>
279 </indexterm>
280 </listitem>
281 </varlistentry>
282 </variablelist>
283 </sect2>
284</sect1>
Note: See TracBrowser for help on using the repository browser.