В системе стоит ALSA с эмуляцией OSS. Почти все игры по дефолту пользуются OSS, а не ALSA, а у OSS полная труба с миксером в 5.1 системе. Как бы их заставить использовать сперва ALSA?
$ cat /usr/bin/aoss
#!/bin/sh
# A simple script to facilitate the use of the OSS compatibility library.
# Usage:
# aoss <command> <command options and arguments>
if [ -d /proc/asound ]; then
prefix=/usr
exec_prefix=${prefix}
LD_PRELOAD=${exec_prefix}/\$LIB/libaoss.so${LD_PRELOAD:+:$LD_PRELOAD} exec "$@"
else
exec "$@"
fi
exit 1
Значит так. Нужно просто не дать увидеть /dev/mixer и /dev/dsp.
Делать предлагаю так:
Взять исходники strace, отпатчить так чтобы перед вызовом open в строчку параметров вызова при первом параметре /dev/mixer или /dev/dsp подставлялась строка с несуществующим файлом, например: '/dev/sda' если у вас нет sata винчестера или '/dev/sdb' если он есть, запускать patched_strace game_to_play.
Вуаля, можно играть спокойно.