LINUX.ORG.RU

Что-то проброс PA->JACK2 не фурычит

 , ,


0

1

Собственно, «сабж». Уже месяц как не могу настроить на «арче» это дело. Установил всё по «вики» (выставив настройки в Qjackctl и Cadence), как положено – и получаю вот это на выходе:

JackPosixProcessSync::LockedTimedWait error usec = 6660 err = Connection timed out
JackEngine::ClientActivate wait error ref = 2 name = qjackctl

И кучу XRUN-ов непонятных:

01:03:01.648 XRUN callback (102 skipped).
01:03:03.655 XRUN callback (99 skipped).
01:03:05.665 XRUN callback (99 skipped).
01:03:07.675 XRUN callback (100 skipped).
01:03:09.684 XRUN callback (99 skipped).
01:03:11.693 XRUN callback (100 skipped).
01:03:13.702 XRUN callback (99 skipped).

и так далее.

Заглядывал в Cadence – пишет, что Pulseaudio is started but not bridged. Полтора месяца назад такого не было, теперь мучаюсь. ЧЯДНТ и в какую сторону копать?

Ах да, ещё постоянно сбрасывается галочка «Use DBus» в Qjackctl. К чему бы это?

sudo cast @AP @jo_b1ack @Iron_Bug @quickquest кто там ещё по «звуку»?

Вот жук, мог бы ссылку на арчевику прилепить, сиди теперь, вспоминай чо как. Теперь пальцем в небо тыкать.

Установил пакет pulseaudio-jack чего-то там?

Раскомментировал строку с модулем jackdbus в /etc/pulse/ (как он там называется, забыл)?

А запускаешь ты jackd, или jackdbus? Надо jackdbus

Если всё так, то может ты пытаешься перезапустить джекдбус, а он висит мертвяком? Он такая тварь, что ему особый килл нужен, иначе он тупо висит и всё.

ChekPuk ★★★
()
Последнее исправление: ChekPuk (всего исправлений: 1)
Ответ на: комментарий от ChekPuk

Установил пакет pulseaudio-jack чего-то там?

Да.

Раскомментировал строку с модулем jackdbus в /etc/pulse/ (как он там называется, забыл)?

load-module module-jackdbus-detect channels=2? Расскоментирован по умолчанию.

А запускаешь ты jackd, или jackdbus? Надо jackdbus

jackd. Что странно, раньше оно работало, да и в «вики» ничего по этому поводу не написано.

Если всё так, то может ты пытаешься перезапустить джекдбус, а он висит мертвяком? Он такая тварь, что ему особый килл нужен, иначе он тупо висит и всё.

Буду смотреть, что там висит.

Вот жук, мог бы ссылку на арчевику прилепить

Ах ты ж лентяй! :)

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от Korchevatel

Они ж одно и то же делают. Или Cadence нужен для управления pulse?
А другие клиенты джека работают?

kott ★★★★★
()
Ответ на: комментарий от kott

Или Cadence нужен для управления pulse?

Да, мост настроить.

А другие клиенты джека работают?

Нет. Даже банальный Audacity не хочет через JACK звук принимать.

Korchevatel ★★★★★
() автор топика

UPDATE! Заработало, надо было просто в Cadence запустить, а не в Qjackctl! Сейчас буду выяснять, что конкретно повлияло.

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от ChekPuk

Ещё один прикол: в Cadence не хочет выбирать звуковуху. Ибо есть внешняя, но видит только внутреннюю (hd:0).

Йопырный тарарай… Потому что Cadence запускает jackdbus!

А какого чёрта Qjackctl этого не делает?! Я же галочки «использовать DBus» и «использовать JACK DBus» выставил!

Юрселф!

NO U!

Korchevatel ★★★★★
() автор топика

UPDATE 2: ложная тревога насчёт Cadence. В логах то же самое, что и через Qjackctl. Буду через консоль пробовать.

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от Korchevatel

Что те галочки про dbus в qjackctl значат - я не знаю, когда-то может включали в первом джеке, но поскольку пульса ждёт jackdbus, а не просто jackd с dbus, то и не занимайся фингёй. В одной из полей настройки в qjackctl можно поменять саму команду. По умолчанию это jackd, просто замени на jackdbus. Почему не так по умолчанию? Понятия не имею. И вапче, раз та такой разэтакий - вот и ставь pipewire, с модулями замены пульсы и джека. Иш ты, Корчеватель раскорчеватель, иш!

