source: multimedia/libdriv/pipewire.xml@ 14dc396e

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 14dc396e was 59f6a1f, checked in by Douglas R. Reno <renodr@…>, 2 years ago

Package updates (with polkit being the largest)

Update to pipewire-0.3.39
Update to poppler-21.10.0
Update to links-2.25
Update to polkit-0.120

  • Property mode set to 100644
File size: 18.9 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 "4e17bff7a128d068bf465a6edbb3a4ec">
10 <!ENTITY pipewire-size "1.6 MB">
11 <!ENTITY pipewire-buildsize "172 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 &lfs110a_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">Required</bridgehead>
77 <para role="required">
78 <xref linkend="bluez"/>,
79 <xref linkend="ffmpeg"/>,
80 <xref linkend="gstreamer10"/>,
81 <xref linkend="gst10-plugins-base"/>,
82 <xref linkend="libva"/>,
83 <xref linkend="pulseaudio"/>,
84 <xref linkend="sbc"/>,
85 <xref linkend="sdl2"/>, and
86 <xref linkend="v4l-utils"/>
87 </para>
88
89 <bridgehead renderas="sect4">Optional</bridgehead>
90 <para role="optional">
91 <xref linkend="valgrind"/>,
92 <xref linkend="doxygen"/> and
93 <xref linkend="graphviz"/> (for documentation),
94 <ulink url="https://jackaudio.org/">JACK</ulink>,
95 <ulink url="https://github.com/EHfive/ldacBT">ldacBT</ulink>,
96 <ulink url="https://libcamera.org/">libcamera</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 --buildtype=release .. &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 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
135 href="../../xincludes/meson-buildtype-release.xml"/>
136
137 <!-- Without these three parameters, Meson fails to run. -->
138 <!-- Not true anymore, commenting out as of 0.3.24
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 -->
157
158 <para>
159 <option>-Ddocs=true</option>: This switch enables the generation of HTML
160 documentation. The optional dependencies for documentation need to be
161 installed for this to work.
162 </para>
163
164 <para>
165 <option>-Dman=true</option>: This switch enables the generation of manual
166 pages. The optional dependencies for documentation need to be installed
167 for this to work.
168 </para>
169 </sect2>
170
171 <sect2 role="content">
172 <title>Contents</title>
173
174 <segmentedlist>
175 <segtitle>Installed Programs</segtitle>
176 <segtitle>Installed Libraries</segtitle>
177 <segtitle>Installed Directories</segtitle>
178
179 <seglistitem>
180 <seg>
181 pipewire,
182 pipewire-media-session,
183 pipewire-pulse,
184 pw-cat,
185 pw-cli,
186 pw-dot,
187 pw-dump,
188 pw-jack,
189 pw-link,
190 pw-loopback,
191 pw-metadata,
192 pw-mididump,
193 pw-mon,
194 pw-profiler,
195 <!--pw-pulse,-->
196 pw-reserve,
197 pw-top,
198 pw-v4l2,
199 spa-acp-tool,
200 spa-inspect,
201 spa-json-dump,
202 spa-monitor,
203 spa-resample, and
204 pw-dsdplay, pw-midiplay, pw-midirecord, pw-play, and pw-record
205 (symlinks to pw-cat)
206 </seg>
207 <seg>
208 libpipewire-0.3.so and
209 30 modules below /usr/lib/pipewire-0.3<!--,
210 [pierre July 29th, 2020]: all the following libs are in subdirectories
211 of /usr/lib. I'm not sure they should appear. But if they should, there
212 are many more libs to list...
213 libpulse-mainloop-glib-pw.so,
214 libpulse.so,
215 libpulse-simple.so,
216 libasound_module_pcm_pipewire.so, and
217 libgstpipewire.so
218 [bdubbs Sep 29th, 2020]: add
219 libpipewire-module-{access,adapter,client-device,client-node,
220 link-factory,metadata,portal,profiler,protocol-native,
221 rtkit,session-manager,spa-device,spa-device-factory,spa-node,
222 spa-node-factory}.so
223 libasound_module_ctl_pipewire.so
224 libasound_module_pcm_pipewire.so
225 libspa-{alsa,audioconvert,audiomixer,bluez5,control,dbus,support
226 v4l2,videoconvert}.so
227 -->
228 </seg>
229 <seg>
230 /etc/pipewire,
231 /usr/include/pipewire-0.3,
232 /usr/include/spa-0.2,
233 /usr/lib/alsa-lib,
234 /usr/lib/gstreamer-1.0,
235 /usr/lib/pipewire-0.3, and
236 /usr/lib/spa-0.2
237 </seg>
238 </seglistitem>
239 </segmentedlist>
240
241 <variablelist>
242 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
243 <?dbfo list-presentation="list"?>
244 <?dbhtml list-presentation="table"?>
245
246 <varlistentry id="pipewire-prog">
247 <term><command>pipewire</command></term>
248 <listitem>
249 <para>
250 is a service that allows access to multimedia devices and allows
251 sharing of multimedia files between applications
252 </para>
253 <indexterm zone="pipewire pipewire-prog">
254 <primary sortas="b-pipewire">pipewire</primary>
255 </indexterm>
256 </listitem>
257 </varlistentry>
258
259 <varlistentry id="pipewire-media-session">
260 <term><command>pipewire-media-session</command></term>
261 <listitem>
262 <para>
263 is a service that allows a desktop environment to know when media
264 files are being played through pipewire
265 </para>
266 <indexterm zone="pipewire pipewire-media-session">
267 <primary sortas="b-pipewire-media-session">pipewire-media-session</primary>
268 </indexterm>
269 </listitem>
270 </varlistentry>
271
272 <varlistentry id="pipewire-pulse">
273 <term><command>pipewire-pulse</command></term>
274 <listitem>
275 <para>
276 starts a Pulseaudio-compatible version of
277 the pipewire service
278 </para>
279 <indexterm zone="pipewire pipewire-pulse">
280 <primary sortas="b-pipewire-pulse">pipewire-pulse</primary>
281 </indexterm>
282 </listitem>
283 </varlistentry>
284
285 <varlistentry id="pw-cat">
286 <term><command>pw-cat</command></term>
287 <listitem>
288 <para>
289 allows you to play or record media using a pipewire instance
290 </para>
291 <indexterm zone="pipewire pw-cat">
292 <primary sortas="b-pw-cat">pw-cat</primary>
293 </indexterm>
294 </listitem>
295 </varlistentry>
296
297 <varlistentry id="pw-cli">
298 <term><command>pw-cli</command></term>
299 <listitem>
300 <para>
301 allows you to interact with a pipewire instance
302 </para>
303 <indexterm zone="pipewire pw-cli">
304 <primary sortas="b-pw-cli">pw-cli</primary>
305 </indexterm>
306 </listitem>
307 </varlistentry>
308
309 <varlistentry id="pw-dot">
310 <term><command>pw-dot</command></term>
311 <listitem>
312 <para>
313 lists all of the daemons and objects in use by pipewire
314 </para>
315 <indexterm zone="pipewire pw-dot">
316 <primary sortas="b-pw-dot">pw-dot</primary>
317 </indexterm>
318 </listitem>
319 </varlistentry>
320
321 <varlistentry id="pw-dump">
322 <term><command>pw-dump</command></term>
323 <listitem>
324 <para>
325 dumps debug messages from a local or remote pipewire instance to
326 the console
327 </para>
328 <indexterm zone="pipewire pw-dump">
329 <primary sortas="b-pw-dump">pw-dump</primary>
330 </indexterm>
331 </listitem>
332 </varlistentry>
333
334 <varlistentry id="pw-jack">
335 <term><command>pw-jack</command></term>
336 <listitem>
337 <para>
338 runs JACK applications on a pipewire instance
339 </para>
340 <indexterm zone="pipewire pw-jack">
341 <primary sortas="b-pw-jack">pw-jack</primary>
342 </indexterm>
343 </listitem>
344 </varlistentry>
345
346 <varlistentry id="pw-link">
347 <term><command>pw-link</command></term>
348 <listitem>
349 <para>
350 links pipewire ports together
351 </para>
352 <indexterm zone="pipewire pw-link">
353 <primary sortas="b-pw-link">pw-link</primary>
354 </indexterm>
355 </listitem>
356 </varlistentry>
357
358 <varlistentry id="pw-loopback">
359 <term><command>pw-loopback</command></term>
360 <listitem>
361 <para>
362 initializes a loopback link between two different pipewire ports.
363 This is useful for testing and debugging
364 </para>
365 <indexterm zone="pipewire pw-loopback">
366 <primary sortas="b-pw-loopback">pw-loopback</primary>
367 </indexterm>
368 </listitem>
369 </varlistentry>
370
371 <varlistentry id="pw-metadata">
372 <term><command>pw-metadata</command></term>
373 <listitem>
374 <para>
375 inspects, adds, and removes metadata for objects
376 </para>
377 <indexterm zone="pipewire pw-metadata">
378 <primary sortas="b-pw-metadata">pw-metadata</primary>
379 </indexterm>
380 </listitem>
381 </varlistentry>
382
383 <varlistentry id="pw-mididump">
384 <term><command>pw-mididump</command></term>
385 <listitem>
386 <para>
387 dumps MIDI messages from a file to the screen
388 </para>
389 <indexterm zone="pipewire pw-mididump">
390 <primary sortas="b-pw-mididump">pw-mididump</primary>
391 </indexterm>
392 </listitem>
393 </varlistentry>
394
395 <varlistentry id="pw-mon">
396 <term><command>pw-mon</command></term>
397 <listitem>
398 <para>
399 allows you to monitor pipewire instances
400 </para>
401 <indexterm zone="pipewire pw-mon">
402 <primary sortas="b-pw-mon">pw-mon</primary>
403 </indexterm>
404 </listitem>
405 </varlistentry>
406
407 <varlistentry id="pw-profiler">
408 <term><command>pw-profiler</command></term>
409 <listitem>
410 <para>
411 tracks memory usage and API calls used by pipewire
412 </para>
413 <indexterm zone="pipewire pw-profiler">
414 <primary sortas="b-pw-profiler">pw-profiler</primary>
415 </indexterm>
416 </listitem>
417 </varlistentry>
418
419<!--
420 <varlistentry id="pw-pulse">
421 <term><command>pw-pulse</command></term>
422 <listitem>
423 <para>
424 runs Pulseaudio applications on pipewire.
425 </para>
426 <indexterm zone="pipewire pw-pulse">
427 <primary sortas="b-pw-pulse">pw-pulse</primary>
428 </indexterm>
429 </listitem>
430 </varlistentry>
431-->
432
433 <varlistentry id="pw-reserve">
434 <term><command>pw-reserve</command></term>
435 <listitem>
436 <para>
437 reserves or monitors a device via D-Bus
438 </para>
439 <indexterm zone="pipewire pw-reserve">
440 <primary sortas="b-pw-reserve">pw-reserve</primary>
441 </indexterm>
442 </listitem>
443 </varlistentry>
444
445 <varlistentry id="pw-top">
446 <term><command>pw-top</command></term>
447 <listitem>
448 <para>
449 displays real-time performance information from pipewire
450 </para>
451 <indexterm zone="pipewire pw-top">
452 <primary sortas="b-pw-top">pw-top</primary>
453 </indexterm>
454 </listitem>
455 </varlistentry>
456
457 <varlistentry id="pw-v4l2">
458 <term><command>pw-v4l2</command></term>
459 <listitem>
460 <para>
461 runs v4l2 applications on a pipewire instance
462 </para>
463 <indexterm zone="pipewire pw-v4l2">
464 <primary sortas="b-pw-v4l2">pw-v4l2</primary>
465 </indexterm>
466 </listitem>
467 </varlistentry>
468
469 <varlistentry id="spa-acp-tool">
470 <term><command>spa-acp-tool</command></term>
471 <listitem>
472 <para>
473 inspects the card profile of a given sound card
474 </para>
475 <indexterm zone="pipewire spa-acp-tool">
476 <primary sortas="b-spa-acp-tool">spa-acp-tool</primary>
477 </indexterm>
478 </listitem>
479 </varlistentry>
480
481 <varlistentry id="spa-inspect">
482 <term><command>spa-inspect</command></term>
483 <listitem>
484 <para>
485 allows you to inspect pipewire plugins
486 </para>
487 <indexterm zone="pipewire spa-inspect">
488 <primary sortas="b-spa-inspect">spa-inspect</primary>
489 </indexterm>
490 </listitem>
491 </varlistentry>
492
493 <varlistentry id="spa-json-dump">
494 <term><command>spa-json-dump</command></term>
495 <listitem>
496 <para>
497 dumps the current pipewire configuration in JSON format.
498 </para>
499 <indexterm zone="pipewire spa-json-dump">
500 <primary sortas="b-spa-json-dump">spa-json-dump</primary>
501 </indexterm>
502 </listitem>
503 </varlistentry>
504
505 <varlistentry id="spa-monitor">
506 <term><command>spa-monitor</command></term>
507 <listitem>
508 <para>
509 allows you to monitor pipewire plugins
510 </para>
511 <indexterm zone="pipewire spa-monitor">
512 <primary sortas="b-spa-monitor">spa-monitor</primary>
513 </indexterm>
514 </listitem>
515 </varlistentry>
516
517 <varlistentry id="spa-resample">
518 <term><command>spa-resample</command></term>
519 <listitem>
520 <para>
521 resamples a given file
522 </para>
523 <indexterm zone="pipewire spa-resample">
524 <primary sortas="b-spa-resample">spa-resample</primary>
525 </indexterm>
526 </listitem>
527 </varlistentry>
528
529 <varlistentry id="libpipewire">
530 <term><filename class="libraryfile">libpipewire-0.3.so</filename></term>
531 <listitem>
532 <para>
533 contains API functions for handling multimedia pipelines
534 </para>
535 <indexterm zone="pipewire libpipewire">
536 <primary sortas="c-libpipewire">libpipewire-0.3.so</primary>
537 </indexterm>
538 </listitem>
539 </varlistentry>
540<!--
541 <varlistentry id="libpulse-mainloop-glib-pw">
542 <term><filename class="libraryfile">libpulse-mainloop-glib-pw.so</filename></term>
543 <listitem>
544 <para>
545 provides a glib main() loop for pulseaudio to route media through
546 pipewire.
547 </para>
548 <indexterm zone="pipewire libpulse-mainloop-glib-pw">
549 <primary sortas="c-libpulse-mainloop-glib-pw">libpulse-mainloop-glib-pw.so</primary>
550 </indexterm>
551 </listitem>
552 </varlistentry>
553
554 <varlistentry id="libpulse">
555 <term><filename class="libraryfile">libpulse.so</filename></term>
556 <listitem>
557 <para>
558 is a pipewire plugin for pulseaudio.
559 </para>
560 <indexterm zone="pipewire libpulse">
561 <primary sortas="c-libpulse">libpulse.so</primary>
562 </indexterm>
563 </listitem>
564 </varlistentry>
565
566 <varlistentry id="libpulse-simple">
567 <term><filename class="libraryfile">libpulse-simple.so</filename></term>
568 <listitem>
569 <para>
570 is a simplified version of the pulseaudio plugin for pipewire.
571 </para>
572 <indexterm zone="pipewire libpulse-simple">
573 <primary sortas="c-libpulse-simple">libpulse-simple.so</primary>
574 </indexterm>
575 </listitem>
576 </varlistentry>
577
578 <varlistentry id="libasound_module_pcm_pipewire">
579 <term><filename class="libraryfile">libasound_module_pcm_pipewire.so</filename></term>
580 <listitem>
581 <para>
582 is an ALSA plugin for pipewire.
583 </para>
584 <indexterm zone="pipewire libasound_module_pcm_pipewire">
585 <primary sortas="c-libasound_module_pcm_pipewire">libasound_module_pcm_pipewire.so</primary>
586 </indexterm>
587 </listitem>
588 </varlistentry>
589
590 <varlistentry id="libgstpipewire">
591 <term><filename class="libraryfile">libgstpipewire.so</filename></term>
592 <listitem>
593 <para>
594 is a Gstreamer plugin for pipewire.
595 </para>
596 <indexterm zone="pipewire libgstpipewire">
597 <primary sortas="c-libgstpipewire">libgstpipewire.so</primary>
598 </indexterm>
599 </listitem>
600 </varlistentry>-->
601 </variablelist>
602 </sect2>
603
604</sect1>
Note: See TracBrowser for help on using the repository browser.