Kernel/wks26/JackWithRealtime

Материал из ALT Linux Wiki
< Kernel
Версия от 15:57, 28 июля 2008; AfanasovDmitry (обсуждение | вклад) (Import from freesource.info)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Freesource-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была перемещена с freesource.info.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.


Задача - запустить Jack в reatime режиме.

Для этого есть две команды:

  1. jack -R -d alsa
  2. jackstart -d alsa

> вот только не понимаю, чем отличается jackd -R от > jackstart. но это уже мелочи и просто для самообразования  :)

дура jackstart (которая по-сути есть обертка для jackd) проверяет capabilities очень криво, поэтому и ругается, что _ей_ всего не хватает. Поэтому для 2.6 лучше вообще не использовать jackstart, а сразу запускать

jackd.

Для первого варианта:
1. выгрузить, если есть модуль capabilities
2. modprobe realtime gid=81
gid=81
- это группа audio, которой принадлежит /dev/dsp*. Где-то тут было (
исправить
) о правах пользователей в ALTLinux на утсройства. Естественно, добавить себя в эту группу, если каким-то образом получается выводить звук без этого :)
  1. собственно команда
jack -R -d alsa
Для второго

Как должно быть ясно из цитаты, запуск можно делать и так и эдак, только в данном случае проверяются дополнительные capabilities - CAP_SETPCAP, которые отсутсвуют в realtime.ko в ядрах wks26-up.alt{2,3,4} (остальное не проверял :). Зато присутсвуют в модуле на http://sourceforge.net/project/showfiles.php?group_id=106645&package_id=114949&release_id=237776. данный модуль необходимо загрузить с параметром allcaps=1. Собственно, описание как делал:

решается просто:

wget http://sourceforge.net/project/showfiles.php?group_id=106645&package_id=114949&release_id=237776

распаковывем, редактируем Makefile на предмет игнорирования commoncaps.c, так как сами ядро не собирали. make KERNEL_DIR=/usr/src/linux-2.6.11-wks26-up/ а там ручками install -m 644 realtime.ko /lib/modules/2.6.11-wks26-up-alt4/kernel/security/

предварительно забакапив старый realtime.ko - так на всякий случай depmod -a modprobe realtime allcaps=1 gid=81

и наконец-то jackstart -d alsa запускается!

  • к сожалению, меня постигло одно разочарование:
    при запуске jackd -R на моей звуковой (Intel AC'97, модуль snd-intel8x0), доставшую меня постояннымми xrun, xmms конечно перестал замерзать по середине песни до полного его выключения/запуска, зато при игре в DiabloII под wine, звук стал поскрипывать и жутко тормозить эту самую дьяблу. jack -R -d alsa под нагрузкой в виде wine сьедал около 50% системного времени процессора. Так что всё равно для меня оптимальным оказалось запускать jack с ключиком -S - процессор не ест, звук дребезжит меньше, xmms работает как должен. Но все равно продолжаю искать варианты, чтобы убрать даже те "заикания", что ещё остались :)
Замечание

при больших нагрузках на звук, jackd -R на моей звуковуже действительно начинает заикаться. При нагрузках на винт (постоянный swap например), jackd -R работает намного лучше jackd -d alsa -S