Sound
For audio handling on Linux, PipeWire is the currently recommended framework.
PipeWire is a newserver low-leveland user space API that provides a platform to handle multimedia framework.pipelines. It aimsis toa offermodern, capture and playback for bothlow-latency audio and video server designed to work with minimalthe latencylatest audio use cases and supporthandle forprofessional PulseAudio,audio JACK, ALSAinterfaces and GStreamer-based applications.
ThePipeWire daemonwas basedcreated onas a replacement for both the frameworkPulseAudio cansound beserver configuredand the Jack Audio Connection Kit (JACK) server. It provides a unified interface for handling video and audio streams and is intended to be bothflexible anand extensible, allowing it to address not only audio serverbut (withother PulseAudiomultimedia tasks as well, such as video conferencing, screen capture, and JACKother features)multimedia applications. It can also work with different hardware devices, including webcams, microphones, and aprofessional videoaudio capture server.devices.
PipeWireAdditionally, alsoit supportsintegrates containersbetter likewith the security models of Flatpak and Wayland. It does notso relyvia sandboxing processes from one another, preventing an application from snooping on theother applications' audio andstreams. videoBefore userallowing groups.an Instead,application to record audio or sharing the screen(e.g. in a browser over WebRTC) it useswill aask Polkit-likethe security model, asking Flatpak or Waylanduser for permission to recorddo screenso.
PipeWire implements no connection logic internally, that is the responsibility of a program called a session manager. It watches for new streams and connects them to the appropriate output device or audio.application.
Additionally,There WirePlumberare istwo session managers to choose from:
- PipeWire Media Session: A very simple session manager that caters to some basic desktop use cases. It was mostly implemented for testing and as an example for building new session managers.
-
WirePlumber: A more powerful manager and the current
recommendation for a session manager.recommendation. It is based on a modular design, with Lua plugins that implement the actual management functionality.
WirePlumber is the recommended choice, as it is better maintained, receives regular updates and is more feature-rich.
pacman -S pipewire pipewire-pulse pipewire-jack pipewire-alsa wireplumber
Installation
The most basic PipeWire setup includes the following packages:
NOTE: PipeWire handles Bluetooth audio devices if the pipewire-
package is installed.pulseaudio
pacman package-S includespipewire pipewire-audio wireplumber
Additional packages can be installed to extend PipeWire's compatibility and capabilities:
Package | Description |
---|---|
pipewire-alsa |
Support for routing ALSA clients through PipwWire |
pipewire-jack |
Support for JACK clients |
pipewire-pulse |
Support for PulseAudio clients (recommended) |
pipewire-v4l2 |
Support for handling video devices, e.g. webcams, tuners, etc. |
pipewire-zeroconf |
Support for streaming audio over the network, |
bluez5