QJackCTL does not save changes for new processes of same Application?

Hello there,
I just ditched my Win10 for Ubuntu as my new Soundcraft MTK 12 arrived, and as usual problems arrive, maybe someone here of you Audio-pros can help me here…?

So as I’m currently using KDE, PulseAudio is needed, if I understand it correctly? But because I want to have the nice graphical routing that jack provides, I’ve upgraded to pipewire with pw-jack, so qjackctl uses the pipwire audio server. This all works fine, till the part of actually reconfiguring the audio in the qjackctl graph editor. When I for example connect my Browser (brave) to my port 6 on my Soundcraft, it does work but as soon as I open a new Tab, Jack adds another process brave-83,125… so on and takes all the default connections. So that my changes effectively do nothing, as every new Process ignores my previous changes. Is this intentional, or because of my janky pipwire routing? Is there a way to fix this?

Here is a Picture to illustrate:

PS: Before installing pipewire there also only were 14 Inputs and 12 Outputs as also seen here in another thread (Hardware mixer recommendations for band practice - #24 by GMaq) from @zamaudio. So I prob fcked up somewhere xD

I hope this makes any sense, if so please help :smiley:
Much appreciated, thanks and greets!

Hi,

I think Pipewire muddies the water here… why are you using it exactly? it’s under heavy development and has a long way to go especially on the PulseAudio side…

I’m not a Ubuntu user but I think Ubuntu Studio has some sort of Studio Tools (…?) package to get JACK and PulseAudio to play nicely and that’s really the best case scenario right now JACK with PulseAudio bridges in and out, you can bring Brave in and out using the PulseAudio bridges.

AV Linux does this setup by default but that’s no help here… I’m sure there are plenty of Ubuntu Studio folks here who can clarify how the routing can be done…

If you don’t need Brave or any other external Audio piped in I would set up Ardour’s Audio/MIDI Window with ALSA connected directly to the Soundcraft and forget all of these Sound servers, let Ardour control that baby!

Thanks for replying GMaq!

Yeah, I too think pipewire is to blame here… Why I chose to use it? Well first I wanted to remove Pulse and only use Jack but since Pulse is part of KDE it would break a lot of stuff I heard… So I looked on and found pipewire which sounded as a good bridge between those two?

Pulse + Jack did not work for me because they both try to access at the same time… I’ve too seen Ubuntu Studio but I think I cannot use it, as I need my proxmox pve kernels. (At least in my test-setup here. I could format my Arch Laptop and try to use Ubuntu Studio / AV on there?)

Sadly I need Brave and more external Audio like Gamesounds / Voicecall sounds as this would be my main goal to cleanly separate them onto faders on my Soundcraft :confused:

This isn’t a bug, this is just how it works. Modern browsers isolate tabs so that if one tab crashes, it doesn’t bring down the whole browser. That isolation includes audio and isn’t new or specific to pipewire.

Hey @Reuben,
and how comes that this behavior also applies to every other program like OBS / TeamSpeak?
Brwoser is different okay, so there is no way to fix this?

Greets

It kinda depends on how the application manages it’s audio “sessions”. If it is starting and tearing down an audio session each time it plays audio within the process, then this behavior will continue.

With the browser you can even have separate connection within the same tab if there are multiple media players within the same page. If that was not that case you would not be able to control volume separately for each player. If you change the volume within the player within the browser, you’ll notice the volume changes for the app within pipewire/pulse. The browser does not attenuate the audio itself before handing it off to the Audio framework, it just creates a new session with the framework and it’s up to the framework to manage volume, routing, processing, etc.

The jack API does less hand-holding for the end user, since the whole point is that the end user is expected to manage routing manually (either directly and/or within the jack app). This is of course going to be a hassle when connecting apps to jack that were not created with pro-audio workflows in mind.

The weirdness is probably caused by pipewire.
Either figure out how to use pipewire - I think Unfa has covered it to a certain extent on his YouTube channel - or configure jackd to play nicely with pulseaudio, which is what I do.
Using Qjackctl → Setup… → Options tab
tick [ Execute script after Startup ] and paste

pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source channels=2; pacmd set-default-sink jack_out

in the box. Apply / OK and restart jackd

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.