source: multimedia/libdriv/pulseaudio.xml@ 38489aa0

10.0 10.1 11.0 8.4 9.0 9.1 ken/refactor-virt lazarus qt5new trunk upgradedb xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since 38489aa0 was 38489aa0, checked in by Pierre Labastie <pieere@…>, 3 years ago

Tags

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

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