Module module-jackdbus-detect not starting on Ubuntu 23.10 when using jackd1
- PipeWire version (
pipewire --version
): 0.3.79 - Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): Ubuntu 23.10 Mantic - Desktop Environment: gnome flashback
- Kernel version (
uname -r
): 6.5.0-14-lowlatency
Description of Problem:
I need to run OSSv4 so that my Lynx L22 card can work on Ubuntu. Doing so requires that I use the jackd1 package so that the I can access the OSS driver as jack2 does not support the OSS driver. In prior Ubuntu releases, I was able to issue the pactl commands from within qjackctl at startup so that pulseaudio would show up as a jack client enabling my non-pro audio programs such as firefox to work when I was using jack.
Upon upgrading to Ubuntu 23.10, pipewire has replaced pulseaudio but from what I understand, I should still be able to have pipewire show up as a jack client by issuing a pactl load-module module-jackdbus-detect command before starting qjackctl much like I would with pulseaudio. Unfortunately this does not work as expected.
Pipewire will not show up as a jack client in the qjackctl graph when using the jackd1 package unless module libpipewire-module-jack-tunnel is added to the context.modules section of pipewire-pulse.conf. Adding the following to pipewire-pulse.conf results in the pipewire client activating with jackd1
{ name = libpipewire-module-jack-tunnel
args = {
#jack.library = libjack.so.0
#jack.server = null
#jack.client-name = PipeWire
#jack.connect = true
#tunnel.mode = duplex
#midi.ports = 0
#audio.channels = 2
#audio.position = [ FL FR ]
# source.props = {
# extra sink properties
# }
# sink.props = {
# extra sink properties
# }
}
}
Adding this to the pipewire-pulse.conf file unfortunately results in pipewire-pulse starting jackd when pipewire-pulse is restarted. If I try to kill jackd it just starts up again.
How Reproducible:
Always reproducible.
With default pipewire-pulse.conf file installed and issuing a pactl load-module module-jackdbus-detect before (or after) starting qjackctl results in no pipewire client activating in the qjackctl graph.
Editing pipewire-pulse.conf to add the libpipewire-module-jack-tunnel definition and restarting pipewire results in the pipewire client activating in the qjackctl graph.
But doing so automatically starts jackd when pipewire-pulse is restarted.
Steps to Reproduce:
- Install package jackd1 and qjackctl from repository
- Issue: pactl load-module module-jackdbus-detect before starting qjackctl
- Start qjackctl. Pipewire does not show up as a client
- Edit /usr/share/pipewire/pipewire-pulse.conf and add libpipewire-module-jack-tunnel as noted above to the context.modules section.
- Restart pipewire: systemctl --user restart wireplumber pipewire pipewire-pulse
- Start qjackctl. Pipewire now shows up as a client
Actual Results:
Pipewire does not show up as a client in the qjackctl graph unless pipewire-pulse.conf is modified as noted above.
Expected Results:
Pipewire shows up as a client in qjackctl graph if pactl load-module module-jackdbus-detect is executed before starting qjackctl.
Additional Info (as attachments):
Attached is pw-log file pw_log