[Comm] JACK в realtime не под рутом - возможно ли?

Egor Glukhov =?iso-8859-1?q?kaman120_=CE=C1_rndfido=2Enet?=
Вс Янв 4 16:53:30 MSK 2009


Здравствуйте.

Хочется запустить звуковой сервер JACK в режиме реального времени 
(приложению крайне важна минимальная задержка). И даже 
получается, но - только под рутом. Соответственно, клиент JACK'а 
тоже под рутом, и это не айс. Под обычным же пользователем:

[kaman на kaman ~]$ jackd -Rv -d alsa
getting driver descriptor from /usr/lib64/jack/jack_oss.so
getting driver descriptor from /usr/lib64/jack/jack_alsa.so
getting driver descriptor from /usr/lib64/jack/jack_dummy.so
getting driver descriptor from /usr/lib64/jack/jack_freebob.so
jackd 0.102.20
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details

JACK compiled with System V SHM support.
server `default' registered
cannot use real-time scheduling (FIFO at priority 10) [for thread 
-1411594528, from thread -1411594528] (1: Operation not permitted)
cannot create engine
cleaning up shared memory
cleaning up files
unregistering server `default'

То же самое при jackstart -Rv -d alsa

Читаю, что про это в `man jackd` написано:

=== Цитата ===
-R, --realtime

Использовать   планирование  в  режиме  реального  времени.

[...первый способ - запускать всё под рутом...]

Второй способ требует работы с ядром,
где включены "POSIX draft capabilities" (см.  заголовочный  файл
<linux/capability.h>).  Во  втором  случае  обычный пользователь
сможет вызвать демон при  примощи  команды  jackstart,  а  затем
загрузить JACK-клиенты также с обычными правами.
=== Конец цитаты ===

Есть ли в репозитарии ядро, в котором включены эти POSIX draft 
capabilities? Сейчас стоит обычное std-ll. Нужно ли будет 
пересобирать ядро? В общем, что нужно сделать, чтобы достичь 
желаемого, то бишь, запуска jackd в realtime под нерутовым 
пользователем?

ALT Linux 4.1 Desktop x86_64

[kaman на kaman ~]$ uname -rm
2.6.25-std-ll-alt8.M41.4 x86_64

[kaman на kaman ~]$ rpm -qa|grep jackd
jackd-0.102.9-alt0.svn.r987

-- 
Егор Глухов


Подробная информация о списке рассылки community