source: multimedia/libdriv/pulseaudio.xml@ 56229a7e

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 9.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt 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 56229a7e was 56229a7e, checked in by Bruce Dubbs <bdubbs@…>, 4 years ago

Update to zsh-5.8.
Update to ImageMagick-6.9.10-93.
Update to ImageMagick-7.0.9-23.

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

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