source: multimedia/libdriv/pipewire.xml@ 001ef37

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 xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 001ef37 was 001ef37, checked in by Pierre Labastie <pierre.labastie@…>, 17 months ago

Update to pipewire-0.3.60

  • Property mode set to 100644
File size: 19.2 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 "a54a01d9b66f32f72bcc9d1630ac5791">
10 <!ENTITY pipewire-size "1.9 MB">
11 <!ENTITY pipewire-buildsize "70 MB (with tests)">
12 <!ENTITY pipewire-time "0.6 SBU (with tests, both using parallelism=4)">
13]>
14
15<sect1 id="pipewire" xreflabel="pipewire-&pipewire-version;">
16 <?dbhtml filename="pipewire.html"?>
17
18 <sect1info>
19 <date>$Date$</date>
20 </sect1info>
21
22 <title>Pipewire-&pipewire-version;</title>
23
24 <indexterm zone="pipewire">
25 <primary sortas="a-pipewire">pipewire</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to Pipewire</title>
30
31 <para>
32 The <application>pipewire</application> package contains a server and
33 user-space API to handle multimedia pipelines. This includes a universal
34 API to connect to multimedia devices, as well as sharing multimedia
35 files between applications.
36 </para>
37
38 &lfs112_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&pipewire-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&pipewire-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &pipewire-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &pipewire-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &pipewire-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &pipewire-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">Pipewire Dependencies</bridgehead>
75
76 <bridgehead renderas="sect4">Recommended</bridgehead>
77 <para role="recommended">
78 <xref linkend="bluez"/>,
79 <phrase revision="sysv"><xref linkend="dbus"/></phrase>,
80 <xref linkend="gstreamer10"/>,
81 <xref linkend="gst10-plugins-base"/>,
82 <xref linkend="pulseaudio"/>,
83 <xref linkend="sbc"/>, and
84 <xref linkend="v4l-utils"/>
85 </para>
86
87 <bridgehead renderas="sect4">Optional</bridgehead>
88 <para role="optional">
89 <xref linkend="alsa-lib"/>,
90 <xref linkend="avahi"/>,
91 <xref linkend="bluez"/>,
92 <xref linkend="fdk-aac"/>,
93 <xref linkend="ffmpeg"/>,
94 <xref linkend="libcanberra"/>,
95 <xref linkend="libdrm"/> (for one example and libcamera support),
96 <xref linkend="libxcb"/>,
97 <xref linkend="libsndfile"/>,
98 <xref linkend="libusb"/>,
99 <xref linkend="opus"/>,
100 <xref linkend="sdl2"/> (for some examples),
101 <xref linkend="valgrind"/>,
102 <xref linkend="xorg7-lib"/>,
103 <xref linkend="doxygen"/> and
104 <xref linkend="graphviz"/> (for documentation),
105 <ulink url="https://jackaudio.org/">JACK</ulink>,
106 <ulink url="https://github.com/EHfive/ldacBT">ldacBT</ulink>,
107 <ulink url="https://libcamera.org/">libcamera</ulink>,
108 <ulink url="https://vulkan.lunarg.com/sdk/home/">Vulkan</ulink>,
109 <ulink url="https://gitlab.freedesktop.org/pipewire/wireplumber/">WirePlumber</ulink>
110 (runtime, for running Pipewire daemon), and
111 <ulink url="https://sourceforge.net/projects/xmltoman/">xmltoman</ulink>
112 </para>
113
114 <para condition="html" role="usernotes">
115 User Notes: <ulink url="&blfs-wiki;/pipewire"/>
116 </para>
117 </sect2>
118
119 <sect2 role="installation">
120 <title>Installation of Pipewire</title>
121
122 <para>
123 Install <application>pipewire</application> by running the following
124 commands:
125 </para>
126
127<screen><userinput>mkdir build &amp;&amp;
128cd build &amp;&amp;
129
130meson --prefix=/usr --buildtype=release -Dsession-managers= .. &amp;&amp;
131ninja</userinput></screen>
132
133 <para>
134 To test the result, issue: <command>ninja test</command>.
135 </para>
136
137 <para>
138 Now, as the <systemitem class="username">root</systemitem> user:
139 </para>
140
141<screen role="root"><userinput>ninja install</userinput></screen>
142 </sect2>
143
144 <sect2 role="commands">
145 <title>Command Explanations</title>
146
147 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
148 href="../../xincludes/meson-buildtype-release.xml"/>
149
150 <para>
151 <parameter>-Dsession-managers=</parameter>: This switch
152 prevents automatic downloading external dependencies.
153 </para>
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
167 <para>
168 <option>-Dffmpeg=enabled</option>: This switch enables using ffmpeg for
169 audio conversion as a SPA backend.
170 </para>
171 </sect2>
172
173 <sect2 role="content">
174 <title>Contents</title>
175
176 <segmentedlist>
177 <segtitle>Installed Programs</segtitle>
178 <segtitle>Installed Libraries</segtitle>
179 <segtitle>Installed Directories</segtitle>
180
181 <seglistitem>
182 <seg>
183 pipewire,
184 pipewire-avb,
185 pipewire-pulse,
186 pw-cat,
187 pw-cli,
188 pw-dot,
189 pw-dump,
190 pw-jack,
191 pw-link,
192 pw-loopback,
193 pw-metadata,
194 pw-mididump,
195 pw-mon,
196 pw-profiler,
197 pw-reserve,
198 pw-top,
199 pw-v4l2,
200 spa-acp-tool,
201 spa-inspect,
202 spa-json-dump,
203 spa-monitor,
204 spa-resample, and
205 pw-dsdplay, pw-midiplay, pw-midirecord, pw-play, and pw-record
206 (symlinks to pw-cat)
207 </seg>
208 <seg>
209 libpipewire-0.3.so and
210 56 modules below /usr/lib/pipewire-0.3 and /usr/lib/spa-0.2<!--,
211 [pierre July 29th, 2020]: all the following libs are in subdirectories
212 of /usr/lib. I'm not sure they should appear. But if they should, there
213 are many more libs to list...
214 libpulse-mainloop-glib-pw.so,
215 libpulse.so,
216 libpulse-simple.so,
217 libasound_module_pcm_pipewire.so, and
218 libgstpipewire.so
219 [bdubbs Sep 29th, 2020]: add
220 libpipewire-module-{access,adapter,client-device,client-node,
221 link-factory,metadata,portal,profiler,protocol-native,
222 rtkit,session-manager,spa-device,spa-device-factory,spa-node,
223 spa-node-factory}.so
224 libasound_module_ctl_pipewire.so
225 libasound_module_pcm_pipewire.so
226 libspa-{alsa,audioconvert,audiomixer,bluez5,control,dbus,support
227 v4l2,videoconvert}.so
228 -->
229 </seg>
230 <seg>
231 <!--/etc/pipewire,-->
232 /usr/include/pipewire-0.3,
233 /usr/include/spa-0.2,
234 /usr/lib/alsa-lib,
235 <!--/usr/lib/gstreamer-1.0, already installed by gstreamer-->
236 /usr/lib/pipewire-0.3,
237 /usr/lib/spa-0.2,
238 /usr/share/alsa-card-profile,
239 /usr/share/pipewire, and
240 /usr/share/spa-0.2
241 </seg>
242 </seglistitem>
243 </segmentedlist>
244
245 <variablelist>
246 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
247 <?dbfo list-presentation="list"?>
248 <?dbhtml list-presentation="table"?>
249
250 <varlistentry id="pipewire-prog">
251 <term><command>pipewire</command></term>
252 <listitem>
253 <para>
254 is a service that allows access to multimedia devices and allows
255 sharing of multimedia files between applications
256 </para>
257 <indexterm zone="pipewire pipewire-prog">
258 <primary sortas="b-pipewire">pipewire</primary>
259 </indexterm>
260 </listitem>
261 </varlistentry>
262
263 <varlistentry id="pipewire-media-session">
264 <term><command>pipewire-media-session</command></term>
265 <listitem>
266 <para>
267 is a service that allows a desktop environment to know when media
268 files are being played through pipewire
269 </para>
270 <indexterm zone="pipewire pipewire-media-session">
271 <primary sortas="b-pipewire-media-session">pipewire-media-session</primary>
272 </indexterm>
273 </listitem>
274 </varlistentry>
275
276 <varlistentry id="pipewire-pulse">
277 <term><command>pipewire-pulse</command></term>
278 <listitem>
279 <para>
280 starts a Pulseaudio-compatible version of
281 the pipewire service
282 </para>
283 <indexterm zone="pipewire pipewire-pulse">
284 <primary sortas="b-pipewire-pulse">pipewire-pulse</primary>
285 </indexterm>
286 </listitem>
287 </varlistentry>
288
289 <varlistentry id="pw-cat">
290 <term><command>pw-cat</command></term>
291 <listitem>
292 <para>
293 allows you to play or record media using a pipewire instance
294 </para>
295 <indexterm zone="pipewire pw-cat">
296 <primary sortas="b-pw-cat">pw-cat</primary>
297 </indexterm>
298 </listitem>
299 </varlistentry>
300
301 <varlistentry id="pw-cli">
302 <term><command>pw-cli</command></term>
303 <listitem>
304 <para>
305 allows you to interact with a pipewire instance
306 </para>
307 <indexterm zone="pipewire pw-cli">
308 <primary sortas="b-pw-cli">pw-cli</primary>
309 </indexterm>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry id="pw-dot">
314 <term><command>pw-dot</command></term>
315 <listitem>
316 <para>
317 lists all of the daemons and objects in use by pipewire
318 </para>
319 <indexterm zone="pipewire pw-dot">
320 <primary sortas="b-pw-dot">pw-dot</primary>
321 </indexterm>
322 </listitem>
323 </varlistentry>
324
325 <varlistentry id="pw-dump">
326 <term><command>pw-dump</command></term>
327 <listitem>
328 <para>
329 dumps debug messages from a local or remote pipewire instance to
330 the console
331 </para>
332 <indexterm zone="pipewire pw-dump">
333 <primary sortas="b-pw-dump">pw-dump</primary>
334 </indexterm>
335 </listitem>
336 </varlistentry>
337
338 <varlistentry id="pw-jack">
339 <term><command>pw-jack</command></term>
340 <listitem>
341 <para>
342 runs JACK applications on a pipewire instance
343 </para>
344 <indexterm zone="pipewire pw-jack">
345 <primary sortas="b-pw-jack">pw-jack</primary>
346 </indexterm>
347 </listitem>
348 </varlistentry>
349
350 <varlistentry id="pw-link">
351 <term><command>pw-link</command></term>
352 <listitem>
353 <para>
354 links pipewire ports together
355 </para>
356 <indexterm zone="pipewire pw-link">
357 <primary sortas="b-pw-link">pw-link</primary>
358 </indexterm>
359 </listitem>
360 </varlistentry>
361
362 <varlistentry id="pw-loopback">
363 <term><command>pw-loopback</command></term>
364 <listitem>
365 <para>
366 initializes a loopback link between two different pipewire ports.
367 This is useful for testing and debugging
368 </para>
369 <indexterm zone="pipewire pw-loopback">
370 <primary sortas="b-pw-loopback">pw-loopback</primary>
371 </indexterm>
372 </listitem>
373 </varlistentry>
374
375 <varlistentry id="pw-metadata">
376 <term><command>pw-metadata</command></term>
377 <listitem>
378 <para>
379 inspects, adds, and removes metadata for objects
380 </para>
381 <indexterm zone="pipewire pw-metadata">
382 <primary sortas="b-pw-metadata">pw-metadata</primary>
383 </indexterm>
384 </listitem>
385 </varlistentry>
386
387 <varlistentry id="pw-mididump">
388 <term><command>pw-mididump</command></term>
389 <listitem>
390 <para>
391 dumps MIDI messages from a file to the screen
392 </para>
393 <indexterm zone="pipewire pw-mididump">
394 <primary sortas="b-pw-mididump">pw-mididump</primary>
395 </indexterm>
396 </listitem>
397 </varlistentry>
398
399 <varlistentry id="pw-mon">
400 <term><command>pw-mon</command></term>
401 <listitem>
402 <para>
403 allows you to monitor pipewire instances
404 </para>
405 <indexterm zone="pipewire pw-mon">
406 <primary sortas="b-pw-mon">pw-mon</primary>
407 </indexterm>
408 </listitem>
409 </varlistentry>
410
411 <varlistentry id="pw-profiler">
412 <term><command>pw-profiler</command></term>
413 <listitem>
414 <para>
415 tracks memory usage and API calls used by pipewire
416 </para>
417 <indexterm zone="pipewire pw-profiler">
418 <primary sortas="b-pw-profiler">pw-profiler</primary>
419 </indexterm>
420 </listitem>
421 </varlistentry>
422
423<!--
424 <varlistentry id="pw-pulse">
425 <term><command>pw-pulse</command></term>
426 <listitem>
427 <para>
428 runs Pulseaudio applications on pipewire.
429 </para>
430 <indexterm zone="pipewire pw-pulse">
431 <primary sortas="b-pw-pulse">pw-pulse</primary>
432 </indexterm>
433 </listitem>
434 </varlistentry>
435-->
436
437 <varlistentry id="pw-reserve">
438 <term><command>pw-reserve</command></term>
439 <listitem>
440 <para>
441 reserves or monitors a device via D-Bus
442 </para>
443 <indexterm zone="pipewire pw-reserve">
444 <primary sortas="b-pw-reserve">pw-reserve</primary>
445 </indexterm>
446 </listitem>
447 </varlistentry>
448
449 <varlistentry id="pw-top">
450 <term><command>pw-top</command></term>
451 <listitem>
452 <para>
453 displays real-time performance information from pipewire
454 </para>
455 <indexterm zone="pipewire pw-top">
456 <primary sortas="b-pw-top">pw-top</primary>
457 </indexterm>
458 </listitem>
459 </varlistentry>
460
461 <varlistentry id="pw-v4l2">
462 <term><command>pw-v4l2</command></term>
463 <listitem>
464 <para>
465 runs v4l2 applications on a pipewire instance
466 </para>
467 <indexterm zone="pipewire pw-v4l2">
468 <primary sortas="b-pw-v4l2">pw-v4l2</primary>
469 </indexterm>
470 </listitem>
471 </varlistentry>
472
473 <varlistentry id="spa-acp-tool">
474 <term><command>spa-acp-tool</command></term>
475 <listitem>
476 <para>
477 inspects the card profile of a given sound card
478 </para>
479 <indexterm zone="pipewire spa-acp-tool">
480 <primary sortas="b-spa-acp-tool">spa-acp-tool</primary>
481 </indexterm>
482 </listitem>
483 </varlistentry>
484
485 <varlistentry id="spa-inspect">
486 <term><command>spa-inspect</command></term>
487 <listitem>
488 <para>
489 allows you to inspect pipewire plugins
490 </para>
491 <indexterm zone="pipewire spa-inspect">
492 <primary sortas="b-spa-inspect">spa-inspect</primary>
493 </indexterm>
494 </listitem>
495 </varlistentry>
496
497 <varlistentry id="spa-json-dump">
498 <term><command>spa-json-dump</command></term>
499 <listitem>
500 <para>
501 dumps the current pipewire configuration in JSON format.
502 </para>
503 <indexterm zone="pipewire spa-json-dump">
504 <primary sortas="b-spa-json-dump">spa-json-dump</primary>
505 </indexterm>
506 </listitem>
507 </varlistentry>
508
509 <varlistentry id="spa-monitor">
510 <term><command>spa-monitor</command></term>
511 <listitem>
512 <para>
513 allows you to monitor pipewire plugins
514 </para>
515 <indexterm zone="pipewire spa-monitor">
516 <primary sortas="b-spa-monitor">spa-monitor</primary>
517 </indexterm>
518 </listitem>
519 </varlistentry>
520
521 <varlistentry id="spa-resample">
522 <term><command>spa-resample</command></term>
523 <listitem>
524 <para>
525 resamples a given file
526 </para>
527 <indexterm zone="pipewire spa-resample">
528 <primary sortas="b-spa-resample">spa-resample</primary>
529 </indexterm>
530 </listitem>
531 </varlistentry>
532
533 <varlistentry id="libpipewire">
534 <term><filename class="libraryfile">libpipewire-0.3.so</filename></term>
535 <listitem>
536 <para>
537 contains API functions for handling multimedia pipelines
538 </para>
539 <indexterm zone="pipewire libpipewire">
540 <primary sortas="c-libpipewire">libpipewire-0.3.so</primary>
541 </indexterm>
542 </listitem>
543 </varlistentry>
544<!--
545 <varlistentry id="libpulse-mainloop-glib-pw">
546 <term><filename class="libraryfile">libpulse-mainloop-glib-pw.so</filename></term>
547 <listitem>
548 <para>
549 provides a glib main() loop for pulseaudio to route media through
550 pipewire.
551 </para>
552 <indexterm zone="pipewire libpulse-mainloop-glib-pw">
553 <primary sortas="c-libpulse-mainloop-glib-pw">libpulse-mainloop-glib-pw.so</primary>
554 </indexterm>
555 </listitem>
556 </varlistentry>
557
558 <varlistentry id="libpulse">
559 <term><filename class="libraryfile">libpulse.so</filename></term>
560 <listitem>
561 <para>
562 is a pipewire plugin for pulseaudio.
563 </para>
564 <indexterm zone="pipewire libpulse">
565 <primary sortas="c-libpulse">libpulse.so</primary>
566 </indexterm>
567 </listitem>
568 </varlistentry>
569
570 <varlistentry id="libpulse-simple">
571 <term><filename class="libraryfile">libpulse-simple.so</filename></term>
572 <listitem>
573 <para>
574 is a simplified version of the pulseaudio plugin for pipewire.
575 </para>
576 <indexterm zone="pipewire libpulse-simple">
577 <primary sortas="c-libpulse-simple">libpulse-simple.so</primary>
578 </indexterm>
579 </listitem>
580 </varlistentry>
581
582 <varlistentry id="libasound_module_pcm_pipewire">
583 <term><filename class="libraryfile">libasound_module_pcm_pipewire.so</filename></term>
584 <listitem>
585 <para>
586 is an ALSA plugin for pipewire.
587 </para>
588 <indexterm zone="pipewire libasound_module_pcm_pipewire">
589 <primary sortas="c-libasound_module_pcm_pipewire">libasound_module_pcm_pipewire.so</primary>
590 </indexterm>
591 </listitem>
592 </varlistentry>
593
594 <varlistentry id="libgstpipewire">
595 <term><filename class="libraryfile">libgstpipewire.so</filename></term>
596 <listitem>
597 <para>
598 is a Gstreamer plugin for pipewire.
599 </para>
600 <indexterm zone="pipewire libgstpipewire">
601 <primary sortas="c-libgstpipewire">libgstpipewire.so</primary>
602 </indexterm>
603 </listitem>
604 </varlistentry>-->
605 </variablelist>
606 </sect2>
607
608</sect1>
Note: See TracBrowser for help on using the repository browser.