About 2 weeks ago I started having issues with my mic (after previously working flawlessly for over a year).
I have a USB camera/mic combo which I use for work constantly and now I noticed that, usually after a call, the mic stops picking audio. The mic is there, I can see it and select it but it just does not pick up any audio.
I am trying to understand pipewire and pulseaudio but I can't get a solid grip on it.
What I have noticed so far is that every time the MIC is NOT working, pipewire lists it as a target
pw-record --list-targets
Available targets ("*" denotes default): alsa_input.pci-0000_0e_00.4.analog-stereo
* 46: description="Starship/Matisse HD Audio Controller Analog Stereo" prio=2009
58: description="USB 2.0 Camera Pro" prio=2000
If I restart pipe wire with a 'systemctl --user restart pipewire' it almost always (but not always) restores the mic functionality and then pipewire no longer lists the mic
pw-record --list-targets
Available targets ("*" denotes default): alsa_input.pci-0000_0e_00.4.analog-stereo
* 46: description="Starship/Matisse HD Audio Controller Analog Stereo" prio=2009
My guess is that pipewire and pulseaudio are wrestling for control of the mic. I have tried to remove either pulseaudio or pipewire but can't due to dependency conflicts
It's a big issue for work... I really wish I don't have to switch distros
Ok so I have a real issue... I have actually tried hard to solve it myself and therefore it is now a waste of everybody's time because of that?
What kind of concrete information can I provide to get help?
yes, the manual intervention steps to remove pipewire-media-session were followed. My system does not have pipewire-media-session and does have wireplumber installed
â°âλ sudo pacman -Qi pipewire-media-session wireplumber
error: package 'pipewire-media-session' was not found
Name : wireplumber
Version : 0.4.4-4
Description : Session / policy manager implementation for PipeWire
Architecture : x86_64
URL : https://gitlab.freedesktop.org/pipewire/wireplumber
Licenses : MIT
Groups : None
Provides : libwireplumber-0.4.so=0-64 pipewire-session-manager
Depends On : gcc-libs glibc lua libgio-2.0.so=0-64 libglib-2.0.so=0-64 libgmodule-2.0.so=0-64 libgobject-2.0.so=0-64 libpipewire-0.3.so=0-64
Optional Deps : wireplumber-docs: for documentation
Required By : kwin
Optional For : pipewire
Conflicts With : pipewire-media-session
Replaces : None
Installed Size : 1894.14 KiB
Packager : David Runge <dvzrv@archlinux.org>
Build Date : Mon 25 Oct 2021 06:16:01 PM
Install Date : Wed 03 Nov 2021 10:47:51 AM
Install Reason : Installed as a dependency for another package
Install Script : Yes
Validated By : Signature
The main difference on this one is that they claim USB mics are fine but mine is a USB mic (full desktop I have no "internal" mic)
This one they claim to have fixed with pipewire. I would love to try a pipewire only install or pulseaudio only but I can't remove either due to dependency conflict
I have seen this before in another user's output. To me, it appears you have both PulseAudio and Pipewire and you should have one or the other. You can pull up Garuda's Assistant app and see if both are checked as "installed." I would uninstall both, then add one or the other, I would choose Pipewire, seems to be the future, but up to you.
Edit to add, if you don't have both installed, then the Pulseaudio is probably set to automatically start, maybe a systemd thing. All I know is mine says NO on Pulseaudio and YES on Pipewire and I don't have issues with sound or mics.
Indeed both are running... installed and running (not by my own intention)...
I have tried to remove each via pacman but failed due to dependency conflict
ââexanime at calcifer in â
â°âλ sudo pacman -R pipewire
[sudo] password for exanime:
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing pipewire breaks dependency 'pipewire' required by krfb
:: removing pipewire breaks dependency 'pipewire' required by lib32-pipewire
:: removing pipewire breaks dependency 'pipewire' required by libtg_owt
:: removing pipewire breaks dependency 'pipewire' required by obs-studio
:: removing pipewire breaks dependency 'pipewire' required by telegram-desktop
:: removing pipewire breaks dependency 'libpipewire-0.3.so=0-64' required by wireplumber
:: removing pipewire breaks dependency 'pipewire' required by xdg-desktop-portal
ââexanime at calcifer in â
â°âλ sudo pacman -R pulseaudio
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: removing pulseaudio breaks dependency 'pulseaudio' required by plasma-pa
:: removing pulseaudio breaks dependency 'pulseaudio' required by pulseaudio-alsa
:: removing pulseaudio breaks dependency 'pulseaudio=15.0-1' required by pulseaudio-bluetooth
:: removing pulseaudio breaks dependency 'pulseaudio=15.0-1' required by pulseaudio-equalizer
:: removing pulseaudio breaks dependency 'pulseaudio' required by pulseaudio-equalizer-ladspa
:: removing pulseaudio breaks dependency 'pulseaudio=15.0-1' required by pulseaudio-jack
:: removing pulseaudio breaks dependency 'pulseaudio=15.0-1' required by pulseaudio-lirc
:: removing pulseaudio breaks dependency 'pulseaudio=15.0-1' required by pulseaudio-rtp
:: removing pulseaudio breaks dependency 'pulseaudio' required by pulseaudio-support
:: removing pulseaudio breaks dependency 'pulseaudio=15.0-1' required by pulseaudio-zeroconf
:: removing pulseaudio breaks dependency 'pulseaudio' required by replay-sorcery
I have even been trying to assess what GarudaLinux is going for here (which is the default and whether or not the objective is to really only have one or the other) but there is a ton of conflicting info about the subject
In Garuda Assistant, under System Components only Pulseaudio support is checked (ALSA support, Pipewire support and JACK support are unchecked)
Have you tried uninstalling using Octopi? Reason I ask, some package managers wonât even attempt to uninstall because of conflicts, but Octopi for me always seemed to uninstall them. In the past, for me, it is usually been another version of the app that causes dependency conflicts, and Octopi usually works in switching them outâŠespecially for apps in chaotic-aur vs AUR. Just a thought.
The only thing I have under 'Audio' in GA is 'PipeWire support' and 'User in realtime group', not sure if you even need Alsa support, as I think Pipewire has its own support for it.
I would suggest unchecking, hitting 'Apply' and then add Pipewire support' and apply. if you get conflicts, then you will have to try in Octopi.
Ok so I removed Pulseaudio from Garuda Assistant and swapped it with Pipewire; through the GA, I received no messages about dependency conflicts.
After reboot it seems indeed pulseaudio is gone and pipewire reigns supreme. I expect this will be the end of the mic issues since I am almost certain it was relate to these 2 servers fighting over control.
I had a test call and a real one through MS teams and so far so good, no issues
ââexanime at calcifer in â
â°âλ inxi -Faz | grep Sound
Sound Server-1: ALSA v: k5.15.0-214-tkg-bmq running: yes
Sound Server-2: JACK v: 1.9.19 running: no
Sound Server-3: PulseAudio v: 15.0 running: no
Sound Server-4: PipeWire v: 0.3.39 running: yes
I did have a strange issue afterwards. After the swap I rebooted the machine and suddenly all plasma elements were HUGE. A notification pop up would take half of the screen; however, regular apps (Firefox, Teams, Alacritty all displayed fine)
Nothing I did seemed to help so I went back to Garuda Assistant, removed all orphan packages and did a system update. The system update did bring back a few pulseaudio components but the server is still not running.
After another reboot my login screen (SDDM) is still gigantic but the desktop is displaying fine