Bottles — запуск Windows-программ и игр в Linux в отдельных средах

Bottles создаёт для каждой Windows-программы отдельную среду с собственными настройками Wine, библиотеками, версией Windows и графическими компонентами. Такой подход упрощает установку приложений, снижает риск конфликтов между ними и позволяет восстанавливать рабочее состояние после неудачного изменения конфигурации.

Bottles — запуск Windows-программ и игр в Linux в отдельных средах
Bottles — запуск Windows-программ и игр в Linux в отдельных средах

Bottles управляет Wine-префиксами через понятный графический интерфейс

Windows-программы ожидают увидеть привычную файловую структуру, системный реестр, библиотеки DLL и компоненты DirectX. В Linux эту среду формирует Wine — слой совместимости, который переводит обращения Windows-приложения в команды, понятные Linux. Набор каталогов, реестра и параметров Wine называют префиксом.

Bottles использует для префиксов название «бутылки». Каждая бутылка хранит собственную конфигурацию и работает независимо от соседних. Например, бухгалтерская программа может использовать Windows 10 и старую версию .NET Framework, а игра — другой Wine-раннер, DXVK и отдельные параметры графики.

Официальный сайт проекта описывает Bottles как средство для запуска Windows-программ и игр в Linux. Проект распространяется с открытым исходным кодом по лицензии GPL-3.0, использует GTK4 и libadwaita, а исходный код размещён в репозитории bottlesdevs/Bottles.

Разделение по бутылкам решает распространённую проблему ручной настройки Wine. Установка одной библиотеки в общий префикс способна изменить поведение нескольких программ. В Bottles изменение остаётся внутри выбранной среды.

В одной бутылке хранятся:

  • виртуальный диск C:;
  • ветки реестра Windows;
  • выбранный Wine-раннер;
  • версия Windows, которую видит программа;
  • установленные компоненты .NET, Visual C++ и шрифты;
  • параметры DXVK, VKD3D и других графических прослоек;
  • переменные окружения и аргументы запуска;
  • снимки состояния и резервные копии.

Bottles подходит для настольных программ, старых утилит, игровых клиентов, установщиков MSI и EXE. Результат зависит от конкретного приложения, драйверов видеокарты, архитектуры процессора, версии раннера и используемых средств защиты.

Три типа среды задают исходную конфигурацию бутылки

При создании бутылки интерфейс предлагает готовые профили. Они определяют начальный набор компонентов и параметров.

Интерфейс Bottles  - источник
Интерфейс Bottles  - источник

Application ориентирован на настольные программы

Профиль Application рассчитан на офисные программы, редакторы, служебные утилиты и другое прикладное ПО. Bottles подбирает параметры, подходящие для стандартных Windows-приложений, и оставляет пользователю возможность добавить нужные библиотеки.

Такой профиль применим, когда программа работает через обычный установщик EXE или MSI и не требует игровой оптимизации. Примером служит старая версия редактора, клиент корпоративной системы или программа для настройки оборудования.

Gaming включает графические компоненты

Профиль Gaming подготавливает среду для игр. В неё обычно входят настройки, связанные с DXVK и VKD3D.

DXVK преобразует вызовы Direct3D 8, 9, 10 и 11 в Vulkan. VKD3D-Proton выполняет похожую задачу для Direct3D 12. От качества реализации Vulkan в драйвере видеокарты напрямую зависят запуск, производительность и стабильность игры.

Игровая бутылка может использовать MangoHud для вывода частоты кадров и загрузки оборудования, Gamescope для управления окном и разрешением, а также различные версии Wine или Proton. Доступность этих компонентов зависит от сборки Bottles и установленных расширений Flatpak.

Custom оставляет среду почти пустой

Профиль Custom подходит для ручной конфигурации. Пользователь выбирает раннер и самостоятельно добавляет зависимости. Такой вариант полезен при тестировании редкого приложения, повторении известной рабочей конфигурации или переносе параметров из существующего Wine-префикса.

Готовый профиль задаёт стартовую точку. После создания бутылки любой параметр можно изменить отдельно.

Flatpak остаётся основным способом установки Bottles

Разработчики называют Flatpak через Flathub официальным способом установки. Формат поставляет приложение вместе с согласованным набором библиотек и создаёт изолированную среду выполнения. Это уменьшает различия между Ubuntu, Fedora, Linux Mint, Debian, Arch Linux и другими дистрибутивами.

Перед установкой нужен Flatpak. В Ubuntu и Linux Mint пакет устанавливается командой:

sudo apt update
sudo apt install flatpak

В Fedora Flatpak обычно присутствует в системе. Для добавления репозитория Flathub используется команда:

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Установка Bottles:

flatpak install flathub com.usebottles.bottles

