На самом деле это немного неожиданно, но Wine все-таки добрался до OpenBSD. Представлен экспериментальный порт, и предварительное тестирование показывает, что на нем уже можно запускать десятки 64-битных приложений для Windows (в том числе немало игр).
Об этом сообщил разработчик OpenBSD Томас Фройвайн, который опубликовал информацию о предлагаемом портировании в списке рассылки OpenBSD и назвал его, возможно, самым неожиданным предложением по портированию за год.
Как поясняет Фройвайн, работа над портированием Wine на OpenBSD велась всей командой, но основная часть работы была проделана Андреем и Фабьеном. Самым большим препятствием стал регистр %gs сегментов. Он нужен Wine, но OpenBSD не позволяет приложениям устанавливать GSBASE напрямую.
Прорывом стал программный обходной путь, использующий префикс %gs для генерации инструкций, что позволило обойти серьезную проблему совместимости, из-за которой ранее было так сложно установить Wine в ОС.
Результаты уже впечатляют. Команда разработчиков успешно протестировала большое количество 64-битных приложений для Windows, и большинство из них работают вполне нормально. Что еще более удивительно, недавний ремастер The Witcher 3 работает довольно хорошо (хотя, опять же, вам нужно установить vkd3d-proton для работы D3D12 через Vulkan).
Фровейн также опубликовал ссылки на скриншоты и записи игрового процесса, чтобы продемонстрировать прогресс. Он отметил, что игровой процесс на записях может выглядеть не таким плавным, как на самом деле, поскольку они были записаны непосредственно из системы с помощью FFmpeg.
Конечно, ограничения все еще есть. Самое серьезное из них заключается в том, что WoW64 (уровень совместимости Wine для запуска 32-битных приложений Windows в 64-битной среде) пока не работает. Таким образом, порт OpenBSD поддерживает только 64-битное программное обеспечение для Windows.
Встроенный набор тестов Wine также пока отключен. Некоторым тестам требуется доступ к X*-серверу, а некоторые просто зависают (хотя разработчики не сталкивались с этим при тестировании большого количества игр).
Всем, кто хочет поэкспериментировать с портом, Фровейн рекомендует начать с 64-битной версии Notepad++ (довольно легкого приложения для Windows). Он также предлагает запускать Wine под отдельной учетной записью непривилегированного пользователя, пока не будут внедрены дополнительные меры безопасности.
Важно отметить, что Wine еще не был официально включен в коллекцию портов OpenBSD. Текущая версия находится в разработке и предлагается разработчикам OpenBSD для тестирования, получения отзывов и проверки.
Тем не менее, учитывая очень строгую модель безопасности OpenBSD и технические сложности, связанные с этой задачей, запуск Wine с современными приложениями для Windows и даже с некоторыми требовательными играми — это значительное достижение. Если в конечном итоге Wine попадет в официальную коллекцию, это в какой-то мере расширит спектр программного обеспечения, доступного пользователям OpenBSD.
Подробнее об этом читайте в анонсе Фровейна.

