Звук в Wine: как заставить работать старые игры на Linux

Звук в Wine: как заставить работать старые игры на Linux

Погружаетесь в ностальгию по старым играм, но вместо битвы с монстрами сражаетесь с тишиной? Знакомая ситуация: «Герои 3» или «Knights and Merchants» запускаются, а звука нет. Это не ваша вина, а особенность работы старых SDL-библиотек, которые упрямо ищут устаревшую систему OSS, а не современные ALSA или PulseAudio.

Не спешите отчаиваться и искать древнее железо! Есть куда более элегантное решение, которое не потребует переустановки системы. Мы нашли рабочий способ заставить звук работать даже в самых капризных тайтлах.

В этом материале вы получите четкое и простое руководство. Мы разберем, как определить, какая звуковая подсистема у вас работает. Вы узнаете, какую волшебную команду нужно ввести для PulseAudio, а какую — для ALSA, чтобы звук наконец-то ожил.

Столкнулись с ошибками на 64-разрядных системах? И это не проблема! Мы подготовили отдельное решение для такой архитектуры. Вам не придется ломать голову — просто выполните несколько последовательных шагов по установке нужных библиотек и настройке эмулятора.

Этот метод проверен на практике и позволяет наслаждаться полноценным игровым процессом. Готовы услышать долгожданные саундтреки и звуковые эффекты? Тогда переходите к полной статье — там вас ждет детальная пошаговая инструкция, которая вернет звук в ваши игры!


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

Звук в Wine: как заставить работать старые игры на Linux

Если выдало ошибку, то у вас 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

Звук в Wine: как заставить работать старые игры на Linux

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

Звук в Wine: как заставить работать старые игры на Linux

Выводы

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

Оставить комментарий


Кликните на изображение чтобы обновить код, если он неразборчив