Symptoms & scope
- PipeWire reports ALSA open failed: Device or resource busy.
- Direct playback works only after another audio application closes.
Relevant environment
ALSA hardware PCMs used by PipeWire, jackd, PulseAudio or direct hw: clients; some devices allow only one opener.
Recognizable messages (synthetic examples)
pipewire[2140]: [alsa-pcm.c:1250 spa_alsa_open()] hw:0,0: playback open failed: Device or resource busyCheck the actual owner; hardware exclusivity differs from missing-card or mute problems.
Possible causes
These are possible explanations, not a confirmed diagnosis. Several independent faults can coexist.
- A direct ALSA application or second audio daemon can hold the same hardware PCM exclusively.
- A PipeWire service holding its own expected hardware is normal; a direct-client busy error does not automatically mean PipeWire malfunction.
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 processes using sound nodes. -v only reports owners; no kill option is included.
sudo fuser -v /dev/snd/*Interpret the result: Identify the process, user and PCM device. PipeWire owning a playback PCM can be expected; a second direct owner or audio daemon deserves investigation.
Check 2
Read the affected user audio journal without restarting anything.
journalctl --user -b -u pipewire.service -u wireplumber.service --no-pager -n 150Interpret the result: An ALSA open busy report plus ownership evidence supports contention. A generic application busy message needs its backend and target verified first.
Evidence-guided next steps
Close the confirmed exclusive owner
If a known application unexpectedly owns the hardware, save its work and close it normally. If a second sound daemon is configured unintentionally, stop only that verified daemon using the distribution’s supported user-service workflow.
Precautions: Do not kill every /dev/snd user; that interrupts calls and recordings. Separate intended professional jackd sessions from accidental duplicate servers.
Recovery / rollback: Restart the closed application or restore the previous service choice if that owner was needed, keeping only one intended hardware owner.
Did this solution help you?
Use a server-backed application output
If a direct hw: client conflicts with the desktop server, select its PipeWire or PulseAudio backend, or the distribution’s ALSA-to-PipeWire default where supported. Reserve direct hardware access for a deliberate exclusive session.
Precautions: Backend package names vary. Do not replace all ALSA device definitions or remove desktop audio packages solely because one direct client is busy.
Recovery / rollback: Restore the application’s recorded backend and device selection if compatibility regresses; close the desktop server deliberately before exclusive hardware use.
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 ALSA implementation: upstream source snapshot (upstream implementation; behavior can vary by version)
- Debian: ALSA aplay/arecord(1), device enumeration (project or distribution documentation)
- WirePlumber: ALSA configuration (project or distribution documentation)