PulseAudio is a network-capable
sound server program distributed via the
freedesktop.org project. It runs mainly on
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
, various
BSD distributions such as
FreeBSD and
OpenBSD
OpenBSD is a security-focused operating system, security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by fork (software development), forking N ...
,
macOS
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
, as well as
Illumos distributions and the
Solaris operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
.
PulseAudio is
free and open-source software, and is licensed under the terms of the
LGPL-2.1-or-later.
It was created in 2004 under the name Polypaudio but was renamed in 2006 to PulseAudio.
History
Microsoft Windows was previously supported via
MinGW (an implementation of the
GNU toolchain, which includes various tools such as
GCC and
binutils). The Windows port has not been updated since 2011, however.
Software architecture

In broad terms
ALSA is a kernel subsystem that provides the sound hardware driver, and PulseAudio is the interface engine between applications and ALSA. However, its use is not mandatory and audio can still be played and mixed together without PulseAudio.
PulseAudio acts as a sound server, where a background process accepting sound input from one or more ''sources'' (processes, capture devices, etc.) is created. The background process then redirects these sound sources to one or more ''sinks'' (sound cards, remote network PulseAudio servers, or other processes).
One of the goals of PulseAudio is to reroute all sound streams through it, including those from processes that attempt to directly access the hardware (like legacy
OSS
OSS or Oss may refer to:
Places
* Oss, a city and municipality in the Netherlands
* Osh Airport, IATA code OSS
People with the name
* Oss (surname), a surname
Arts and entertainment
* ''O.S.S.'' (film), a 1946 World War II spy film about ...
applications). PulseAudio achieves this by providing adapters to applications using other audio systems, like
aRts
The arts are a very wide range of human practices of creative expression, storytelling and cultural participation. They encompass multiple diverse and plural modes of thinking, doing and being, in an extremely broad range of media. Both ...
and
ESD.
In a typical installation scenario under Linux, the user configures ALSA to use a virtual device provided by PulseAudio. Thus, applications using ALSA will output sound to PulseAudio, which then uses ALSA itself to access the real sound card. PulseAudio also provides its own native interface to applications that want to support PulseAudio directly, as well as a legacy interface for ESD applications, making it suitable as a drop-in replacement for ESD.
For OSS applications, PulseAudio provides the
padsp
utility, which replaces device files such as
/dev/dsp
, tricking the applications into believing that they have exclusive control over the sound card. In reality, their output is rerouted through PulseAudio.
libcanberra
libcanberra is an abstract API for desktop event sounds and a total replacement for the "PulseAudio sample cache API":
* Complies with th
XDG Sound Theme and Naming Specifications
* Defines a simple abstract interface for playing event sounds.
* Interfaces with
ALSA through libasound.
* Has a back-end to PulseAudio.
libSydney
libSydney is a total replacement for the "PulseAudio streaming API", and plans have been made for libSydney to eventually become the only audio API used in PulseAudio.
Features
The main PulseAudio features include:
* Per-application volume controls
* An extensible plugin architecture with support for loadable modules
* Compatibility with many popular audio applications
* Support for multiple audio sources and sinks
* A
zero-copy memory architecture for processor resource efficiency
* Ability to discover other computers using PulseAudio on the local network and play sound through their speakers directly
* Ability to change which output device applications use to play sound through while they are playing sound (Applications do not need to support this, PulseAudio is capable of doing this without applications detecting that it has happened)
* A command-line interface with scripting capabilities
* A sound daemon with command line reconfiguration capabilities
* Built-in sample conversion and resampling capabilities
* The ability to combine multiple
sound card
A sound card (also known as an audio card) is an internal expansion card that provides input and output of audio signals to and from a computer under the control of computer programs. The term ''sound card'' is also applied to external au ...
s into one
* The ability to synchronize multiple playback streams
* Bluetooth audio device support with dynamic detection capabilities
* The ability to enable system wide
equalization
Adoption
PulseAudio first appeared for regular users in
Fedora Linux
Fedora Linux is a Linux distribution developed by the Fedora Project. Fedora contains software distributed under various free and open-source licenses and aims to be on the leading edge of open-source technologies. Fedora is the upstream (softwa ...
, starting with version 8, then was adopted by major Linux distributions such as
Ubuntu,
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of De ...
,
Mandriva Linux, and
openSUSE. There is support for PulseAudio in the
GNOME project, and also in
KDE, as it is integrated into
Plasma Workspaces
KDE Plasma 5 is the fifth and current generation of the graphical workspaces environment created by KDE primarily for Linux systems. KDE Plasma 5 is the successor of KDE Plasma 4 and was first released on 15 July 2014.
It includes a new default ...
, adding support to
Phonon
In physics, a phonon is a collective excitation in a periodic, elastic arrangement of atoms or molecules in condensed matter, specifically in solids and some liquids. A type of quasiparticle, a phonon is an excited state in the quantum mechanical ...
(the KDE multimedia framework) and
KMix (the integrated mixer application) as well as a "Speaker Setup" GUI to aid the configuration of multi-channel speakers. PulseAudio is also available in the
Illumos distribution
OpenIndiana, and enabled by default in its
MATE desktop environment.
Various
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
-based mobile devices, including
Nokia N900,
Nokia N9 and the
Palm Pre use PulseAudio.
Tizen, an open-source mobile operating system, which is a project of the
Linux Foundation
The Linux Foundation (LF) is a non-profit technology consortium founded in 2000 as a merger between Open Source Development Labs and the Free Standards Group to standardize Linux, support its growth, and promote its commercial adoption. Addi ...
and is governed by a Technical Steering Group (TSG) composed of
Intel
Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, Santa Clara, California. It is the world's largest semiconductor chip manufacturer by revenue, and is one of the devel ...
and
Samsung
The Samsung Group (or simply Samsung) ( ko, 삼성 ) is a South Korean multinational manufacturing conglomerate headquartered in Samsung Town, Seoul, South Korea. It comprises numerous affiliated businesses, most of them united under the ...
, uses PulseAudio.
Problems during adoption phase
* The
PortAudio API was incompatible with PulseAudio's design and needed to be modified. Almost all packages using OSS and many of the packages using ALSA needed to be modified to support PulseAudio. Further development of the glitch-free audio feature required a complete rewrite of the PulseAudio core, and also changes to the ALSA API and internals were needed.
* When first adopted by distributions, PulseAudio developer
Lennart Poettering (also the creator of
systemd) described it as "the software that currently breaks your audio". Poettering later claimed that "
Ubuntu didn't exactly do a stellar job. They didn't do their homework" in adopting PulseAudio for Ubuntu "Hardy Heron" (8.04), a problem that was improved with subsequent Ubuntu releases. However, in October 2009, Poettering reported that he was still not happy with Ubuntu's integration of PulseAudio.
* Interaction with old sound components by particular software: Certain programs, such as
Adobe Flash
Adobe Flash (formerly Macromedia Flash and FutureSplash) is a multimedia software platform used for production of animations, rich web applications, desktop applications, mobile apps, mobile games, and embedded web browser video players. Fla ...
for Linux, caused instability in PulseAudio. Newer implementations of Flash plugins do not require the conflicting elements, and as a result Flash and PulseAudio are now compatible.
* Early management of buffer over/underruns: Earlier versions of PulseAudio sometimes started to distort the processed audio due to incorrect handling of buffer over/underruns.
* For headphone users, the potential for
noise-induced hearing loss
Noise-induced hearing loss (NIHL) is a hearing impairment resulting from exposure to loud sound. People may have a loss of perception of a narrow range of frequencies or impaired perception of sound including sensitivity to sound or ringing ...
due to extremely loud volumes in the event of a misbehaving application.
Related software
Other sound servers
JACK is a sound server that provides real-time,
low-latency (i.e. 5 milliseconds or less) audio performance and, since JACK2, supports efficient load balancing by utilizing
symmetric multiprocessing
Symmetric multiprocessing or shared-memory multiprocessing (SMP) involves a multiprocessor computer hardware and software architecture where two or more identical processors are connected to a single, shared main memory, have full access to all ...
; that is, the load of all audio clients can be distributed among several processors. JACK is the preferred sound server for professional audio applications such as
Ardour,
ReZound, and
LinuxSampler; multiple free audio-production distributions use it as the default audio server.
It is possible for JACK and PulseAudio to coexist: while JACK is running, PulseAudio can automatically connect itself as a JACK client, allowing PulseAudio clients to make and record sound at the same time as JACK clients.
PipeWire
PipeWire is a server for handling audio, video streams, and hardware on Linux. It was created by Wim Taymans at Red Hat. It handles multimedia routing and pipeline processing.
History
In 2015, Taymans started work on PipeWire. It was based ...
is an audio and video server that "aims to support the use cases currently handled by both PulseAudio and Jack".
General audio infrastructures
Before
JACK and PulseAudio, sound on these systems was managed by multi-purpose integrated audio solutions. These solutions do not fully cover the mixing and sound streaming process, but they are still used by JACK and PulseAudio to send the final audio stream to the sound card.
*
ALSA provides a software mixer called dmix, which was developed prior to PulseAudio. This is available on almost all Linux distributions and is a simpler PCM audio mixing solution. It does not provide the advanced features (such as timer-based scheduling and network audio) of PulseAudio. On the other hand, ALSA offers, when combined with corresponding sound cards and software, low latencies.
*
OSS
OSS or Oss may refer to:
Places
* Oss, a city and municipality in the Netherlands
* Osh Airport, IATA code OSS
People with the name
* Oss (surname), a surname
Arts and entertainment
* ''O.S.S.'' (film), a 1946 World War II spy film about ...
was the original sound system used in Linux and other Unix operating systems, but was deprecated after the 2.5 Linux kernel.
Proprietary development was continued by
4Front Technologies
NCR Corporation, previously known as National Cash Register, is an American software, consulting and technology company providing several professional services and electronic products. It manufactures self-service kiosks, point-of-sale termin ...
, who in July 2007 released sources for OSS under
CDDL-1.0 for
OpenSolaris
OpenSolaris () is a discontinued open-source computer operating system based on Solaris and created by Sun Microsystems. It was also, perhaps confusingly, the name of a project initiated by Sun to build a developer and user community around t ...
and under
GPL-2.0-only for
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which i ...
.
[.] The modern implementation, Open Sound System v4, provides software mixing, resampling, and changing of the volume on a per-application basis; in contrast to PulseAudio, these features are implemented within the kernel. PulseAudio support in
OpenIndiana and other
illumos distributions relies on the in-kernel OSS implementation ("''Boomer"'').
See also
*
Comparison of free software for audio
*
List of Linux audio software
*
PipeWire
PipeWire is a server for handling audio, video streams, and hardware on Linux. It was created by Wim Taymans at Red Hat. It handles multimedia routing and pipeline processing.
History
In 2015, Taymans started work on PipeWire. It was based ...
*
PortAudio
References
External links
*
{{DEFAULTSORT:Pulseaudio
2004 software
Audio libraries
Audio software for Linux
Free audio software
Free software programmed in C
Linux APIs
Collabora
Software using the LGPL license