source: multimedia/libdriv/wireplumber.xml

trunk
Last change on this file was 74ca3a7, checked in by Douglas R. Reno <renodr@…>, 5 days ago

Update to wireplumber-0.5.2

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