Я использую Debian Unstable x64, но иногда использую устаревшие приложения или игры, которые доступны только в i386. С простой ALSA (есть только так много PulseAudio, который может принять нормальный человек), приложения i386 не получают никакого звука из-за проблем с плагином.
У меня установлен плагин эквалайзера для ALSA x64, который указан в моем .asoundrc
следующим образом:
ctl.equal {
type equal;
}
pcm.plugequal {
type equal;
slave.pcm "plug:dmix";
}
pcm.!default {
type plug;
slave.pcm plugequal;
}
Это означает, что приложения i386 также пытаются загрузить плагин, дают сбой и вообще не дают никакого звука - выглядит так:
ALSA lib dlmisc.c:254:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/i386-linux-gnu/alsa-lib/libasound_module_pcm_equal.so
Установка плагина для обеих архитектур кажется невозможной по номиналу: они конфликтуют в apt
и используют один и тот же файл в домашнем каталоге для хранения своих настроек (я думаю? .alsaequal.bin
), которые им требуются в разных форматах. (Замена одной версии другой без перемещения файла приводит к ошибке «.alsaequal.bin - неправильная длина».)
Выполнение всех шагов по изменению плагина и конфигурационного файла каждый раз, когда я использую разные архитектуры, является хлопотным и подверженным ошибкам, поэтому я хотел бы как-нибудь избежать этого. На ум приходят два варианта:
Скажите ALSA, чтобы использовать разные rc-файлы для i386 и x64
Явно укажите путь к .alsaequal.bin, что может позволить мне запустить плагин для обеих архитектур. (Это настраивается в .asoundrc, но это просто приводит к варианту 1.)
Я тоже не знаю, как это сделать, к сожалению. Последнее, конечно, предпочтительнее, но поскольку это не так часто, и я использую эквалайзер в основном для музыки и фильмов, было бы хорошо, если бы приложения i386 просто использовали звук напрямую.
Заранее спасибо!