Приветствую всех! Хотел бы рассказать о решении проблемы, с которой столкнулся сам. Я решил установить старые игры для 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 название вашего файла.
Выводы
Вот таким способом можно решить эту проблему, но нужно учесть, что эмуляция эта работает стабильно только, если игра рассчитана на вашу архитектуру (например, x32, а у вас x64 - работать не будет) и в вашей системе есть звук! Спасибо за чтение до конца, это моя первая статья не судите строго! Оставляйте комментарии как работает, если возникли ошибки.
Я перепробовал кучу вариантов. Лучше всего работает установка утилиты osspd (OSS Proxy Daemon). Просто ставим из стандартных репозиториев и не заморачиваемся. Даже настроек не требуется.
О божечки, это же скриншот игры "война и мир" две тыщи лохматого года от 1С. Эхх, хоть ктото еще её помнит.
Я до сих пор музыку из неё слушаю, нравится очень, классная музычка. Так игру же ещё в онлайн режим перевели разработчики энтузиасты. Сейчас в неё онлайн играют.