Команда Wine объявляет о выпуске стабильной версии Wine 8.0. Релиз включает в себя более 8600 изменений в результате года разработки. Wine уточняет, что особенностью этого релиза является завершение преобразования в формат PE, на которое ушло 4 года работы.
Что нового в Vine 8.0
PE-модули
- Преобразование PE завершено: все модули могут быть построены в формате PE. Это важная веха на пути к поддержке различных функций, таких как защита от копирования, 32-разрядные приложения на 64-разрядных хостах, отладчики Windows, приложения x86 на ARM и т. д.
- Для переходов PE -> Unix используется специальный диспетчер системных вызовов, что снижает влияние новой архитектуры на производительность, особенно на библиотеки OpenGL и Vulkan.
- Сборка смешанных библиотек Windows/Unix в формате ELF (библиотеки .dll.so) для использования в приложениях Winelib по-прежнему поддерживается, но без 32-разрядных библиотек эти приложения не смогут поддерживать функции, включенные интерфейсом системных вызовов NT, например, WoW64. .
WoW64
- Преобразователи WoW64 поддерживаются почти всеми библиотеками Unix, что позволяет 32-битному PE-модулю вызывать 64-битную библиотеку Unix. После удаления оставшихся прямых вызовов PE/Unix 32-разрядные приложения Windows можно запускать без необходимости использования 32-разрядной библиотеки Unix.
- Когда 32-битный загрузчик Wine не может быть найден, 32-битные приложения запускаются в новом экспериментальном режиме WoW64, похожем на Windows (где 32-битный код выполняется внутри 64-битного хост-процесса).
Графика
- Графические драйверы (winex11.drv, winemac.drv, wineandroid.drv) преобразованы и взаимодействуют с библиотекой Win32u.
- Реализована архитектура процессора печати. Это будет использоваться, чтобы избежать прямых вызовов PE<->Unix в драйвере принтера.
- Эффекты поддерживаются в Direct2D, включая синтаксический анализ описания и несколько основных объектов.
- Запись и воспроизведение списков команд реализованы в Direct2D.
- Драйвер Vulkan поддерживает до версии 1.3.237 спецификации Vulkan.
Direct3D
- Реализованы оптимизации, связанные с ускорением потоковой передачи карт, что может привести к значительному повышению производительности.
- Если отдельный параметр указан как в переменной среде, так и в реестре, первый имеет приоритет.
- База данных видеокарт Direct3D распознает больше видеокарт.
- Средство визуализации Vulkan ограничивает максимальный уровень функций Direct3D в зависимости от доступных функций Vulkan.
Ядро
- Реализована база данных ApiSetSchema, заменяющая все модули переадресации api-ms-*.
Разное
- Библиотека OpenAL больше не используется в Wine 8.0.