Skip to content
omarchyFIELD GUIDE
TROUBLESHOOTING / FIELD NOTES

Where did the sound go? Speakers, monitors, and Bluetooth headsets

Read outputs, inputs, application streams, and Bluetooth state to locate missing audio and restore your original settings.

Based on public documentation; not hardware-tested. Match the instructions to your version and hardware.

Two teaching scenarios guide this page: connecting a monitor stops music from the laptop speakers, and a Bluetooth headset plays music but nobody hears you in a call. Learn to separate defaults, active applications, mute, and input selection before restarting every audio service.

Names, IDs, and outputs are illustrative, not tested on your hardware. Record original devices, volumes, mute state, and Bluetooth profile for undo. Do not restart services during calls or recordings.

Applications submit audio to PipeWire. WirePlumber’s policy manages automatic connections and device selection; hardware or Bluetooth carries it to speakers or headphones. WirePlumber manages connections, rather than acting as another audio player in series.

Application stream → PipeWire audio connections → Output node (sink)
→ Built-in/USB/monitor hardware
→ Or Bluetooth audio device
Microphone → Input node (source) → PipeWire connections → Recording/calling app
↑ WirePlumber manages devices, routes, and defaults ↑
Component or concept Responsibility
PipeWire Media nodes and data streams
WirePlumber Device management, connections, session policy
BlueZ Bluetooth connections; media integration is still required
Sink Playback output, such as speakers or headphones
Source Recording input, such as a microphone
Stream An app’s current playback or recording

Pairing does not select audio output, and hearing playback does not prove the mic works. Media layer · Networking and Bluetooth layer

Use a familiar short clip at moderate volume. Compare two apps, then built-in speakers and headphones, changing one condition at a time.

Symptom First check
One silent app App volume, mute, chosen output, actual stream
All apps silent but devices listed Default output, device volume, connections
Silence after attaching a monitor HDMI/DP output selection
Headphones play but mic fails Input, permissions, Bluetooth profile
Every output missing Media services and detection, not just volume

This avoids treating a paused player or an app selecting another device as system failure.

Query as your own user in the graphical session:

Terminal window
wpctl status

Simplified teaching output, not a full result:

Audio
Sinks:
51. Built-in Audio Analog Stereo [vol: 0.45]
* 52. External Monitor HDMI [vol: 0.60]
Sources:
* 66. Built-in Audio Microphone [vol: 0.75]
Streams:
80. Browser audio

A star under Sinks marks the default playback target; one under Sources marks the default recording target. They are independent. 0.45 means 45% volume; MUTED indicates mute. Actual output includes more nodes and connections and can vary by version.

IDs such as 51, 52, and 66 identify session objects, not permanent hardware. Reconnection, service restart, or login may change them. Query fresh output each time and identify targets by name. wpctl manual

Use sink/source node IDs when selecting playback/capture defaults, not arbitrary IDs from Devices. Inspect a node to confirm it:

Terminal window
wpctl inspect 51

Substitute a current ID and inspect description, name, and media type.

Open the top-bar volume popup, select built-in speakers, and inspect system and application volume. The official panel offers output selection and per-app volume. Omarchy audio entry point

For a terminal change, record the original output name and identify the current built-in sink. Only if its current ID is 51:

Terminal window
wpctl set-default 51

Query wpctl status; expect the default star on the speakers. Defaults primarily choose targets for new streams needing automatic connection. Existing playback or apps with explicit devices may not immediately follow. Pause and replay, restart the app after saving work if needed, or select its output explicitly.

If still silent, query the chosen node:

Terminal window
wpctl get-volume 51

Only if muted, unmute it:

Terminal window
wpctl set-mute 51 0

If volume is zero or unsuitable, record the original and choose a low test level:

Terminal window
wpctl set-volume 51 30%

Replay after each change. Changing default, mute, volume, and restarting together hides which step helped.

Success: actual speaker playback, no unintended monitor routing, and normal playback when started again. A correctly routed, unmuted stream without physical sound calls for checking connections, hardware controls, and device support.

5. Bluetooth: pairing, connection, and audio nodes

Section titled “5. Bluetooth: pairing, connection, and audio nodes”

In the Bluetooth panel confirm pairing, then a current connection. Check for the matching headset output in wpctl status. A pairing record without an active connection does not supply usable audio.

Bluetooth and audio state First investigation
Paired, disconnected Power, other connected devices, Bluetooth connection
Connected, no matching sink Bluetooth media integration, current session, services
Sink present but not selected Output selection, then application stream
Output present, expected input missing Device capabilities and active profile

Compare built-in speakers when possible. If only Bluetooth fails, focus on its path rather than changing all audio configuration.

6. Why does microphone use change music quality?

Section titled “6. Why does microphone use change music quality?”

Classic Bluetooth headsets commonly use A2DP for music and HFP/HSP for microphone calls. Activating the headset mic may switch profiles and change quality or bandwidth. Devices and codecs differ, and LE Audio requires checking actual support.

Record the profile, then compare music playback with selecting the headset mic in a call. If quality changes, check for a profile switch before concluding the headset is damaged. Bluetooth configuration · Automatic switching policy

For playback quality, test headphones plus a laptop or USB mic, explicitly selecting both devices in the calling app and observing whether switching still occurs. Change just the input choice and retain the original profile for undo. Disabling every call profile to preserve music can remove headset microphone capability.

Terminal window
wpctl get-volume @DEFAULT_SOURCE@

This queries the default recording node, not speakers. If muted and you intend to record, unmute input:

Terminal window
wpctl set-mute @DEFAULT_SOURCE@ 0

Use an app’s mic test or local recording function, verify the input name and permission, record a few seconds, and play it back. Playback needs a verified output; an inaudible recording can still be an output problem.

Result Investigation
Local recording works, call does not Application device, permissions, call settings
Source exists but recording silent Hardware mute, volume, wrong source, connection
Headset source absent Profile and device capability
Browser site cannot record Browser and site permissions, not just defaults

Unmute only when recording is intended and restore the original mute state afterward. System defaults and explicit application choices remain separate.

8. Services and restoration: check this layer last

Section titled “8. Services and restoration: check this layer last”

If wpctl status cannot connect or all nodes disappear:

Terminal window
systemctl --user status pipewire pipewire-pulse wireplumber --no-pager
journalctl --user -b -u pipewire -u wireplumber --since "10 minutes ago" --no-pager

Run inside your own graphical session; do not query another user’s media session with sudo. Compatibility services may be socket-activated on demand; temporary inactivity alone is not proof of failure. Combine it with actual requests, errors, and wpctl results.

For recently working devices, finish calls and recording, then try Update → Hardware → Audio. Try Bluetooth when its connection is the failing path. Restart one subsystem at a time, fetch current IDs, and replay the same clip. Official hardware troubleshooting

Undo by finding original devices by their current names and restoring selection, volume, mute, and profile in the panel; command changes also need current IDs. Restoring one explicitly chosen default differs from restoring automatic selection. Follow the installed WirePlumber version’s instructions for the latter rather than deleting all state.

Report hardware, connection type, app, preceding action, comparisons, and relevant nodes. Completion means playback and recording both pass after reopening apps, with no unintended unmute or experiment settings left behind.

Reviewed on 2026-10-12: Omarchy troubleshooting, WirePlumber getting started, wpctl, Bluetooth, and session settings. Confirm local menus and names; examples do not establish every headset’s capabilities.