source: multimedia/libdriv/pulseaudio.xml@ efa50b8

11.0 ken/refactor-virt lazarus qt5new trunk
Last change on this file since efa50b8 was efa50b8, checked in by Xi Ruoyao <xry111@…>, 5 months ago

pulseaudio: workaround an issue because of meson-0.57.2 change

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