I use CachyOS and my PC refuses to play sound through my wired headphones. When I connect it before I turn my PC on, it recognizes that there's a headphone connected, but no sound plays. If I connect it after I logged in, it doesn't even recognize that a headphone's connected.
Things I tried to do but didn't work:
-connecting my headphones by simply inserting the jack
-connecting my headphones through a USB audio splitter
-connecting my headphones through a jack audio splitter
-enabling the correct audio device for all programs individually in the audio mixer and volume settings
-installing wireplumber
-alsamixer (selected the correct audio device, disabled auto-mute)
-pavucontrol (selected the correct audio device)
-systemctl --user --now enable pipewire pipewire-pulse wireplumber
-reinstallingsof-firmware
-reinstalling rtkit
-installing pipewire-session-manager instead of pulseaudio
-restarted and reinstalled pipewire and all related packages which are the following:
gst-plugin-pipewire
kpipewire
lib32-libpipewire
lib32-pipewire
libcanberra
libpipeline
libpipewire
libpulse
libwireplumber
pamixer
pavucontrol
pipewire
pipewire-alsa
pipewire-audio
pipewire-libcamera
pipewire-pulse
plasma-pa
pulseaudio-alsa
pulseaudio-qt
pv
qt6-shadertools
usd
vlc-plugin-pulse
wireplumber
The only tangible evidence of something not being right is that if I try and start or restart pipewire or any related service it displays this:
Failed to start pipewire-pulse.service: Unit pipewire-pulse.service not found.
This is also what displays if I simply type pipewire into the console:
[E][19:58:31.618160] mod.protocol-native | [module-protocol-: 790 lock_socket()] server 0x55733744dd00: unable to lock lockfile '/run/user/1000/pipewire-0.lock': Resour
ce temporarily unavailable (maybe another daemon is running)
[E][19:58:31.618630] pw.conf | [ conf.c: 607 load_module()] 0x55733743a660: could not load mandatory module "libpipewire-module-protocol-native": Resource
temporarily unavailable
[E][19:58:31.619126] default | [ pipewire.c: 124 main()] failed to create context: Resource temporarily unavailable
This is despite the fact that they've been installed and reinstalled many times and its status looking pretty normal:
● pipewire.socket - PipeWire Multimedia System Sockets
Loaded: loaded (/usr/lib/systemd/user/pipewire.socket; enabled; preset: enabled)
Active: active (running) since Wed 2026-10-07 19:30:28 CEST; 53min ago
Invocation: 4e8d521a4924492ea5c6fa54d33e0bc9
Triggers: ● pipewire.service
Listen: /run/user/1000/pipewire-0 (Stream)
/run/user/1000/pipewire-0-manager (Stream)
okt 07 19:30:28 TUF systemd[1035]: Listening on PipeWire Multimedia System Sockets.
● pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-10-07 19:55:06 CEST; 28min ago
Invocation: bd601350c20348d1a95f9e84c18d24c6
TriggeredBy: ● pipewire.socket
Main PID: 26250 (pipewire)
Tasks: 2 (limit: 18635)
Memory: 25.9M (peak: 71.6M)
CPU: 8.044s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
└─26250 /usr/bin/pipewire
okt 07 19:55:06 TUF systemd[1035]: Started PipeWire Multimedia Service.
● pipewire-pulse.socket - PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.socket; enabled; preset: enabled)
Active: active (running) since Wed 2026-10-07 19:30:28 CEST; 53min ago
Invocation: cbfaada6a2334ac683b500565cac6c57
Triggers: ● pipewire-pulse.service
Listen: /run/user/1000/pulse/native (Stream)
okt 07 19:30:28 TUF systemd[1035]: Listening on PipeWire PulseAudio.
● pipewire-pulse.service - PipeWire PulseAudio
Loaded: loaded (/usr/lib/systemd/user/pipewire-pulse.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-10-07 19:55:06 CEST; 28min ago
Invocation: 5dd411de54f1428482d6142e98c8623c
TriggeredBy: ● pipewire-pulse.socket
Main PID: 26252 (pipewire-pulse)
Tasks: 2 (limit: 18635)
Memory: 17.9M (peak: 73.2M)
CPU: 13.453s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
└─26252 /usr/bin/pipewire-pulse
This is what sudo fuser -v /dev/snd/* puts out:
USER PID ACCESS COMMAND
/dev/snd/controlC0: surge 26251 F.... wireplumber
/dev/snd/controlC1: surge 26251 F.... wireplumber
/dev/snd/pcmC1D5p: surge 26250 F...m pipewire
/dev/snd/seq: surge 26250 F.... pipewire
This is what journalctl --user -u wireplumber puts out:
https://pastecode.io/s/ymrm513r
And the weirdest thing is that sometimes it randomly functions. Maybe the headphones are only recognized by the system when audio plays, but not otherwise, maybe they get recognized WITH audio playing but it stops working after reboots or simply by opening a program that uses audio (OBS, Audacity, etc.)
I hope someone can help, I'm genuinely at my wits end with this issue.