PipeWire is a new low-level multimedia framework. It aims to offer capture and playback for both audio and video with minimal latency and support for PulseAudio-, JACK-, ALSA- and GStreamer-based applications. The Daemon based on the framework can be configured to be both an audio server (with PulseAudio and JACK features) and a video capture server. He is also designed to replace Pulseadio and JACK.

Installation

Install pipewire:

 sudo pacman -S pipewire

Optionally you can install following packages to replace equivalent programs: Install pipewire-alsa to route all application using the ALSA API through PipeWire

 sudo pacman -S pipewire-alsa

Install pipewire-pulse. It will replace pulseaudio and pulseaudio-bluetooth.

 sudo pacman -S pipewire-pulse

Install pipewire-jack for replace JACK.

 sudo pacman -S pipewire-jack

Factory config files were moved from /etc/pipewire to /usr/share/pipewire. System wide config can still be done in /etc/pipewire and user config in $HOME/.config/pipewire/, but files must be copied from /usr/share/pipewire. But normally, no further action is needed. PipeWire handles Bluetooth audio devices if the pipewire-pulse package is installed. More specifically, the media session daemon checks for /etc/pipewire/media-session.d/with-pulseaudio, and enables its bluez5 module automatically if the file exists.

Because pipewire does not need any service for starting, it's necessary to add the relevant start up commands, to autostart on your Desktop Environment. Or you can create a bash script, which you can add at the startup of your DE (KDE/XFCE/GNOME allow the addition of such scripts):

 #!/bin/sh
 /usr/bin/pipewire & /usr/bin/pipewire-pulse & /usr/bin/pipewire-media-session

Or add it to your ~/.xinitrc, if you use it:

 ~/.xinitrc
 ...
 /usr/bin/pipewire &
 /usr/bin/pipewire-pulse &
 /usr/bin/pipewire-media-session &
 exec openbox-session

Reboot or re-login to see the effect. For more infos or troubleshooting see Archlinux's wiki page