[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Tuning the system for jackd



Hello!

> I'm re-styling the demudi tasks packages,  which I'd like to upload to
> Debian in the near future.  One  of them it's called demudi-config and
> it's haevily based on  the debian-edu-config package. It uses cfengine
> to customize configuration files in a consistent manner.
> 
> As already discussed, we are going to drop the demudi specific version
> of the jack package, and rely on the debian one.
> 
> I was  wandering  about which  tunings are  needed to  the enhance the
> performance of jackd, and whether  they should be accomplished through
> the demudi-config task or directly with jackd.
> 
> The ones that come to my mind are:
> 
> 1) Turn on low latency:
> 
>    echo 1 > /proc/sys/kernel/lowlatency

using /etc/sysctl.conf is nicer than this.

>    This assumes a patched  2.4 kernel, which  AFAIK is not the case of
>    the official Debian kernel.

True. Are you going to upload the DeMuDi Kernel to Debian?

>    I don't know whether the 2.6 series need such tuning too..

There are now lowlatency patches (in this form) for 2.6. There is
PREEMPT and in the ck-patches there is a very interesting isochronous
scheduling mode.

> 2) Setuid the   jackstart    binary. This  can   be  accomplished  via
>    dpkg-statoverride (as suggested in the README.Debian of jackd), but
>    I'm not sure whether the best solution is:

Why don't you all subscribe to the jack-audio-connection-kit package on
<http://packages.qa.debian.org/j/jack-audio-connection-kit.html>?

JACK (>= 0.94.0-2) does contain jackstart setuid root, executable by
group audio. 

dpkg-statoverride is only if you want to _override_ permissions.

>    a. Add debconf support to the jackd package and ask a question, for
>    example  "Do you want  jackstart  setuid?", if  the  the answer  is
>    positive    the    postinst   script  takes     care   of   running
>    dpkg-statoverride.  In  this case  the demudi-config  package would
>    just inject the appropriate value in the debconf database.
> 
>    b.  Do a. but through  the demudi-config package, maybe without the
>    question, as we assume a positive answer.
> 
>    c.  Do not  setuid the jackstart binary, but  rather  prepare a 2.6
>    kernel for DeMuDi  (I'm assuming that  Debian is not going to adopt
>    such  patch  in the  short  term),  using the Jack  O'Quin's kernel

Someone should just _package_ that module!

>    module.  The demudi-config package could make sure that such module
>    is loaded in the correct  way and ask  which users should belong to
>    the audio group.
> 
> 3) Mount /tmp as a tmpfs, adding the line
> 
>    none	/tmp tmpfs defaults 0 0
> 
>    to fstab. Again this can  be accomplished both inside demudi-config
>    and inside jackd and I'm not sure which place is better.

Also done. libc6 >= something-ds11 mounts a shmfs onto /dev/shm. JACK
(>= 0.94.0-2) puts its files there.

> 4) Write a ~/.asoundrc file  (for users in the  audio group).  I don't
>    know if  this  is really necessary,  but it  can be accomplished by
>    demudi-config.

No. I don't think it's necessary. jackd defaults to hw:0, which makes
sense.


	Robert.

-- 



Reply to: