Выпуск Wine 4.8. Доступен D9VK 0.10 с реализацией Direct3D 9 поверх Vulkan

Доступен экспериментальный выпуск открытой реализации Win32 API — Wine 4.8. С момента выпуска версии 4.7 было закрыто 38 отчётов об ошибках и внесено 315 изменений.

Наиболее важные изменения:

  • Добавлена поддержка сборки в формате PE для большинства программ;
  • Данные Unicode обновлены до версии 12.0;
  • Добавлена поддержка patch-файлов MSI;
  • В сборочные сценарии добавлена поддержка флага »-fno-PIC» для отключения PIC (Position Independent Code). Сборка без PIC по умолчанию включена для архитектуры i386;
  • Улучшена поддержка джойстика. В dinput добавлена эвристика для определения является устройство геймпадом или джойстиком. В winejoystick добавлена поддержка координат для колеса на джойстике;
  • Закрыты отчёты об ошибках, связанные с работой игр и приложений: Lifeforce, Test Drive Unlimited, ScoobyRom v0.6.x-0.8.x, planetside 2, MidiIllustrator Virtuoso 3, Visual Studio 2017 Installer, Native Access, Universe Sandbox 2, Grand Prix Legends, MS Office 365 installer, NI System Web Server, Star Citizen, Esportal client 1.0.

Дополнительно можно отметить первый выпуск проекта D9VK 0.10, в рамках которого развивается реализация Direct3D 9, работающая через трансляцию вызовов в графический API Vulkan. Проект основан на кодовой базе проекта DXVK, которая была расширена поддержкой Direct3D 9. Отмечается, что в текущем виде D9VK уже может применяться для запуска большой части современных игр на базе Direct3D 9, использующих 2 или 3 версию Shader Model (поддержка Shader Model 1 в D9VK пока не завершена). По сравнению с реализацией Direct3D 9 на базе WineD3D, D9VK позволяет добиться более высокой производительности, так как производительность трансляции Direct3D 9 через OpenGL отстаёт от производительности трансляции через Vulkan.

Тем временем вместо отменённого месяц назад релиза 1.1 опубликован выпуск DXVK 1.1.1, реализации DXGI (DirectX Graphics Infrastructure), Direct3D 10 и Direct3D 11, работающей через трансляцию вызовов в API Vulkan. Выпуск включает все ранее предложенные в ветке 1.1 улучшения и также устраняет ошибки и регрессию, приводящую к зависаниям GPU, из-за которой в своё время было принято решение об отмене релиза.

Кроме того, автор DXVK опубликовал экспериментальный проект DXVK-AGS с реализацией варианта DXVK, поддерживающего расширения AGS (AMD GPU Services) для Direct3D 11, предложенные в AMD AGS SDK. Расширения позволяют использовать некоторые оптимизации, в том числе используемые в играх Resident Evil 2 и Devil May Cry 5. Например, на GPU AMD RX 480 при включении AGS-оптимизаций производительность игры Resident Evil 2 возрастает на 1–3%.

Напомним, что DXVK может применяться для запуска 3D-приложений и игр в Linux при помощи Wine, выступая в качестве более высокопроизводительной альтернативы встроенной в Wine реализации Direct3D 11, работающей поверх OpenGL. В некоторых играх производительность связки Wine+DXVK отличается от запуска в Windows всего на 10–20%, в то время как при использовании реализации Direct3D 11 на базе OpenGL производительность снижается более существенно. Ведётся работа по поставке DXVK как компонента wine-integration, поставляемого в форме отдельной Linux-библиотеки (libdxvk.so), которую напрямую можно использовать в Wine, без необходимости отдельной установки DXVK в форме Windows DLL. Для использования DXVK требуется наличие драйверов с поддержкой API Vulkan, таких как AMD RADV 19.1-git, AMDGPU PRO 18.50+, NVIDIA 418.49.04, Intel ANV 19.1 -git и AMDVLK.

© OpenNet