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-8.0 platform.

Package Information

PulseAudio Dependencies


JSON-C-0.12.1 and libsndfile-1.0.27



Avahi-0.6.32, BlueZ-5.43 (runtime), Check-0.11.0, ConsoleKit2-1.0.2 (runtime), GConf-3.2.6, GTK+-3.22.8, libsamplerate-0.1.9, SBC-1.3 (Bluetooth support), Valgrind-3.12.0, 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:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --disable-bluez4     \
            --disable-rpath      &&

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

--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.

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 setting up a working installation. However, a reference to Console-Kit needs to be removed if it is not installed. For example, issue the following command as the root user:

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

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


Installed Programs: esdcompat, pacat, pacmd, pactl, padsp, pamon (symlink to pacat), paplay (symlink to pacat), parec (symlink to pacat), parecord (symlink to pacat), pasuspender, pax11publish, pulseaudio, and start-pulseaudio-x11
Installed Libraries: libpulse-mainloop-glib.so, libpulse-simple.so and libpulse.so
Installed Directories: /etc/pulse, /usr/include/pulse, /usr/lib/cmake/PulseAudio, /usr/lib/{pulseaudio,pulse-10.0}, /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 registers it to the X11 session manager.

Last updated on 2017-02-17 16:10:58 -0800