source: multimedia/libdriv/pulseaudio.xml@ 05eb990a

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since 05eb990a was 75b1a338, checked in by Xi Ruoyao <xry111@…>, 16 months ago

Update more URLs to use https

Mostly plain http -> https replace, if https works. If there is a HTTP
redirection, use the redirect target (unless it's a mirror or l10n like
"https://kde.org/zh-cn/").

Some non-trivial change:

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