source: multimedia/libdriv/pulseaudio.xml@ a3f2e9cc

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since a3f2e9cc was a3f2e9cc, checked in by Pierre Labastie <pieere@…>, 6 years ago

Patch pulseaudio for building with glibc-2.27

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

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