Домой Софт и приложения Linux Приложение Bottles получило экспериментальную поддержку архитектуры ARM64 на Linux

Приложение Bottles получило экспериментальную поддержку архитектуры ARM64 на Linux

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

6
0

Популярное приложение Bottles, предназначенное для упрощения запуска Windows-программ в операционных системах Linux, расширило свои возможности. Проект перестал ограничиваться поддержкой только аппаратного обеспечения x86_64: с выходом тестовых версий 67.3 и 67.4 инструмент получил экспериментальную поддержку платформы ARM64.

Интерфейс приложения Bottles на системе x86_64
Пример интерфейса Bottles версии 67.3, работающего на системе x86_64

Особенности реализации поддержки ARM64

Новый функционал для устройств с архитектурой ARM64, включая ноутбуки на базе ARM и одноплатные компьютеры, реализован через экспериментальный пакет формата cpak. Работа над расширением возможностей системы заняла у команды разработчиков крайне короткий срок: после открытия соответствующего запроса первая тестовая сборка была готова всего через три дня, а уже 7 сентября состоялся официальный релиз обновлений.

Для корректной работы Windows-софта на ARM-системах в Bottles реализованы следующие механизмы:

  • Использование Soda версии 11.0-10 в качестве Wine-основы, поддерживающей нативную архитектуру ARM64 и ARM64EC.
  • Интеграция инструмента FEX, который необходим для выполнения программ, скомпилированных под архитектуры x86 и x86_64.
  • Автоматическая загрузка версией cpak подходящей сборки непосредственно под платформу пользователя.

Выбор формата cpak, базирующегося на контейнерах OCI, объясняется тем, что на данный момент это единственный путь, объединяющий само приложение, Wine и нативную инфраструктуру CI для ARM.

Обновления в составе Soda 11.0-10

Помимо поддержки новой архитектуры, релиз содержит важные исправления и функциональные улучшения. В частности, была устранена проблема, приводившая к аварийному завершению работы Battle.net при запуске из-за некорректной инициализации XInput в отсутствие игрового идентификатора Steam.

Значительные изменения коснулись работы с виртуальной реальностью. Теперь 64-битные OpenXR-приложения для Windows получили возможность прямого подключения к хост-средам исполнения, таким как Monado или WiVRn, без необходимости обязательного запуска Steam или SteamVR.

Установка тестовой версии

На текущем этапе ознакомиться с работой Bottles на устройствах ARM64 можно только через формат cpak. Разработчики отдельно уточняют, что подготовка Flatpak-версии для данной платформы всё еще находится в процессе разработки. Для установки текущей тестовой сборки cpak пользователям необходимо выполнить команду в терминале:

cpak install github.com/bottlesdevs/bottles

Формат cpak принципиально отличается от Flatpak: он рассматривает приложения как OCI-контейнеры и устанавливается непосредственно из Git-репозиториев, не полагаясь на централизованные магазины, специфические среды выполнения или порталы прав доступа, ограничиваясь только манифестом с перечнем разрешений и зависимостей.

Базовый функционал Bottles

Для тех, кто только начинает знакомство с Bottles, стоит напомнить, что программа существенно упрощает жизнь пользователям Linux, скрывая сложный процесс настройки Wine за интуитивно понятным интерфейсом. Утилита позволяет в один клик устанавливать критически важные компоненты Windows, такие как среды выполнения .NET и Visual C++. Система управления позволяет гибко переключаться между различными «раннерами» (исполняемыми средами) Wine и Proton для каждого отдельного «бутыля». Дополнительную ценность представляет поддержка UMU (Unified Wine Launcher), что дает возможность запускать игры Proton вне окружения Steam, а встроенная система снимков состояния (snapshots) позволяет создавать точки отката для любого вашего эксперимента.

Хронология разработки и участия сообщества

Примечательно, что столь масштабное внедрение поддержки ARM64 произошло в рекордные сроки. Инициатором запроса выступил пользователь под ником TCB13: всего через три дня после публикации тикета был готов тестовый кандидат, а сам автор запроса подтвердил работоспособность Bottles на своем собственном ARM64-оборудовании. После этого статус задачи был оперативно изменен на «выполнено», что подчеркивает высокую степень взаимодействия команды Мирко Бромбина с сообществом.

Особенности архитектуры cpak

Важно понимать, почему разработчики сделали ставку именно на cpak в данном тестировании. Как отмечает Мирко Бромбин, этот формат стал единственным решением, где приложение, базовая среда Wine и нативная инфраструктура CI для ARM оказались доступны одновременно. В отличие от привычного Flatpak, который опирается на сложную систему сред выполнения (runtimes) и порталов (portals), cpak работает иначе: он монтирует OCI-образ напрямую, а за разграничение прав доступа и определение зависимостей отвечает компактный манифест. Установка при этом происходит непосредственно из Git-репозитория, минуя использование централизованных магазинов приложений.

Источник: https://itsfoss.com