Запуск из терминала:

flatpak run com.usebottles.bottles

Официальная страница загрузки указывает, что версия из Flathub поддерживается на основных дистрибутивах Linux и Steam Deck. Репозиторий проекта поясняет, что манифест стабильной Flatpak-сборки определяет исходный код, зависимости, среду выполнения и разрешения каждого выпуска.

Пакеты из сторонних репозиториев дистрибутивов могут отличаться по набору библиотек, разрешениям и скорости обновления. Для воспроизводимой конфигурации документация проекта опирается на Flatpak.

Первая бутылка создаётся за несколько шагов

После первого запуска Bottles загружает сведения о доступных раннерах и компонентах. Затем можно создать отдельную среду.

  1. Нажмите кнопку создания бутылки.
  2. Укажите понятное имя, например OfficeApp или OldGame.
  3. Выберите профиль Application, Gaming или Custom.
  4. Дождитесь создания файловой структуры и установки базовых компонентов.
  5. Откройте бутылку и запустите установочный файл через команду запуска исполняемого файла.
  6. После установки найдите программу в списке приложений бутылки.
  7. При необходимости создайте ярлык в меню Linux.

Имя бутылки лучше связывать с конкретной программой. Несколько похожих приложений можно разместить вместе, если они используют одинаковые зависимости и настройки. Раздельные бутылки дают более предсказуемый результат при несовместимых версиях .NET, Visual C++ или Wine.

Установочный файл должен быть доступен внутри песочницы Flatpak. Bottles использует системный диалог выбора файла и порталы рабочего стола. При ручном ограничении разрешений через Flatseal программа может потерять доступ к каталогу с установщиком.

Раннер определяет поведение Windows-программы

Раннером в Bottles называют конкретную сборку Wine или Proton. Она содержит сам слой совместимости и набор патчей.

Официальная документация упоминает Wine- и Proton-раннеры. В разные периоды проект предлагал Caffe, Vaniglia, Lutris Wine и Proton-GE. Точный список меняется вместе с версиями Bottles и доступными репозиториями компонентов.

Выбор раннера влияет на:

  • поддержку Windows API;
  • работу графики и звука;
  • совместимость с конкретной игрой;
  • обработку контроллеров;
  • полноэкранный режим;
  • поведение защиты от копирования;
  • стабильность установщика.

Переключение раннера внутри существующей бутылки возможно через настройки. Изменение способно исправить запуск или вызвать новую ошибку, поскольку версии Wine отличаются патчами и реализацией отдельных функций.

Для приложения с рабочей конфигурацией Bottles позволяет закрепить используемую версию. Это защищает среду от случайного перехода на сборку с другим поведением.

Менеджер зависимостей устанавливает .NET, Visual C++ и шрифты

Многие Windows-программы состоят из основного EXE-файла и набора внешних компонентов. Установщик может ожидать Microsoft Visual C++ Redistributable, .NET Framework, DirectX Runtime, стандартные шрифты или мультимедийные кодеки.

Bottles содержит менеджер зависимостей. Он выполняет сценарии установки внутри выбранной бутылки и фиксирует изменения только в этой среде. Пользователь выбирает компонент из каталога, после чего Bottles загружает файлы и запускает необходимые команды.

Типичные зависимости:

КомпонентГде встречается
Visual C++ Redistributableигры, редакторы, инженерные программы
.NET Frameworkкорпоративные клиенты, старые утилиты, лаунчеры
DirectX Runtimeигры и мультимедийные приложения
Core Fontsпрограммы с расчётом интерфейса под шрифты Microsoft
WebView и браузерные компонентыавторизация, встроенные страницы, лаунчеры

Установка большого набора зависимостей без связи с требованиями программы усложняет диагностику. Журнал запуска и документация приложения обычно показывают, какой компонент отсутствует.

Некоторые продукты требуют точную версию .NET Framework. Более новая версия может сохранять совместимость только с частью старых приложений. Отдельная бутылка позволяет создать среду с нужным набором библиотек без изменения других программ.

Интегрированные установщики автоматизируют подготовку популярных приложений

Проект поддерживает библиотеку установщиков. Каждый установщик представляет собой набор правил: создание среды, загрузка официального дистрибутива, добавление зависимостей, изменение параметров и регистрация программы в интерфейсе.

Официальная документация Bottles указывает, что такие сценарии выполняют установку тихо и автоматически. Каталог может содержать игровые клиенты, служебные программы и популярные приложения.

Автоматический установщик полезен, когда программа требует несколько последовательных действий. Его результат зависит от актуальности сценария и доступности файлов на сайте поставщика. Изменение ссылки на загрузку, структуры установщика или механизма авторизации способно нарушить сценарий до обновления правил сообществом.

