Не работает dmix в ALSA с эквалайзером
Приветствую, товарищи. Поставил себе Void Linux, планирую использовать в качестве основной системы. Возник интерес настроить звук без мам пап и кредитов PulseAudio или Pipewire. При этом есть необходимость иметь эквалайзер, alsaequal не подошёл, так как имеет лишь 10 настроек, на другой системе через EasyEffects в эквалайзере настроено 13.
После краткого поиска в интернете, нашлось другое решение в лице dsp. Установил, настроил по инструкции в README, вылезла проблема - не работает звук с нескольких программ, только с одной. Очевидно, что надо вручную настроить dmix, с горем пополам впихнул его в конфигурацию (конфигурационные файлы прилагаются), заработало, однако вскоре обнаружилось, что иногда вывод ломается по непонятной причине. А случай в целом пока только один, в стиме и играх из него. Вывод ломается в ненативных играх, то есть запускающихся через Proton, и в некоторых нативных (например, Descenders, в интро звук есть, в самой игре нет), в самом клиенте стима звука тоже нет, независимо от того как он запущен, с apulse или SDL_AUDIODRIVER=alsa.
Проверял звук с выключенным плагином, только с dmix, всё работает как положено, хотя было предположение что не указываю какие-то параметры, которые использует конфигурация ALSA по-умолчанию.
По итогу вопрос, может быть кто-то сможет подсказать, что не так? Может быть я что-то не так делаю? Может настраиваю как-то не так, может dmix надо запихнуть в какое-то другое место в конфигурации, указать дополнительные параметры. Или же проблема в самом плагине и надо ждать исправления проблемы разработчиком?
Конфигурационные файлы:
.asoundrc:
pcm.snd_card {
type hw
card "AUDIO"
}
ctl.!default {
type hw
card "AUDIO"
}
capture.pcm {
type plug
slave {
pcm {
type hw
card "Generic"
device 0
}
}
}
pcm.dmixer {
type dmix
ipc_key 1024
# ipc_key_add_uid 0
# buffer_size 16384
slave {
pcm "snd_card"
# rate unchanged
# channels unchanged
}
}
pcm.dsp {
type plug
slave {
format FLOAT
rate unchanged
channels unchanged
pcm {
type ladspa
path "/usr/lib/ladspa"
playback_plugins [{
label "ladspa_dsp:epz"
}]
slave.pcm {
type plug
slave {
pcm "dmixer"
# rate unchanged
# channels unchanged
}
}
}
}
}
pcm.!default {
type copy
slave.pcm "dsp"
}
config_epz (конфиг с настройками эквалайзера):
input_channels=1
output_channels=1
LC_NUMERIC=C
effects_chain=gain -5.9 lowshelf 110 0.71q +5 eq 20 2q +0.5 eq 57 0.6q +4.1 eq 190 1q -2.7 eq 260 1.7q -0.4 eq 710 1q +1.2 eq 1.2k 2q -0.6 eq 1.7k 1.4q -3.4 eq 3.3k 2q +4.1 eq 4.6k 2q -3.7 eq 6.4k 2q +6.6 eq 7.6k 1.3q +2.4 eq 13k 2q +4.3 eq 15k 0.9q -12.0