New Package for Review: jack-audio-connection-kit

Fernando Lopez-Lezcano nando at ccrma.Stanford.EDU
Thu Mar 24 22:02:38 UTC 2005


On Thu, 2005-03-24 at 12:29, Ralf Ertzinger wrote:
> Hi.
> 
> Aaron VanDevender <sig at netdot.net> wrote:
> 
> > This package requires a tmpfs to store some FIFOs and sockets.
> 
> Why can't it stick those in /tmp, for example?

Because there are problems with journalled filesystems (ie: ext3). The
disk activity interferes with the named pipes that Jack uses for
interprocess communication and creates latency hits. 

For the current working release of the Jack Audio Connection Kit at
Planet CCRMA see:
http://ccrma.stanford.edu/planetccrma/mirror/all/linux/SRPMS/jack-audio-connection-kit-0.99.36-0.2.cvs.src.rpm

(this cvs release has some fixes that enables it to work better with
2.6.x and the lsm realtime kernel module, more below on this - I was
meaning to submit it but was waiting for legal stuff here at Stanford
before doing that so that I could be its maintainer, sigh, it is a
prerequisite to contributing most of the interesting stuff at Planet
CCRMA to Extras). 

Which brings me to a couple of comments. 

A proper usable release of Jack will need support at some level (kernel,
probably) for aquiring the proper privileges, ie: access to the
SCHED_FIFO scheduler and memory locking as a normal non-root user.
Without those two (specially the first) Jack is not really usable by
non-root users for its intended purpose. The current solution in the
Planet CCRMA kernels is to include the realtime lsm kernel module and
load it as part of the boot sequence. Regretfully the realtime lsm
kernel module cannot be built (last time I checked) as an external
module to the stock Fedora kernels as there is a kernel build option
that conflicts with it. 

Another issue in the package (both versions): jackd vs. jackstart vs.
prelink: Jackstart is the "old way" of starting Jackd with realtime
privileges in 2.4.x by using capabilities (it is suid root, aquires the
required capabilities and passes them to jackd, which in turn passes
them to all new Jack clients - this requires a 2.4.x kernel patched with
the "capabilities patch"). It is not really needed anymore for 2.6.x
kernels that use the realtime lsm kernel module so it would not be
necessary for packages meant for FC >= 2. If it is built, it will work
with 2.6/lsm, provided that it is marked as an exception in the prelink
configuration file (requires prelink >= 3.2), otherwise prelink messes
up the (simplistic) method that jackstart uses of checking that the
jackd binary has not been messed with. 

I have not erased jackstart from my packages yet, mostly for backwards
compatibility reasons (and because I also maintain versions for FC1/RH9,
both 2.4.x based).

For more on the history of the package at Planet CCRMA see the changelog
in spec file in the srpm mentioned above. 

-- Fernando





More information about the fedora-extras-list mailing list