Ручная установка сохраняет значение для программ, отсутствующих в каталоге. В этом случае пользователь запускает EXE или MSI и настраивает среду по журналам ошибок.

Снимки и резервные копии возвращают рабочую конфигурацию

Wine-префикс меняется после установки библиотек, обновления приложения и правки реестра. Bottles включает систему версионирования, которая фиксирует состояние бутылки и позволяет вернуться к предыдущей точке.

Выпуск Bottles 63.1 обновил систему версионирования до FVSv2 0.1.5, улучшил стратегию сохранения и добавил проверку свободного места перед созданием снимка. Эти изменения показывают, что снимок хранит значимый объём данных и требует свободного пространства на диске.

Снимок полезен перед:

  • обновлением критичной программы;
  • сменой раннера;
  • установкой новой версии .NET;
  • изменением DXVK или VKD3D;
  • ручной правкой реестра;
  • экспериментом с переменными окружения.

Резервная копия решает другую задачу: перенос бутылки на другой компьютер или хранение вне каталога Bottles. Размер архива зависит от установленных программ, игр и пользовательских файлов.

Снимок внутри локального хранилища не защищает данные при отказе накопителя. Внешняя копия сохраняет среду за пределами рабочего каталога.

Настройки производительности зависят от Vulkan и драйвера видеокарты

Игровая производительность в Bottles складывается из нескольких слоёв: самой игры, Wine-раннера, DXVK или VKD3D, Vulkan-драйвера, оконной системы и ядра Linux.

Для DirectX 9–11 Bottles может подключать DXVK. Для DirectX 12 используется VKD3D-Proton. Оба компонента требуют корректной поддержки Vulkan. На старой видеокарте или при неполном драйвере игра может запускаться через другой путь, показывать графические артефакты или завершаться с ошибкой.

В системах с двумя графическими адаптерами нужно учитывать, какой GPU выбирает Flatpak-приложение. Ноутбук может запускать игру на встроенной графике, хотя дискретный адаптер доступен. Переменные окружения и механизмы PRIME позволяют направить рендеринг на нужное устройство.

MangoHud выводит FPS, время кадра, загрузку GPU, температуру и использование видеопамяти. Эти данные помогают отделить проблему совместимости от нехватки производительности.

Песочница Flatpak ограничивает доступ к файлам и устройствам

Flatpak изолирует Bottles от части файловой системы. Приложение получает набор разрешений, описанный в манифесте Flathub, и использует порталы для выбора файлов, создания ярлыков и открытия ссылок.

Изоляция снижает прямой доступ Windows-программы к домашнему каталогу. Полной границей безопасности Wine-среда не считается. Запущенный EXE выполняется с правами текущего пользователя в рамках разрешений Bottles и способен работать с доступными файлами.

Расширение разрешений через Flatseal открывает дополнительные каталоги. После такого изменения Windows-программа получает доступ к тем же путям через Bottles.

Версия 64.0 добавила интеграцию Eagle для поиска признаков вредоносных программ и стилеров в исполняемых файлах. Bottles может показывать предупреждение перед запуском отмеченной программы и предлагать анализ после сбоя. Такая проверка основана на сигнатурах и правилах; она не подтверждает безопасность каждого файла.

Источник установщика сохраняет ключевое значение. Подписанный дистрибутив с сайта разработчика даёт больше проверяемой информации, чем файл с неизвестного зеркала.

Совместимость ограничивают драйверы, античиты и системные интеграции

Wine реализует большую часть пользовательского API Windows, но не воспроизводит всю операционную систему. Приложения с драйверами ядра, глубокой интеграцией с Windows Security, аппаратными ключами и закрытыми службами могут не запускаться.

Частые ограничения связаны с несколькими механизмами.

Античиты требуют компонентов Windows

Некоторые игровые античиты используют драйверы ядра или серверную проверку среды. Поддержка зависит от решения разработчика игры и конфигурации античита. Рабочий запуск в Steam через Proton не гарантирует такой же результат для отдельной версии игры в Bottles.

Microsoft Store использует системные службы

Приложения формата UWP и пакеты из Microsoft Store опираются на службы Windows, лицензирование и инфраструктуру магазина. Обычный Wine-префикс не предоставляет полный набор этих механизмов.

Оборудование может требовать фирменный драйвер

Программы для прошивки устройств, диагностики автомобилей, настройки принтеров и работы с USB-ключами часто устанавливают Windows-драйвер. Графический интерфейс способен запуститься, а связь с оборудованием останется недоступной.

Корпоративная авторизация зависит от браузерных компонентов

Клиенты с WebView2, доменной авторизацией, сертификатами и политиками организации требуют дополнительных компонентов. Встроенное окно входа может оставаться пустым или завершать процесс после перенаправления.

