GNOME Boxes на GTK4: Windows 11 ставится без обхода TPM

2026-08-03 216 комментарии
Мейнтейнер GNOME Boxes открыл бета-тестирование приложения, переписанного с нуля за два года. Виртуальные машины с Windows 11 создаются без ручного обхода требований, интерфейс переведён на GTK4 и libadwaita, а новые выпуски будут распространяться только через Flatpak

GNOME Boxes перевели на GTK4 и libadwaita, а установка Windows 11 в переписанном приложении обходится без ручных ухищрений с безопасной загрузкой и модулем TPM. О бета-версии объявили , ставится она из репозитория GNOME Nightly, а не из Flathub, где лежит классическая сборка. Переработка заняла два года: GTK3-виджет вывода на основе SPICE заменён библиотекой libmks, а поставка переводится исключительно на Flatpak. Стабильный выпуск приурочен к GNOME 51, который выйдет 16 сентября 2026 года.

comss img 2026 08 03 171823

Отказ от GTK3-виджета SPICE в пользу libmks

Переход на GTK4 и libadwaita дал современный интерфейс, более отзывчивую отрисовку и плотную интеграцию с рабочим окружением, но главным мотивом мейнтейнер называет упрощение сопровождения кода. Помехой оказался виджет вывода изображения, построенный на SPICE: он был слишком жёстко завязан на устаревшие механизмы ввода и рисования GTK3, и портировать остальную часть приложения без его замены не получалось. Вместо него теперь работает libmks, которая, по оценке проекта, показала себя надёжной альтернативой.

libmks – библиотека GNOME, реализующая связку «мышь, клавиатура, экран» для QEMU через устройство отображения D-Bus. Кадры попадают в приложение на GTK4 напрямую, с импортом буферов DMA-BUF в GdkTexture и передачей областей изменения.

Полностью от технологий SPICE проект не отказался: общий буфер обмена и передача файлов в гостевую систему по-прежнему опираются на агента spice-vdagent, установленного внутри виртуальной машины.

comss img 2026 08 03 171837

Flatpak как единственный канал поставки

Boxes служит надстройкой над libvirt и QEMU, поэтому поведение приложения зависит не столько от него самого, сколько от того, как собран и настроен весь набор компонентов виртуализации в конкретном дистрибутиве. Поддерживать отдельные ветки кода под каждый вариант окружения в одиночку нереально – такой аргумент приводит мейнтейнер проекта. Flatpak позволяет упаковать весь набор компонентов внутрь пакета и подстроить его под сценарии, ради которых Boxes и существует.

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

Windows 11 без ручных обходных приёмов

Безопасная загрузка и виртуальный доверенный платформенный модуль настраиваются автоматически при создании виртуальной машины с Windows 11 – всё, что нужно для прохождения проверки совместимости оборудования, готово сразу после установки приложения. В классической версии этого не было, и обход требований приходилось выполнять вручную; именно эту возможность в старом приложении просили чаще всего.

Доступ к содержимому виртуальной машины через VSOCK

Изоляция Flatpak долго мешала добраться до файлов внутри гостевой системы. В переписанной версии к виртуальной машине подключается устройство VSOCK, и гостевые системы с systemd 256 и новее становятся доступны по SSH напрямую. В этой версии systemd появились systemd-ssh-generator, который сам поднимает сокет-активацию SSH-сервера на VSOCK внутри гостя, и systemd-ssh-proxy на стороне клиента.

VSOCK (AF_VSOCK) – семейство сокетов Linux для обмена данными между хостом и гостевой системой в обход сетевого стека. Адресация ведётся по числовому идентификатору контекста (CID), поэтому соединение не зависит от настроек сети виртуальной машины.

Отдельно появилась начальная поддержка проброса портов: службы, поднятые внутри виртуальной машины, становятся видны с хоста. Пока перечень ограничен SSH и HTTP.

Что уже работает в бете и как её поставить

Возможности классического приложения покрыты почти целиком. На сайте тестовой сборки перечислено следующее:

  • создание виртуальных машин из установочных образов .iso и .img;
  • создание виртуальных машин из готовых дисков .qcow2;
  • отдельный сценарий для гостевой Windows 11;
  • выбор прошивки – UEFI или BIOS;
  • общий буфер обмена и отправка файлов в гостевую систему через spice-vdagent;
  • передача сочетаний Ctrl+Alt+Fn внутрь виртуальной машины;
  • снимки экрана гостевой системы;
  • настройка объёма памяти и основного диска;
  • проброс портов к службам внутри виртуальной машины – пока SSH и HTTP;
  • подключение по SSH через VSock-прокси;
  • выбор загрузочного устройства – файла CDROM или виртуального диска;
  • снимки состояния для отката виртуальной машины;
  • просмотр журналов QEMU;
  • ручная правка XML-описания домена libvirt;
  • доступ к консоли virsh для сложных операций с libvirt.

Установка идёт из репозитория GNOME Nightly. После его подключения нужна одна команда:

flatpak install gnome-nightly org.gnome.Boxes.Devel

Статус сборки – бета, для рабочих задач она не предназначена, а потеря данных в виртуальных машинах не исключена. Перед проверкой рекомендуется сделать резервные копии. Отчёты об ошибках принимаются в репозитории на GitLab; журналы виртуальной машины лежат в свойствах бокса, в разделе журналов.

Заключение

Проверять бету стоит тем, кто держит в Boxes виртуальную машину с Windows 11 или упирался в изоляцию Flatpak при попытке добраться до файлов гостевой системы. Остальным разумнее дождаться сентября: пока сборка тестовая, потеря данных не исключена, а после релиза новые выпуски будут выходить только в виде пакета Flatpak. Работа над приложением ведётся в свободное время, параллельно с сопровождением GNOME Settings, поэтому быстрой реакции на сообщения об ошибках ждать не стоит.

© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте