source: multimedia/libdriv/pulseaudio.xml@ e165712e

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 xry111/llvm18 xry111/soup3 xry111/xf86-video-removal
Last change on this file since e165712e was e165712e, checked in by Xi Ruoyao <xry111@…>, 20 months ago

pulseaudio: drop libcap-pam dependency

PulseAudio does not use PAM at all.

  • Property mode set to 100644
File size: 18.5 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 "2c7b8ceb5d7337565c7314b4d6087ca8">
11 <!ENTITY pulseaudio-size "1.5 MB">
12 <!ENTITY pulseaudio-buildsize "42 MB (with 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 &lfs112_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="speex"/> and
91 <xref linkend="xorg7-lib"/>
92 </para>
93
94 <bridgehead renderas="sect4">Optional</bridgehead>
95 <para role="optional">
96 <xref linkend="avahi"/>,
97 <xref linkend="bluez"/>,
98 <xref linkend="doxygen"/> (for documentation),
99 <xref linkend="fftw"/>,
100 <xref linkend="gtk3"/>,
101 <xref linkend="libsamplerate"/>,
102 <xref linkend="sbc"/> (Bluetooth support),
103 <xref linkend="valgrind"/>,
104 <ulink url="http://www.jackaudio.org/">JACK</ulink>,
105 <ulink url="http://0pointer.de/lennart/projects/libasyncns/">libasyncns</ulink>,
106 <ulink url="http://www.lirc.org/">LIRC</ulink>,
107 <ulink url="http://gstreamer.freedesktop.org/src/orc/">ORC</ulink>,
108 <ulink url="https://sourceforge.net/projects/soxr/">soxr</ulink>,
109 <ulink url="http://tdb.samba.org/">TDB</ulink>, and
110 <ulink url="http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/">
111 WebRTC AudioProcessing</ulink>
112 <!--<ulink url="http://www.xenproject.org/">XEN</ulink>-->
113 </para>
114
115 <para condition="html" role="usernotes">User Notes:
116 <ulink url="&blfs-wiki;/pulseaudio"/>
117 </para>
118 </sect2>
119
120 <sect2 role="installation">
121 <title>Installation of PulseAudio</title>
122<!--
123 <para>
124 If <xref linkend="doxygen"/> is not installed, workaround a building
125 issue because of the changes in meson-0.57.2:
126 </para>
127
128<screen><userinput>sed '/doxygen/d' -i meson.build</userinput></screen>
129-->
130 <para>
131 Install <application>PulseAudio</application> by running the following
132 commands:
133 </para>
134<!--
135<screen revision="sysv"><userinput>./configure - -prefix=/usr \
136 - -sysconfdir=/etc \
137 - -localstatedir=/var \
138 - -disable-bluez5 \
139 - -disable-rpath \
140 - -with-systemduserunitdir=no &amp;&amp;
141make</userinput></screen>
142
143<screen revision="systemd"><userinput>./configure - -prefix=/usr \
144 - -sysconfdir=/etc \
145 - -localstatedir=/var \
146 - -disable-bluez5 \
147 - -disable-rpath &amp;&amp;
148make</userinput></screen>
149-->
150
151<screen><userinput>mkdir build &amp;&amp;
152cd build &amp;&amp;
153
154meson --prefix=/usr \
155 --buildtype=release \
156 -Ddatabase=gdbm \
157 -Ddoxygen=false \
158 -Dbluez5=disabled &amp;&amp;
159ninja</userinput></screen>
160
161 <para>
162 To test the results, issue: <command>ninja test</command>. One test
163 fails if the tests are not run as the root user, but this can be ignored.
164 </para>
165
166 <para>
167 Now, as the <systemitem class="username">root</systemitem> user:
168 </para>
169
170<screen role="root"><userinput>ninja install</userinput></screen>
171
172 <!-- http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/ -->
173 <para>Running PulseAudio as a system-wide daemon is possible but not
174 recommended. See <ulink
175 url="https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/"/>
176 for more information.
177 While still as the <systemitem class="username">root</systemitem>
178 user, remove the <application>D-Bus</application> configuration file
179 for the system wide daemon to avoid creating unnecessary system
180 users and groups:
181 </para>
182
183<screen role="root"><userinput>rm -fv /etc/dbus-1/system.d/pulseaudio-system.conf</userinput></screen>
184
185 </sect2>
186 <sect2 role="commands">
187 <title>Command Explanations</title>
188
189 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
190 href="../../xincludes/meson-buildtype-release.xml"/>
191
192 <para>
193 <parameter>-Dbluez5=disabled</parameter>: This switch prevents
194 a runtime error if <xref linkend="dbus"/> and <xref linkend="sbc"/>
195 are both installed but <xref linkend="bluez"/> is not installed.
196 Remove this if you have installed all three packages.
197 </para>
198
199 <para>
200 <parameter>-Ddoxygen=false</parameter>: This allows the package to
201 compile if <xref linkend="doxygen"/> is not installed. Remove this
202 if you have installed this and wish to build the documentation.
203 </para>
204<!--
205 <para>
206 <parameter>- -disable-rpath</parameter>: This switch prevents
207 linker from adding a hardcoded runtime path to the installed
208 programs and libraries.
209 </para>-->
210
211 </sect2>
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.
252 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 In 13.0 this is protected via .ifexists module-console-kit.so
259-->
260 <para>
261 You may have to configure the audio system. You can start
262 <application>pulseaudio</application> in command line mode using
263 <command>pulseaudio -C</command> and then list various
264 information and change settings. See
265 <command>man pulse-cli-syntax</command>.
266 </para>
267
268 <para>
269 If <application>pulseaudio</application> was working but you no-longer
270 have sound, after checking for hardware issues (speakers or headphones
271 not connected, external amplifier not connected) you may need to fix it.
272 </para>
273
274 <para>
275 One suggestion is to close the application, such as
276 <application>firefox</application> where sound has stopped working, then
277 run: <command>pactl list short sinks</command> followed by:
278 <command>pacmd set-default-sink &lt;sink #&gt;</command> and then
279 restart the application.
280 </para>
281
282 <para>
283 If that does not work, a more drastic approach often works. After closing
284 the application, close pulseaudio, either using <command>pulseaudio
285 --kill</command> or, if that fails, <command>killall -KILL
286 pulseaudio</command> and then <command>rm -rf
287 ~/.config/pulse/*</command> (and perhaps also
288 <command>rm -rf ~/.pulse/*</command> if you have used a very old version
289 of pulse on this machine), then run <command>pulseaudio
290 --verbose</command> to restart it. If the daemon starts, restart the
291 application. See <command>man pulseaudio</command> for more options.
292 </para>
293
294 </sect3>
295 </sect2>
296
297 <sect2 role="content">
298 <title>Contents</title>
299
300 <segmentedlist>
301 <segtitle>Installed Programs</segtitle>
302 <segtitle>Installed Libraries</segtitle>
303 <segtitle>Installed Directories</segtitle>
304
305 <seglistitem>
306 <seg>
307 <!--esdcompat,--> pacat, pacmd, pactl, padsp,
308 pamon (symlink to pacat), paplay (symlink to pacat),
309 parec (symlink to pacat), parecord (symlink to pacat), qpaeq,
310 pasuspender, pax11publish, pulseaudio, and
311 <!-- it looks like the equalizer needs FFTW: qpaeq, -->
312 start-pulseaudio-x11
313 </seg>
314 <seg>
315 libpulse.so,
316 libpulse-mainloop-glib.so,
317 libpulse-simple.so,
318 libpulsecommon-&pulseaudio-major-version;.so,
319 libpulsecore-&pulseaudio-major-version;.so, and
320 libpulsedsp.so
321 </seg>
322 <seg>
323 /etc/pulse,
324 /usr/include/pulse,
325 /usr/lib/cmake/PulseAudio,
326 /usr/lib/{pulseaudio,pulse-&pulseaudio-major-version;},
327 /usr/libexec/pulse, and
328 /usr/share/pulseaudio
329 </seg>
330 </seglistitem>
331 </segmentedlist>
332
333 <variablelist>
334 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
335 <?dbfo list-presentation="list"?>
336 <?dbhtml list-presentation="table"?>
337
338<!--
339 <varlistentry id="esdcompat">
340 <term><command>esdcompat</command></term>
341 <listitem>
342 <para>
343 is the <application>PulseAudio</application> ESD wrapper script.
344 </para>
345 <indexterm zone="pulseaudio esdcompat">
346 <primary sortas="b-esdcompat">esdcompat</primary>
347 </indexterm>
348 </listitem>
349 </varlistentry>
350-->
351
352 <varlistentry id="pacat">
353 <term><command>pacat</command></term>
354 <listitem>
355 <para>
356 plays back or records raw or encoded audio streams on a
357 <application>PulseAudio</application> sound server
358 </para>
359 <indexterm zone="pulseaudio pacat">
360 <primary sortas="b-pacat">pacat</primary>
361 </indexterm>
362 </listitem>
363 </varlistentry>
364
365 <varlistentry id="pacmd">
366 <term><command>pacmd</command></term>
367 <listitem>
368 <para>
369 is a tool used to reconfigure a <application>PulseAudio</application>
370 sound server during runtime
371 </para>
372 <indexterm zone="pulseaudio pacmd">
373 <primary sortas="b-pacmd">pacmd</primary>
374 </indexterm>
375 </listitem>
376 </varlistentry>
377
378 <varlistentry id="pactl">
379 <term><command>pactl</command></term>
380 <listitem>
381 <para>
382 is used to control a running <application>PulseAudio</application>
383 sound server
384 </para>
385 <indexterm zone="pulseaudio pactl">
386 <primary sortas="b-pactl">pactl</primary>
387 </indexterm>
388 </listitem>
389 </varlistentry>
390
391 <varlistentry id="padsp">
392 <term><command>padsp</command></term>
393 <listitem>
394 <para>
395 is the <application>PulseAudio</application> OSS Wrapper
396 </para>
397 <indexterm zone="pulseaudio padsp">
398 <primary sortas="b-padsp">padsp</primary>
399 </indexterm>
400 </listitem>
401 </varlistentry>
402
403 <varlistentry id="pamon">
404 <term><command>pamon</command></term>
405 <listitem>
406 <para>
407 is a symbolic link to <command>pacat</command>
408 </para>
409 <indexterm zone="pulseaudio pamon">
410 <primary sortas="b-pamon">pamon</primary>
411 </indexterm>
412 </listitem>
413 </varlistentry>
414
415 <varlistentry id="paplay">
416 <term><command>paplay</command></term>
417 <listitem>
418 <para>
419 is used to play audio files on a
420 <application>PulseAudio</application> sound server
421 </para>
422 <indexterm zone="pulseaudio paplay">
423 <primary sortas="b-paplay">paplay</primary>
424 </indexterm>
425 </listitem>
426 </varlistentry>
427
428 <varlistentry id="parec">
429 <term><command>parec</command></term>
430 <listitem>
431 <para>
432 is a symbolic link to <command>pacat</command>
433 </para>
434 <indexterm zone="pulseaudio parec">
435 <primary sortas="b-parec">parec</primary>
436 </indexterm>
437 </listitem>
438 </varlistentry>
439
440 <varlistentry id="parecord">
441 <term><command>parecord</command></term>
442 <listitem>
443 <para>
444 is a symbolic link to <command>pacat</command>
445 </para>
446 <indexterm zone="pulseaudio parecord">
447 <primary sortas="b-parecord">parecord</primary>
448 </indexterm>
449 </listitem>
450 </varlistentry>
451
452 <varlistentry id="pasuspender">
453 <term><command>pasuspender</command></term>
454 <listitem>
455 <para>
456 is a tool that can be used to tell a local
457 <application>PulseAudio</application> sound server to temporarily
458 suspend access to the audio devices, to allow other applications
459 to access them directly
460 </para>
461 <indexterm zone="pulseaudio pasuspender">
462 <primary sortas="b-pasuspender">pasuspender</primary>
463 </indexterm>
464 </listitem>
465 </varlistentry>
466
467 <varlistentry id="pax11publish">
468 <term><command>pax11publish</command></term>
469 <listitem>
470 <para>
471 is the <application>PulseAudio</application>
472 X11 Credential Utility
473 </para>
474 <indexterm zone="pulseaudio pax11publish">
475 <primary sortas="b-pax11publish">pax11publish</primary>
476 </indexterm>
477 </listitem>
478 </varlistentry>
479
480 <varlistentry id="pa-info">
481 <term><command>pa-info</command></term>
482 <listitem>
483 <para>
484 is a shell script that prints various information relating to the
485 <application>Pulseaudio</application> server currently in use
486 </para>
487 <indexterm zone="pulseaudio pa-info">
488 <primary sortas="b-pa-info">pa-info</primary>
489 </indexterm>
490 </listitem>
491 </varlistentry>
492
493 <varlistentry id="pulseaudio-prog">
494 <term><command>pulseaudio</command></term>
495 <listitem>
496 <para>
497 is a networked low-latency sound server for Linux
498 </para>
499 <indexterm zone="pulseaudio pulseaudio-prog">
500 <primary sortas="b-pulseaudio">pulseaudio</primary>
501 </indexterm>
502 </listitem>
503 </varlistentry>
504
505<!-- only installed if FFTW is present -->
506 <varlistentry id="qpaeq">
507 <term><command>qpaeq</command></term>
508 <listitem>
509 <para>
510 is an equalizer interface for
511 <application>PulseAudio</application> equalizer sinks
512 (Requires <xref linkend="fftw"/> at build time)
513 </para>
514 <indexterm zone="pulseaudio qpaeq">
515 <primary sortas="b-qpaeq">qpaeq</primary>
516 </indexterm>
517 </listitem>
518 </varlistentry>
519
520<!-- Not found in PA 7.0
521 <varlistentry id="start-pulseaudio-kde">
522 <term><command>start-pulseaudio-kde</command></term>
523 <listitem>
524 <para>
525 Starts <application>PulseAudio</application> and loads
526 module-device-manager to use KDE routing policies.
527 </para>
528 <indexterm zone="pulseaudio start-pulseaudio-kde">
529 <primary sortas="b-start-pulseaudio-kde">start-pulseaudio-kde</primary>
530 </indexterm>
531 </listitem>
532 </varlistentry>
533-->
534 <varlistentry id="start-pulseaudio-x11">
535 <term><command>start-pulseaudio-x11</command></term>
536 <listitem>
537 <para>
538 starts <application>PulseAudio</application> and registers it to
539 the X11 session manager
540 </para>
541 <indexterm zone="pulseaudio start-pulseaudio-x11">
542 <primary sortas="b-start-pulseaudio-x11">start-pulseaudio-x11</primary>
543 </indexterm>
544 </listitem>
545 </varlistentry>
546
547 </variablelist>
548
549 </sect2>
550
551</sect1>
Note: See TracBrowser for help on using the repository browser.