source: multimedia/libdriv/pipewire.xml@ 3c54f613

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 3c54f613 was 3c54f613, checked in by Bruce Dubbs <bdubbs@…>, 3 years ago

Update to lxml-4.6.2.
Update to libinput-1.16.4.
Update to pipewire-0.3.17.

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

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