source: multimedia/libdriv/pipewire.xml@ 82a9ecf

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 82a9ecf was 82a9ecf, checked in by Xi Ruoyao <xry111@…>, 4 years ago

update gcr, g-s-d, and pipewire

gcr: fix a bug identified by upstream
g-s-d: depends on gcr
pipewire: run test suite

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@23490 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 13.8 KB
RevLine 
[dcea4e3]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 pipewire-download-http "https://github.com/PipeWire/pipewire/archive/&pipewire-version;/pipewire-&pipewire-version;.tar.gz">
8 <!ENTITY pipewire-download-ftp " ">
[0b4b5038]9 <!ENTITY pipewire-md5sum "b780d2cf50c5cc9937a17499deea4667">
[da1575a]10 <!ENTITY pipewire-size "1.1 MB">
11 <!ENTITY pipewire-buildsize "110 MB">
[0b4b5038]12 <!ENTITY pipewire-time "0.3 SBU (Using parallelism=4)">
[dcea4e3]13]>
14
15<sect1 id="pipewire" xreflabel="pipewire-&pipewire-version;">
16 <?dbhtml filename="pipewire.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Pipewire-&pipewire-version;</title>
24
25 <indexterm zone="pipewire">
26 <primary sortas="a-pipewire">pipewire</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Pipewire</title>
31
32 <para>
33 The <application>pipewire</application> package contains a server and
34 user-space API to handle multimedia pipelines. This includes a universal
35 API to connect to multimedia devices, as well as sharing multimedia
36 files between applications.
37 </para>
38
[f33b456]39 &lfs91_checked;
[dcea4e3]40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&pipewire-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&pipewire-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &pipewire-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &pipewire-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &pipewire-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &pipewire-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Pipewire Dependencies</bridgehead>
76
77 <bridgehead renderas="sect4">Required</bridgehead>
78 <para role="required">
[9bd10279]79 <xref linkend="bluez"/>,
[dcea4e3]80 <xref linkend="ffmpeg"/>,
81 <xref linkend="gstreamer10"/>,
82 <xref linkend="gst10-plugins-base"/>,
83 <xref linkend="libva"/>,
[42e419b5]84 <xref linkend="pulseaudio"/>,
[9bd10279]85 <xref linkend="sbc"/>,
86 <xref linkend="sdl2"/>, and
87 <xref linkend="v4l-utils"/>
[dcea4e3]88 </para>
89
90 <bridgehead renderas="sect4">Optional</bridgehead>
91 <para role="optional">
92 <xref linkend="valgrind"/>,
93 <xref linkend="doxygen"/> and
[9bd10279]94 <xref linkend="graphviz"/> (for documentation),
95 <ulink url="https://jackaudio.org/">JACK</ulink>,
96 <ulink url="https://vulkan.lunarg.com/sdk/home/">Vulkan</ulink>, and
97 <ulink url="https://sourceforge.net/projects/xmltoman/">xmltoman</ulink>
[dcea4e3]98 </para>
99
100 <para condition="html" role="usernotes">
101 User Notes: <ulink url="&blfs-wiki;/pipewire"/>
102 </para>
103 </sect2>
104
105 <sect2 role="installation">
106 <title>Installation of Pipewire</title>
107
108 <para>
109 Install <application>pipewire</application> by running the following
110 commands:
111 </para>
112
113<screen><userinput>mkdir build &amp;&amp;
[aa17ca8]114cd build &amp;&amp;
[dcea4e3]115
[9bd10279]116meson --prefix=/usr \
117 --sysconfdir=/etc \
118 -Djack=false \
119 -Dpipewire-jack=false \
120 -Dvulkan=false \
121 .. &amp;&amp;
[dcea4e3]122ninja</userinput></screen>
123
124 <para>
[82a9ecf]125 To test the result, issue: <command>ninja test</command>.
[dcea4e3]126 </para>
127
128 <para>
129 Now, as the <systemitem class="username">root</systemitem> user:
130 </para>
131
132<screen role="root"><userinput>ninja install</userinput></screen>
133 </sect2>
134
135 <sect2 role="commands">
136 <title>Command Explanations</title>
137
[9bd10279]138 <!-- Without these three parameters, Meson fails to run. -->
139 <para>
140 <parameter>-Djack=false</parameter>: This switch prevents building the
141 <application>JACK</application> plugin since
142 <application>JACK</application> is not in BLFS.
143 </para>
144
145 <para>
146 <parameter>-Dpipewire-jack=false</parameter>: This switch prevents
147 building <application>JACK</application> support into pipewire since
148 <application>JACK</application> is not in BLFS.
149 </para>
150
151 <para>
152 <parameter>-Dvulkan=false</parameter>: This switch prevents building
153 <application>Vulkan</application> API support into pipewire since
154 <application>Vulkan</application> is not in BLFS.
155 </para>
156
[dcea4e3]157 <para>
158 <option>-Ddocs=true</option>: This switch enables the generation of HTML
159 documentation. The optional dependencies for documentation need to be
160 installed for this to work.
161 </para>
162
163 <para>
164 <option>-Dman=true</option>: This switch enables the generation of manual
165 pages. The optional dependencies for documentation need to be installed
166 for this to work.
167 </para>
168 </sect2>
169
170 <sect2 role="content">
171 <title>Contents</title>
172
173 <segmentedlist>
174 <segtitle>Installed Programs</segtitle>
175 <segtitle>Installed Libraries</segtitle>
176 <segtitle>Installed Directories</segtitle>
177
178 <seglistitem>
179 <seg>
180 pipewire,
[9bd10279]181 pipewire-media-session,
182 pw-cat,
183 pw-cli,
184 pw-dot,
[42e419b5]185 pw-metadata,
186 pw-mididump,
[9bd10279]187 pw-mon,
188 pw-profiler,
[11eb3ae5]189 pw-pulse,
[9bd10279]190 spa-inspect,
191 spa-monitor, and
[0b4b5038]192 pw-midiplay, pw-midirecord, pw-play, and pw-record (symlinks to pw-cat)
[dcea4e3]193 </seg>
194 <seg>
[da1575a]195 libpipewire-0.3.so<!--,
196 [pierre July 29th, 2020]: all the following libs are in subdirectories
197 of /usr/lib. I'm not sure they should appear. But if they should, there
198 are many more libs to list...
[9bd10279]199 libpulse-mainloop-glib-pw.so,
[11eb3ae5]200 libpulse.so,
201 libpulse-simple.so,
[9bd10279]202 libasound_module_pcm_pipewire.so, and
[da1575a]203 libgstpipewire.so -->
[dcea4e3]204 </seg>
205 <seg>
206 /etc/pipewire,
[9bd10279]207 /usr/include/pipewire-0.3,
208 /usr/include/spa-0.2,
209 /usr/lib/pipewire-0.3, and
210 /usr/lib/spa-0.2
[dcea4e3]211 </seg>
212 </seglistitem>
213 </segmentedlist>
214
215 <variablelist>
216 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
217 <?dbfo list-presentation="list"?>
218 <?dbhtml list-presentation="table"?>
219
220 <varlistentry id="pipewire-prog">
221 <term><command>pipewire</command></term>
222 <listitem>
223 <para>
224 is a service that allows access to multimedia devices and allows
225 sharing of multimedia files between applications.
226 </para>
227 <indexterm zone="pipewire pipewire-prog">
228 <primary sortas="b-pipewire">pipewire</primary>
229 </indexterm>
230 </listitem>
231 </varlistentry>
232
[9bd10279]233 <varlistentry id="pipewire-media-session">
234 <term><command>pipewire-media-session</command></term>
235 <listitem>
236 <para>
237 is a service that allows a desktop environment to know when media
238 files are being played through pipewire.
239 </para>
240 <indexterm zone="pipewire pipewire-media-session">
241 <primary sortas="b-pipewire-media-session">pipewire-media-session</primary>
242 </indexterm>
243 </listitem>
244 </varlistentry>
245
246 <varlistentry id="pw-cat">
247 <term><command>pw-cat</command></term>
248 <listitem>
249 <para>
[da1575a]250 allows you to play or record media using a pipewire instance.
[9bd10279]251 </para>
252 <indexterm zone="pipewire pw-cat">
253 <primary sortas="b-pw-cat">pw-cat</primary>
254 </indexterm>
255 </listitem>
256 </varlistentry>
257
258 <varlistentry id="pw-cli">
259 <term><command>pw-cli</command></term>
[dcea4e3]260 <listitem>
261 <para>
262 allows you to interact with a pipewire instance.
263 </para>
[9bd10279]264 <indexterm zone="pipewire pw-cli">
265 <primary sortas="b-pw-cli">pw-cli</primary>
266 </indexterm>
267 </listitem>
268 </varlistentry>
269
270 <varlistentry id="pw-dot">
271 <term><command>pw-dot</command></term>
272 <listitem>
273 <para>
274 lists all of the daemons and objects in use by pipewire.
275 </para>
276 <indexterm zone="pipewire pw-dot">
277 <primary sortas="b-pw-dot">pw-dot</primary>
[dcea4e3]278 </indexterm>
279 </listitem>
280 </varlistentry>
281
[42e419b5]282 <varlistentry id="pw-metadata">
283 <term><command>pw-metadata</command></term>
284 <listitem>
285 <para>
286 inspects, adds, and removes metadata for objects.
287 </para>
288 <indexterm zone="pipewire pw-metadata">
289 <primary sortas="b-pw-metadata">pw-metadata</primary>
290 </indexterm>
291 </listitem>
292 </varlistentry>
293
294 <varlistentry id="pw-mididump">
295 <term><command>pw-mididump</command></term>
296 <listitem>
297 <para>
298 dumps MIDI messages from a file to the screen.
299 </para>
300 <indexterm zone="pipewire pw-mididump">
301 <primary sortas="b-pw-mididump">pw-mididump</primary>
302 </indexterm>
303 </listitem>
304 </varlistentry>
305
[9bd10279]306 <varlistentry id="pw-mon">
307 <term><command>pw-mon</command></term>
[dcea4e3]308 <listitem>
309 <para>
310 allows you to monitor pipewire instances.
311 </para>
[9bd10279]312 <indexterm zone="pipewire pw-mon">
313 <primary sortas="b-pw-mon">pw-mon</primary>
314 </indexterm>
315 </listitem>
316 </varlistentry>
317
318 <varlistentry id="pw-profiler">
319 <term><command>pw-profiler</command></term>
320 <listitem>
321 <para>
322 tracks memory usage and API calls used by pipewire.
323 </para>
324 <indexterm zone="pipewire pw-profiler">
325 <primary sortas="b-pw-profiler">pw-profiler</primary>
[dcea4e3]326 </indexterm>
327 </listitem>
328 </varlistentry>
329
[11eb3ae5]330 <varlistentry id="pw-pulse">
331 <term><command>pw-pulse</command></term>
332 <listitem>
333 <para>
334 runs Pulseaudio applications on pipewire
335 </para>
336 <indexterm zone="pipewire pw-pulse">
337 <primary sortas="b-pw-pulse">pw-pulse</primary>
338 </indexterm>
339 </listitem>
340 </varlistentry>
341
[dcea4e3]342 <varlistentry id="spa-inspect">
343 <term><command>spa-inspect</command></term>
344 <listitem>
345 <para>
346 allows you to inspect pipewire plugins.
347 </para>
348 <indexterm zone="pipewire spa-inspect">
349 <primary sortas="b-spa-inspect">spa-inspect</primary>
350 </indexterm>
351 </listitem>
352 </varlistentry>
353
354 <varlistentry id="spa-monitor">
355 <term><command>spa-monitor</command></term>
356 <listitem>
357 <para>
358 allows you to monitor pipewire plugins.
359 </para>
360 <indexterm zone="pipewire spa-monitor">
361 <primary sortas="b-spa-monitor">spa-monitor</primary>
362 </indexterm>
363 </listitem>
364 </varlistentry>
365
366 <varlistentry id="libpipewire">
[9bd10279]367 <term><filename class="libraryfile">libpipewire-0.3.so</filename></term>
[dcea4e3]368 <listitem>
369 <para>
370 contains API functions for handling multimedia pipelines.
371 </para>
372 <indexterm zone="pipewire libpipewire">
[9bd10279]373 <primary sortas="c-libpipewire">libpipewire-0.3.so</primary>
374 </indexterm>
375 </listitem>
376 </varlistentry>
[da1575a]377<!--
[9bd10279]378 <varlistentry id="libpulse-mainloop-glib-pw">
379 <term><filename class="libraryfile">libpulse-mainloop-glib-pw.so</filename></term>
380 <listitem>
381 <para>
382 provides a glib main() loop for pulseaudio to route media through
383 pipewire.
384 </para>
385 <indexterm zone="pipewire libpulse-mainloop-glib-pw">
386 <primary sortas="c-libpulse-mainloop-glib-pw">libpulse-mainloop-glib-pw.so</primary>
387 </indexterm>
388 </listitem>
389 </varlistentry>
390
[11eb3ae5]391 <varlistentry id="libpulse">
392 <term><filename class="libraryfile">libpulse.so</filename></term>
[9bd10279]393 <listitem>
394 <para>
395 is a pipewire plugin for pulseaudio.
396 </para>
[11eb3ae5]397 <indexterm zone="pipewire libpulse">
398 <primary sortas="c-libpulse">libpulse.so</primary>
[9bd10279]399 </indexterm>
400 </listitem>
401 </varlistentry>
402
[11eb3ae5]403 <varlistentry id="libpulse-simple">
404 <term><filename class="libraryfile">libpulse-simple.so</filename></term>
[9bd10279]405 <listitem>
406 <para>
407 is a simplified version of the pulseaudio plugin for pipewire.
408 </para>
[11eb3ae5]409 <indexterm zone="pipewire libpulse-simple">
410 <primary sortas="c-libpulse-simple">libpulse-simple.so</primary>
[9bd10279]411 </indexterm>
412 </listitem>
413 </varlistentry>
414
415 <varlistentry id="libasound_module_pcm_pipewire">
416 <term><filename class="libraryfile">libasound_module_pcm_pipewire.so</filename></term>
417 <listitem>
418 <para>
419 is an ALSA plugin for pipewire.
420 </para>
421 <indexterm zone="pipewire libasound_module_pcm_pipewire">
422 <primary sortas="c-libasound_module_pcm_pipewire">libasound_module_pcm_pipewire.so</primary>
423 </indexterm>
424 </listitem>
425 </varlistentry>
426
427 <varlistentry id="libgstpipewire">
428 <term><filename class="libraryfile">libgstpipewire.so</filename></term>
429 <listitem>
430 <para>
431 is a Gstreamer plugin for pipewire.
432 </para>
433 <indexterm zone="pipewire libgstpipewire">
434 <primary sortas="c-libgstpipewire">libgstpipewire.so</primary>
[dcea4e3]435 </indexterm>
436 </listitem>
[da1575a]437 </varlistentry>-->
[dcea4e3]438 </variablelist>
439 </sect2>
440</sect1>
Note: See TracBrowser for help on using the repository browser.