You are not logged in.
Hi everyone, I switched away from pulseaudio to pipewire-pulse recently because I was having issues with pulseaudio (specifically, switching between speakers and headphones). I probably did something incorrectly when migrating over.
To describe my issue, whenever I'm using my speakers, everything works as intended. However, when I switch to my Bluetooth headphones (I haven't tested this with wired headphones), YouTube videos freeze (similar to Pulseaudio-related web browser video playback problem), Discord does not detect audio devices, etc. There are a lot of little dumb hacks that I've figured out to get it working again, but they are not great nor permanent solutions.
For example, after starting xorg, I am able to get pipewire working properly with speakers and headphones by running:
systemctl --user restart pipewire.socket
After applying this temporary fix, this works well until I use Discord, Webex, or other similar applications that use voice chat. To fix this, I can run pulseeffects, but this "fix" only works while pulseeffects is running and this shouldn't be something I should have to do every time, it's very inconvenient (this fix is similar to the suggestion in this thread: [SOLVED] Headset not working on Bluetooth).
I suspect that I might have a mixture of both pulseaudio and pipewire-pulse though I'm not really too sure if that's the case.
Incase this means anything, the output of:
pacman -Sqs | grep pipewire
gives me:
gst-plugin-pipewire
kpipewire
libpipewire
pipewire
pipewire-alsa
pipewire-audio
pipewire-docs
pipewire-ffado
pipewire-jack
pipewire-jack-client
pipewire-media-session
pipewire-pulse
pipewire-roc
pipewire-v4l2
pipewire-x11-bell
pipewire-zeroconf
qemu-audio-pipewire
lib32-libpipewire
lib32-pipewire
lib32-pipewire-jack
lib32-pipewire-v4l2
Also, the output of
pacman -Sqs | grep pulse
gives me:
libpulse
pipewire-pulse
projectm-pulseaudio
pulseaudio
pulseaudio-alsa
pulseaudio-bluetooth
pulseaudio-equalizer
pulseaudio-equalizer-ladspa
pulseaudio-jack
pulseaudio-lirc
pulseaudio-qt
pulseaudio-rtp
pulseaudio-zeroconf
pulsemixer
pulseview
xfce4-pulseaudio-plugin
lib32-libpulse
Any help would be much appreciated. I've been having this issue for a few weeks now, I could switch back to pulseaudio but it has also been giving me similar issues (albeit, much less annoying issues).
Last edited by Hoswoo (2023-10-04 05:41:45)
Offline
No permanent fixes yet, but I wanted to add some journalctl logs that might help towards a fix.
When I restart my PC, and before running
systemctl --user restart pipewire.socket
to fix my audio issues, I ran:
journalctl --user -u pipewire
and get the output:
Oct 04 02:35:37 archlinux pipewire[1271]: spa.alsa: hw:2,1,0: snd_pcm_drop No such device
Oct 04 02:35:37 archlinux pipewire[1271]: spa.alsa: hw:2,1,0: close failed: No such device
The audio for my speakers is working at this point.
After plugging my headphones in and the audio stops working (and YouTube videos start freezing) I see this in my journalctl:
Oct 04 02:42:44 archlinux pipewire[1271]: spa.alsa: hw:2,1,0: (0 suppressed) snd_pcm_avail after recover: Broken pipe
Oct 04 02:42:46 archlinux pipewire[1271]: spa.alsa: hw:2,1,0: (125 suppressed) snd_pcm_avail after recover: Broken pipe
Oct 04 02:42:48 archlinux pipewire[1271]: spa.alsa: hw:2,1,0: (125 suppressed) snd_pcm_avail after recover: Broken pipe
Oct 04 02:42:50 archlinux pipewire[1271]: spa.alsa: hw:2,1,0: (125 suppressed) snd_pcm_avail after recover: Broken pipe
Oct 04 02:42:52 archlinux pipewire[1271]: spa.alsa: hw:2,1,0: (125 suppressed) snd_pcm_avail after recover: Broken pipe
Oct 04 02:42:54 archlinux pipewire[1271]: spa.alsa: hw:2,1,0: (125 suppressed) snd_pcm_avail after recover: Broken pipe
... this repeats indefinitely while headphones are plugged in
Now, after restarting pipewire with:
systemctl --user restart pipewire.socket
the audio works, and I see this in my journalctl:
Oct 04 02:43:35 archlinux systemd[1257]: Stopping PipeWire Multimedia Service...
Oct 04 02:43:35 archlinux systemd[1257]: Stopped PipeWire Multimedia Service.
Oct 04 02:43:35 archlinux systemd[1257]: pipewire.service: Consumed 4.813s CPU time.
Oct 04 02:43:35 archlinux systemd[1257]: Started PipeWire Multimedia Service.
Oct 04 02:43:36 archlinux pipewire[115106]: [0:14:11.143068756] [115106] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
Oct 04 02:43:36 archlinux pipewire[115106]: [0:14:11.143077846] [115106] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
Oct 04 02:43:36 archlinux pipewire[115106]: [0:14:11.143096756] [115106] INFO Camera camera_manager.cpp:284 libcamera v0.1.0
Maybe my webcam has something to do with this?
Weirdly enough, now when I'm using Discord, I no longer have to run pulseeffects for it to work. The behavior seems to be inconsistent, but I will add more logs if I run into that issue again.
Offline
Post
sudo fuser -v /dev/snd/*
aplay -lL
systemctl --user status pipewire{,-pulse} pulseaudio wireplumber
pacman -Qs 'pipewire|pulse'
during the issue
Sqs queries the sync database and is not a good command for showing which packages are actually installed.
FWIW webcam issues with the libcamera integration "used" to be common so there could be some fault here.
Last edited by V1del (2023-10-04 11:19:49)
Offline