Проблема с автозапуском JACK вместе с PulseAudio (решено)

Начало Форум Звук Установка ПО, настройка системы Проблема с автозапуском JACK вместе с PulseAudio (решено)

В этой теме 6 ответов, 3 участника, последнее обновление  rusk 7 года/лет, 6 мес. назад.

Просмотр 7 сообщений - с 1 по 7 (из 7 всего)
  • Автор
    Сообщения
  • #1246

    nick87720z
    Участник

    Настройку PulseAudio на JACK выполнил жестко, путем отказа от загрузки модулей alsa в пользу jack (естесственно, для этого у меня отдельный пользователь).
    DE — GNOME…. Хотя какая разница

    Проблема в том, что если запустить jack c помощью dbus (jack_control, patchage-dbus, ladish), то legacy-софт вроде vkeybd, MusE, seq24 и т.п. работает как обычно. А вот если запустить через jackd, то ни jack_control, ничего, что через dbus, просто не видит его.

    Первое решение, работающее через раз или чуть реже: создать скрипт и desktop-пусковик для него в .config/autostart. В скрипте пишем что-то вроде этого:
    [code:n5s9sz1q]sleep ?; killall jack; jack_control start; sleep ?; pulseaudio -k[/code:n5s9sz1q]
    Прикол в том, что никогда не известно, заработает ли jackdbus при запуске или нет.

    Теперь решил докопаться до дна. PulseAudio запускается скриптом из /etc/X11/Xsession.d. Перед ним я поместил следующий скрипт:
    [code:n5s9sz1q]
    $ cat /etc/X11/Xsession.d/65jack-dbus
    # Preload jack-dbus before PulseAudio will start legacy, libjack-only server.

    if test -f ${HOME}/.config/jack-session; then
    jackdbus auto & sleep 0.3; killall jackd
    jack_control start
    jack_control status > ${HOME}/.config/jack-session
    fi
    [/code:n5s9sz1q]
    С целью отладки запускал в концу скрипта urxvt и проверял статус: started (в моем jack-session так и сказано). Закрываю терминал, жду стол, опять открываю терминал, и узнаю, что статус — stopped. Причем, [b:n5s9sz1q]pgrep jackdbus[/b:n5s9sz1q] показывает наличие процесса. jackd — не запущен. Пробую [b:n5s9sz1q]jack_control stop; jack_control start[/b:n5s9sz1q], даже с предварительным [b:n5s9sz1q]jack_control exit[/b:n5s9sz1q]. Помогает только pkill -9. Только после этого демон удается запустить.

    Есть еще идеи, как наладить автозапуск jackdbus всесто jackd?

    #1958

    nick87720z
    Участник

    Если попробовать запустить jackd, то он говорит, что устройство занято. Хотя статус все равно, stopped. Видимо, jackdbus просто не отвечает. Пробовал отключать модули jack в настройках пульса, не помогает.

    #1959

    nick87720z
    Участник

    Похоже, это зависит только от DE. Пробовал еще под Fluxbox, LXDE и XFCE. С первыми двумя все нормально, с XFCE — та же проблема. Пробовал отключить все, что в автозапуске, в GNOME, все равно не помогает. Кстати, если запустить сначала fluxbox, а затем из терминала gnome-session, то jackdbus работает.

    ==============
    Решил проблему путем возврата к проверенной схеме с автозапуском. Только вместо временного «оглушения» pulseaudio выбрал честную выгрузку модулей. В результате у нас есть достаточно времени, чтобы запустить jackdbus и вернуть pulseaudio на место.

    Вот мой скрипт из автозапуска:
    [code:2wek815a]
    #/bin/bash

    ## Unload pulse-jack modules and legacy jackd
    modules_list="`echo "list-modules" | pacmd`"
    line=(`echo "$modules_list" | grep -n "module-jack-" | \
    cut -d ":" -f 1 | tr ‘\n’ ‘ ‘`)

    (( lines = ${#line[*]} — 1 ))
    until (( ${lines} < 0 )); do
    (( linenum=${line[ $lines ]} — 1 ))
    module_id=`echo "$modules_list" | \
    head -n $linenum | tail -n 1 | cut -d ":" -f 2`
    pactl unload-module $module_id
    (( lines— )); done
    killall jackd

    # Load JACK D-Bus
    jackdbus auto & sleep 1
    jack_control start

    pactl load-module module-jack-sink channels=2
    pactl load-module module-jack-source channels=2
    echo ‘set-default-sink jack_out
    set-default-source jack_in’ | pacmd
    [/code:2wek815a]

    #2646

    byte
    Участник

    У меня та же беда. С линуксом, к сожалению, я пока еще на «Вы».
    Скопировал скрипт из последнего поста nick87720z, кинул в .config/autostart/jackdaemon, далее
    [code:246p15hs]# chmod -x jackdaemon[/code:246p15hs],
    ребут и… тишина:|
    Помогите, пожалуйста, знающие люди, а то у меня уже мозг кипит((

    #2647

    rusk
    Участник

    я решил всё исключительно через GUI

    Убираем лишнее из .config/autostart/jackdaemon, добавляем репозитории kxstudio, ставим пакет cadence и его производные: cadence-tools, claudia и так далее. Запускаем Cadence из меню программ, там все галочки есть, и автозапуск JACK и Load studio at startup и автозапуск a2jmidid и автоматическая активация pulse-jack или alsa-jack.

    #2648

    byte
    Участник

    [quote:mjxprwoj][b:mjxprwoj]rusk написал:[/b:mjxprwoj]
    я решил всё исключительно через GUI

    Убираем лишнее из .config/autostart/jackdaemon, добавляем репозитории kxstudio, ставим пакет cadence и его производные: cadence-tools, claudia и так далее. Запускаем Cadence из меню программ, там все галочки есть, и автозапуск JACK и Load studio at startup и автозапуск a2jmidid и автоматическая активация pulse-jack или alsa-jack.[/quote:mjxprwoj]

    Добавил реп ppa:kxstudio-team/ppa, пакет Cadence там не нашел, а гугл выдает ссылки только на пакет для дизайнеров Cadence. Может я чего то не понимаю?

    #2649

    rusk
    Участник
Просмотр 7 сообщений - с 1 по 7 (из 7 всего)

Для ответа в этой теме необходимо авторизоваться.