source: multimedia/libdriv/pulseaudio.xml@ 64596e61

10.1 11.0 11.1 11.2 lazarus plabs/python-mods qt5new trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226
Last change on this file since 64596e61 was 64596e61, checked in by Bruce Dubbs <bdubbs@…>, 2 years ago

Update to sqlite-autoconf-3.34.0.
Update to poppler-20.12.0.
Update to libarchive-3.5.0.
Update to pulseaudio-14.0.

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

  • Property mode set to 100644
File size: 17.4 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 pulseaudio-download-http
8 "https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-&pulseaudio-version;.tar.xz">
9 <!ENTITY pulseaudio-download-ftp " ">
10 <!ENTITY pulseaudio-md5sum "84a7776e63dd55c40db8fbd7c7e2e18e">
11 <!ENTITY pulseaudio-size "1.9 MB">
12 <!ENTITY pulseaudio-buildsize "76 MB (add 2 MB for tests)">
13 <!ENTITY pulseaudio-time "0.1 SBU (Using parallelism=4; add 0.2 SBU for tests)">
14]>
15
16<sect1 id="pulseaudio" xreflabel="PulseAudio-&pulseaudio-version;">
17 <?dbhtml filename="pulseaudio.html"?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>PulseAudio-&pulseaudio-version;</title>
25
26 <indexterm zone="pulseaudio">
27 <primary sortas="a-PulseAudio">PulseAudio</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to PulseAudio</title>
32
33 <para>
34 <application>PulseAudio</application> is a sound system for POSIX OSes,
35 meaning that it is a proxy for sound applications. It allows you to do
36 advanced operations on your sound data as it passes between your
37 application and your hardware. Things like transferring the audio to a
38 different machine, changing the sample format or channel count and mixing
39 several sounds into one are easily achieved using a sound server.
40 </para>
41
42 &lfs10_checked;
43
44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
47 <para>
48 Download (HTTP): <ulink url="&pulseaudio-download-http;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download (FTP): <ulink url="&pulseaudio-download-ftp;"/>
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download MD5 sum: &pulseaudio-md5sum;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Download size: &pulseaudio-size;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated disk space required: &pulseaudio-buildsize;
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Estimated build time: &pulseaudio-time;
74 </para>
75 </listitem>
76 </itemizedlist>
77
78 <bridgehead renderas="sect3">PulseAudio Dependencies</bridgehead>
79
80 <bridgehead renderas="sect4">Required</bridgehead>
81 <para role="required">
82 <xref linkend="libsndfile"/>
83 </para>
84
85 <bridgehead renderas="sect4">Recommended</bridgehead>
86 <para role="recommended">
87 <xref linkend="alsa-lib"/>,
88 <xref linkend="dbus"/>,
89 <phrase revision="sysv"><xref linkend="elogind"/>,</phrase>
90 <xref linkend="glib2"/>,
91 <xref linkend="libcap-pam"/>,
92 <xref linkend="speex"/> and
93 <xref linkend="xorg7-lib"/>
94 </para>
95
96 <bridgehead renderas="sect4">Optional</bridgehead>
97 <para role="optional">
98 <xref linkend="avahi"/>,
99 <xref linkend="bluez"/>,
100 <xref linkend="fftw"/>,
101 <xref linkend="GConf"/>,
102 <xref linkend="gtk3"/>,
103 <xref linkend="libsamplerate"/>,
104 <xref linkend="sbc"/> (Bluetooth support),
105 <xref linkend="valgrind"/>,
106 <ulink url="http://www.jackaudio.org/">JACK</ulink>,
107 <ulink url="http://0pointer.de/lennart/projects/libasyncns/">libasyncns</ulink>,
108 <ulink url="http://www.lirc.org/">LIRC</ulink>,
109 <ulink url="http://gstreamer.freedesktop.org/src/orc/">ORC</ulink>,
110 <ulink url="https://sourceforge.net/projects/soxr/">soxr</ulink>,
111 <ulink url="http://tdb.samba.org/">TDB</ulink>,
112 <ulink url="http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/">
113 WebRTC AudioProcessing</ulink> and
114 <ulink url="http://www.xenproject.org/">XEN</ulink>
115 </para>
116
117 <para condition="html" role="usernotes">User Notes:
118 <ulink url="&blfs-wiki;/pulseaudio"/>
119 </para>
120 </sect2>
121
122 <sect2 role="installation">
123 <title>Installation of PulseAudio</title>
124
125 <para>
126 Install <application>PulseAudio</application> by running the following
127 commands:
128 </para>
129<!--
130<screen revision="sysv"><userinput>./configure - -prefix=/usr \
131 - -sysconfdir=/etc \
132 - -localstatedir=/var \
133 - -disable-bluez5 \
134 - -disable-rpath \
135 - -with-systemduserunitdir=no &amp;&amp;
136make</userinput></screen>
137
138<screen revision="systemd"><userinput>./configure - -prefix=/usr \
139 - -sysconfdir=/etc \
140 - -localstatedir=/var \
141 - -disable-bluez5 \
142 - -disable-rpath &amp;&amp;
143make</userinput></screen>
144-->
145
146<screen><userinput>mkdir build &amp;&amp;
147cd build &amp;&amp;
148
149meson --prefix=/usr -Ddatabase=gdbm &amp;&amp;
150ninja</userinput></screen>
151
152 <para>
153 To test the results, issue: <command>ninja test</command>. One test
154 fails if the tests are not run as the root user, but this can be ignored.
155 </para>
156
157 <para>
158 Now, as the <systemitem class="username">root</systemitem> user:
159 </para>
160
161<screen role="root"><userinput>ninja install</userinput></screen>
162
163 <!-- http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/ -->
164 <para>Running PulseAudio as System-Wide Daemon is possible but not recommended.
165 See <ulink
166 url="https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/"/>.
167 While still as the <systemitem class="username">root</systemitem>
168 user, remove the <application>D-Bus</application> configuration file
169 for the system wide daemon to avoid creating unnecessary system
170 users and groups:
171 </para>
172
173<screen role="root"><userinput>rm -fv /etc/dbus-1/system.d/pulseaudio-system.conf</userinput></screen>
174
175 </sect2>
176<!--
177 <sect2 role="commands">
178 <title>Command Explanations</title>
179
180 <para>
181 <parameter>- -disable-bluez5</parameter>: This switch prevents
182 a runtime error if <xref linkend="dbus"/> and <xref linkend="sbc"/>
183 are both installed but <xref linkend="bluez"/> is not installed.
184 Remove this if you have installed all three packages.
185 </para>
186
187 <para>
188 <parameter>- -disable-rpath</parameter>: This switch prevents
189 linker from adding a hardcoded runtime path to the installed
190 programs and libraries.
191 </para>
192
193 </sect2>
194-->
195 <sect2 role="configuration">
196 <title>Configuring PulseAudio</title>
197
198 <sect3 id="pulseaudio-config">
199 <title>Config Files</title>
200 <para>
201 There are system wide configuration files:
202 <filename>/etc/pulse/daemon.conf</filename>,
203 <filename>/etc/pulse/client.conf</filename>,
204 <filename>/etc/pulse/default.pa</filename>, and user configuration
205 files with the same names in
206 <filename class="directory">~/.config/pulse</filename>. User
207 configuration files take precedence over system wide ones.
208 </para>
209
210 <indexterm zone="pulseaudio pulseaudio-config">
211 <primary sortas="e-AA.config-pulse">~/.config/pulse</primary>
212 </indexterm>
213
214 <indexterm zone="pulseaudio pulseaudio-config">
215 <primary
216 sortas="e-etc-pulse-daemon.conf">/etc/pulse/daemon.conf</primary>
217 </indexterm>
218
219 <indexterm zone="pulseaudio pulseaudio-config">
220 <primary
221 sortas="e-etc-pulse-client.conf">/etc/pulse/client.conf</primary>
222 </indexterm>
223
224 <indexterm zone="pulseaudio pulseaudio-config">
225 <primary
226 sortas="e-etc-pulse-default.pa">/etc/pulse/default.pa</primary>
227 </indexterm>
228 </sect3>
229
230 <sect3><title>Configuration Information</title>
231<!--
232 <para>
233 The default configuration files allow setting up a working installation.
234 However, a reference to Console-Kit needs to be removed.
235 Issue the following command as the
236 <systemitem class="username">root</systemitem> user:
237 </para>
238
239<screen role="root"><userinput>sed -i '/load-module module-console-kit/s/^/#/' /etc/pulse/default.pa</userinput></screen>
240
241 In 13.0 this is protected via .ifexists module-console-kit.so
242-->
243 <para>
244 You may have to configure the audio system. You can start
245 <application>pulseaudio</application> in command line mode using
246 <command>pulseaudio -C</command> and then list various
247 information and change settings. See
248 <command>man pulse-cli-syntax</command>.
249 </para>
250
251 <para>
252 If <application>pulseaudio</application> was working but you no-longer
253 have sound, after checking for hardware issues (speakers or headphones
254 not connected, external amplifier not connected) you may need to fix it.
255 </para>
256
257 <para>
258 One suggestion is to close the application, such as
259 <application>firefox</application> where sound has stopped working, then
260 run: <command>pactl list short sinks</command> followed by:
261 <command>pacmd set-default-sink &lt;sink #&gt;</command> and then
262 restart the application.
263 </para>
264
265 <para>
266 If that does not work, a more drastic approach often works. After closing
267 the application, close pulseaudio, either using <command>pulseaudio
268 --kill</command> or, if that fails, <command>killall -KILL
269 pulseaudio</command> and then <command>rm -rf
270 ~/.config/pulse/*</command> (and perhaps also
271 <command>rm -rf ~/.pulse/*</command> if you have used a very old version
272 of pulse on this machine, then run <command>pulseaudio
273 --verbose</command> to restart it. If the daemon starts, restart the
274 application. See <command>man pulseaudio</command> for more options.
275 </para>
276
277 </sect3>
278 </sect2>
279
280 <sect2 role="content">
281 <title>Contents</title>
282
283 <segmentedlist>
284 <segtitle>Installed Programs</segtitle>
285 <segtitle>Installed Libraries</segtitle>
286 <segtitle>Installed Directories</segtitle>
287
288 <seglistitem>
289 <seg>
290 esdcompat, pacat, pacmd, pactl, padsp, pamon (symlink to pacat),
291 paplay (symlink to pacat), parec (symlink to pacat),
292 parecord (symlink to pacat), qpaeq, pasuspender,
293 pax11publish, pulseaudio, and
294 <!-- it looks like the equalizer needs FFTW: qpaeq, -->
295 start-pulseaudio-x11
296 </seg>
297 <seg>
298 libpulse.so,
299 libpulse-mainloop-glib.so,
300 libpulse-simple.so,
301 libpulsecommon-&pulseaudio-major-version;.so,
302 libpulsecore-&pulseaudio-major-version;.so, and
303 libpulsedsp.so
304 </seg>
305 <seg>
306 /etc/pulse,
307 /usr/include/pulse,
308 /usr/lib/cmake/PulseAudio,
309 /usr/lib/{pulseaudio,pulse-&pulseaudio-major-version;},
310 /usr/libexec/pulse, and
311 /usr/share/pulseaudio
312 </seg>
313 </seglistitem>
314 </segmentedlist>
315
316 <variablelist>
317 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
318 <?dbfo list-presentation="list"?>
319 <?dbhtml list-presentation="table"?>
320
321 <varlistentry id="esdcompat">
322 <term><command>esdcompat</command></term>
323 <listitem>
324 <para>
325 is the <application>PulseAudio</application> ESD wrapper script.
326 </para>
327 <indexterm zone="pulseaudio esdcompat">
328 <primary sortas="b-esdcompat">esdcompat</primary>
329 </indexterm>
330 </listitem>
331 </varlistentry>
332
333 <varlistentry id="pacat">
334 <term><command>pacat</command></term>
335 <listitem>
336 <para>
337 plays back or records raw or encoded audio streams on a
338 <application>PulseAudio</application> sound server.
339 </para>
340 <indexterm zone="pulseaudio pacat">
341 <primary sortas="b-pacat">pacat</primary>
342 </indexterm>
343 </listitem>
344 </varlistentry>
345
346 <varlistentry id="pacmd">
347 <term><command>pacmd</command></term>
348 <listitem>
349 <para>
350 is a tool used to reconfigure a <application>PulseAudio</application>
351 sound server during runtime.
352 </para>
353 <indexterm zone="pulseaudio pacmd">
354 <primary sortas="b-pacmd">pacmd</primary>
355 </indexterm>
356 </listitem>
357 </varlistentry>
358
359 <varlistentry id="pactl">
360 <term><command>pactl</command></term>
361 <listitem>
362 <para>
363 is used to control a running <application>PulseAudio</application>
364 sound server.
365 </para>
366 <indexterm zone="pulseaudio pactl">
367 <primary sortas="b-pactl">pactl</primary>
368 </indexterm>
369 </listitem>
370 </varlistentry>
371
372 <varlistentry id="padsp">
373 <term><command>padsp</command></term>
374 <listitem>
375 <para>
376 is the <application>PulseAudio</application> OSS Wrapper.
377 </para>
378 <indexterm zone="pulseaudio padsp">
379 <primary sortas="b-padsp">padsp</primary>
380 </indexterm>
381 </listitem>
382 </varlistentry>
383
384 <varlistentry id="pamon">
385 <term><command>pamon</command></term>
386 <listitem>
387 <para>
388 is a symbolic link to <command>pacat</command>.
389 </para>
390 <indexterm zone="pulseaudio pamon">
391 <primary sortas="b-pamon">pamon</primary>
392 </indexterm>
393 </listitem>
394 </varlistentry>
395
396 <varlistentry id="paplay">
397 <term><command>paplay</command></term>
398 <listitem>
399 <para>
400 is used to play audio files on a
401 <application>PulseAudio</application> sound server.
402 </para>
403 <indexterm zone="pulseaudio paplay">
404 <primary sortas="b-paplay">paplay</primary>
405 </indexterm>
406 </listitem>
407 </varlistentry>
408
409 <varlistentry id="parec">
410 <term><command>parec</command></term>
411 <listitem>
412 <para>
413 is a symbolic link to <command>pacat</command>.
414 </para>
415 <indexterm zone="pulseaudio parec">
416 <primary sortas="b-parec">parec</primary>
417 </indexterm>
418 </listitem>
419 </varlistentry>
420
421 <varlistentry id="parecord">
422 <term><command>parecord</command></term>
423 <listitem>
424 <para>
425 is a symbolic link to <command>pacat</command>.
426 </para>
427 <indexterm zone="pulseaudio parecord">
428 <primary sortas="b-parecord">parecord</primary>
429 </indexterm>
430 </listitem>
431 </varlistentry>
432
433 <varlistentry id="pasuspender">
434 <term><command>pasuspender</command></term>
435 <listitem>
436 <para>
437 is a tool that can be used to tell a local
438 <application>PulseAudio</application> sound server to temporarily
439 suspend access to the audio devices, to allow other applications
440 to access them directly.
441 </para>
442 <indexterm zone="pulseaudio pasuspender">
443 <primary sortas="b-pasuspender">pasuspender</primary>
444 </indexterm>
445 </listitem>
446 </varlistentry>
447
448 <varlistentry id="pax11publish">
449 <term><command>pax11publish</command></term>
450 <listitem>
451 <para>
452 is the <application>PulseAudio</application>
453 X11 Credential Utility.
454 </para>
455 <indexterm zone="pulseaudio pax11publish">
456 <primary sortas="b-pax11publish">pax11publish</primary>
457 </indexterm>
458 </listitem>
459 </varlistentry>
460
461 <varlistentry id="pulseaudio-prog">
462 <term><command>pulseaudio</command></term>
463 <listitem>
464 <para>
465 is a networked low-latency sound server for Linux.
466 </para>
467 <indexterm zone="pulseaudio pulseaudio-prog">
468 <primary sortas="b-pulseaudio">pulseaudio</primary>
469 </indexterm>
470 </listitem>
471 </varlistentry>
472
473<!-- only installed if FFTW is present -->
474 <varlistentry id="qpaeq">
475 <term><command>qpaeq</command></term>
476 <listitem>
477 <para>
478 is an equalizer interface for
479 <application>PulseAudio</application> equalizer sinks
480 (Requires <xref linkend="fftw"/> at build time).
481 </para>
482 <indexterm zone="pulseaudio qpaeq">
483 <primary sortas="b-qpaeq">qpaeq</primary>
484 </indexterm>
485 </listitem>
486 </varlistentry>
487
488<!-- Not found in PA 7.0
489 <varlistentry id="start-pulseaudio-kde">
490 <term><command>start-pulseaudio-kde</command></term>
491 <listitem>
492 <para>
493 Starts <application>PulseAudio</application> and loads
494 module-device-manager to use KDE routing policies.
495 </para>
496 <indexterm zone="pulseaudio start-pulseaudio-kde">
497 <primary sortas="b-start-pulseaudio-kde">start-pulseaudio-kde</primary>
498 </indexterm>
499 </listitem>
500 </varlistentry>
501-->
502 <varlistentry id="start-pulseaudio-x11">
503 <term><command>start-pulseaudio-x11</command></term>
504 <listitem>
505 <para>
506 starts <application>PulseAudio</application> and registers it to
507 the X11 session manager.
508 </para>
509 <indexterm zone="pulseaudio start-pulseaudio-x11">
510 <primary sortas="b-start-pulseaudio-x11">start-pulseaudio-x11</primary>
511 </indexterm>
512 </listitem>
513 </varlistentry>
514
515 </variablelist>
516
517 </sect2>
518
519</sect1>
Note: See TracBrowser for help on using the repository browser.