source: multimedia/libdriv/pulseaudio.xml@ f43bcd7

11.0 11.1 11.2 11.3 12.0 12.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 f43bcd7 was 6913e834, checked in by Ken Moffat <ken@…>, 3 years ago

~PulseAudio - document a switch.

  • Property mode set to 100644
File size: 18.6 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 "bb888e7747b778c1c487c63b582ddf40">
11 <!ENTITY pulseaudio-size "1.5 MB">
12 <!ENTITY pulseaudio-buildsize "49 MB (add 1 MB for tests)">
13 <!ENTITY pulseaudio-time "0.2 SBU (Using parallelism=4; add 0.2 SBU for tests)">
14]>
15
16<sect1 id="pulseaudio" xreflabel="PulseAudio-&pulseaudio-version;">
17 <?dbhtml filename="pulseaudio.html"?>
18
19 <sect1info>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>PulseAudio-&pulseaudio-version;</title>
24
25 <indexterm zone="pulseaudio">
26 <primary sortas="a-PulseAudio">PulseAudio</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to PulseAudio</title>
31
32 <para>
33 <application>PulseAudio</application> is a sound system for POSIX OSes,
34 meaning that it is a proxy for sound applications. It allows you to do
35 advanced operations on your sound data as it passes between your
36 application and your hardware. Things like transferring the audio to a
37 different machine, changing the sample format or channel count and mixing
38 several sounds into one are easily achieved using a sound server.
39 </para>
40
41 &lfs101_checked;
42
43 <bridgehead renderas="sect3">Package Information</bridgehead>
44 <itemizedlist spacing="compact">
45 <listitem>
46 <para>
47 Download (HTTP): <ulink url="&pulseaudio-download-http;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download (FTP): <ulink url="&pulseaudio-download-ftp;"/>
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download MD5 sum: &pulseaudio-md5sum;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Download size: &pulseaudio-size;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated disk space required: &pulseaudio-buildsize;
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Estimated build time: &pulseaudio-time;
73 </para>
74 </listitem>
75 </itemizedlist>
76
77 <bridgehead renderas="sect3">PulseAudio Dependencies</bridgehead>
78
79 <bridgehead renderas="sect4">Required</bridgehead>
80 <para role="required">
81 <xref linkend="libsndfile"/>
82 </para>
83
84 <bridgehead renderas="sect4">Recommended</bridgehead>
85 <para role="recommended">
86 <xref linkend="alsa-lib"/>,
87 <xref linkend="dbus"/>,
88 <phrase revision="sysv"><xref linkend="elogind"/>,</phrase>
89 <xref linkend="glib2"/>,
90 <xref linkend="libcap-pam"/>,
91 <xref linkend="speex"/> and
92 <xref linkend="xorg7-lib"/>
93 </para>
94
95 <bridgehead renderas="sect4">Optional</bridgehead>
96 <para role="optional">
97 <xref linkend="avahi"/>,
98 <xref linkend="bluez"/>,
99 <xref linkend="doxygen"/> (for documentation),
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>, and
112 <ulink url="http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/">
113 WebRTC AudioProcessing</ulink>
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 If <xref linkend="doxygen"/> is not installed, workaround a building
127 issue because of the changes in meson-0.57.2:
128 </para>
129
130<screen><userinput>sed '/doxygen/d' -i meson.build</userinput></screen>
131-->
132 <para>
133 Install <application>PulseAudio</application> by running the following
134 commands:
135 </para>
136<!--
137<screen revision="sysv"><userinput>./configure - -prefix=/usr \
138 - -sysconfdir=/etc \
139 - -localstatedir=/var \
140 - -disable-bluez5 \
141 - -disable-rpath \
142 - -with-systemduserunitdir=no &amp;&amp;
143make</userinput></screen>
144
145<screen revision="systemd"><userinput>./configure - -prefix=/usr \
146 - -sysconfdir=/etc \
147 - -localstatedir=/var \
148 - -disable-bluez5 \
149 - -disable-rpath &amp;&amp;
150make</userinput></screen>
151-->
152
153<screen><userinput>mkdir build &amp;&amp;
154cd build &amp;&amp;
155
156meson --prefix=/usr \
157 --buildtype=release \
158 -Ddatabase=gdbm \
159 -Ddoxygen=false \
160 -Dbluez5=disabled &amp;&amp;
161ninja</userinput></screen>
162
163 <para>
164 To test the results, issue: <command>ninja test</command>. One test
165 fails if the tests are not run as the root user, but this can be ignored.
166 </para>
167
168 <para>
169 Now, as the <systemitem class="username">root</systemitem> user:
170 </para>
171
172<screen role="root"><userinput>ninja install</userinput></screen>
173
174 <!-- http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/ -->
175 <para>Running PulseAudio as a system-wide daemon is possible but not
176 recommended. See <ulink
177 url="https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/"/>
178 for more information.
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
182 users and groups:
183 </para>
184
185<screen role="root"><userinput>rm -fv /etc/dbus-1/system.d/pulseaudio-system.conf</userinput></screen>
186
187 </sect2>
188 <sect2 role="commands">
189 <title>Command Explanations</title>
190
191 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
192 href="../../xincludes/meson-buildtype-release.xml"/>
193
194 <para>
195 <parameter>-Dbluez5=false</parameter>: This switch prevents
196 a runtime error if <xref linkend="dbus"/> and <xref linkend="sbc"/>
197 are both installed but <xref linkend="bluez"/> is not installed.
198 Remove this if you have installed all three packages.
199 </para>
200
201 <para>
202 <parameter>-Ddoxygen=false</parameter>: This allows the package to
203 compile if <xref linkend="doxygen"/> is not installed. Remove this
204 if you have installed this and wish to build the documentation.
205 </para>
206<!--
207 <para>
208 <parameter>- -disable-rpath</parameter>: This switch prevents
209 linker from adding a hardcoded runtime path to the installed
210 programs and libraries.
211 </para>-->
212
213 </sect2>
214 <sect2 role="configuration">
215 <title>Configuring PulseAudio</title>
216
217 <sect3 id="pulseaudio-config">
218 <title>Config Files</title>
219 <para>
220 There are system wide configuration files:
221 <filename>/etc/pulse/daemon.conf</filename>,
222 <filename>/etc/pulse/client.conf</filename>,
223 <filename>/etc/pulse/default.pa</filename>, and user configuration
224 files with the same names in
225 <filename class="directory">~/.config/pulse</filename>. User
226 configuration files take precedence over system wide ones.
227 </para>
228
229 <indexterm zone="pulseaudio pulseaudio-config">
230 <primary sortas="e-AA.config-pulse">~/.config/pulse</primary>
231 </indexterm>
232
233 <indexterm zone="pulseaudio pulseaudio-config">
234 <primary
235 sortas="e-etc-pulse-daemon.conf">/etc/pulse/daemon.conf</primary>
236 </indexterm>
237
238 <indexterm zone="pulseaudio pulseaudio-config">
239 <primary
240 sortas="e-etc-pulse-client.conf">/etc/pulse/client.conf</primary>
241 </indexterm>
242
243 <indexterm zone="pulseaudio pulseaudio-config">
244 <primary
245 sortas="e-etc-pulse-default.pa">/etc/pulse/default.pa</primary>
246 </indexterm>
247 </sect3>
248
249 <sect3><title>Configuration Information</title>
250<!--
251 <para>
252 The default configuration files allow setting up a working installation.
253 However, a reference to Console-Kit needs to be removed.
254 Issue the following command as the
255 <systemitem class="username">root</systemitem> user:
256 </para>
257
258<screen role="root"><userinput>sed -i '/load-module module-console-kit/s/^/#/' /etc/pulse/default.pa</userinput></screen>
259
260 In 13.0 this is protected via .ifexists module-console-kit.so
261-->
262 <para>
263 You may have to configure the audio system. You can start
264 <application>pulseaudio</application> in command line mode using
265 <command>pulseaudio -C</command> and then list various
266 information and change settings. See
267 <command>man pulse-cli-syntax</command>.
268 </para>
269
270 <para>
271 If <application>pulseaudio</application> was working but you no-longer
272 have sound, after checking for hardware issues (speakers or headphones
273 not connected, external amplifier not connected) you may need to fix it.
274 </para>
275
276 <para>
277 One suggestion is to close the application, such as
278 <application>firefox</application> where sound has stopped working, then
279 run: <command>pactl list short sinks</command> followed by:
280 <command>pacmd set-default-sink &lt;sink #&gt;</command> and then
281 restart the application.
282 </para>
283
284 <para>
285 If that does not work, a more drastic approach often works. After closing
286 the application, close pulseaudio, either using <command>pulseaudio
287 --kill</command> or, if that fails, <command>killall -KILL
288 pulseaudio</command> and then <command>rm -rf
289 ~/.config/pulse/*</command> (and perhaps also
290 <command>rm -rf ~/.pulse/*</command> if you have used a very old version
291 of pulse on this machine), then run <command>pulseaudio
292 --verbose</command> to restart it. If the daemon starts, restart the
293 application. See <command>man pulseaudio</command> for more options.
294 </para>
295
296 </sect3>
297 </sect2>
298
299 <sect2 role="content">
300 <title>Contents</title>
301
302 <segmentedlist>
303 <segtitle>Installed Programs</segtitle>
304 <segtitle>Installed Libraries</segtitle>
305 <segtitle>Installed Directories</segtitle>
306
307 <seglistitem>
308 <seg>
309 <!--esdcompat,--> pacat, pacmd, pactl, padsp,
310 pamon (symlink to pacat), paplay (symlink to pacat),
311 parec (symlink to pacat), parecord (symlink to pacat), qpaeq,
312 pasuspender, pax11publish, pulseaudio, and
313 <!-- it looks like the equalizer needs FFTW: qpaeq, -->
314 start-pulseaudio-x11
315 </seg>
316 <seg>
317 libpulse.so,
318 libpulse-mainloop-glib.so,
319 libpulse-simple.so,
320 libpulsecommon-&pulseaudio-major-version;.so,
321 libpulsecore-&pulseaudio-major-version;.so, and
322 libpulsedsp.so
323 </seg>
324 <seg>
325 /etc/pulse,
326 /usr/include/pulse,
327 /usr/lib/cmake/PulseAudio,
328 /usr/lib/{pulseaudio,pulse-&pulseaudio-major-version;},
329 /usr/libexec/pulse, and
330 /usr/share/pulseaudio
331 </seg>
332 </seglistitem>
333 </segmentedlist>
334
335 <variablelist>
336 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
337 <?dbfo list-presentation="list"?>
338 <?dbhtml list-presentation="table"?>
339
340<!--
341 <varlistentry id="esdcompat">
342 <term><command>esdcompat</command></term>
343 <listitem>
344 <para>
345 is the <application>PulseAudio</application> ESD wrapper script.
346 </para>
347 <indexterm zone="pulseaudio esdcompat">
348 <primary sortas="b-esdcompat">esdcompat</primary>
349 </indexterm>
350 </listitem>
351 </varlistentry>
352-->
353
354 <varlistentry id="pacat">
355 <term><command>pacat</command></term>
356 <listitem>
357 <para>
358 plays back or records raw or encoded audio streams on a
359 <application>PulseAudio</application> sound server
360 </para>
361 <indexterm zone="pulseaudio pacat">
362 <primary sortas="b-pacat">pacat</primary>
363 </indexterm>
364 </listitem>
365 </varlistentry>
366
367 <varlistentry id="pacmd">
368 <term><command>pacmd</command></term>
369 <listitem>
370 <para>
371 is a tool used to reconfigure a <application>PulseAudio</application>
372 sound server during runtime
373 </para>
374 <indexterm zone="pulseaudio pacmd">
375 <primary sortas="b-pacmd">pacmd</primary>
376 </indexterm>
377 </listitem>
378 </varlistentry>
379
380 <varlistentry id="pactl">
381 <term><command>pactl</command></term>
382 <listitem>
383 <para>
384 is used to control a running <application>PulseAudio</application>
385 sound server
386 </para>
387 <indexterm zone="pulseaudio pactl">
388 <primary sortas="b-pactl">pactl</primary>
389 </indexterm>
390 </listitem>
391 </varlistentry>
392
393 <varlistentry id="padsp">
394 <term><command>padsp</command></term>
395 <listitem>
396 <para>
397 is the <application>PulseAudio</application> OSS Wrapper
398 </para>
399 <indexterm zone="pulseaudio padsp">
400 <primary sortas="b-padsp">padsp</primary>
401 </indexterm>
402 </listitem>
403 </varlistentry>
404
405 <varlistentry id="pamon">
406 <term><command>pamon</command></term>
407 <listitem>
408 <para>
409 is a symbolic link to <command>pacat</command>
410 </para>
411 <indexterm zone="pulseaudio pamon">
412 <primary sortas="b-pamon">pamon</primary>
413 </indexterm>
414 </listitem>
415 </varlistentry>
416
417 <varlistentry id="paplay">
418 <term><command>paplay</command></term>
419 <listitem>
420 <para>
421 is used to play audio files on a
422 <application>PulseAudio</application> sound server
423 </para>
424 <indexterm zone="pulseaudio paplay">
425 <primary sortas="b-paplay">paplay</primary>
426 </indexterm>
427 </listitem>
428 </varlistentry>
429
430 <varlistentry id="parec">
431 <term><command>parec</command></term>
432 <listitem>
433 <para>
434 is a symbolic link to <command>pacat</command>
435 </para>
436 <indexterm zone="pulseaudio parec">
437 <primary sortas="b-parec">parec</primary>
438 </indexterm>
439 </listitem>
440 </varlistentry>
441
442 <varlistentry id="parecord">
443 <term><command>parecord</command></term>
444 <listitem>
445 <para>
446 is a symbolic link to <command>pacat</command>
447 </para>
448 <indexterm zone="pulseaudio parecord">
449 <primary sortas="b-parecord">parecord</primary>
450 </indexterm>
451 </listitem>
452 </varlistentry>
453
454 <varlistentry id="pasuspender">
455 <term><command>pasuspender</command></term>
456 <listitem>
457 <para>
458 is a tool that can be used to tell a local
459 <application>PulseAudio</application> sound server to temporarily
460 suspend access to the audio devices, to allow other applications
461 to access them directly
462 </para>
463 <indexterm zone="pulseaudio pasuspender">
464 <primary sortas="b-pasuspender">pasuspender</primary>
465 </indexterm>
466 </listitem>
467 </varlistentry>
468
469 <varlistentry id="pax11publish">
470 <term><command>pax11publish</command></term>
471 <listitem>
472 <para>
473 is the <application>PulseAudio</application>
474 X11 Credential Utility
475 </para>
476 <indexterm zone="pulseaudio pax11publish">
477 <primary sortas="b-pax11publish">pax11publish</primary>
478 </indexterm>
479 </listitem>
480 </varlistentry>
481
482 <varlistentry id="pa-info">
483 <term><command>pa-info</command></term>
484 <listitem>
485 <para>
486 is a shell script that prints various information relating to the
487 <application>Pulseaudio</application> server currently in use
488 </para>
489 <indexterm zone="pulseaudio pa-info">
490 <primary sortas="b-pa-info">pa-info</primary>
491 </indexterm>
492 </listitem>
493 </varlistentry>
494
495 <varlistentry id="pulseaudio-prog">
496 <term><command>pulseaudio</command></term>
497 <listitem>
498 <para>
499 is a networked low-latency sound server for Linux
500 </para>
501 <indexterm zone="pulseaudio pulseaudio-prog">
502 <primary sortas="b-pulseaudio">pulseaudio</primary>
503 </indexterm>
504 </listitem>
505 </varlistentry>
506
507<!-- only installed if FFTW is present -->
508 <varlistentry id="qpaeq">
509 <term><command>qpaeq</command></term>
510 <listitem>
511 <para>
512 is an equalizer interface for
513 <application>PulseAudio</application> equalizer sinks
514 (Requires <xref linkend="fftw"/> at build time)
515 </para>
516 <indexterm zone="pulseaudio qpaeq">
517 <primary sortas="b-qpaeq">qpaeq</primary>
518 </indexterm>
519 </listitem>
520 </varlistentry>
521
522<!-- Not found in PA 7.0
523 <varlistentry id="start-pulseaudio-kde">
524 <term><command>start-pulseaudio-kde</command></term>
525 <listitem>
526 <para>
527 Starts <application>PulseAudio</application> and loads
528 module-device-manager to use KDE routing policies.
529 </para>
530 <indexterm zone="pulseaudio start-pulseaudio-kde">
531 <primary sortas="b-start-pulseaudio-kde">start-pulseaudio-kde</primary>
532 </indexterm>
533 </listitem>
534 </varlistentry>
535-->
536 <varlistentry id="start-pulseaudio-x11">
537 <term><command>start-pulseaudio-x11</command></term>
538 <listitem>
539 <para>
540 starts <application>PulseAudio</application> and registers it to
541 the X11 session manager
542 </para>
543 <indexterm zone="pulseaudio start-pulseaudio-x11">
544 <primary sortas="b-start-pulseaudio-x11">start-pulseaudio-x11</primary>
545 </indexterm>
546 </listitem>
547 </varlistentry>
548
549 </variablelist>
550
551 </sect2>
552
553</sect1>
Note: See TracBrowser for help on using the repository browser.