[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