ChekPuk ★★★
()
Ответ на: комментарий от ChekPuk

Вот странно. УМВР вообще из коробки с Cadence. Притом что я ничего в конфигах пульсы связанного с dbus не менял. Посмотрел сейчас - детект jack-dbus в default.pa вроде по умолчанию присутствует в арче.

Корчеватель, что-то у тебя недефолтное видимо наконфигурировано, или Qjackctl все портит, потому что по дефолту оно должно работать само.

Я давно говорил, что надо использовать Cadence и не дурить голову :)))

James_Holden ★★★
()
Ответ на: комментарий от James_Holden

А мне наоборот, Каденс этот мозг выносит. И вообще, его же вроде забросили? Или нет?

А qjackctl - он просто есть и в него запихнули опции. И работает он и со вторым и с первым джеком.

А вообще, на следующей неделе придёт мой легиончик, попробую на нё пайпваир. Тета будет приключение.

ChekPuk ★★★
()
Ответ на: комментарий от James_Holden

И, кстати, раньше джекоопция была закоментирована в пульсе, если у него давно система, могло и остаться так

ChekPuk ★★★
()
Ответ на: комментарий от ChekPuk

В одной из полей настройки в qjackctl можно поменять саму команду. По умолчанию это jackd, просто замени на jackdbus.

11:51:44.726 /usr/bin/jackdbus -m -dalsa -dhw:Generic -r192000 -p64 -n2 -Xseq
Cannot connect to server socket err = No such file or directory

Не похоже, чтобы в «арче» должно было быть именно jackdbus.

Почему не так по умолчанию?

Потому, что раньше работало именно с jackd в опциях? Камон, это же Arch.

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от James_Holden

Корчеватель, что-то у тебя недефолтное видимо наконфигурировано

Специально заново накатывал две недели назад, настроил ровно по «вики» – результат тот же. При этом тестировал в начале декабря, всё работало!

по дефолту оно должно работать само

В том-то и дело, что «дефолт» не работает. Что эти укурки на этот раз скрутили, не пойму.

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от Korchevatel

Вот хороший у тебя ник, «Корчеватель», клешнями сломал идеальный арчик :)))

Я щас на работе, не могу посмотреть что как, потом. Но ты уверен, что в процессах не висит jackd, или jackdbus? Или pipewire тебе кровь портит? Или ты создавал какиенить alsaconfы? Аааа! А ты в группе audio?

ChekPuk ★★★
()
Ответ на: комментарий от ChekPuk

ты уверен, что в процессах не висит jackd, или jackdbus?

Не-а, не висит. Специально сейчас смотрел: только останавливаю и закрываю Qjackctl – как jackd благополучно «помирает».

Или pipewire тебе кровь портит?

Нету у меня этой «штанины» – только PussyPulseAudio.

Или ты создавал какиенить alsaconfы?

Нет.

Аааа! А ты в группе audio?

Да. Правда, не знаю, надо ли это с Polkit (или как там эта штука называется).

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от ChekPuk

А. Так 5 лет назад я ещё даже к Ubuntu с трепетом относился, тьфу ты!

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от ChekPuk

Вот хороший у тебя ник, «Корчеватель», клешнями сломал идеальный арчик :)))

Могу, умею, практикую. :)

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от Korchevatel

Хорошо, а если ты выбираешь другую частоту дискредитации? Возьми 48, или 44.1, если заведётся, то или линуксовый драйвер не умеет переключить её на бо́льшую частоту, или порт не может больше.

ChekPuk ★★★
()
Ответ на: комментарий от Korchevatel

Так. Я наконец, добрался до компа. Давай сверим легенды.

  • qjackctl 0.9.0-1
  • jack2 1.9.16-1
  • pulseaudio-jack 14.0-1
  • pulseaudio 14.0-1
  • Ну и на всякие - pipewire 0.3.18-1

только что запустил джек на встройке через qjackctl. Что интересно - на вкладке с командой стоит jackd и поменять я его не могу. Даже при выключенном джеке. Опять перепрятушки у них? И dbus вот так выставлен https://i.imgur.com/BVF4LXL.png

И драйвер midi установлен seq. (вдруг важно)

ChekPuk ★★★
()
Ответ на: комментарий от ChekPuk

