[LAU] Kmix + jackd strange behaviour

Crypto crypto at online.de
Thu Oct 30 07:53:04 EDT 2008


On Thursday 30 October 2008 11:04:38 Rui Nuno Capela wrote:

> this device list, assuming you're referring to the qjackctl setup
> drop-down menu as shown by the [>] button on the right to interface and
> input/output device entry fields and "alsa" is the selected driver, is
> just the enumeration of all alsa_pcm devices available in your system.
>
> this list is not created by qjackctl. it is indeed queried by qjackctl
> to the alsa control layer and is built everytime you pop the menu up, so
> it doesn't matter at all whether you restart qjackctl or not.
>
> otoh, i suspect that it is amarok, which you must ensure that its xine
> engine is sure having jack as its output plugin, that needs to be reset
> or recycled whenever you restart jackd (via qjackctl).
>
> byee

Ah, I have found it. It is a matter of confusion ;-) And, unfortunately, it IS 
a problem in qjackctl. Maybe it is a feature though ;-)

I have had a look at the .jackdrc file which in my case contains a single 
line:

/usr/bin/jackd -R -dalsa -dhw:1 -r48000 -p128 -n2 -Phw:0,0 -S -o2 -Xseq

This is the line that jackd gets on startup when launched by qjackctl.

It is set to -d hw:1 which means output to hw:1 (my external USB device).

The tricky thing is the -P parameter. 

It means: -P --playback Provide playback ports. Optionally set device 
(default: none)

It is wrongly set to hw0:0 which is the onboard sound of my notebook.

Why is that?

Look in qjackctl: one can select from the "Audio" menu to have duplex 
or "Playback only" or "Capture only".

If You - as I did - select "Playback only", then the menus for "Input Device" 
and "Output Device" are greyed out and cannot be selected. I thought that the 
ONLY relevant device, that is, the device for audio output in this case, is 
then selected ONLY by the menu "Interface".

Unfortunately, the values of the menu "Output device" is still saved in 
the .jackdrc file and therefore sent to jackd.

So: if the "Output Device" is greyed out and/or one has not been set before to 
the correct output port (in my case: external USB card), then the wrong 
output device will be placed in the .jackrc file and sent to jackd.

It is easy to circumvent this, though: 

-> Select "duplex" in the top menu,
-> Set both "Output device" and "Input device" (just in case) to the desired 
ports, in my case that is external USB audio device,
-> revert top menu to "Playback only" and select external USB device (again) 
in the "Interface" menu
-> start jackd, which will save new .jackdrc file which now looks like this:

/usr/bin/jackd -R -dalsa -dhw:1,0 -r48000 -p128 -n2 -Phw:1,0 -S -o2 -Xseq

It contains the -P option which now outputs to hw:1,0 which is external USB 
audio correctly.

Suggestion for improvement: Leave out the "Interface" menu on top and switch 
interfaces only by "Input Device" and "Output Device". Grey out (make 
unselectable) the Device which is not relevant, i.e. if chosing "Capture 
Only" grey out "Output Device", but make sure that the output device is not 
placed in the jackdrc file. And vice versa.

It seems to me like the three interface menus are treated differently. Maybe 
there was a good reason to include the -P option in the jackdrc-file?

Regards,
Crypto.





More information about the Linux-audio-user mailing list