You are not logged in.

#1 2024-11-14 07:26:11

Whoracle
Member
Registered: 2010-11-02
Posts: 65

[Solved] Unreal Engine "blocking" audio and mic in browsers.

The setup:
- System up-to-date as of yesterday, Nov 13 2024, 23:00
- Running default kernel 6.11.7-arch1-1
- Have installed unreal-engine-git from AUR
- UE versions: 5.3, 5.4.3, 5.4.4 and now 5.5
- Using pipewire, and have installed realtime-privileges to deal with some minor issues with my DAW/recording setup
- Using an USB Audio Interface: Behringer UMC 404 and a Shure SM7B connected via XLR to the interface.
- Browsers: Vivaldi, Chromium, Google Chrome
-

The problem:
Whenever I run and exit the Unreal Editor, I get a slight pop, like my Audio interface just reconnected without power loss.
While UE is running my Audio get's "blocked". I can still listen to music, watch youtube etc, but if I join a call in Teams, Slack or Jitsi via browser, the incoming audio is choppy and the others can't hear me talking.
The Mic and Output devices are visible in browser and pavucontrol still shows incoming signal from the Mic.

This is the only output in my journal from the moment before I start UE to after it terminates:

Nov 14 08:20:57 lynxcore dotnet[17126]: Starting AutomationTool...
Nov 14 08:20:57 lynxcore dotnet[17126]: Parsing command line: -ScriptsForProject=/home/anthrax/git/games/manifoldpath/ManifoldPath.uproject Turnkey -utf8output -WaitForUATMutex -command=VerifySdk -ReportFilename=/home/anthrax/git/games/manifoldpath/Intermediate/TurnkeyReport_0.log -log=/home/anthrax/git/games/manifoldpath/Intermediate/TurnkeyLog_0.log -project=/home/anthrax/git/games/manifoldpath/ManifoldPath.uproject -platform=all
Nov 14 08:20:57 lynxcore dotnet[17126]: Initializing script modules...
Nov 14 08:20:57 lynxcore dotnet[17126]: Total script module initialization time: 0.07 s.
Nov 14 08:20:57 lynxcore dotnet[17126]: Using /opt/unreal-engine/Engine/Binaries/ThirdParty/DotNet/8.0.300/linux-x64/dotnet
Nov 14 08:20:57 lynxcore dotnet[17126]: Executing commands...
Nov 14 08:20:57 lynxcore dotnet[17126]: BUILD SUCCESSFUL
Nov 14 08:20:57 lynxcore dotnet[17126]: AutomationTool executed for 0h 0m 0s
Nov 14 08:20:57 lynxcore dotnet[17126]: AutomationTool exiting with ExitCode=0 (Success)
Nov 14 08:20:59 lynxcore dotnet[17234]: Starting AutomationTool...
Nov 14 08:20:59 lynxcore dotnet[17234]: Parsing command line: -ScriptsForProject=/home/anthrax/git/games/manifoldpath/ManifoldPath.uproject Turnkey -utf8output -WaitForUATMutex -command=VerifySdk -ReportFilename=/home/anthrax/git/games/manifoldpath/Intermediate/TurnkeyReport_1.log -log=/home/anthrax/git/games/manifoldpath/Intermediate/TurnkeyLog_1.log -project=/home/anthrax/git/games/manifoldpath/ManifoldPath.uproject -Device=Linux@lynxcore -nocompile -nocompileuat
Nov 14 08:20:59 lynxcore dotnet[17234]: Initializing script modules...
Nov 14 08:20:59 lynxcore dotnet[17234]: Total script module initialization time: 0.08 s.
Nov 14 08:20:59 lynxcore dotnet[17234]: Using /opt/unreal-engine/Engine/Binaries/ThirdParty/DotNet/8.0.300/linux-x64/dotnet
Nov 14 08:20:59 lynxcore dotnet[17234]: Executing commands...
Nov 14 08:20:59 lynxcore dotnet[17234]: BUILD SUCCESSFUL
Nov 14 08:20:59 lynxcore dotnet[17234]: AutomationTool executed for 0h 0m 0s
Nov 14 08:20:59 lynxcore dotnet[17234]: AutomationTool exiting with ExitCode=0 (Success)

Nothing in

sudo dmesg -wT

.

What I tried:
Looking at the various settings in UE, but nothing I could find looked right. The audio configuration of UE is pretty barebones, tbh.

My thoughts:
It kind of feels like UE goes into some kind of privileged mode, like having higher priority or something. Yet I don't know where to even start looking. Please advise.

Last edited by Whoracle (2024-11-14 09:38:30)

Offline

#2 2024-11-14 07:47:05

cryptearth
Member
Registered: 2024-02-03
Posts: 1,015

Re: [Solved] Unreal Engine "blocking" audio and mic in browsers.

although I haven't experienced such issue on linux (, yet) I remember a similar problem back on windows
I don't remember if it was in combination with unreal but as I, too, have a behringer usb mixer it could be related
my solution was to switch interfaces from behringer to a roland tri-capture and use its regular stereo line input connected to the behringer output in a passthrough config
also, although quite a while ago, there once was a bug in some usb-audio-driver update that caused my behringer to only able to either input or output but not duplex (that patch got reverted) while my tri-capture was unaffected
tldr: could be a behringer specific issue - can you test a different interface from a different brand? another option could be to connect the stereo line output from the mixer to the line input of your onboard audio (if you have the required vable for such a connection)

