Приветствую всех! Хотел бы рассказать о решении проблемы, с которой столкнулся сам. Я решил установить старые игры для Linux: Герои 3, Knights and Merchants. Эти игры используют SDL библиотеки для звука и видео. Но с видео все в порядке а звука нет. Это связано с тем что SDL рассчитывает на OSS, а не ALSA или PulseAudio. Для решения проблемы можно использовать несколько способов. Дальше рассмотрим как выполняется настройка звука wine для работы через oss.
Настройка звука в Wine
Есть несколько вариантов решения проблемы нет звука wine с помощью эмуляции OSS в linux:
- установить старую звуковую карту и старую версию системы;
- aoss — перехват обращений через alsa-oss;
- padsp — перехват обращений через pulseaudio;
Ставить старую звуковую карту и старую систему я не буду, а вот эмулировать звук очень даже подходит. Далее, я пошагово объясню как это сделать. Сначала надо узнать установлен ли Pulse Audio:
ps aux | grep pulseaudio
Если используется PulseAudio то вы увидите примерно такой вывод в терминале:
Если выдало ошибку, то у вас ALSA. Дальше нужно зайти в папку с игрой. У меня это ~/knights;
cd /knights
Для PulseAudio команда будет такой:
sudo padsp ./knights
А для Alsa:
sudo aoss ./knights
Все готово, настройка звука Wine завершена, теперь вы можете играть и радоваться звуку. Если у вас x64 разрядная и возникают ошибки, то делаем следующее(только Pulse audio):
sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install libpulse0:i386 libpulsedsp:i386
Копируем исполняемый файл. Я назвал копию padsp32.
sudo cp /usr/bin/padsp /usr/bin/padsp32
Запускаем текстовый редактор от root. Я буду использовать Nano, так как он есть у всех:
sudo nano /usr/bin/padsp32
Заменяем 2 строки в файле padsp32:
на:
Теперь чтобы запустить игру надо использовать эту команду:
padsp32 ./knights
Вместо ./ путь к файлу, а вместо knights название вашего файла.