Kernels/wks26/JackWithRealtime
Материал из ALT Linux Wiki
(Различия между версиями)
(Import from freesource.info) |
(пометка к викификации) |
||
Строка 1: | Строка 1: | ||
{{MovedFromFreesourceInfo|AltLinux/Kernels/wks26/JackWithRealtime}} | {{MovedFromFreesourceInfo|AltLinux/Kernels/wks26/JackWithRealtime}} | ||
+ | {{викифицировать}} | ||
=== Задача - запустить Jack в reatime режиме. === | === Задача - запустить Jack в reatime режиме. === |
Версия 17:00, 6 октября 2008
Задача - запустить Jack в reatime режиме.
Для этого есть две команды:
- jack -R -d alsa
- 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 на утсройства. Естественно, добавить себя в эту группу, если каким-то образом получается выводить звук без этого :)
- собственно команда
- 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
- второе но:как выводить wav файлы, что можно сказать исторически играются через play/sox, либо aplay, esdplay, etc через jackК сожалению, в дистрибутиве пока не нашёл аналога aplay. есть решение выводить согласно http://www.alsa-project.org/alsa-doc/doc-php/asoundrc.php?module=Generic, но это требует отдельного решения