Нет же, для «встройки» я выставил «поумолчаночные» «48К-1024». Лучше от этого, естественно, не стало.

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от ChekPuk

Всё аналогично, кроме «пуповера» – 0.3.19-1. Но он не включен, шёл довеском к Kwin.

Что интересно - на вкладке с командой стоит jackd и поменять я его не могу. Даже при выключенном джеке. Опять перепрятушки у них? И dbus вот так выставлен

Так потому и нельзя, что галочка «Use JACK D-Bus» выставлена.

И драйвер midi установлен seq. (вдруг важно)

Аналогично.

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от Korchevatel

Раз всё аналогично, то делаем вывод - с джеком и пульсой порядок (у меня же работает) вопрос о режиме реального времени. Галочка стоит? А если снять?

ChekPuk ★★★
()
Ответ на: комментарий от ChekPuk

Стоит. Если снять – звука всё равно нет, и в списке выводов ничего нового не появляется. Зато пропущенных XRUN-ов нету (как с галочкой).

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от ChekPuk

Так, из того, что отличается:

load-module module-bluetooth-policy **auto_switch=2**

не нужно, «синезубом» не пользуюсь. Да и не влияет ни на что.

load-module module-rescue-streams

в принципе, сгодится на случай, если внешний интерфейс надо отключить, чтобы всё пошло через «встройку». Но не вижу, как это может влиять на само соединение с JACK.

.ifexists module-ladspa-sink.so
.nofail
load-module module-ladspa-sink sink_name=limiter plugin=fast_lookahead_limiter_1913 label=fastLookaheadLimiter control=20,-10,1 sink_properties=device.description=Limiter
.fail
.endif

это плагины пошли. Аналогично предыдущему – не вижу связи со сломанным JACK.

А так вроде всё такое же. Даю сам файл про всякий пожарный: https://pastebin.com/MU1wPGyA

Может, нужно смотреть в настройках именно ALSA или JACK?

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от Korchevatel

Если только ты, несмотря на то, что описываешь, не запускаешь джек как-то иначе и не так и не с такими опциями. Или не там ищешь появившиеся порты. Ведь после того, как пульса подключилась к джеку - потоки надо направить в джексинк в микшере.

А в окне соединений этот пуль показывается?

ChekPuk ★★★
()
Ответ на: комментарий от ChekPuk

А в окне соединений этот пуль показывается?

Не-а. Только System какой-то, хотя раньше видел PulseAudio Sink/Source.

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от Korchevatel

Давайте поговорим о пайпвайре. Недавно проскакивало, что в каком-то дистре он теперь конфликтует и заменяет пульсу. Значит он, а не настоящая пульса может работать на твоей системе. Есть у тебя pipewire-pulse? У меня отобрали комп, не могу посмотреть.

ChekPuk ★★★
()
Ответ на: комментарий от Korchevatel

Если он идёт на смену пульсу - то это логично. Просто если работает всё-таки пайпвайр, то настраивать нужно ЕГО, мы не в ту сторону копали, вот и всё. У меня более старая версия в Манджаре, видимо не рискуют пока, или дело пары недель, но я проверить пока не могу. Но щас накачу пайпвайр с блэкджеком, и посмотрю, чотам. Стейся тюнутым.

ChekPuk ★★★
()

у меня jack1 + pulse без dbus запускаются при загрузке системы. в конфиге пульсы кроме синка и сорса для джека больше почти ничего и нет. скорее всего тебе так не надо, но может быть я смогу что-то тебе подсказать по твоему конфигу. выложи куда-нибудь

aplay -l
arecord -l
pacmd list-cards
pacmd list-modules
ps -LC jackd -o rtprio,cmd
anonymous
()
Ответ на: комментарий от Korchevatel

ну, я так понял, что ты хочешь запустить jack с m-audio. но вижу, что пульса эту карту через udev-detect захавала.

не знаю как jack2 и pulseaudio это разруливают, но первый jack вообще не запускается, если карта занята.

не может быть так, что джек, из-за того, что карта занята, запускается без карточки вообще, а только с пульсовыми портами? и есть ли также пульсовые порты? што выводит jack_lsp -c?

