source: multimedia/libdriv/pulseaudio.xml@ 70e41393

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 70e41393 was 70e41393, checked in by Ken Moffat <ken@…>, 2 years ago

PulseAudio - reinstate updated switch re bluez, dbus, sbc.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@23963 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 -Dbluez5=false &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 <sect2 role="commands">
177 <title>Command Explanations</title>
178
179 <para>
180 <parameter>-Dbluez5=false</parameter>: This switch prevents
181 a runtime error if <xref linkend="dbus"/> and <xref linkend="sbc"/>
182 are both installed but <xref linkend="bluez"/> is not installed.
183 Remove this if you have installed all three packages.
184 </para>
185<!--
186 <para>
187 <parameter>- -disable-rpath</parameter>: This switch prevents
188 linker from adding a hardcoded runtime path to the installed
189 programs and libraries.
190 </para>-->
191
192 </sect2>
193 <sect2 role="configuration">
194 <title>Configuring PulseAudio</title>
195
196 <sect3 id="pulseaudio-config">
197 <title>Config Files</title>
198 <para>
199 There are system wide configuration files:
200 <filename>/etc/pulse/daemon.conf</filename>,
201 <filename>/etc/pulse/client.conf</filename>,
202 <filename>/etc/pulse/default.pa</filename>, and user configuration
203 files with the same names in
204 <filename class="directory">~/.config/pulse</filename>. User
205 configuration files take precedence over system wide ones.
206 </para>
207
208 <indexterm zone="pulseaudio pulseaudio-config">
209 <primary sortas="e-AA.config-pulse">~/.config/pulse</primary>
210 </indexterm>
211
212 <indexterm zone="pulseaudio pulseaudio-config">
213 <primary
214 sortas="e-etc-pulse-daemon.conf">/etc/pulse/daemon.conf</primary>
215 </indexterm>
216
217 <indexterm zone="pulseaudio pulseaudio-config">
218 <primary
219 sortas="e-etc-pulse-client.conf">/etc/pulse/client.conf</primary>
220 </indexterm>
221
222 <indexterm zone="pulseaudio pulseaudio-config">
223 <primary
224 sortas="e-etc-pulse-default.pa">/etc/pulse/default.pa</primary>
225 </indexterm>
226 </sect3>
227
228 <sect3><title>Configuration Information</title>
229<!--
230 <para>
231 The default configuration files allow setting up a working installation.
232 However, a reference to Console-Kit needs to be removed.
233 Issue the following command as the
234 <systemitem class="username">root</systemitem> user:
235 </para>
236
237<screen role="root"><userinput>sed -i '/load-module module-console-kit/s/^/#/' /etc/pulse/default.pa</userinput></screen>
238
239 In 13.0 this is protected via .ifexists module-console-kit.so
240-->
241 <para>
242 You may have to configure the audio system. You can start
243 <application>pulseaudio</application> in command line mode using
244 <command>pulseaudio -C</command> and then list various
245 information and change settings. See
246 <command>man pulse-cli-syntax</command>.
247 </para>
248
249 <para>
250 If <application>pulseaudio</application> was working but you no-longer
251 have sound, after checking for hardware issues (speakers or headphones
252 not connected, external amplifier not connected) you may need to fix it.
253 </para>
254
255 <para>
256 One suggestion is to close the application, such as
257 <application>firefox</application> where sound has stopped working, then
258 run: <command>pactl list short sinks</command> followed by:
259 <command>pacmd set-default-sink &lt;sink #&gt;</command> and then
260 restart the application.
261 </para>
262
263 <para>
264 If that does not work, a more drastic approach often works. After closing
265 the application, close pulseaudio, either using <command>pulseaudio
266 --kill</command> or, if that fails, <command>killall -KILL
267 pulseaudio</command> and then <command>rm -rf
268 ~/.config/pulse/*</command> (and perhaps also
269 <command>rm -rf ~/.pulse/*</command> if you have used a very old version
270 of pulse on this machine, then run <command>pulseaudio
271 --verbose</command> to restart it. If the daemon starts, restart the
272 application. See <command>man pulseaudio</command> for more options.
273 </para>
274
275 </sect3>
276 </sect2>
277
278 <sect2 role="content">
279 <title>Contents</title>
280
281 <segmentedlist>
282 <segtitle>Installed Programs</segtitle>
283 <segtitle>Installed Libraries</segtitle>
284 <segtitle>Installed Directories</segtitle>
285
286 <seglistitem>
287 <seg>
288 esdcompat, pacat, pacmd, pactl, padsp, pamon (symlink to pacat),
289 paplay (symlink to pacat), parec (symlink to pacat),
290 parecord (symlink to pacat), qpaeq, pasuspender,
291 pax11publish, pulseaudio, and
292 <!-- it looks like the equalizer needs FFTW: qpaeq, -->
293 start-pulseaudio-x11
294 </seg>
295 <seg>
296 libpulse.so,
297 libpulse-mainloop-glib.so,
298 libpulse-simple.so,
299 libpulsecommon-&pulseaudio-major-version;.so,
300 libpulsecore-&pulseaudio-major-version;.so, and
301 libpulsedsp.so
302 </seg>
303 <seg>
304 /etc/pulse,
305 /usr/include/pulse,
306 /usr/lib/cmake/PulseAudio,
307 /usr/lib/{pulseaudio,pulse-&pulseaudio-major-version;},
308 /usr/libexec/pulse, and
309 /usr/share/pulseaudio
310 </seg>
311 </seglistitem>
312 </segmentedlist>
313
314 <variablelist>
315 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
316 <?dbfo list-presentation="list"?>
317 <?dbhtml list-presentation="table"?>
318
319 <varlistentry id="esdcompat">
320 <term><command>esdcompat</command></term>
321 <listitem>
322 <para>
323 is the <application>PulseAudio</application> ESD wrapper script.
324 </para>
325 <indexterm zone="pulseaudio esdcompat">
326 <primary sortas="b-esdcompat">esdcompat</primary>
327 </indexterm>
328 </listitem>
329 </varlistentry>
330
331 <varlistentry id="pacat">
332 <term><command>pacat</command></term>
333 <listitem>
334 <para>
335 plays back or records raw or encoded audio streams on a
336 <application>PulseAudio</application> sound server.
337 </para>
338 <indexterm zone="pulseaudio pacat">
339 <primary sortas="b-pacat">pacat</primary>
340 </indexterm>
341 </listitem>
342 </varlistentry>
343
344 <varlistentry id="pacmd">
345 <term><command>pacmd</command></term>
346 <listitem>
347 <para>
348 is a tool used to reconfigure a <application>PulseAudio</application>
349 sound server during runtime.
350 </para>
351 <indexterm zone="pulseaudio pacmd">
352 <primary sortas="b-pacmd">pacmd</primary>
353 </indexterm>
354 </listitem>
355 </varlistentry>
356
357 <varlistentry id="pactl">
358 <term><command>pactl</command></term>
359 <listitem>
360 <para>
361 is used to control a running <application>PulseAudio</application>
362 sound server.
363 </para>
364 <indexterm zone="pulseaudio pactl">
365 <primary sortas="b-pactl">pactl</primary>
366 </indexterm>
367 </listitem>
368 </varlistentry>
369
370 <varlistentry id="padsp">
371 <term><command>padsp</command></term>
372 <listitem>
373 <para>
374 is the <application>PulseAudio</application> OSS Wrapper.
375 </para>
376 <indexterm zone="pulseaudio padsp">
377 <primary sortas="b-padsp">padsp</primary>
378 </indexterm>
379 </listitem>
380 </varlistentry>
381
382 <varlistentry id="pamon">
383 <term><command>pamon</command></term>
384 <listitem>
385 <para>
386 is a symbolic link to <command>pacat</command>.
387 </para>
388 <indexterm zone="pulseaudio pamon">
389 <primary sortas="b-pamon">pamon</primary>
390 </indexterm>
391 </listitem>
392 </varlistentry>
393
394 <varlistentry id="paplay">
395 <term><command>paplay</command></term>
396 <listitem>
397 <para>
398 is used to play audio files on a
399 <application>PulseAudio</application> sound server.
400 </para>
401 <indexterm zone="pulseaudio paplay">
402 <primary sortas="b-paplay">paplay</primary>
403 </indexterm>
404 </listitem>
405 </varlistentry>
406
407 <varlistentry id="parec">
408 <term><command>parec</command></term>
409 <listitem>
410 <para>
411 is a symbolic link to <command>pacat</command>.
412 </para>
413 <indexterm zone="pulseaudio parec">
414 <primary sortas="b-parec">parec</primary>
415 </indexterm>
416 </listitem>
417 </varlistentry>
418
419 <varlistentry id="parecord">
420 <term><command>parecord</command></term>
421 <listitem>
422 <para>
423 is a symbolic link to <command>pacat</command>.
424 </para>
425 <indexterm zone="pulseaudio parecord">
426 <primary sortas="b-parecord">parecord</primary>
427 </indexterm>
428 </listitem>
429 </varlistentry>
430
431 <varlistentry id="pasuspender">
432 <term><command>pasuspender</command></term>
433 <listitem>
434 <para>
435 is a tool that can be used to tell a local
436 <application>PulseAudio</application> sound server to temporarily
437 suspend access to the audio devices, to allow other applications
438 to access them directly.
439 </para>
440 <indexterm zone="pulseaudio pasuspender">
441 <primary sortas="b-pasuspender">pasuspender</primary>
442 </indexterm>
443 </listitem>
444 </varlistentry>
445
446 <varlistentry id="pax11publish">
447 <term><command>pax11publish</command></term>
448 <listitem>
449 <para>
450 is the <application>PulseAudio</application>
451 X11 Credential Utility.
452 </para>
453 <indexterm zone="pulseaudio pax11publish">
454 <primary sortas="b-pax11publish">pax11publish</primary>
455 </indexterm>
456 </listitem>
457 </varlistentry>
458
459 <varlistentry id="pulseaudio-prog">
460 <term><command>pulseaudio</command></term>
461 <listitem>
462 <para>
463 is a networked low-latency sound server for Linux.
464 </para>
465 <indexterm zone="pulseaudio pulseaudio-prog">
466 <primary sortas="b-pulseaudio">pulseaudio</primary>
467 </indexterm>
468 </listitem>
469 </varlistentry>
470
471<!-- only installed if FFTW is present -->
472 <varlistentry id="qpaeq">
473 <term><command>qpaeq</command></term>
474 <listitem>
475 <para>
476 is an equalizer interface for
477 <application>PulseAudio</application> equalizer sinks
478 (Requires <xref linkend="fftw"/> at build time).
479 </para>
480 <indexterm zone="pulseaudio qpaeq">
481 <primary sortas="b-qpaeq">qpaeq</primary>
482 </indexterm>
483 </listitem>
484 </varlistentry>
485
486<!-- Not found in PA 7.0
487 <varlistentry id="start-pulseaudio-kde">
488 <term><command>start-pulseaudio-kde</command></term>
489 <listitem>
490 <para>
491 Starts <application>PulseAudio</application> and loads
492 module-device-manager to use KDE routing policies.
493 </para>
494 <indexterm zone="pulseaudio start-pulseaudio-kde">
495 <primary sortas="b-start-pulseaudio-kde">start-pulseaudio-kde</primary>
496 </indexterm>
497 </listitem>
498 </varlistentry>
499-->
500 <varlistentry id="start-pulseaudio-x11">
501 <term><command>start-pulseaudio-x11</command></term>
502 <listitem>
503 <para>
504 starts <application>PulseAudio</application> and registers it to
505 the X11 session manager.
506 </para>
507 <indexterm zone="pulseaudio start-pulseaudio-x11">
508 <primary sortas="b-start-pulseaudio-x11">start-pulseaudio-x11</primary>
509 </indexterm>
510 </listitem>
511 </varlistentry>
512
513 </variablelist>
514
515 </sect2>
516
517</sect1>
Note: See TracBrowser for help on using the repository browser.