Introduction to PulseAudio

PulseAudio is a sound system for POSIX OSes, meaning that it is a proxy for sound applications. It allows you to do advanced operations on your sound data as it passes between your application and your hardware. Things like transferring the audio to a different machine, changing the sample format or channel count and mixing several sounds into one are easily achieved using a sound server.

This package is known to build and work properly using an LFS-7.7 platform.

Package Information

PulseAudio Dependencies


JSON-C-0.12 and libsndfile-1.0.25



Avahi-0.6.31, BlueZ-5.28 (runtime), Check-0.9.14, ConsoleKit-0.4.6 (runtime), GConf-3.2.6, GTK+-3.14.8, libsamplerate-0.1.8, SBC-1.3 (Bluetooth support), Valgrind-3.10.1, FFTW, JACK, libasyncns, LIRC, ORC, TDB, WebRTC AudioProcessing and XEN

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/pulseaudio

Installation of PulseAudio

Install PulseAudio by running the following commands:

find . -name "Makefile.in" | xargs sed -i "s|(libdir)/@PACKAGE@|(libdir)/pulse|" &&
./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --disable-bluez4     \
            --disable-rpath      \
            --with-module-dir=/usr/lib/pulse/modules &&

To test the results, issue: make check.

Now, as the root user:

make install

While still as the root user, remove the D-Bus configuration file for the system wide daemon to avoid creating unnecessary system users and groups:

rm /etc/dbus-1/system.d/pulseaudio-system.conf

Command Explanations

find . -name Makefile.in ...: This sed changes the build system to install PulseAudio private libraries into /usr/lib/pulse instead of /usr/lib/pulseaudio.

--disable-bluez4: This switch disables support for BlueZ version 4 in favour of BlueZ version 5 since the latter also installs compatibility library for the earlier version.

--disable-rpath: This switch prevents linker from adding a hardcoded runtime path to the installed programs and libraries.

--with-module-dir=/usr/lib/pulse/modules: This parameter ensures that PulseAudio modules are installed in /usr/lib/pulse/modules instead of /usr/lib/pulse-5.0/modules.

Configuring PulseAudio

Config Files

There are system wide configuration files: /etc/pulse/daemon.conf, /etc/pulse/client.conf, /etc/pulse/default.pa, and user configuration files with the same names in ~/.config/pulse. User configuration files take precedence over system wide ones.

Configuration Information

The default configuration files allow to set up a working installation, except that you need to remove a reference to Console-Kit if it is not installed. For example, issue the following command as the root user:

sed '/load-module module-console-kit/s/^/#/' \
                    -i /etc/pulse/default.pa

You may also have to configure the audio system. You may start pulseaudio in command line mode using pulseaudio -C. You can then list various informations and change some settings. See man pulse-cli-syntax.


Installed Programs: esdcompat, pacat, pacmd, pactl, padsp, pamon (symlink), paplay (symlink), parec (symlink), parecord (symlink), pasuspender, pax11publish, pulseaudio, start-pulseaudio-kde and start-pulseaudio-x11
Installed Libraries: libpulsecore-5.0.so, libpulse-mainloop-glib.so, libpulse-simple.so and libpulse.so
Installed Directories: /etc/pulse, /usr/include/pulse, /usr/lib/{cmake/PulseAudio,pulse}, /usr/libexec/pulse, and /usr/share/pulseaudio

Short Descriptions


is the PulseAudio ESD wrapper script.


plays back or records raw or encoded audio streams on a PulseAudio sound server.


is a tool used to reconfigure a PulseAudio sound server during runtime.


is used to control a running PulseAudio sound server.


is the PulseAudio OSS Wrapper.


is a symbolic link to pacat.


is used to play audio files on a PulseAudio sound server.


is a symbolic link to pacat.


is a symbolic link to pacat.


is a tool that can be used to tell a local PulseAudio sound server to temporarily suspend access to the audio devices, to allow other applications to access them directly.


is the PulseAudio X11 Credential Utility.


is a networked low-latency sound server for Linux.


Starts PulseAudio and loads module-device-manager to use KDE routing policies.


starts PulseAudio and registers it to the X11 session manager.

Last updated on 2015-02-27 16:21:33 -0800