Audio, ALSA & PipeWire

PipeWire or its user session manager does not start

Separate a stopped user audio service from missing hardware, and inspect configuration or package errors before restarting the session repeatedly.

On this page
  1. Symptoms & scope
  2. Possible causes
  3. Diagnose safely
  4. Evidence-guided next steps
  5. References & review
  6. Related problems

Symptoms & scope

  • wpctl cannot connect to PipeWire.
  • PipeWire or WirePlumber user units are failed or missing.

Relevant environment

Desktop sessions using PipeWire with WirePlumber and optionally pipewire-pulse; systemd user commands run without sudo.

Recognizable messages (synthetic examples)
pipewire[2140]: could not load mandatory module "libpipewire-module-rt": No such file or directory

Inspect the named override and package contents; this is a startup/configuration lead, not a defective sound-card diagnosis.

Possible causes

These are possible explanations, not a confirmed diagnosis. Several independent faults can coexist.

  • A malformed local configuration or unavailable mandatory module can stop the daemon.
  • Missing user units, mismatched package components or a broken login session can prevent socket and service startup.

Diagnose safely

Run one command at a time in the relevant session. Read the explanation first. Uppercase placeholders need your own values; tools and privileges vary by distribution. These commands are displayed here and never executed by the website.

Check 1

Read audio user-unit state from the affected desktop account, without sudo. Some units are optional on a given distribution.

systemctl --user status pipewire.service pipewire.socket wireplumber.service pipewire-pulse.service --no-pager

Interpret the result: A failed unit needs its first error; Unit not found can mean an absent package or a distribution-specific name. Running services alone do not prove routes exist.

Check 2

Read this account’s startup errors and configuration context; no service is restarted.

journalctl --user -b -u pipewire.service -u wireplumber.service -u pipewire-pulse.service --no-pager -n 200

Interpret the result: A named missing module points to packaging or configuration; D-Bus/runtime failures point to session setup. Preserve the first failure before reset-failed hides its prominence.

Evidence-guided next steps

Isolate a confirmed broken local override

If the first error names a user override, preserve that file and temporarily move only the implicated override outside its active configuration directory. Restart the affected user audio unit after saving active work and compare startup.

Precautions: Restarting audio interrupts calls and recordings. Do not remove the entire user configuration or replace distribution defaults with an old full config file.

Recovery / rollback: Restore the preserved file and restart the same user unit if the override was not responsible; fix its syntax before enabling it again.

Did this solution help you?

Share this solution#

Restore a consistent distribution audio stack

If a required module or service unit is absent, install or repair the distribution’s PipeWire/WirePlumber components as a matching set. Ensure only the intended session manager is enabled, then log out and back into the affected desktop session.

Precautions: Follow that distribution’s service defaults rather than starting a root PipeWire server or running two session managers over the same graph.

Recovery / rollback: Use the package manager’s recorded transaction or prior system generation to restore the previous stack if the repair regresses other audio functions.

Did this solution help you?

Share this solution#

References & review

This guide was prepared from primary project or distribution sources and reviewed on the date shown. This is an editorial source check, not evidence that a fix was reproduced on your hardware. Diagnostic log examples are synthetic fixtures. Version-dependent details must be checked against your installed release.