Настройка звука в wine через oss

Приветствую всех! Хотел бы рассказать о решении проблемы, с которой столкнулся сам. Я решил установить старые игры для 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:

/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsedsp.so

на:

/usr/lib/i386-linux-gnu/pulseaudio/libpulsedsp.so

Теперь чтобы запустить игру надо использовать эту команду:

padsp32 ./knights

Вместо ./ путь к файлу, а вместо knights название вашего файла.

Выводы

Вот таким способом можно решить эту проблему, но нужно учесть, что эмуляция эта работает стабильно только, если игра рассчитана на вашу архитектуру (например, x32, а у вас x64 - работать не будет) и в вашей системе есть звук! Спасибо за чтение до конца, это моя первая статья не судите строго! Оставляйте комментарии как работает, если возникли ошибки.

Оцените статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (9 оценок, среднее: 4,78 из 5)
Загрузка...

Один комментарий

  1. Konstantin Июль 7, 2017 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: