Периодически после установки новых пакетов alsa возникает проблема с потерей звука частью или всеми играми:
ALSA lib conf.c:3314:(snd_config_hooks_call) Cannot open shared library /usr/lib/alsa-lib/libasound_module_conf_pulse.so
ALSA lib control.c:951:(snd_ctl_open_noupdate) Invalid CTL default
Например у меня к таким играм относятся CS 1.6, HL. При этом CS:S работает нормально.
Каждый раз я решаю эту проблему самостоятельно. Вот теперь решил написать тут, может быть разработчики решат её централизованно, если сочтут необходимым.
В любом случае кому-нибудь может стать полезным.
Проблема проявляется на x86-64, связана с 32-х битными библиотеками и описана так же тут
0. Install, if not done, emul-linux-x86-soundlibs
emerge emul-linux-x86-soundlibs
1. Create /etc/ld.so.conf.d/alsa32.conf with the following contents:
/usr/lib32/alsa-lib
2. Create /etc/ld.so.conf.d/alsa64.conf with the following contents:
/usr/lib/alsa-lib
3. ldconfig
4. Open /usr/share/alsa/alsa.conf.d/51-pulseaudio-probe.conf in the editor and remove the "/usr/lib/alsa-lib/" prefix from the libasound_module_conf_pulse.so file.
like this :
hook_func.pulse_load_if_running {
#replace this
# lib "/usr/lib/alsa-lib/libasound_module_conf_pulse.so"
#by this :
lib "libasound_module_conf_pulse.so"
func "conf_pulse_hook_load_if_running"
}
And that should do it.
Наверное было бы логичным внести соответствующие патчи в ebuild’ы пакетов emul-linux-x86-soundlibs и media-plugins/alsa-plugins.
Так как решение не моё, а «нагугленное», то в багтрэккер gentoo я не обращался.