может пульса должна как-то освобождать карту по dbus-сообщению? но, вероятно, на ней в этот момент тогда ничего не должно воспроизводиться или записываться. может какой-то модуль пульсы не отдаёт карту? можно по cat /proc/asound/card1/pcm*/sub0/status статус посмотреть: если устройство в данный момент открыто, то выведется инфа и слово running, а если нет, то выведется closed. через fuser /dev/snd/*, например, можно узнать pid того, кто пользует карту.

в арчвики ещё советуют для низких задержек увеличивать приоритет джека. у тебя сейчас стоит 10, но в рекомендациях указывают 98. в принципе это справедливо для критичного ко времени процесса. в пульсе тоже можешь настроить приоритет повыше. но, если с джеком эффект более-менее ощущается, то с пульсой я такого не заметил. для простоты настройки пользовательских лимитов в арче есть пакет realtime-privileges.

надо оно тебе или нет, но в qjackctl есть подобие удобных карловских графов. для этого нужно зайти в настройки на вкладку misc и в разделе buttons (слева внизу) поставить галку replace connections with graph buttons. после этого в основном окне кнопка connections заменится на graph. но это я для jack1 описал. во втором, думаю, примерно так же будет. но эффекты и плагины там нельзя добавлять, так как это не хост всё-таки. эффекты lv2 я запускаю через jalv. если не хватает, то тогда уже запускаю карлу.

anonymous
()
Ответ на: комментарий от anonymous

не знаю как jack2 и pulseaudio это разруливают, но первый jack вообще не запускается, если карта занята.

Первый JACK как раз только с одной картой и может работать. Потому второй и насилую использую.

не может быть так, что джек, из-за того, что карта занята, запускается без карточки вообще, а только с пульсовыми портами? и есть ли также пульсовые порты?

Да кто его знает. Я в окошко графов смотрел – там ничего о PA нету, хотя раньше (в прошлом году, хе-хе) был и sink, и source.

што выводит jack_lsp -c?

system:capture_1
system:capture_2
system:playback_1
system:playback_2
system:midi_capture_1
system:midi_playback_1

может пульса должна как-то освобождать карту по dbus-сообщению? но, вероятно, на ней в этот момент тогда ничего не должно воспроизводиться или записываться. может какой-то модуль пульсы не отдаёт карту?

Насчёт «не воспроизводиться или записываться» не согласен. Раньше оно в любой момент могло переключаться, это что-то в последние недели две наколдовали.

Но вот насчёт модуля – смотрим вывод fuser /dev/snd/*:

/dev/snd/controlC0:   2383
/dev/snd/controlC1:   2383  2424
/dev/snd/controlC2:   2383
/dev/snd/pcmC1D0c:    2424m
/dev/snd/pcmC1D0p:    2424m
/dev/snd/seq:         2396  2424

2383 – PID «пульсы», 2424 – jackd, 2396 – Qjackctl. Без JACK только первые три строчки (без 2424 в конце второй)

cat /proc/asound/card1/pcm*/sub0/status

С выключённым JACK-ом – всё closed. Но стоит только включить:

state: RUNNING
owner_pid   : 2517
trigger_time: 3024.810842126
tstamp      : 3032.720398891
delay       : 139
avail       : 107
avail_max   : 129
-----
hw_ptr      : 379627
appl_ptr    : 379520
state: RUNNING
owner_pid   : 2517
trigger_time: 3024.810842126
tstamp      : 3032.720447371
delay       : 148
avail       : 140
avail_max   : 140
-----
hw_ptr      : 379660
appl_ptr    : 379776
closed

в арчвики ещё советуют для низких задержек увеличивать приоритет джека

Каламбур, но это не в приоритете. В приоритете – заставить его работать хоть как-то.

realtime-privileges

Уже стоит, и если верить «вики», «дефолтных» значений должно быть за глаза.

replace connections with graph buttons

Включено по умолчанию.

во втором, думаю, примерно так же будет. но эффекты и плагины там нельзя добавлять

Можно. Я так Guitarix подключил и «бжынь-бжынь» фигачил.

Korchevatel ★★★★★
() автор топика
Ответ на: комментарий от Korchevatel

слушай, ну если всё работает, то тогда это пульса скорее всего не создаёт порты для джека. попробуй вручную добавить через pacmd:

pacmd load-module module-jack-sink channels=2 sink_name="pulse_out" client_name="pulse_out" connect=false
pacmd load-module module-jack-source channels=2 source_name="pulse_in" client_name="pulse_in" connect=false
jack_lsp -c

удалить модули в рантайме можно через pacmd unload-module ...

в journalctl ошибок никаких не видно?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.