[LAU] jack, pulse = confusion, at least for me

Len Ovens len at ovenwerks.net
Sat Mar 11 20:09:53 UTC 2017


On Sat, 11 Mar 2017, Mac wrote:

> I'm running multiple PC's with UbuntuStudio 16.04.
> 
> I'm trying to figure some differences in what happens between the PC's when jack
> is started.
> 
> Questions:
> 
> - what is the process of determining what combination of jackd, jackdbus, jack1,
> jack2 is actually being run from the command line or from qjackctl?
> 
> - since starting jack from the command line doesn't result with a pulse
> source/sink, but starting it from qjackctl does end up with pulse source/sink and
> system source/sink? (And, how do I duplicate what happens when jack is started
> from qjackctl from the command line?)

UbuntuStudio comes with jackd2 by default (same as debian) it can be 
changed over to jackd1, but just installing jackd1 will remove lots of 
audio SW that depends on jackd2. so the uninstall of jack2 has to happen 
without touching the deps and the install of jackd1 needs to happen the 
same way. I don't know the commands off hand.

The jackd2 package comes with both jackd and jackdbus. By default qjackctl 
will work with jackdbus. The dbus interface is required in order for the 
pulseaudio module to autoconnect to jack. It is possible to manually 
connect pulse to jackd without the dbus part of jack.

The best way to control jackdbus from the commandline is to use 
jack_control. jack_control comes with pretty much zero documentation... 
just run jack_control with no options for usage output.

jack_control start
will start jack with saved parameters

jack_control ds alsa dps device hw:D66 dps rate 48000 dps period 128 \
dps nperiods 2 start
will start with new parameters. It is easy to split commands across more 
than one line if desired. I normally run:
jack_control ds alsa dps capture none dps playback none
first because qjackctl seems to set capture and playback separately even 
for the same device and that resets it.

All of these parameters can be changed on the fly without stopping jack. 
Just put in the changes you want (devices, rate, latency, etc) and then 
enter:
jack_control sm to make the switch. While jack may survive switching rate 
while running, most clients probably won't... latency switching even 
though it is possible on a running jack1 as well does not work with all 
clients either... but most do. Switching devices is fine so long as they 
have the same number of ports... well connections to system ports will get 
dropped and need reconnecting anyway. (there are utilities that will do 
this for you, check if jack-tools is installed)


--
Len Ovens
www.ovenwerks.net



More information about the Linux-audio-user mailing list