Как настроить jackd и Guitarix с приоритетом в реальном времени в Raspbian?

Я пытаюсь запустить гитару и джек на Raspberry Pi 2 (+ звуковая карта Cirrus) с помощью raspbian. При запуске jack через qjackctl получаю ошибки

Cannot lock down 82278944 byte memory area (Cannot allocate memory)
Cannot use real-time scheduling (RR/10)(1: Operation not permitted)

Кажется, изменения в /etc/security/limits.conf не применяются, а в /etc/security/limits.d/audio.conf применяются.

Я попытался установить размер блокировки памяти для пользователя и группы:

@audio - rtprio 90          # maximum realtime priority
@audio - memlock unlimited  # maximum locked-in-memory address space (KB)
@audio - nice -10
pi      - rtprio 90
pi      - memlock unlimited
pi      - nice -10

От ssh я получаю удовлетворительный результат:

pi@raspberrypi ~ $ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 30
file size               (blocks, -f) unlimited
pending signals                 (-i) 7349
max locked memory       (kbytes, -l) unlimited
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 90
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 7349
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Но с настольного терминала, к которому я обращаюсь через vnc, я получаю

pi@raspberrypi ~ $ ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 7349
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 7349
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Как один и тот же пользователь может иметь разные настройки и как запустить rt и распределение памяти на рабочем столе?


person RootRaven    schedule 28.05.2015    source источник


Ответы (1)


Похоже, возникла проблема с конфигурацией PAM, как указано здесь.

Раскомментирование строки в /etc/pam.d/su помогло.

# session    required   pam_limits.so
person RootRaven    schedule 28.05.2015