Автор Тема: jackd в realtime НЕ под рутом  (Прочитано 2386 раз)

Оффлайн kaman120

  • Участник
  • *
  • Сообщений: 1
jackd в realtime НЕ под рутом
« : 04.01.2009 10:43:53 »
Хочется запустить звуковой сервер 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-клиенты также с обычными правами.

Что за draft capabilities и как с ними работать? Мне, как человеку, не сталкивавшемуся со сборкой ядра, это неочевидно. Сейчас стоит обычное std-ll из репозитария. Нужно будет пересобирать ядро? В общем, что делать-то, чтобы достичь желаемого? :) ALT Linux 4.1 Desktop, x86_64

[kaman@kaman ~]$ uname -a
Linux kaman.homelinux.com 2.6.25-std-ll-alt8.M41.4 #1 SMP PREEMPT Sat Dec 6 20:42:07 MSK 2008 x86_64 GNU/Linux
[kaman@kaman ~]$ rpm -qa|grep jackd
jackd-0.102.9-alt0.svn.r987

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: jackd в realtime НЕ под рутом
« Ответ #1 : 04.01.2009 10:58:03 »
Лучше спросить в рассылке, или посмотреть в документации, идущеё с пакетом.
http://lists.altlinux.org/pipermail/sisyphus/2005-February/272198.html