source: multimedia/libdriv/pulseaudio.xml@ 4d390d2

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

Merge to HEAD 21624.

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

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