Le Wed, 8 Feb 2023 13:03:37 +0100,
Lorenzo Sutton <lorenzofsutton(a)gmail.com> a écrit :
Hi Fons,
On 08/02/2023 12:09, Fons Adriaensen wrote:
> Hello all,
Hello,
If I take a look at the gentoo pipewire ebuild, it is 2 jack related
USE flags: jack-client and jack-sdk
Their dependencies are as follow:
jack-client? ( >=media-sound/jack2-1.9.10:2[dbus] )
jack-sdk? ( !media-sound/jack-audio-connection-kit
!media-sound/jack2 )
Jack-client need jack2, but jack-sdk is blocking jack(2) because it
provide a replacement.
It is also a post install warning:
if ! use jack-sdk; then echo \
"JACK emulation is incomplete and not all programs will work.
PipeWire's alternative libraries have been installed to a
non-default location. To use them, put pw-jack <application> before
every JACK application. When using pw-jack, do not run jackd/jackdbus.
However, a virtual/jack provider is still needed to compile the JACK
applications themselves."
And on the gentoo wiki
https://wiki.gentoo.org/wiki/PipeWire
"Warning
As of mid 2022, PipeWire is still in active development. Some things
may still not be fully integrated, tested, or implemented, and there
may be large changes. It can work well for some, though the experience
is not guaranteed to be perfect, free of issues, or bugs."
Which mean that even with USE="jack-sdk", some use cases can get in
troubles.
As said, this (at least logically), sounds really
similar to the
pulsaudio-jack sink concept... For instance what I now have in a
script is something along the lines of:
pactl load-module module-jack-sink
pactl load-module module-jack-source
and get pulseaudio as an in/out jack client.
Into my system, I don't use gnome or kde, so I never get the
point to use pulseaudio (it is not even installed), when we can do the
same using alsa and jack only. The default alsa card is defined
into /etc/modprobe.d/alsa.conf with a line
alias snd-card-0 snd-aloop
This also need a custom ~/.asoundrc file with something like
pcm.!default {
type plug
slave.pcm "jack";
}
ctl.!default {
type hw card 0
}
pcm.jack {
type jack
playback_ports {
0 system:playback_1
1 system:playback_2
}
capture_ports {
0 system:capture_1
1 system:capture_2
}
}
That way, the alsa only software will use by default the alsa default
card, and the clients of that aloop card will be rooted to jackd via
the jack ALSA plugin. They will even appear into the jack graph. jackd
is configured to use the real sound card.
That setting works fine for me with both qjackctl and cadence. It was
working with jackd and it works now with jack-dbus from years, that on
several computers.
Cheers,
Dominique
[1] which means I won't fall flat on my face in front of
a customer or a concert audience because of some software
hickup.
Ciao,
Lorenzo
[1]
https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/JACK
_______________________________________________
Linux-audio-dev mailing list -- linux-audio-dev(a)lists.linuxaudio.org
To unsubscribe send an email to
linux-audio-dev-leave(a)lists.linuxaudio.org