Issues Pipewire on Fedora

Hello there!

Since Fedora 34 I am having problems with PipeWire. On Fedora 35 it got so bad that I Changed back a bit to PulseAudio, but even it seems to not be working as used to work before.

Problems I’m having:

When on OBS, Discord, EasyEffects or any meeting software (or them via browser), any audio from browsers bleeds to the mic as it were in the mic input. OBS stable or beta shows audio activity on the mic even with it muted on the system, and the activity is the audio from whatever I am capturing. Before some updates (not sure which ones) My mic would barely work (any of them: eternal, webcam or from the integrated webcam) to the point that I had to use my phone for meetings and gave up stream with friends.

On Discord it also bleeds the audio of any game I am playing when I am on calls also anything I open on browsers bleeds its audio.

I sort of mitigated some of that with Helvum and easier with PW-Viz by re-routing the sound, but I had to do it every time for every situation.

EasyEffects was crashing a lot and adding echo over echo.

Hi, first maybe you want to use alsamixer from terminal. Press F6 and select your sound card. After that press F5 to show all the volume control. Find the obvious volume control that to need to mute by pressing m on keyboard. If you have HDMI connected or any external connection, press again F6 and select appropriate sound card and repeat above.

You could also want to use pavucontrol to use specific device to specific task.

If above not work, you can try to install alsa-tools and it will give some tools installed. Open HDAJackRetask, then on the top left, select the appropriate sound card. You’ll get a list of your current working device.

On the right side, there “Advanced override”, tick it. Now you’ll get extra menu in your devices list.

Find mic/microphone. If you’re using laptop, it should have 2 type of mic, one is internal and the other is jack connection.

Please print screen and post it here. It also helpful if you also print screen the helvum routing with wrong occurring behavior.




obs-browser-audio-as-mic

The leak turn out because the activated mic by WebRTC. Maybe you could check if there any browser addon that need to access your mic or any spefic website that allowed to access to your mic (firefox on setting privacy & security > microphone) then revoke the access.

Or if you want to completely disable WebRTC on your browsers. Here how to do it.

Update:

If you’re using Gnome, maybe you also want to disable sharing. From Gnome Settings > Sharing, then disable all.

Firefox 96 doesn’t have media.peerconnection.enabled and everything related to WebRTC seems to be disabled. Disabling on Brave browser made no difference. WebRTC VoiceEngine will keep appearing because of Discords Electron base and browsers’ audio still being detected as mic, not sure if the game audio still bleeding (couldn’t test it yet), but even with Discord not open and no WebRTC being shown on Helvum and PW-Viz, OBS still showing browser audio activity on the mic (Mix/Aux) visualization

Hi again. I tried to install Discord. I’m able to replicate your problem only if my last open menu on Discord is Discord setting > Voice & Video then minimize it to system tray.

You could mute it with pavucontrol as below (make sure to select All Streams on bottom right window).

If above not work, you can disable Discord from running in background. Discord setting > Linux Settings, then disable Minimize to Tray.

I already tried via PavuControl, when the problems got worse. That does nothing, is like I did not change anything. What I meant was Discord still getting audio bleeds from browsers, not that it is interfering with browsers. It seems that every browser and probably Electron based apps I imagine, despite being Chromium related or not, are causing it. Anything I open that plays audio on a browser will play as it was being captured by the mic and together with my voice.
I actually switch back, again, to PulseAudio.

Thanks for the help!

I’m not sure, hopefully I’m wrong. I just afraid that your system may be compromised. When you shared the sound graph and it show webrtc, it’s weird. And what ever it is, it can hide behind PulseAudio and can’t hide from Pipewire/Wireplumber.

But I could be totally wrong since Pipewire/Wireplumber still have lot of bugs reported.

You could check with sudo netstat -antpl for strange connection and sudo last to check login session histories.

WebRTC just appears when Discord is open now.

1 Like

Good then. Maybe it just pipewire/wireplumber that failed to handle the client.