MY WEBCAM TEST GUIDE

How to Start PipeWire on Linux

Learn how to start PipeWire on Linux, check whether the audio service is running, and solve common startup problems with short practical commands.

Before you start

PipeWire runs as a per-user service on most Linux distributions. You usually do not need to start it manually after a normal desktop login because the desktop environment or systemd user services launch it for you. Manual startup is mainly useful on minimal window managers, after changing audio configuration, or when a camera or microphone application reports that no PipeWire connection is available.

Before running any command, open a terminal and check whether the service is already active. If it is running, starting it again is unnecessary and can make troubleshooting harder.

systemctl --user status pipewire

The command shows the current state, recent log output, and whether the service is enabled to start at login. PipeWire normally operates in the user session, so use systemctl with the --user option rather than the system-wide service manager.

Step-by-step instructions

Use the following steps when PipeWire is installed but not active in your user session.

  • 1. Open a terminal and start the PipeWire user service with: systemctl --user start pipewire
  • 2. Start the session manager service with: systemctl --user start wireplumber
  • 3. If you also use PulseAudio-compatible applications, start the adapter with: systemctl --user start pipewire-pulse
  • 4. Check the status of the services to confirm that they remained active instead of stopping immediately.

On many setups, only pipewire and wireplumber are required for cameras and microphones. The pipewire-pulse service is the compatibility layer used by applications that still expect PulseAudio, so start it when a voice call or recording tool cannot open an audio device.

To make these services start automatically at login, enable them instead of starting them once. Use systemctl --user enable wireplumber pipewire pipewire-pulse and then reboot or log out and back in. The exact service names and the preferred session manager can vary between distributions and versions, so check the package documentation if a service is not found.

Check the output

Confirm that PipeWire is running before opening the affected application. The status should show active for the services you expect to use.

systemctl --user status pipewire wireplumber
pw-cli info 0

The pw-cli command prints information about the PipeWire core. If it fails with a connection error, the service is not reachable from your session. After the service is reachable, open the camera or audio application and check that the expected microphone, speaker, or capture device appears in its device list.

A running service does not guarantee that a specific camera or microphone is usable. The device may still be busy, unplugged, blocked by browser permission settings, or unsupported by the driver. Treat device visibility in the application as the practical result.

Common problems and next steps

If the service starts but stops immediately, inspect the recent user-level log for the failed unit. The useful command is: journalctl --user -u pipewire -n 50. Look for messages about missing modules, incompatible runtime directories, or conflicts with another audio framework.

A common cause is that PipeWire cannot create or access its runtime directory under the user session. This can happen when environment variables such as XDG_RUNTIME_DIR are missing from a minimal startup script. Another common issue is that a different sound stack is still controlling the device. If the behavior does not change, stop the conflicting service or restart the session so that the correct services can take over.

For version-specific startup differences, use the package manager to see which PipeWire components are installed. Check the local manual pages with man pipewire or the distribution documentation rather than relying on paths and command names from another Linux release.