MY WEBCAM TEST GUIDE

How to Install and Set Up PipeWire on Ubuntu

Step-by-step instructions for installing PipeWire on Ubuntu, verifying the audio server, and fixing common camera, microphone, and playback issues.

Before you start

PipeWire is an audio and video server that can replace PulseAudio for sound and provide a framework for camera and screen capture. On Ubuntu, it is installed locally on your machine and works as a user-level service. You do not need a remote service or account. Before you begin, check which Ubuntu release you are running, because newer releases may already include PipeWire. Open a terminal and enter lsb_release -d to see the release name. If you are using a version that still defaults to PulseAudio, installing PipeWire may change how applications connect to audio devices.

Make sure your system is updated before installing new packages. Run sudo apt update followed by sudo apt upgrade. Keep a note of your current default audio server; this can help if you decide to revert the change later.

Step-by-step instructions

The installation adds PipeWire alongside your current audio stack. On some Ubuntu versions, PulseAudio continues to run until PipeWire is explicitly enabled. Work through the steps in order so that the server and its integration packages are installed before you switch.

1. Install PipeWire and integration packages

sudo apt install pipewire pipewire-pulse wireplumber

The pipewire-pulse package provides a PulseAudio-compatible interface, which lets applications that expect PulseAudio continue to work. WirePlumber is the session manager that handles device discovery and routing.

2. Start the PipeWire services

PipeWire runs as a user service. Start or restart the relevant services so the newly installed packages are active:

systemctl --user --now enable pipewire pipewire-pulse wireplumber

If your system is currently using PulseAudio, you may need to temporarily stop it to avoid two audio servers competing for the same devices. On many systems, the pipewire-pulse service takes over the PulseAudio socket automatically after a restart.

3. Restart your session

Log out and log back in, or reboot the computer, so graphical applications and desktop services pick up PipeWire. This is often the most reliable way to switch the audio stack without leaving old processes running.

Check the output

After logging back in, open a terminal and check the active server. If PipeWire is running as the PulseAudio replacement, this command should return a server string mentioning PipeWire:

pactl info

Look for the line starting with Server Name. A value such as PulseAudio (on PipeWire) indicates that applications using the PulseAudio interface are now connected through PipeWire. You can also confirm that the services are active with:

systemctl --user status pipewire pipewire-pulse wireplumber

For a functional check, play a short audio file or use an application with a microphone or camera. You are looking for the expected device to appear and produce sound or video, not for a benchmark result. Pixel format, resolution, and sample rate depend on the device and the application; PipeWire does not raise the native limits of your hardware.

Common problems and next steps

No sound after switching to PipeWire

First stop PulseAudio if it is still running. You can disable it for the user session and then restart WirePlumber. On many setups, this is enough to release the audio device:

systemctl --user stop pulseaudio
systemctl --user restart pipewire pipewire-pulse wireplumber

If the device remains unavailable, close any application that may still be holding the output or input, then restart PipeWire again. Reverting to PulseAudio is possible by stopping the PipeWire services and re-enabling PulseAudio, then logging out and back in.

Camera works in one application but not another

A camera that appears through PipeWire may not be exposed to every application in the same way. Some applications use the Video4Linux interface directly, while others use PipeWire or a desktop portal. If a browser or video call tool cannot see the camera, check that the application has permission to use the device. In browsers, this is controlled by the site permission prompt, not only by PipeWire.

Confirm the version and device list

If you need to verify what PipeWire detects, check the installed version first:

pw-cli --version

You can inspect the devices that WirePlumber can see with:

pw-cli ls Device

If a connected camera or microphone does not appear, the issue may be at the kernel or USB level rather than in PipeWire. Test the device with another local tool that accesses hardware directly to narrow down the cause.