source: multimedia/libdriv/pipewire.xml@ a2ce753

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 a2ce753 was cceceaaf, checked in by Douglas R. Reno <renodr@…>, 3 years ago

Update to links-2.22
Update to sqlite-3.35.3
Update to nss-3.63
Update to jasper-2.0.27
Update to pipewire-0.3.24

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

  • Property mode set to 100644
File size: 17.6 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 pipewire-download-http "https://github.com/PipeWire/pipewire/archive/&pipewire-version;/pipewire-&pipewire-version;.tar.gz">
8 <!ENTITY pipewire-download-ftp " ">
9 <!ENTITY pipewire-md5sum "887be3193a91f18c7ea63e3f5c61976b">
10 <!ENTITY pipewire-size "1.3 MB">
11 <!ENTITY pipewire-buildsize "135 MB (with tests)">
12 <!ENTITY pipewire-time "0.4 SBU (Using parallelism=4; with tests)">
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
39 &lfs101_checked;
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">
79 <xref linkend="bluez"/>,
80 <xref linkend="ffmpeg"/>,
81 <xref linkend="gstreamer10"/>,
82 <xref linkend="gst10-plugins-base"/>,
83 <xref linkend="libva"/>,
84 <xref linkend="pulseaudio"/>,
85 <xref linkend="sbc"/>,
86 <xref linkend="sdl2"/>, and
87 <xref linkend="v4l-utils"/>
88 </para>
89
90 <bridgehead renderas="sect4">Optional</bridgehead>
91 <para role="optional">
92 <xref linkend="valgrind"/>,
93 <xref linkend="doxygen"/> and
94 <xref linkend="graphviz"/> (for documentation),
95 <ulink url="https://jackaudio.org/">JACK</ulink>,
96 <ulink url="https://github.com/EHfive/ldacBT">ldacBT</ulink>,
97 <ulink url="https://vulkan.lunarg.com/sdk/home/">Vulkan</ulink>, and
98 <ulink url="https://sourceforge.net/projects/xmltoman/">xmltoman</ulink>
99 </para>
100
101 <para condition="html" role="usernotes">
102 User Notes: <ulink url="&blfs-wiki;/pipewire"/>
103 </para>
104 </sect2>
105
106 <sect2 role="installation">
107 <title>Installation of Pipewire</title>
108
109 <para>
110 Install <application>pipewire</application> by running the following
111 commands:
112 </para>
113
114<screen><userinput>mkdir build &amp;&amp;
115cd build &amp;&amp;
116
117meson --prefix=/usr .. &amp;&amp;
118ninja</userinput></screen>
119
120 <para>
121 To test the result, issue: <command>ninja test</command>.
122 </para>
123
124 <para>
125 Now, as the <systemitem class="username">root</systemitem> user:
126 </para>
127
128<screen role="root"><userinput>ninja install</userinput></screen>
129 </sect2>
130
131 <sect2 role="commands">
132 <title>Command Explanations</title>
133
134 <!-- Without these three parameters, Meson fails to run. -->
135 <!-- Not true anymore, commenting out as of 0.3.24
136 <para>
137 <parameter>-Djack=false</parameter>: This switch prevents building the
138 <application>JACK</application> plugin since
139 <application>JACK</application> is not in BLFS.
140 </para>
141
142 <para>
143 <parameter>-Dpipewire-jack=false</parameter>: This switch prevents
144 building <application>JACK</application> support into pipewire since
145 <application>JACK</application> is not in BLFS.
146 </para>
147
148 <para>
149 <parameter>-Dvulkan=false</parameter>: This switch prevents building
150 <application>Vulkan</application> API support into pipewire since
151 <application>Vulkan</application> is not in BLFS.
152 </para>
153 -->
154
155 <para>
156 <option>-Ddocs=true</option>: This switch enables the generation of HTML
157 documentation. The optional dependencies for documentation need to be
158 installed for this to work.
159 </para>
160
161 <para>
162 <option>-Dman=true</option>: This switch enables the generation of manual
163 pages. The optional dependencies for documentation need to be installed
164 for this to work.
165 </para>
166 </sect2>
167
168 <sect2 role="content">
169 <title>Contents</title>
170
171 <segmentedlist>
172 <segtitle>Installed Programs</segtitle>
173 <segtitle>Installed Libraries</segtitle>
174 <segtitle>Installed Directories</segtitle>
175
176 <seglistitem>
177 <seg>
178 pipewire,
179 pipewire-media-session,
180 pipewire-pulse,
181 pw-cat,
182 pw-cli,
183 pw-dot,
184 pw-dump,
185 pw-jack,
186 pw-metadata,
187 pw-mididump,
188 pw-mon,
189 pw-profiler,
190 <!--pw-pulse,-->
191 pw-reserve,
192 pw-top,
193 spa-acp-tool,
194 spa-inspect,
195 spa-json-dump,
196 spa-monitor,
197 spa-resample, and
198 pw-midiplay, pw-midirecord, pw-play, and pw-record (symlinks to pw-cat)
199 </seg>
200 <seg>
201 libpipewire-0.3.so and
202 30 modules below /usr/lib/pipewire-0.3<!--,
203 [pierre July 29th, 2020]: all the following libs are in subdirectories
204 of /usr/lib. I'm not sure they should appear. But if they should, there
205 are many more libs to list...
206 libpulse-mainloop-glib-pw.so,
207 libpulse.so,
208 libpulse-simple.so,
209 libasound_module_pcm_pipewire.so, and
210 libgstpipewire.so
211 [bdubbs Sep 29th, 2020]: add
212 libpipewire-module-{access,adapter,client-device,client-node,
213 link-factory,metadata,portal,profiler,protocol-native,
214 rtkit,session-manager,spa-device,spa-device-factory,spa-node,
215 spa-node-factory}.so
216 libasound_module_ctl_pipewire.so
217 libasound_module_pcm_pipewire.so
218 libspa-{alsa,audioconvert,audiomixer,bluez5,control,dbus,support
219 v4l2,videoconvert}.so
220 -->
221 </seg>
222 <seg>
223 /etc/pipewire,
224 /usr/include/pipewire-0.3,
225 /usr/include/spa-0.2,
226 /usr/lib/alsa-lib,
227 /usr/lib/gstreamer-1.0,
228 /usr/lib/pipewire-0.3, and
229 /usr/lib/spa-0.2
230 </seg>
231 </seglistitem>
232 </segmentedlist>
233
234 <variablelist>
235 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
236 <?dbfo list-presentation="list"?>
237 <?dbhtml list-presentation="table"?>
238
239 <varlistentry id="pipewire-prog">
240 <term><command>pipewire</command></term>
241 <listitem>
242 <para>
243 is a service that allows access to multimedia devices and allows
244 sharing of multimedia files between applications
245 </para>
246 <indexterm zone="pipewire pipewire-prog">
247 <primary sortas="b-pipewire">pipewire</primary>
248 </indexterm>
249 </listitem>
250 </varlistentry>
251
252 <varlistentry id="pipewire-media-session">
253 <term><command>pipewire-media-session</command></term>
254 <listitem>
255 <para>
256 is a service that allows a desktop environment to know when media
257 files are being played through pipewire
258 </para>
259 <indexterm zone="pipewire pipewire-media-session">
260 <primary sortas="b-pipewire-media-session">pipewire-media-session</primary>
261 </indexterm>
262 </listitem>
263 </varlistentry>
264
265 <varlistentry id="pipewire-pulse">
266 <term><command>pipewire-pulse</command></term>
267 <listitem>
268 <para>
269 starts a Pulseaudio-compatible version of
270 the pipewire service
271 </para>
272 <indexterm zone="pipewire pipewire-pulse">
273 <primary sortas="b-pipewire-pulse">pipewire-pulse</primary>
274 </indexterm>
275 </listitem>
276 </varlistentry>
277
278 <varlistentry id="pw-cat">
279 <term><command>pw-cat</command></term>
280 <listitem>
281 <para>
282 allows you to play or record media using a pipewire instance
283 </para>
284 <indexterm zone="pipewire pw-cat">
285 <primary sortas="b-pw-cat">pw-cat</primary>
286 </indexterm>
287 </listitem>
288 </varlistentry>
289
290 <varlistentry id="pw-cli">
291 <term><command>pw-cli</command></term>
292 <listitem>
293 <para>
294 allows you to interact with a pipewire instance
295 </para>
296 <indexterm zone="pipewire pw-cli">
297 <primary sortas="b-pw-cli">pw-cli</primary>
298 </indexterm>
299 </listitem>
300 </varlistentry>
301
302 <varlistentry id="pw-dot">
303 <term><command>pw-dot</command></term>
304 <listitem>
305 <para>
306 lists all of the daemons and objects in use by pipewire
307 </para>
308 <indexterm zone="pipewire pw-dot">
309 <primary sortas="b-pw-dot">pw-dot</primary>
310 </indexterm>
311 </listitem>
312 </varlistentry>
313
314 <varlistentry id="pw-dump">
315 <term><command>pw-dump</command></term>
316 <listitem>
317 <para>
318 dumps debug messages from a local or remote pipewire instance to
319 the console
320 </para>
321 <indexterm zone="pipewire pw-dump">
322 <primary sortas="b-pw-dump">pw-dump</primary>
323 </indexterm>
324 </listitem>
325 </varlistentry>
326
327 <varlistentry id="pw-jack">
328 <term><command>pw-jack</command></term>
329 <listitem>
330 <para>
331 runs JACK applications on a pipewire instance.
332 </para>
333 <indexterm zone="pipewire pw-jack">
334 <primary sortas="b-pw-jack">pw-jack</primary>
335 </indexterm>
336 </listitem>
337 </varlistentry>
338
339 <varlistentry id="pw-metadata">
340 <term><command>pw-metadata</command></term>
341 <listitem>
342 <para>
343 inspects, adds, and removes metadata for objects
344 </para>
345 <indexterm zone="pipewire pw-metadata">
346 <primary sortas="b-pw-metadata">pw-metadata</primary>
347 </indexterm>
348 </listitem>
349 </varlistentry>
350
351 <varlistentry id="pw-mididump">
352 <term><command>pw-mididump</command></term>
353 <listitem>
354 <para>
355 dumps MIDI messages from a file to the screen
356 </para>
357 <indexterm zone="pipewire pw-mididump">
358 <primary sortas="b-pw-mididump">pw-mididump</primary>
359 </indexterm>
360 </listitem>
361 </varlistentry>
362
363 <varlistentry id="pw-mon">
364 <term><command>pw-mon</command></term>
365 <listitem>
366 <para>
367 allows you to monitor pipewire instances
368 </para>
369 <indexterm zone="pipewire pw-mon">
370 <primary sortas="b-pw-mon">pw-mon</primary>
371 </indexterm>
372 </listitem>
373 </varlistentry>
374
375 <varlistentry id="pw-profiler">
376 <term><command>pw-profiler</command></term>
377 <listitem>
378 <para>
379 tracks memory usage and API calls used by pipewire
380 </para>
381 <indexterm zone="pipewire pw-profiler">
382 <primary sortas="b-pw-profiler">pw-profiler</primary>
383 </indexterm>
384 </listitem>
385 </varlistentry>
386
387<!--
388 <varlistentry id="pw-pulse">
389 <term><command>pw-pulse</command></term>
390 <listitem>
391 <para>
392 runs Pulseaudio applications on pipewire.
393 </para>
394 <indexterm zone="pipewire pw-pulse">
395 <primary sortas="b-pw-pulse">pw-pulse</primary>
396 </indexterm>
397 </listitem>
398 </varlistentry>
399-->
400
401 <varlistentry id="pw-reserve">
402 <term><command>pw-reserve</command></term>
403 <listitem>
404 <para>
405 reserves or monitors a device via D-Bus
406 </para>
407 <indexterm zone="pipewire pw-reserve">
408 <primary sortas="b-pw-reserve">pw-reserve</primary>
409 </indexterm>
410 </listitem>
411 </varlistentry>
412
413 <varlistentry id="pw-top">
414 <term><command>pw-top</command></term>
415 <listitem>
416 <para>
417 displays real-time performance information from pipewire
418 </para>
419 <indexterm zone="pipewire pw-top">
420 <primary sortas="b-pw-top">pw-top</primary>
421 </indexterm>
422 </listitem>
423 </varlistentry>
424
425 <varlistentry id="spa-acp-tool">
426 <term><command>spa-acp-tool</command></term>
427 <listitem>
428 <para>
429 inspects the card profile of a given sound card
430 </para>
431 <indexterm zone="pipewire spa-acp-tool">
432 <primary sortas="b-spa-acp-tool">spa-acp-tool</primary>
433 </indexterm>
434 </listitem>
435 </varlistentry>
436
437 <varlistentry id="spa-inspect">
438 <term><command>spa-inspect</command></term>
439 <listitem>
440 <para>
441 allows you to inspect pipewire plugins
442 </para>
443 <indexterm zone="pipewire spa-inspect">
444 <primary sortas="b-spa-inspect">spa-inspect</primary>
445 </indexterm>
446 </listitem>
447 </varlistentry>
448
449 <varlistentry id="spa-json-dump">
450 <term><command>spa-json-dump</command></term>
451 <listitem>
452 <para>
453 dumps the current pipewire configuration in JSON format.
454 </para>
455 <indexterm zone="pipewire spa-json-dump">
456 <primary sortas="b-spa-json-dump">spa-json-dump</primary>
457 </indexterm>
458 </listitem>
459 </varlistentry>
460
461 <varlistentry id="spa-monitor">
462 <term><command>spa-monitor</command></term>
463 <listitem>
464 <para>
465 allows you to monitor pipewire plugins
466 </para>
467 <indexterm zone="pipewire spa-monitor">
468 <primary sortas="b-spa-monitor">spa-monitor</primary>
469 </indexterm>
470 </listitem>
471 </varlistentry>
472
473 <varlistentry id="spa-resample">
474 <term><command>spa-resample</command></term>
475 <listitem>
476 <para>
477 resamples a given file
478 </para>
479 <indexterm zone="pipewire spa-resample">
480 <primary sortas="b-spa-resample">spa-resample</primary>
481 </indexterm>
482 </listitem>
483 </varlistentry>
484
485 <varlistentry id="libpipewire">
486 <term><filename class="libraryfile">libpipewire-0.3.so</filename></term>
487 <listitem>
488 <para>
489 contains API functions for handling multimedia pipelines
490 </para>
491 <indexterm zone="pipewire libpipewire">
492 <primary sortas="c-libpipewire">libpipewire-0.3.so</primary>
493 </indexterm>
494 </listitem>
495 </varlistentry>
496<!--
497 <varlistentry id="libpulse-mainloop-glib-pw">
498 <term><filename class="libraryfile">libpulse-mainloop-glib-pw.so</filename></term>
499 <listitem>
500 <para>
501 provides a glib main() loop for pulseaudio to route media through
502 pipewire.
503 </para>
504 <indexterm zone="pipewire libpulse-mainloop-glib-pw">
505 <primary sortas="c-libpulse-mainloop-glib-pw">libpulse-mainloop-glib-pw.so</primary>
506 </indexterm>
507 </listitem>
508 </varlistentry>
509
510 <varlistentry id="libpulse">
511 <term><filename class="libraryfile">libpulse.so</filename></term>
512 <listitem>
513 <para>
514 is a pipewire plugin for pulseaudio.
515 </para>
516 <indexterm zone="pipewire libpulse">
517 <primary sortas="c-libpulse">libpulse.so</primary>
518 </indexterm>
519 </listitem>
520 </varlistentry>
521
522 <varlistentry id="libpulse-simple">
523 <term><filename class="libraryfile">libpulse-simple.so</filename></term>
524 <listitem>
525 <para>
526 is a simplified version of the pulseaudio plugin for pipewire.
527 </para>
528 <indexterm zone="pipewire libpulse-simple">
529 <primary sortas="c-libpulse-simple">libpulse-simple.so</primary>
530 </indexterm>
531 </listitem>
532 </varlistentry>
533
534 <varlistentry id="libasound_module_pcm_pipewire">
535 <term><filename class="libraryfile">libasound_module_pcm_pipewire.so</filename></term>
536 <listitem>
537 <para>
538 is an ALSA plugin for pipewire.
539 </para>
540 <indexterm zone="pipewire libasound_module_pcm_pipewire">
541 <primary sortas="c-libasound_module_pcm_pipewire">libasound_module_pcm_pipewire.so</primary>
542 </indexterm>
543 </listitem>
544 </varlistentry>
545
546 <varlistentry id="libgstpipewire">
547 <term><filename class="libraryfile">libgstpipewire.so</filename></term>
548 <listitem>
549 <para>
550 is a Gstreamer plugin for pipewire.
551 </para>
552 <indexterm zone="pipewire libgstpipewire">
553 <primary sortas="c-libgstpipewire">libgstpipewire.so</primary>
554 </indexterm>
555 </listitem>
556 </varlistentry>-->
557 </variablelist>
558 </sect2>
559
560</sect1>
Note: See TracBrowser for help on using the repository browser.