Yesterday I updates my system, and today audio seems to be broken. The KDE taskbar applet says “No output or input devices found”. and alsamixer only shows “Master” instead of my audio car (or my monitors audio or my motherboard) I am using pipewire, and pipewire and wireplumber seem to be running fine according to systemctl. Here is what “systemctl --user status wireplumber” shows
wireplumber.service - Multimedia Service Session Manager
Loaded: loaded (/usr/lib/systemd/user/wireplumber.service; enabled; preset: enabled)
Active: active (running) since Wed 2024-05-22 17:26:50 BST; 20min ago
Main PID: 869 (wireplumber)
Tasks: 7 (limit: 18972)
Memory: 4.8M (peak: 5.8M)
CPU: 114ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/wireplumber.service
└─869 /usr/bin/wireplumber
May 22 17:26:50 a-tobefilledbyoem systemd[855]: Started Multimedia Service Session Manager.
May 22 17:26:50 a-tobefilledbyoem wireplumber[869]: BlueZ system service is not available
May 22 17:26:50 a-tobefilledbyoem wireplumber[869]: [0:01:08.915164617] [869] ERROR IPAModule ipa_module.cpp:172 Symbol ipaModuleInfo not found
May 22 17:26:50 a-tobefilledbyoem wireplumber[869]: [0:01:08.915175657] [869] ERROR IPAModule ipa_module.cpp:292 v4l2-compat.so: IPA module has no valid info
May 22 17:26:50 a-tobefilledbyoem wireplumber[869]: [0:01:08.915195877] [869] INFO Camera camera_manager.cpp:284 libcamera v0.2.0
And here is what “systemctl --user status pipewire” shows:
pipewire.service - PipeWire Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
Active: active (running) since Wed 2024-05-22 17:26:50 BST; 21min ago
TriggeredBy: ● pipewire.socket
Main PID: 868 (pipewire)
Tasks: 3 (limit: 18972)
Memory: 8.0M (peak: 8.4M)
CPU: 2.787s
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
└─868 /usr/bin/pipewire
May 22 17:26:50 a-tobefilledbyoem systemd[855]: Started PipeWire Multimedia Service.
I read on some other forum posts that wireplumber’s config files may be causing this, so I backed them up and deleted them, then tried to add them back to various locations but it doesn’t seem to work. Running aplay -l , it says no soundcards found.
I tried installing pulseaudio, and rebooting, but it did not work. I have now reinstalled pipewire. Any ideas what I could do?
Server-1: PipeWire v: 1.0.6 status: active with: 1: wireplumber
status: active 2: pipewire-alsa type: plugin 3: pw-jack type: plugin
tools: pw-cat,pw-cli,wpctl
Server-2: PulseAudio v: 17.0 status: active tools: pacat,pactl,pavucontrol
That part looks wrong, pulseaudio shuold not be displayed there, here’s what mine looks like:
Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
Server-2: PipeWire v: 1.0.6 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
It seems like you are actually using pulseaudoi, not pipewire, you gotta uninstall pulseaudio. If pulseaudio is installed and active it overrides pipewire.
yes after installing pulse to check if it would fix it, I did forget to uninstall it. I have uninstalled pulse, and reinstalled everything for pipewire as needed. Unfortunately still have the issue. I tried @PeterRies suggestion, and the directory was recreated but it has not fixed the problem.
Yeah that looks more correct, but still having the problem huh?
Hmm, maybe you need to dig deeper, the problem seems like it might be driver deep, try disabling pipewire and pulseaudio entirely and using only alsa.
If it doesn’t work with just alsa, the problem is either in alsa or the driver. E.g. for sound to work at all, it must work with alsa first since both pulseaudio and pipewire are reliant on alsa, so start there.
This method might be outdated (please let me know if it is) but you should be able to disable pipewire and therefore switch to alsa by using this command:
systemctl --user stop pipewire.socket
And speaking of drivers, I notice that the only audio device you have that is using any driver at all (and it might possibly not be the correct one, but I can’t tell for sure since i just don’t know) is your soundblaster usb soundcard.
I think your nvidia and probably also your amd soundcards should be using snd_hda_intel (as contradictory as that may sound) so maybe you have blacklisted that driver or something?
Problem solved! I checked what kernel modules / drivers were being loaded, and they appeared to be missing. The problem was that the kernel has been updated, but systemd-boot was still booting into the older kernel, for which it appeared certain kernel modules/drivers did not exist (not exactly sure why that happened). I chrooted in (as I couldn’t mount the efi partition because the kernel module needed for it did not exist), ran reinstall-kernels and bootctl update (these were possibly not needed, but I decided to anyway) and modified the configuration for systemd-boot to boot to the latest kernel as well. Sound (and I also assume other modules/drivers) are now working when booting into the latest kernel. It is still broken on the older kernel, but I do not have a need to use it so it is fine.