[РЕШЕНО] ALSA + JACKD (FFADO) и Steam. Непонятные проблемы. Возможно ли подружить?

Всем доброго времени суток.
Проблема довольно обширная, сам я нуб и лишь осваиваю как арч так и линукс в целом, и у меня уже пухнет голова от целого дня, проведенного в попытках данную проблему решить, так что пардоньте меня за тафтологию либо за упущение какой-либо информации. Заранее благодарю тех, кому под силу окажется прочитать сии мемуары.

В общем я довольно долгое время пытался завести Focusrite Saffire Pro 14 на арче.
На днях мне это удалось, да так, что уже и не понятно, в чем были проблемы изначально. Работает все это дело через jackd (qjackctl) по firewire в реалтайме, с поднятым ffado-dbus-server.
Звук работает без проблем, за некоторыми исключениями.
В плеерах, браузерах и, к примеру, в Xonotic звук работает. В том же Warsow, чтобы накрутить звук, пришлось снести pulseaudio (в котором я и не нуждаюсь). И тут я подумал, что наконец решил все проблемы, пока не открыл Steam.
Имею в виду я линуксовский стим, ни о каких вайнах речи не идет. Насколько мне известно стим дружит только с pulseaudio. Во всяком случае со звуком в нем у меня действительно проблемы. В самом клиенте стима никакие звуки не функционируют, ровно как и в играх. В каких-то случаях помогает прописать в параметрах запуска
LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" %command%
в каких-то случаях звука как не было, так и нет. Пробовал я и другие варианты, найденные на просторах интернета, в том числе запуск стима следующим образом
SDL_AUDIODRIVER=alsa steam
отдельно игры таким образом запускать я тоже пробовал.
В случае с игрой Eldritch в консоли я обнаружил несколько особенностей.
Во-первых, в ней используется libfmod, который стучится по дефолту в pulseaudio, благодаря чему успешно фэйлится.
Во-вторых, при SDL_AUDIODRIVER=alsa, после попыток подрубить pulseaudio он выдавал вот такое дело
Cannot open shared library /usr/lib32/alsa-lib/libasound_module_pcm_jack.so
В обоих случаях игра функционировала нормально, без звука разумеется.
Сам же libasound_module_pcm_jack.so находился на своем месте, я даже перенакатывал lib32-alsa-plugins и alsa-plugins по несколько раз.
В процессе танцев с бубном эта ошибка перестала появляться в консоли, и совсем не понятно, решена ли проблема (и каким образом), так как в консоли теперь ни следа об обращении к libasound_module_pcm_jack.so.

Разумеется, далеко не факт что проблема вообще в этом. Одно я могу сказать точно - пока стим запущен, консоль jackd регулярно выдает XRUN callback'и и unknown request'ы, особенно при запуске игр. Вот вам "вырванный из контекста" консоли пример:
Cannot read socket fd = 59 err = No such file or directory
20:39:55.625 XRUN callback (1).
20:40:23.377 Смена графа соединений JACK.
20:40:23.529 Смена соединений JACK.
20:40:39.320 XRUN callback (2).
20:40:43.661 XRUN callback (3).
CheckSize error size = 1634954337 Size() = 81
CheckRead error
Unknown request 1667328557
Unknown request 1634872939
Unknown request 1667328631
Unknown request 909004907
Unknown request 774911797
Unknown request 50
CheckSize error size = -448991334 Size() = 8
CheckRead error

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

В принципе при запуске всех игр, в которых нету звука, jack орет в консоли подобные вещи:
CheckSize error size = 1634954337 Size() = 81
CheckRead error
Unknown request 1667328557
Unknown request 1634872939
Unknown request 1667328631
Unknown request 875450475
Unknown request 775369529
Unknown request 48
CheckSize error size = -373723238 Size() = 8
CheckRead error
Unknown request 3921217273
Unknown request 3921305588
Unknown request 4293736968
Unknown request 3921305588
Unknown request 108328
Unknown request 1986356271
Unknown request 1835561775
Unknown request 2095
Unknown request 256
Unknown request 4294967040
Unknown request 511
Cannot read socket fd = 53 err = No such file or directory

Я уже писал об этом выше, однако я хочу сконцентрировать на этом внимание.
как мне кажется тебе нужно подружить пульс с джеком.
сам же пишешь
lyghters
Насколько мне известно стим дружит только с pulseaudio.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Встретился на BBS топик с похожей проблемой (ошибки почти один в один....) и ТС помогло решение, которое применил и ты (в части прописки в параметрах запуска LD_LIBRARY_PATH= …. ), поэтому соглашусь с высказыванием nafanja про pulseaudio
Вдобавок к этому ….. еще встретилось пояснение по поводу checkSize erros -
"The checkSize erros usually happen when there's errors sending or receiving data from the JACK server."

PS..... для большей информативности (куда лезет, чего не хватает и.т.д. и.т.п. ) можно потрейсить (strace, sysdig) …...... может натолкнет на какие-нибудь мысли.....
Ошибки не исчезают с опытом - они просто умнеют
Решил проблему.

Как бы мне не хотелось, но я все же поставил себе pulseaudio.
Вместо qjackctl теперь использую Cadence.
Перед использованием удалил .asoundrc, в котором было следующее:
pcm.rawjack {
    type jack
    playback_ports {
        0 system:playback_1
        1 system:playback_2
    }
    capture_ports {
        0 system:capture_1
        1 system:capture_2
    }
}

pcm.jack {
    type plug
    slave { pcm "rawjack" }
    hint {
        description "JACK Audio Connection Kit"
    }
}

pcm.!default {
    type plug
    slave { pcm "rawjack" }
}
удалил я его, так как Cadence отказывался менять настройки alsa бриджа (файл был только для чтения)
В cadence подключаюсь все так же по firewire
alsa bridge стоит ALSA > PulseAudio > JACK
pulseaudio bridge запущен и стартует по дефолту

Отказаться от пульсы не получилось, но в данной связке все работает, так что тему можно считать закрытой.
Может кому-нибудь поможет. Всем спасибо.
 
Зарегистрироваться или войдите чтобы оставить сообщение.