How to Install PipeWire on Linux
Step-by-step instructions for installing PipeWire on Linux, checking the audio server and fixing the most common setup problems.
Before you start
PipeWire is installed locally on the Linux system and runs as a user-level audio and video service. You need a package manager, an active user account and enough disk space for the PipeWire packages and their dependencies. On many current distributions, PipeWire may already be present as the default audio server, so check before installing a second copy.
Step-by-step instructions
The exact package names depend on the distribution and version. Start by checking whether PipeWire is already installed or available from the configured package repositories. On Debian, Ubuntu, Fedora or Arch based systems, use the distribution package manager rather than building from source unless you have a specific need.
Install from the distribution repository
sudo apt update
sudo apt install pipewire pipewire-audio-client-libraries
On Fedora, install the PipeWire packages that provide the service and common audio support. Package groups vary between releases, so use the package manager to search for the correct names if a command fails.
sudo dnf install pipewire pipewire-alsa pipewire-pulseaudio
Some distributions use PipeWire for audio but keep PulseAudio compatibility through a separate package. Installing the compatibility package lets applications that still use the PulseAudio interface connect through PipeWire. Check your distribution documentation for the supported combination.
Enable the user service
PipeWire is normally started as a user service when you log in. If it was installed but is not running, enable and start the service for the current user. This step differs from system services because audio processing belongs to the logged-in user session.
systemctl --user enable --now pipewire pipewire-pulse
On releases that use WirePlumber for session management, enable that service as well. WirePlumber manages devices, routing and permissions for PipeWire.
systemctl --user enable --now wireplumber
Check the output
After installation, confirm that the service is active and that a client can see the PipeWire server. A basic service check tells you whether the process started, but it does not prove that a particular camera or microphone works.
systemctl --user status pipewire
Check the server version to confirm that the installed client and server can communicate. The command output may include the version, API information or a small set of runtime options.
pw-cli info all
For a practical test, open an application that records or plays audio and confirm that it lists an output or input device. Some applications only show devices after you grant permission or select the correct profile, so missing devices are not automatically an installation failure.
Common problems and next steps
A frequent problem after installing PipeWire is that an application still tries to use PulseAudio directly. Restart the application or the user session after enabling the PulseAudio compatibility service, then check whether the application appears as a PipeWire client.
If no audio device appears, check whether the user service failed to start or whether WirePlumber is missing. Review the user service log for the PipeWire process without assuming that a package is absent.
journalctl --user -u pipewire -n 50
On systems with SELinux or AppArmor, a denied device or socket access can prevent PipeWire from seeing cameras or microphones. Distribution documentation should be checked for required policy settings before changing security profiles.
Remove PipeWire only when you have a working replacement audio setup and understand which packages depend on it. Uninstalling the audio server while a desktop session is running can leave applications without sound until the session is restarted.