Bottles — графическая оболочка для Wine и Proton, которая убирает терминал из уравнения: вы создаёте «бутылку», выбираете версию Wine, ставите зависимости и запускаете установщик двойным щелчком. Для игр есть отдельный режим с DXVK, для рабочих программ — обычный. Разберём установку из Flatpak, типовые настройки и диагностику, когда приложение не стартует.
Зачем Bottles, если есть Wine
Wine создаёт для каждой программы отдельный префикс — каталог с эмуляцией диска C, реестром и библиотеками. Вручную этим неудобно управлять: переменные окружения, версии Wine и наборы библиотек легко перепутать. Bottles делает префикс наглядным объектом с именем, настройками и кнопкой запуска.
Под капотом остаётся Wine или Proton. Bottles не обещает совместимость с любой программой и не обходит ограничения драйверов. Он лишь упорядочивает окружение, позволяет откатить версию runner и хранить настройки отдельно для каждого приложения.
Установка из Flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub com.usebottles.bottles
flatpak run com.usebottles.bottles
flatpak override --user --filesystem=/run/media/$USER com.usebottles.bottles
Первая команда подключает Flathub, если он ещё не добавлен. Вторая ставит Bottles, третья запускает. Четвёртая выдаёт доступ к внешним дискам: без неё игра на втором накопителе будет видна установщику, но не приложению. Ту же настройку можно сделать через Flatseal, если не хочется помнить команды. После установки проверьте, что в системе есть рабочие драйверы Vulkan.
Создание бутылки
Нажмите плюс, задайте имя и выберите окружение. Для обычной программы подойдёт Application, для игры — Gaming: там по умолчанию предлагаются DXVK и игровые компоненты. Архитектура win64 нужна большинству современных приложений, win32 — старым установщикам. Версию Windows выбирайте по требованиям программы, а не наугад.
- Имя — латиницей, без пробелов: так проще искать каталог и писать скрипты.
- Runner — сборка Wine или Proton; начинайте с рекомендуемой, меняйте только при проблемах.
- Архитектура — win64 для новых программ, win32 для старых 32-битных.
- Windows — версия, под которую рассчитан установщик.
Не складывайте десять программ в одну бутылку. Разные версии .NET, Visual C++ и реестровые ключи конфликтуют, а диагностировать такую смесь тяжело. Отдельная бутылка на приложение занимает место, зато её можно удалить или откатить, не задев остальные.
Runner и компоненты
Bottles предлагает несколько runner: Vaniglia — чистый Wine, Caffe — сборка с патчами для игр и приложений, Lutris и Proton-GE — варианты для сложных игровых случаев. Для диагностики полезен чистый Wine: если на нём программа работает, проблема в компонентах, а не в приложении.
- DXVK — переводит Direct3D 9–11 на Vulkan, нужен большинству игр.
- VKD3D-Proton — отвечает за Direct3D 12.
- vcredist — библиотеки Visual C++, их часто требует установщик.
- .NET и Mono — только для программ, которым они действительно нужны.
Устанавливайте зависимости по одной и после каждой проверяйте запуск. Комплект «всё сразу» экономит минуту, но ломает совместимость и затрудняет поиск виновника. Если приложение просит перезагрузку, закройте бутылку и запустите её снова, а не перезагружайте компьютер.
Установка программы и ярлыки
Внутри бутылки нажмите Run Executable и выберите установщик. После завершения Bottles предложит создать ярлык: он появится в списке программ бутылки и в общем меню. В свойствах ярлыка можно задать аргументы и рабочую папку — это нужно программам, которые ищут файлы рядом с exe.
Портативные сборки просто скопируйте в подходящий каталог внутри drive_c и создайте ярлык на exe. Если программа обращается к файлам в домашнем каталоге Linux, проверьте права Flatpak: песочница видит не всё. Для сетевых дисков и папок с документами добавьте путь через Flatseal или flatpak override.
flatpak override --user --filesystem=~/Документы com.usebottles.bottles
ls ~/.var/app/com.usebottles.bottles/data/bottles/bottles/*/drive_c
Игры и графика
sudo apt install mesa-vulkan-drivers vulkan-tools
vulkaninfo --summary
glxinfo -B | grep "OpenGL renderer"
Без рабочего Vulkan DXVK не запустится: игра либо не стартует, либо падает с ошибкой создания устройства. vulkaninfo показывает драйвер и доступные расширения, glxinfo — OpenGL. Для видеокарт NVIDIA ставьте проприетарный драйвер, для AMD и Intel обычно достаточно Mesa из дистрибутива.
В настройках бутылки включайте DXVK для Direct3D 9–11 и VKD3D-Proton для Direct3D 12. Счётчик кадров DXVK_HUD в переменных окружения бутылки помогает понять, работает ли вообще ускорение. Античиты с компонентом уровня ядра, такие как Easy Anti-Cheat и BattlEye, в Wine не работают; штатного способа обойти это ограничение нет, и обещать его не стоит.
Файлы и резервные копии
ls ~/.var/app/com.usebottles.bottles/data/bottles/bottles
du -sh ~/.var/app/com.usebottles.bottles/data/bottles/bottles/*
du -sh ~/.var/app/com.usebottles.bottles/data/bottles/runners
tar -czf ~/bottles-backup.tar.gz -C ~/.var/app/com.usebottles.bottles/data/bottles bottles
Здесь лежат префиксы и загруженные runner. Перед копированием закройте Bottles, иначе архив может содержать незавершённые записи реестра. Встроенный экспорт бутылки удобен для переноса на другой компьютер, а полный архив каталога — для восстановления после сбоя. Храните копию на другом носителе: бутылки с играми занимают десятки гигабайт.
Диагностика
flatpak info com.usebottles.bottles
flatpak override --user --show com.usebottles.bottles
journalctl --user -b --no-pager | grep -i bottles
ls ~/.var/app/com.usebottles.bottles/data/bottles/runners
В графическом интерфейсе у каждой бутылки есть журнал запуска — начните с него. Если окно закрывается мгновенно, смотрите последние строки: там обычно не хватает DLL или драйвера. flatpak override --show показывает выданные разрешения, journalctl — системные сообщения Flatpak. Проверка каталога runner отвечает на вопрос, скачалась ли выбранная версия.
Полезно менять одну настройку за раз и записывать, что именно помогло. Откат runner, смена версии Windows, установка vcredist и переключение DXVK — четыре разные гипотезы, и проверять их одновременно бессмысленно.
Типичные ошибки
- Установщик молча закрывается — проверьте архитектуру и журнал бутылки.
- Чёрный экран в игре — нет Vulkan или выбран несовместимый DXVK.
- Не хватает DLL — установите нужный vcredist или .NET, а не весь набор.
- Нет звука — проверьте PipeWire и выбранный драйвер в настройках бутылки.
- Файлы не видны — добавьте путь в разрешения Flatpak.
- Программа требует античит — запустите её в Windows; в Wine это не заработает.
Итог
Bottles делает Wine понятным для тех, кто не хочет жить в терминале: отдельные бутылки, наглядные runner, компоненты и журналы. Начните с одной программы, не устанавливайте лишние зависимости и делайте резервные копии префиксов. Для Steam-игр по-прежнему проще Proton, а Bottles хорошо закрывает нишу отдельных exe, старых программ и лаунчеров вне Steam.