Запускаем Windows-игры на Linux с помощью Bottles
Давние подписчики могут помнить, как когда-то в этом блоге рассказывалось про PlayOnLinux. По состоянию на сегодняшний день проект не то чтобы заброшен, но и не сказать, что активно развивается. В связи с чем встает вопрос о поиске альтернатив.
Актуальных лаунчеров Windows-приложений существует больше одного:
- Bottles – минималистичный лаунчер. Работает только на Linux. С магазинами игр не интегрируется;
- Lutris – примерно как Bottles, но интегрируется со Steam, Epic Games Store, Good Old Games и Humble Bundle. Поддерживает эмуляторы консолей;
- Heroic – качественно похож на Lutris, но также работает на Windows и MacOS. Не имеет раннеров для консолей, зато поддерживает облачные сохранения;
Перечисленные лаунчеры являются open-source проектами и могут быть установлены через Flatpak. Последний исключает конфликты зависимостей с другими приложениями. Также Flatpak создает песочницу для игр и лаунчера с гибкими настройками доступа. Например, можно открыть доступ к файловой системе хоста, но только к одному каталогу и только на чтение.
Мне нравятся простые решения, предназначенные для одной задачи, поэтому я выбрал Bottles. Хоть далее речь пойдет об играх, Bottles позволяет запускать и неигровые приложения, такие как LTspice. Получается как CrossOver, только для Linux и бесплатный.
Эксперименты проводились на ноутбуке Xiaomi Redmibook Pro 16 2025 под управлением Ubuntu 24.04 LTS. Ноутбук не позиционируется, как игровой. Он оснащен встроенной видеокартой Intel Arc Graphics 140T. Однако за последние годы разница между встроенными и дискретными GPU размылась. Ноутбук позволяет пройти Cyberpunk 2077 и другие тяжелые игры, пусть и на средних настройках. В целом, графика примерно соответствует уровню PlayStation 4 Pro.
Flatpak и Bottles устанавливаются таким образом:
$ sudo apt install flatpak
$ flatpak remote-add --if-not-exists \
flathub https://dl.flathub.org/repo/flathub.flatpakrepo
$ flatpak install flathub com.usebottles.bottles
GNOME увидит новые desktop-файлы только после перезагрузки. Чтобы не перезагружаться, говорим:
$ ln -s '/var/lib/flatpak/exports/share/applications/'\
'com.usebottles.bottles.desktop' ~/.local/share/applications/
Если в будущем захочется избавиться от Bottles, это делается так:
# удаляем Bottles
$ flatpak uninstall --delete-data com.usebottles.bottles
# удаляем осиротевшие пакеты
$ flatpak uninstall --unused
Для настройки прав доступа Flatpak-приложений есть удобная программа Flatseal:
$ flatpak install flathub com.github.tchx84.Flatseal
Не стану подробно описывать интерфейс Bottles или Flatseal. Во-первых, интерфейс обеих программ прост и понятен. Во-вторых, со временем он может поменяться. Расскажу лишь в общих чертах, что нужно делать. Flatseal на первых порах вообще не запускаем. Когда и если он понадобится, вы это поймете. В Bottles нужно создать новый Windows-контейнер. Контейнеры здесь называются бутылками. Далее закидываем установщик игры в бутылку и запускаем через Bottles.
Результат будет выглядеть приблизительно так:
Bottles поддерживает разные раннеры – Wine, Soda, GE-Proton и другие. Для любого раннера можно выбрать конкретную версию. По умолчанию предлагается Soda. Он представляет собой Wine с патчами портированными из Proton. Работает хорошо. Менять не нужно, если только вы не столкнетесь с конкретной игрой, требующей иного раннера.
Большая библиотека игр без DRM доступна на Good Old Games. Некоторые старые игры выходили забагованными и/или с порезанным контентом. Их на протяжении лет доводили до ума энтузиасты. Исправленные сборки распространяются через RuTracker.
Шрифты в установщиках могут быть мелкими, особенно при разрешении 3072x1920. Возникает соблазн увеличить DPI в настройках бутылки. Если прибегнете к этому приему, не забудьте после установки вернуть прежнее значение. Иначе некоторые игры будут выводиться на дисплей обрезанными.
У меня в системе Dock появляется, когда мышь находится у края дисплея. Перед запуском игры Dock нужно делать нескрываемым, иначе он будет всплывать в игре. Кроме того, в некоторых играх может ошибочно появляться окно «Application is not responding». Данное поведение нужно отключать. Чтобы постоянно не лазить по настройкам, был написан небольшой скрипт, который я повесил на Ctrl+F10.
Dawn of War – Definitive Edition иногда перестает воспроизводить звук. Проявляется в начале сражения, если играть несюжетные стычки за разные фракции. Насколько я смог выяснить, это баг в самой игре. Если столкнетесь, запустите pavucontrol, выберите для Dawn of War другое устройство вывода звука, а затем снова выберите предыдущее. К моменту, когда вы будете читать эти строки, баг может быть устранен, поскольку разработчик продолжает выпускать патчи.
Vampire the Masquerade – Bloodlines в главном меню показывал знаки вопроса вместо русских букв. Выяснилось, что это особенность сборки. Проявляется, если в Windows выбран язык системы отличный от русского. В свойствах бутылки идем в Options → Settings → Compatibility → Language. Выбираем Russian. Проблема решена.
Иных дефектов выявить не удалось, а игр я запускал больше, чем показано на скриншоте. Большинство из них просто работают. Dawn of War и Bloodlines требовали разбирательств, но не больше, чем их было бы на Windows. Теперь я могу пройти игры, которые не запускаются на моем ноутбуке с Windows XP.