Offline

#3 2024-11-14 08:01:46

Whoracle
Member
Registered: 2010-11-02
Posts: 65

Re: [Solved] Unreal Engine "blocking" audio and mic in browsers.

No, I only got the one interface, and a racked X32 in the basement that I'd be loathe to unrack and drag up here just on a hunch, and that one's behringer too anyways.

Since it's exclusively and reproducibly happening on UE, I slightly doubt it's that. But what I can and will try is if the same happens if I use my USB Webcam mic and Monitor speakers and just disconnect the behringer for a moment.

Offline

#4 2024-11-14 09:07:03

Whoracle
Member
Registered: 2010-11-02
Posts: 65

Re: [Solved] Unreal Engine "blocking" audio and mic in browsers.

So, I can use my Webcam Mic and Monitor Audio in Teams, while the issue persists with the Behringer.

A wild log message appeared, though:

Nov 14 10:01:41 lynxcore pulseaudio[4101]: ALSA woke us up to write new data to the device, but there was actually nothing to write.
Nov 14 10:01:41 lynxcore pulseaudio[4101]: Most likely this is a bug in the ALSA driver 'snd_usb_audio'. Please report this issue to the ALSA developers.
Nov 14 10:01:41 lynxcore pulseaudio[4101]: We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail.

installed relevant packages (since I find it bewildering that the journal claims "pulseaudio"):

[ ~ ] pacman -Qs "pulse|pipewire"
local/easyeffects 7.1.8-2
    Audio Effects for Pipewire applications
local/gtk-vnc 1.3.1-2
    VNC viewer widget for GTK
local/lib32-libcanberra 1:0.30+r2+gc0620e4-3
    A small and lightweight implementation of the XDG Sound Theme Specification (32-bit)
local/lib32-libpulse 17.0-1
    A featureful, general-purpose sound server (32-bit client libraries)
local/libcanberra 1:0.30+r2+gc0620e4-4
    A small and lightweight implementation of the XDG Sound Theme Specification
local/libcec 6.0.2-5
    Pulse-Eight's libcec for the Pulse-Eight USB-CEC adapter
local/libpipewire 1:1.2.6-1
    Low-latency audio/video router and processor - client library
local/libpulse 17.0-3
    A featureful, general-purpose sound server (client library)
local/pamixer 1.6-3
    Pulseaudio command-line mixer like amixer
local/paprefs 1.2-3
    Configuration dialog for PulseAudio
local/pasystray 0.8.2-2
    PulseAudio system tray (a replacement for padevchooser)
local/pavucontrol 1:6.1-1
    PulseAudio Volume Control
local/pavumeter 0.9.3-10
    A simple GTK volume meter for the PulseAudio sound server
local/pipewire 1:1.2.6-1
    Low-latency audio/video router and processor
local/pipewire-alsa 1:1.2.6-1
    Low-latency audio/video router and processor - ALSA configuration
local/pipewire-audio 1:1.2.6-1
    Low-latency audio/video router and processor - Audio support
local/pipewire-jack 1:1.2.6-1
    Low-latency audio/video router and processor - JACK replacement
local/pipewire-media-session 1:0.4.2-3
    Legacy session manager for PipeWire (deprecated)
local/pulseaudio 17.0-3
    A featureful, general-purpose sound server
local/qemu-audio-pa 9.1.1-2
    QEMU PulseAudio audio driver
local/qemu-audio-pipewire 9.1.1-2
    QEMU PipeWire audio driver
local/qpwgraph 0.7.9-1 (pro-audio)
    PipeWire Graph Qt GUI Interface

So I actually still have pulseaudio installed for some reason - going to clean that up in the meantime.

Edit: Sorry for the doublepost, not yet awake enough. Can't find the button to delete this post, will continue editing new info in here unless someone responds.

Edit2:

Oh boy, should've cleaned up the system ages ago.

So, I replaced pulseaudio with pipewire-pulse and pipewire-media-session with wireplumber (and installed pwvucontrol from AUR to maybe get rid of pavucontrol).

That fixed my issues.

Last edited by Whoracle (2024-11-14 09:38:15)

Offline

#5 2024-11-14 10:19:47

cryptearth
Member
Registered: 2024-02-03
Posts: 1,015

Re: [Solved] Unreal Engine "blocking" audio and mic in browsers.

if you use KDE I can recommend qpwgraph as a graphical interface to configure audio routing

Offline

#6 2024-11-14 11:27:01

Whoracle
Member
Registered: 2010-11-02
Posts: 65

Re: [Solved] Unreal Engine "blocking" audio and mic in browsers.

AwesomeWM with a random assortments of mostly gtk apps cribbed from lxde. But thanks for the suggestion, when I need a routing ui I'll look at that option ?

Offline

#7 2024-11-14 11:33:45

cryptearth
Member
Registered: 2024-02-03
Posts: 1,015

Re: [Solved] Unreal Engine "blocking" audio and mic in browsers.

qpwgraph is based on the qt framework - as I use kde anyway I'm not sure about the depencygraph - could be you need quite a lot of supporting libs if you not use kde which could also lead to compatibility issues

Offline

#8 2024-11-14 11:42:26

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 23,300

Re: [Solved] Unreal Engine "blocking" audio and mic in browsers.

Also pipewire implements and actually reccommends the pulseaudio mixing API for handling node relations, you can just keep using pavucontrol if that's what you prefer.

Offline

Board footer

Powered by FluxBB