[ardour-users] jackd, jackstart, qjackctl

Kevin Cosgrove kevinc at doink.com
Thu Feb 3 20:27:43 PST 2005

I hope it's OK to ask a jack question here.

I'm running kernel 2.6.7 patched for multimedia use, and from the
Mandrake contrib packages.  Myself I added the realcap patch and
load that module with permissions for the audio group so that I
don't have to run all my jack aware audio apps as root.  When I
start jack like this:

    jackd -R -d alsa -d hw -r 44100 -p 2048 -n 2

I get no error messages.  When I start jack with jackstart through 
qjackctl, then I get these errors:

    12:01:24.812 Statistics reset.
    12:01:25.705 MIDI connection graph change.
    12:01:25.713 MIDI connection change.
    12:01:26.496 Startup script...
    12:01:26.497 artsshell -q terminate
    12:01:26.841 Startup script terminated with exit status=256.
    12:01:26.843 JACK is starting...
    12:01:26.844 /usr/bin/jackstart -R -dalsa -dhw:0 -r44100 -p1024 -n2
    12:01:26.851 JACK was started with PID=1436 (0x59c).
    jackstart: cannot get realtime capabilities, current capabilities are:
	       =ep cap_setpcap-ep
	probably running under a kernel with capabilities disabled,
	a suitable kernel would have printed something like "=eip"
    12:01:26.858 JACK was stopped with exit status=1.
    12:01:28.897 Could not connect to JACK server as client.

Why would jackd not complain, but jackstart would complain?

If I start jackd before qjackctl, then qjackctl connects to the
already running jackd.  If I look at the status window, it tells
me "Realtime Mode: Yes".  I would think this says that my jackd
is actually getting realtime capabilities, right?

I want to run qjackctl for the patchbay and connection features, and 
if I have to run jackd first, that's OK.  But, I'd rather have it 
work more simply.

The FAQ on the jackit website says:

    There is an allcaps=1 option, which duplicates the effect of
    running Linux 2.4 with the capabilities patch. To use that
    you must compile JACK with --enable-capabilites as you would
    for the 2.4 kernel. You will need this if you prefer to run
    jackstart -R rather than jackd -R. If you only use Linux 2.6,
    you need not bother with it.

Are the differences I'm seeing between jackd & jackstart somehow 
related to the above statement in the FAQ?  I wouldn't think so given 
the FAQ statement about 2.6, but...

Immediately following the above FAQ info is this:

    Currently (as of 2.6.7) JACK has a serious problem creating
    SCHED_FIFO threads for real-time processing. It is unclear
    whether this is a bug in JACK, in the new Native PThreads
    Library (NPTL), or in the 2.6 kernel. At the moment no
    one has a solution, but there is a workaround: define
    LD_ASSUME_KERNEL=2.4.19 in the environment of the jackd
    process and of every JACK client.

I tried the LD_ASSUME_KERNEL trick, but the differences between jackd 
& jackstart persist.

I rebooted with the Mandrake contrib multimedia patched 2.4.22
kernel and repeated the above jackd/jackstart comparison.
jackstart runs fine with that 2.4.22.  Unfortunately, there are
some things broken with that kernel package -- networking doesn't
run on my system -- that keep me from using it.

Any thoughts folks?

Thanks all....


More information about the Ardour-Users mailing list