source: multimedia/libdriv/pulseaudio.xml@ 2535d7fd

elogind
Last change on this file since 2535d7fd was e0fa4a5, checked in by DJ Lucas <dj@…>, 5 years ago

Remove pulseaudio-elogind patch, fix dbus unit install

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