source: multimedia/libdriv/pulseaudio.xml@ 20f070d8

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

first batch of meson --buildtype=release

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