[RESPONDED][Fedora 39] Routing application audio through JACK

I started by following tutorials to route Pulseaudio through JACK but immediately came upon package conflicts with something called Pipewire which is new to me. So in researching pipewire I found this in the documentation:

When starting jackdbus, with for example qjackctl, PipeWire will release the JACK device
and become a client for the JACK server.

So I installed jackdbus and qjackctl and made sure it’s starting jackdbus, and it seems to work fine other than I see no clients in the connections window for Pipewire at all.

Here’s the output of jack:

17:32:43.987 D-BUS: JACK server is starting…

17:32:43.988 D-BUS: JACK server was started (org.jackaudio.service aka jackdbus).

Cannot connect to server socket err = No such file or directory

Cannot connect to server request channel

jack server is not running or cannot be started

JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

Sun Dec 24 17:32:43 2023: Starting jack server…

Sun Dec 24 17:32:43 2023: JACK server starting in realtime mode with priority 20

Sun Dec 24 17:32:43 2023: self-connect-mode is “Don’t restrict self connect requests”

Sun Dec 24 17:32:43 2023: ERROR: Cannot lock down 107341340 byte memory area (Cannot allocate memory)

Sun Dec 24 17:32:43 2023: Acquired audio card Audio0

Sun Dec 24 17:32:43 2023: creating alsa driver … hw:U192k|hw:U192k|64|2|48000|0|0|nomon|swmeter|-|32bit

Sun Dec 24 17:32:43 2023: configuring for 48000Hz, period = 64 frames (1.3 ms), buffer = 2 periods

Sun Dec 24 17:32:43 2023: ALSA: final selected sample format for capture: 32bit integer little-endian

Sun Dec 24 17:32:43 2023: ALSA: use 2 periods for capture

Sun Dec 24 17:32:43 2023: ALSA: final selected sample format for playback: 32bit integer little-endian

Sun Dec 24 17:32:43 2023: ALSA: use 2 periods for playback

Sun Dec 24 17:32:43 2023: ERROR: Cannot use real-time scheduling (RR/20) (1: Operation not permitted)

Sun Dec 24 17:32:43 2023: ERROR: AcquireSelfRealTime error

Sun Dec 24 17:32:43 2023: graph reorder: new port ‘system:capture_1’

Sun Dec 24 17:32:43 2023: New client ‘system’ with PID 0

Sun Dec 24 17:32:43 2023: graph reorder: new port ‘system:capture_2’

Sun Dec 24 17:32:43 2023: graph reorder: new port ‘system:capture_3’

Sun Dec 24 17:32:43 2023: graph reorder: new port ‘system:capture_4’

Sun Dec 24 17:32:43 2023: graph reorder: new port ‘system:playback_1’

Sun Dec 24 17:32:43 2023: graph reorder: new port ‘system:playback_2’

Sun Dec 24 17:32:43 2023: graph reorder: new port ‘system:playback_3’

Sun Dec 24 17:32:43 2023: graph reorder: new port ‘system:playback_4’

17:32:46.008 JACK connection change.

17:32:46.009 Statistics reset.

17:32:46.014 Client activated.

17:32:46.015 Patchbay deactivated.

17:32:46.018 JACK connection graph change.

Cannot lock down 107341340 byte memory area (Cannot allocate memory)

Sun Dec 24 17:32:45 2023: Saving settings to “/home/seth/.config/jack/conf.xml” …

Sun Dec 24 17:32:46 2023: New client ‘qjackctl’ with PID 10063

Hi @Seth_Merkley ,

Looks like this is a specific pulseaudio feature?
have you already tried asking with pulseaudio/general list?

I’m not sure. All I know is tutorials said to install certain packages in order to bridge pulseaudio to JACK. When I tried to install these packages I came upon conflicts with something called pipewire. According to the little research I did pipewire is a replacement for pulseaudio, and I found in it’s documentation that it’s supposed to seamlessly integrate with jackdbus but I can’t figure it out. I’m trying to route the output from basic desktop applications through JACK because that will let me manipulate it in any DAW. I don’t know much about how linux audio works. I could try making a ticket at pipewire’s bug tracker.

Since Fedora 37 (I think), the default audio system is pipewire. It’s not particularly well documented. Because pulseaudio has been around a while, and supported by other distros, there is conflicting information and packages.

Here’s an interview with one of the developers, it does have some tips on things to check out further: PipeWire 1.0 - An interview with PipeWire creator Wim Taymans - Fedora Magazine

As for using different DAWs, that’s not as simple as just slapping jackdbus in and it all magically working for everything (I’m being a bit cynical there). Do you have a specific DAW in mind? What are the specifics of what you want to do?

I was under the impression I could use qjackctl to set up connections to my audio interface as well as other software running on my computer like a web browser playing a video (provided pulseaudio or pipewire was configured to route through JACK). These connections would be provided to my DAW by selecting JACK as the driver.

Currently I’ve messed around with VCV Rack and it works just fine with JACK configured to pass my audio interfaces ins and outs. I’d like to pass any other audio from other applications through JACK to VCV Rack. Whether it’s all pipewire clients merged into one audio stream or I get access to specific program’s streams it doesn’t really matter.

Can you try listing the tutorials you’re trying to follow?
maybe we can find something in there.