Логотип

В Wine 11.0 реализован полностью поддерживаемый режим WoW64 и поддержка NTSync в ядре Linux

В Wine 11.0 реализован полностью поддерживаемый режим WoW64 и поддержка NTSync в ядре Linux

Проект Wine, обеспечивающий совместимость и позволяющий пользователям Linux и macOS запускать приложения для Windows, официально выпустил версию 11.0. Главное изменение — завершение разработки новой архитектуры WoW64, которая теперь полностью поддерживается и считается функционально завершённой.

Новый режим WoW64, впервые представленный в качестве эксперимента в Wine 9.0, теперь поддерживает 16-битные приложения для Windows, заменяет отдельный загрузчик wine64 на единый унифицированный загрузчик и не поддерживает чистые 32-битные префиксы, созданные с помощью WINEARCH=win32. Существующие 64-битные префиксы можно перевести в новый режим, установив WINEARCH=wow64.

Ещё одним важным улучшением стала поддержка NTSync, которая позволяет Wine использовать модуль NTSync ядра Linux, если он доступен. Начиная с ядра Linux 6.14, это значительно повышает производительность примитивов синхронизации Windows, снижая нагрузку в многопоточных приложениях и играх. В Wine 11.0 также добавлена обработка приоритета потоков в Linux и macOS, а также новые барьеры синхронизации в NTDLL.

На уровне интерфейса ядра Wine 11.0 представляет точки повторного анализа NT, поддерживающие точки монтирования и символические ссылки, а также улучшает обработку мониторинга записи в Linux за счёт использования userfaultfd при наличии такой возможности. Системные вызовы NT теперь соответствуют современной нумерации системных вызовов Windows, что повышает совместимость с приложениями, использующими жёстко заданные значения.

В системах ARM64 Wine теперь может имитировать размер страницы 4 КБ на хостах с более крупными страницами, хотя для ресурсоёмких задач по-прежнему рекомендуется использовать собственное ядро 4 КБ.

Читать  Вышла версия Wine 10.17 с EGL-рендерером по умолчанию и обновлённым Mono Engine

Графика и рендеринг значительно улучшились, поскольку в Wine 11.0 устранена зависимость от OSMesa, а рендеринг растровых изображений OpenGL заменён на среду выполнения OpenGL с аппаратным ускорением. EGL теперь является бэкендом OpenGL по умолчанию в X11, а GLX устарел, но всё ещё доступен в качестве запасного варианта.

Что касается поддержки Vulkan, то Wine 11.0 теперь поддерживает Vulkan API версии 1.4.335, реализует несколько расширений Vulkan для Windows и улучшает обработку буферов OpenGL в новом режиме WoW64 через Vulkan, если это возможно.

Также была улучшена интеграция с рабочим столом. В Wine 11.0 улучшено взаимодействие с оконными менеджерами X11 с помощью EWMH, добавлена эксклюзивная поддержка полноэкранного режима и улучшена обработка полноэкранного режима для старых игр с DirectDraw. Экспериментальный драйвер Wayland теперь поддерживает окна с фигурными и цветовыми ключами, буфер обмена, методы ввода и обеспечивает более высокую производительность за счёт обмена данными между процессами через общую память.

Расширяется поддержка Direct3D, включая аппаратное декодирование H.264 с помощью видеоAPI Direct3D 11 через Vulkan Video, новые функции фильтрации сэмплеров и большой набор устаревших функций Direct3D, которые теперь поддерживаются рендерером Vulkan. Хотя Vulkan по-прежнему не является рендерером по умолчанию, пакетные обновления vkd3d-shader улучшают совместимость со старыми приложениями, использующими шейдерную модель 1, 2 и 3.

Читать  VKD3D 1.17 улучшает поддержку Direct3D 12 в Wine и Proton

В Wine 11.0 также достигнут заметный прогресс в работе с устройствами ввода, Bluetooth, сканированием, мультимедиа, DirectMusic и компонентами, связанными с .NET. Среди основных изменений — улучшенная поддержка геймпадов и силовой обратной связи, первоначальное сопряжение по Bluetooth и поддержка BLE GATT в Linux с использованием BlueZ, полная реализация TWAIN 2.0 для сканеров, улучшенные мультимедийные конвейеры и расширенные функции WinRT и WPF.

Наконец, дополнительные обновления коснулись инструментов отладки, встроенных утилит Windows, инфраструктуры разработки и сторонних библиотек. В этом выпуске также улучшена производительность сборки, расширен охват ARM64 CI и обновлены ключевые компоненты, включая vkd3d, FAudio, FluidSynth и libpng.

Для получения дополнительной информации перейдите по ссылке. Исходный код Wine 11.0 можно скачать с страницы проекта на GitLab для тех, кто хочет опробовать его или обновить текущую установку. Ожидается, что бинарные пакеты для различных дистрибутивов будут доступны в ближайшее время.

Редактор: AndreyEx

Рейтинг: 5 (1 голос)
Если статья понравилась, то поделитесь ей в социальных сетях:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Это может быть вам интересно


Загрузка...

Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала