source: multimedia/libdriv/pulseaudio.xml@ 3b988672

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 3b988672 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
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 "390de38231d5cdd6b43ada8939eb74f1">
11 <!ENTITY pulseaudio-size "1.6 MB">
12 <!ENTITY pulseaudio-buildsize "88 MB (add 2 MB for tests)">
13 <!ENTITY pulseaudio-time "1.5 SBU (add 0.6 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 &lfs81_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="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>
136 Install <application>PulseAudio</application> by running the following
137 commands:
138 </para>
139
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 \
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 </para>
155
156 <para>
157 Now, as the <systemitem class="username">root</systemitem> user:
158 </para>
159
160<screen role="root"><userinput>make install</userinput></screen>
161
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
167 users and groups:
168 </para>
169
170<screen role="root"><userinput>rm -fv /etc/dbus-1/system.d/pulseaudio-system.conf</userinput></screen>
171
172 </sect2>
173
174 <sect2 role="commands">
175 <title>Command Explanations</title>
176
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
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
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
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
210 </sect2>
211
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>
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
252 not installed. For example, issue the following command as the
253 <systemitem class="username">root</systemitem> user:
254 </para>
255
256<screen role="root"><userinput>sed -i '/load-module module-console-kit/s/^/#/' /etc/pulse/default.pa</userinput></screen>
257
258 <para>
259 You may also have to configure the audio system. You can start
260 <application>pulseaudio</application> in command line mode using
261 <command>pulseaudio -C</command> and then list various
262 information and change settings. See
263 <command>man pulse-cli-syntax</command>.
264 </para>
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
292 </sect3>
293 </sect2>
294
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>
304 <seg>
305 esdcompat, pacat, pacmd, pactl, padsp, pamon (symlink to pacat),
306 paplay (symlink to pacat), parec (symlink to pacat),
307 parecord (symlink to pacat), pasuspender,
308 pax11publish, pulseaudio, and
309 <!-- it looks like the equalizer needs FFTW: qpaeq, -->
310 start-pulseaudio-x11
311 </seg>
312 <seg>
313 libpulse.so
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
320 </seg>
321 <seg>
322 /etc/pulse,
323 /usr/include/pulse,
324 /usr/lib/cmake/PulseAudio,
325 /usr/lib/{pulseaudio,pulse-&pulseaudio-major-version;},
326 /usr/libexec/pulse, and
327 /usr/share/pulseaudio
328 </seg>
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>
340 <para>
341 is the <application>PulseAudio</application> ESD wrapper script.
342 </para>
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>
352 <para>
353 plays back or records raw or encoded audio streams on a
354 <application>PulseAudio</application> sound server.
355 </para>
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>
365 <para>
366 is a tool used to reconfigure a <application>PulseAudio</application>
367 sound server during runtime.
368 </para>
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>
378 <para>
379 is used to control a running <application>PulseAudio</application>
380 sound server.
381 </para>
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>
391 <para>
392 is the <application>PulseAudio</application> OSS Wrapper.
393 </para>
394 <indexterm zone="pulseaudio padsp">
395 <primary sortas="b-padsp">padsp</primary>
396 </indexterm>
397 </listitem>
398 </varlistentry>
399
400 <varlistentry id="pamon">
401 <term><command>pamon</command></term>
402 <listitem>
403 <para>
404 is a symbolic link to <command>pacat</command>.
405 </para>
406 <indexterm zone="pulseaudio pamon">
407 <primary sortas="b-pamon">pamon</primary>
408 </indexterm>
409 </listitem>
410 </varlistentry>
411
412 <varlistentry id="paplay">
413 <term><command>paplay</command></term>
414 <listitem>
415 <para>
416 is used to play audio files on a
417 <application>PulseAudio</application> sound server.
418 </para>
419 <indexterm zone="pulseaudio paplay">
420 <primary sortas="b-paplay">paplay</primary>
421 </indexterm>
422 </listitem>
423 </varlistentry>
424
425 <varlistentry id="parec">
426 <term><command>parec</command></term>
427 <listitem>
428 <para>
429 is a symbolic link to <command>pacat</command>.
430 </para>
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>
440 <para>
441 is a symbolic link to <command>pacat</command>.
442 </para>
443 <indexterm zone="pulseaudio parecord">
444 <primary sortas="b-parecord">parecord</primary>
445 </indexterm>
446 </listitem>
447 </varlistentry>
448
449 <varlistentry id="pasuspender">
450 <term><command>pasuspender</command></term>
451 <listitem>
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
456 to access them directly.
457 </para>
458 <indexterm zone="pulseaudio pasuspender">
459 <primary sortas="b-pasuspender">pasuspender</primary>
460 </indexterm>
461 </listitem>
462 </varlistentry>
463
464 <varlistentry id="pax11publish">
465 <term><command>pax11publish</command></term>
466 <listitem>
467 <para>
468 is the <application>PulseAudio</application>
469 X11 Credential Utility.
470 </para>
471 <indexterm zone="pulseaudio pax11publish">
472 <primary sortas="b-pax11publish">pax11publish</primary>
473 </indexterm>
474 </listitem>
475 </varlistentry>
476
477 <varlistentry id="pulseaudio-prog">
478 <term><command>pulseaudio</command></term>
479 <listitem>
480 <para>
481 is a networked low-latency sound server for Linux.
482 </para>
483 <indexterm zone="pulseaudio pulseaudio-prog">
484 <primary sortas="b-pulseaudio">pulseaudio</primary>
485 </indexterm>
486 </listitem>
487 </varlistentry>
488
489<!-- only installed if FFTW is present
490 <varlistentry id="qpaeq">
491 <term><command>qpaeq</command></term>
492 <listitem>
493 <para>
494 is an equalizer interface for
495 <application>PulseAudio</application> equalizer sinks.
496 </para>
497 <indexterm zone="pulseaudio qpaeq">
498 <primary sortas="b-qpaeq">qpaeq</primary>
499 </indexterm>
500 </listitem>
501 </varlistentry>
502-->
503<!-- Not found in PA 7.0
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>
516-->
517 <varlistentry id="start-pulseaudio-x11">
518 <term><command>start-pulseaudio-x11</command></term>
519 <listitem>
520 <para>
521 starts <application>PulseAudio</application> and registers it to
522 the X11 session manager.
523 </para>
524 <indexterm zone="pulseaudio start-pulseaudio-x11">
525 <primary sortas="b-start-pulseaudio-x11">start-pulseaudio-x11</primary>
526 </indexterm>
527 </listitem>
528 </varlistentry>
529
530 </variablelist>
531
532 </sect2>
533
534</sect1>
Note: See TracBrowser for help on using the repository browser.