Wine для игр. Мой рецепт. Linux Mint/Ubuntu.

Предисловие.

Количество нативных игр для Linux растёт с каждым днём и это очень радует! Но существует так же полно хороших игр для Windows, которые либо ещё не портировали на Linux, либо не будут портировать на него вообще. К счастью есть WINE, который неумолимо и активно развивается и в нынешнем своём состоянии позволяет абсолютно комфортно, играть в большинство Windows игр. В этой заметке я не буду описывать его установку, настройку и решение проблем запуска конкретных игр — всё это подробно описано на официальном сайте и обсуждалось на многочисленных форумах. Я же опишу пару приёмов, выполняя которые можно превратить абсолютно не играбельную «из коробки» игру в конфетку! Две основные проблемы, не дающие наслаждаться графически «тяжёлыми» играми под WINE — это скорость, с которой исполняется игра, в не зависимости от мощности «железа» (в частности напрягающие «рывки») и заикающийся/трещащий/щёлкающий звук, сопровождающий аудио составляющую игры. Обе эти проблемы решаемы! Начнём.

Повышаем скорость. Запуск игры в отдельном X-сервере.

Этот приём позволяет сильно повысить скорость исполнения игры, убрать или ощутимо сгладить «рывки», которые убивают всё удовольствие от игры. Работает не зависимо от используемой видеокарты, версии драйверов или окружения рабочего стола.
Итак, нужно активировать возможность запуска X-сервера от имени любого пользователя, а не только пользователя root:

# dpkg-reconfigure x11-common

Добавить пользователя, от имени которого запускается WINE в группу audio:

# gpasswd -a username audio

Где, username — имя пользователя.

Подготовительная работа закончена. Перезагружаем компьютер или перелогиниваемся и переходим непосредственно к запуску игры в новом X-сервере. За это отвечает команда xinit. Синтаксис:

$ xinit /usr/bin/command1 /usr/bin/command2 — :1

Где, :1 — номер дисплея.
Обратите внимание, что команды, выполняемые xinit должны обязательно содержать абсолютные пути к файлам, иначе выполняться не будут.
Пример запуска игры Mass Effect 3 в новом X-сервере:

$ xinit /usr/bin/wine ~/.wine/drive_c/Mass Effect 3/Binaries/Win32/MassEffect3.exe — :1

Преимуществом запуска игры в отдельном X-сервере, так же является то, что при этом WINE не сможет изменить разрешение экран на основном рабочем столе (которое он иногда забывает вернуть назад), что спасёт Ваши нервы, а так же появляется возможность безопасного переключения между рабочим столом и игрой по сочетания клавиш: ctrl+alt+F8 — рабочий стол, ctrl+alt+F9 — игра. В основных редакциях Ubuntu этот процесс проходит гладко, а вот в Mint приводит к падению DE. Не страшно, но и не приятно. Как этого избежать, я пока не нашёл.
Стоит так же отметить, что запуская игру в новом X-сервере, возможна ситуация, когда изображение выводится с сильным смещением и большая часть изображения смещается за пределы экрана. Это лечится заданием в утилите winecfg размера виртуального рабочего стола:

Исцеляем щёлкающий/хрипящий/заикающийся звук в игре.

Думаю, люди не далёкие от Linux догадываются, что проблемы со звуком в WINE вызваны всеми любимым Pulse Audio 🙂 И исцелить «щелкунчика», можно указав WINE, что нужно использовать ALSA вместо PULSE AUDIO. Делается это просто:

$ winetricks sound=alsa

После этого перезагружаемся и наслаждаемся тем, как прекрасно WINE запускает Windows игры 🙂

Автор: Yar4e