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 directoryInspect 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-pagerInterpret 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 200Interpret 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?
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?
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.
- PipeWire: pipewire(1) (project or distribution documentation)
- PipeWire: pipewire.conf(5) (project or distribution documentation)
- WirePlumber: getting started and user services (project or distribution documentation)