source: multimedia/libdriv/pulseaudio.xml@ 024f4e9f

elogind
Last change on this file since 024f4e9f was 4b1b99e8, checked in by DJ Lucas <dj@…>, 5 years ago

Merge to HEAD 21160.

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

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