Обновление программы меняет результат

Рабочая версия приложения способна перестать запускаться после автоматического обновления. Причиной становится новый API, обновлённый лаунчер, другой механизм защиты или изменённый набор библиотек. Снимок бутылки сохраняет предыдущую конфигурацию, но не всегда возвращает серверную совместимость старого клиента.

Журналы запуска помогают найти конкретную причину ошибки

Сообщение «программа не запускается» объединяет десятки разных ситуаций. Приложение может завершиться из-за отсутствующей DLL, неподдерживаемой инструкции процессора, ошибки Vulkan, недоступного файла или сбоя авторизации.

Bottles позволяет запускать программу через терминал и просматривать вывод Wine. В журнале встречаются строки о загрузке DLL, исключениях, графическом адаптере и системных вызовах.

Полезные признаки:

  • module not found указывает на отсутствующую библиотеку;
  • ошибки Vulkan связаны с драйвером, архитектурой библиотек или выбором GPU;
  • access denied показывает проблему прав или песочницы;
  • сбой wineboot относится к созданию и инициализации префикса;
  • ошибка .NET часто содержит имя сборки или версию CLR;
  • завершение без окна может быть связано с WebView, защитой или отдельным фоновым процессом.

Версия 63.1 исправила зависание при старте, сбой при отсутствии Vulkan, ошибку менеджера зависимостей при разборе пути и логику завершения неактивных бутылок. Версия 63.2 устранила падение GTK при обновлении интерфейса из другого потока. Релизы показывают, что часть проблем связана с самим менеджером и исправляется обновлением Bottles.

Bottles 64 развивает управление средами и проверку исполняемых файлов

В 2026 году проект выпустил серию 62, 63 и 64. На странице релизов GitHub версия 64.1 датирована 30 мая 2026 года.

Ветка 63 перенесла Bottles на новую систему версионирования, добавила поддержку прокси для загрузок, улучшила обнаружение Flatpak-расширений, обработку ярлыков и восстановление реестра. Ветка 64 добавила проверку исполняемых файлов через Eagle, улучшила ярлыки KDE/Wayland и продолжила исправление загрузки компонентов, раннеров и системных интеграций.

Версия 64.1 содержит исправления, связанные с непригодными системными сборками Wine, обозначением Flatpak Wine Runtime, браузерными порталами в отдельных песочницах, Steam Runtime, Wine Mono и обновлением списка программ после удаления.

Развитие Bottles сосредоточено на управлении состоянием бутылок, воспроизводимости конфигурации, интеграции Flatpak и диагностике исполняемых файлов. Совместимость конкретного Windows-приложения продолжает зависеть от Wine, графического стека и внешних сервисов поставщика.

Bottles занимает промежуточное место между Wine и игровыми лаунчерами

Wine предоставляет базовый слой совместимости и инструменты командной строки. Bottles добавляет управление несколькими префиксами, каталог зависимостей, версии раннеров, снимки, установщики и графический интерфейс.

Lutris ориентирован на библиотеку игр и сценарии запуска из разных источников. Heroic Games Launcher сосредоточен на магазинах Epic Games, GOG и Amazon. Steam управляет собственной библиотекой и использует Proton для поддерживаемых Windows-игр.

Bottles охватывает игры и обычные программы. Его модель строится вокруг отдельной среды, которую можно настраивать, копировать и восстанавливать. Пользователь видит параметры Wine-префикса через единый интерфейс и может хранить несколько несовместимых конфигураций одновременно.

Эти инструменты могут использовать одни и те же компоненты — Wine, Proton, DXVK и VKD3D. Различие проявляется в организации библиотеки, автоматизации установки и способе управления окружением.

Граница возможностей Bottles проходит по совместимости приложения с Wine

Bottles 64.1 остаётся активным менеджером Windows-сред для Linux с официальной поставкой через Flathub. Проект объединяет раннеры, зависимости, графические прослойки, установщики, снимки и разрешения Flatpak в одном интерфейсе.

Отдельные бутылки уменьшают влияние настроек одной программы на другую и сохраняют несколько конфигураций на одном компьютере. Успешный запуск всё ещё определяется реализацией Windows API в Wine, поддержкой Vulkan, поведением защиты, внешними сервисами и требованиями к драйверам.

Вопрос о совместимости каждой новой версии программы для Windows остаётся актуальным. Обновление приложения, античита или системы облачной авторизации может повлиять на результат, даже если в самой программе не было изменений.

При использовании материалов сайта необходимо указывать ссылку на TGLand.ru. Если вы копируете фрагменты текста в интернете, прямая гиперссылка, доступная для индексации поисковыми системами, должна быть размещена в начале материала.

Вам также может понравиться