The de facto Linux sound-mixing system
Manage Your Audio Life
© Photo by Kelly Sikkema on Unsplash
PipeWire lets you transparently handle ALSA, JACK, and PulseAudio applications, making it useful for both general and professional audio users.
PipeWire [1] is a software layer that handles audio mixing on a GNU/Linux-powered computer. Chances are, you are running PipeWire on your Linux PC right now, although you might not be aware of it because PipeWire transparently emulates the three most important audio systems: ALSA, JACK, and PulseAudio. For this reason, you can take advantage of PipeWire's facilities while still continuing to run your existing software.
PipeWire attempts to balance the needs of professional audio users, such as musicians, with the needs of general users such as gamers and general desktop users. If desired, you can simply sit back and benefit from what PipeWire is doing behind the scenes. But if you're a more advanced audio user, you can also get into the details of PipeWire's configuration and routing capabilities.
This article breaks down what PipeWire is and what it can do, along with some examples of how to handle some common audio scenarios.
Understanding the Ecosystem
Before trying to understand PipeWire, I need to explain the other sound system layers that work alongside PipeWire: ALSA, PulseAudio, and JACK.
Advanced Linux Sound Architecture (ALSA) is the layer that works with the kernel to talk directly to the sound hardware. It has a major limitation in that only one application can access it at a time.
PulseAudio, which began to appear in major Linux distributions around 2008, is a sound server that can mix simultaneous audio streams from different applications and pass them on to ALSA. PulseAudio does a good job of managing multiple audio streams for typical desktop applications, but it comes with some limitations. In particular, it's not the first choice for musicians, because it doesn't offer low latency. That is, it can't guarantee a reliably fast response for audio work. It's not much fun for a keyboard player if there is a delay between hitting the key and the sound coming out of the speakers.
JACK Audio Connection Kit (JACK) carries out a similar function to PulseAudio, but it's aimed at professional audio users because it offers more complex routing options with lower latency at the cost of higher CPU usage. JACK can also handle sound mixing in an advanced manner. For example, if you have a sound interface with multiple inputs and outputs, JACK can route the audio between them. It can even take the output of one audio application and route it into another.
Most of the major desktop Linux distributions run PipeWire these days, but there are a few exceptions (e.g., Slackware). For those cases, consult your distribution's documentation to install PipeWire.
Enter PipeWire
Where does PipeWire fit into this ecosystem, particularly as there seems to be some overlap between its functions and those of the other standards? PipeWire emulates the JACK and PulseAudio servers. Before PipeWire, if you wanted to use PulseAudio and JACK at the same time, you would have to allow JACK to take over ALSA and then configure PulseAudio to connect to JACK as a client. It was complicated to set up, and you'd need this setup if you wanted to, for example, watch a piano tutorial on YouTube while simultaneously playing the piano within a music program. Generally speaking, you can launch JACK and PulseAudio applications and utilities, and PipeWire will manage the setup and routing issues for you.
PipeWire also emulates ALSA. Applications can think that they are taking over the soundcard, but they are really being routed by PipeWire.
Managing Your Sound System
The PipeWire design aims to meet the needs of regular users as well as professionals. Managing your sound device for normal desktop use is a good example of this approach. The official advice from the PipeWire developers is to use the PulseAudio utilities to control things like the volume and output selection of the audio outputs of your sound device, such as a soundcard.
PulseAudio features an audio utility called PulseAudio Volume Control (sometimes called pavucontrol or simply Volume Control, Figure 1). You can use pavucontrol to control your soundcard's overall sound output, but you can also use it to control the volume of individual applications such as your web browser.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Two New Distros Adopt Enlightenment
MX Moksha and AV Linux 25 join ranks with Bodhi Linux and embrace the Enlightenment desktop.
-
Solus Linux 4.8 Removes Python 2
Solus Linux 4.8 has been released with the latest Linux kernel, updated desktops, and a key removal.
-
Zorin OS 18 Hits over a Million Downloads
If you doubt Linux isn't gaining popularity, you only have to look at Zorin OS's download numbers.
-
TUXEDO Computers Scraps Snapdragon X1E-Based Laptop
Due to issues with a Snapdragon CPU, TUXEDO Computers has cancelled its plans to release a laptop based on this elite hardware.
-
Debian Unleashes Debian Libre Live
Debian Libre Live keeps your machine free of proprietary software.
-
Valve Announces Pending Release of Steam Machine
Shout it to the heavens: Steam Machine, powered by Linux, is set to arrive in 2026.
-
Happy Birthday, ADMIN Magazine!
ADMIN is celebrating its 15th anniversary with issue #90.
-
Another Linux Malware Discovered
Russian hackers use Hyper-V to hide malware within Linux virtual machines.
-
TUXEDO Computers Announces a New InfinityBook
TUXEDO Computers is at it again with a new InfinityBook that will meet your professional and gaming needs.
-
SUSE Dives into the Agentic AI Pool
SUSE becomes the first open source company to adopt agentic AI with SUSE Enterprise Linux 16.

