I have been building ardour rpms for Mandrake quite a while now andI have read something about a kernel patch that makes it possible to use jackit with capabilities without running it as root.
i have not seen one question on ardour devellop or user mailinglists
about bugs in my the rpms.
Actually i decided to start building Mandrake 9.0 ardour rpms when i saw that over 50% of the messages in ardour devel was about how to build ardour.
Since i started to announce new rpm version this kind of entries has dropped down to something like 25%.
I really think that you should build ardour rpms for it but you must update them frequently.
And of make it clear that it is a program thats in canstant development.
I have had only positive response on the rpms i have published on my site.
The only thing thats missing is the low-latency kernel.
/thac
Snip from this page http://jackit.sourceforge.net/docs/faq.php
Real-time scheduling
Jack requires real-time scheduling (|SCHED_FIFO|) for reliable, dropout-free operation, which the vanilla Linux kernel does not adequately support. Andrew Morton's low-latency patches are currently the most functional way to add soft-RT scheduling to Linux; you may find them here <http://www.zip.com.au/%7Eakpm/linux/schedlat.html#downloads>. However, special privileges are required to enable low-latency operation, which can be acquired in two ways.
The first option is to run jackd as root in real-time mode, invoking it as |jackd --realtime ...|. This has the disadvantage of requiring that all of the apps that use jack run as root, but it gets the job done. Real-time scheduling is inherently 'dangerous'; a badly or maliciously coded app can hang the system. Requiring that apps be run as root at least requires the user to already have full control over the system anyway, so this is not a real security risk. This is the way most people do things.
A newer way to do things is to use a setuid root app that runs the jackd binary as a non-root user and transfers to it the capabilities needed for real-time scheduling. This requires processes to be able to grant their privileges to other processes using POSIX 1.e capabilities. A more in-depth discussion of this issue may be found at Tommi Ilmonen's |givertcap| page <http://www.tml.hut.fi/%7Etilmonen/givertcap/>. To use this feature at present (May 2002), a brief kernel patch is required:
Go to |/usr/src/linux/include/linux| (or wherever you have your kernel sources) and in the file |capability.h| change the line
#define CAP_INIT_EFF_SET to_cap_t(~0&~CAP_TO_MASK(CAP_SETPCAP))
to
#define CAP_INIT_EFF_SET to_cap_t( ~0 )
and the line
#define CAP_INIT_INH_SET to_cap_t(0)
to
#define CAP_INIT_INH_SET to_cap_t( ~0 )
You must then recompile your kernel.
By the way did you implement low-latency by using
/Control low latency with sysctl/. If you enable this, you can turn the low-latency capability on and off with /proc/sys/kernel/lowlatency. The default value is zero - low-latency disabled.
from this page http://www.zip.com.au/%7Eakpm/linux/schedlat.html
/thac
