Состоялся стабильный релиз пакета Wine 11.0, предназначенного для запуска Windows-приложений в Linux и других POSIX-совместимых системах. Это обновление, ставшее результатом года разработки и включающее около 6300 индивидуальных изменений, приносит значительные архитектурные улучшения и повышение производительности. Ключевыми нововведениями стали полностью поддерживаемая архитектура WoW64 и интеграция с ядерным модулем NTSync.
Архитектурные изменения: WoW64 и прощание с 32-битными префиксами
Одним из главных достижений в Wine 11.0 является полная реализация новой архитектуры WoW64 (Windows 32-bit on Windows 64-bit). Эта технология позволяет запускать 32-битные и даже 16-битные Windows-приложения в 64-битном окружении без необходимости в 32-битных системных библиотеках, от которых отказываются многие современные дистрибутивы Linux. Экспериментальная поддержка WoW64 была добавлена еще в версии 9.0, но теперь она достигла паритета по функциональности со старой реализацией.
Важным следствием этого нововведения стал отказ от поддержки чисто 32-битных префиксов, создаваемых с помощью `WINEARCH=win32`. Также был удален отдельный загрузчик `wine64` в пользу единого бинарного файла `wine`, который автоматически определяет необходимый режим для запускаемого приложения.
Производительность и графика: NTSync и улучшения Vulkan
Значительный прирост производительности, особенно для многопоточных приложений и игр, обеспечивает интеграция с модулем ядра Linux NTSync. Этот модуль, доступный начиная с ядра Linux 6.14, позволяет более эффективно эмулировать примитивы синхронизации Windows NT на уровне ядра, снижая накладные расходы.
Графический стек также получил существенные обновления:
- EGL как стандартный бэкенд OpenGL: EGL теперь используется по умолчанию на X11, заменяя устаревший GLX.
- Расширенная поддержка Vulkan: Обновлена поддержка Vulkan до версии 1.4.335. Реализовано аппаратное ускорение декодирования видео H.264 через API Direct3D 11 с использованием Vulkan Video.
- Улучшения Direct3D: Добавлена поддержка эксклюзивного полноэкранного режима, что улучшает работу старых игр.
Кроме того, на системах с архитектурой ARM64 теперь эмулируется размер страниц в 4K, что повышает совместимость с приложениями, рассчитанными на такую конфигурацию памяти.
Другие улучшения
Среди прочих заметных изменений в Wine 11.0 — улучшения в драйвере Wayland, который получил поддержку буфера обмена и методов ввода. Также была усовершенствована поддержка игровых контроллеров, включая джойстики и рули с обратной связью, и реализована начальная поддержка сопряжения устройств Bluetooth в Linux с использованием BlueZ.
Выпуск Wine 11.0 знаменует собой важный шаг в развитии проекта, предлагая пользователям повышенную производительность, лучшую совместимость со старыми и новыми приложениями, а также закладывая основу для будущих версий Proton от Valve. Новая версия уже доступна для загрузки с официального сайта проекта, а бинарные пакеты в скором времени появятся в репозиториях популярных дистрибутивов.