Выпуск проекта DXVK 1.0 с реализацией Direct3D 10/11 поверх API Vulkan
Доступен выпуск прослойки DXVK 1.0, предоставляющей реализацию DXGI (DirectX Graphics Infrastructure), Direct3D 10 и Direct3D 11, работающую через трансляцию вызовов в API Vulkan. DXVK может применяться для запуска 3D-приложений и игр в Linux при помощи Wine, выступая в качестве более высокопроизводительной альтернативы для предоставляемой в Wine реализации Direct3D 11, работающей поверх OpenGL. Для использования DXVK требуется наличие драйверов с поддержкой API Vulkan, таких как AMD RADV 18.3+, AMDGPU PRO 18.50+, NVIDIA 415.22+, Intel ANV 18.2+ и AMDVLK.
В некоторых играх производительность связки Wine+DXVK отличается от запуска в Windows всего на 10%, в то время как при использовании реализации Direct3D 11 на базе OpenGL производительность отстает на 80%.
Интеграции DXVK в Wine мешает несовместимость лицензий применение разных языков программирования: DXVK использует пермиссивную лицензию zlib и написан на C++, а Wine использует копилефт лицензию LGPL, написан на С и привязан к стандарту C89.
В DXVK 1.0 предложен новый скрипт для настройки, позволяющий переключаться между реализацией DXGI от Wine и встроенной в DXVK реализацией DXGI. Скрипт также предоставляет опцию для установки DLL DXVK в форме символических ссылок без непосредственного копирования файлов. Начиная с Wine 4 возможно применение встроенной в Wine реализации DXGI совместно с DXVK. Использование DXGI от Wine позволяет одновременно обеспечить поддержку Direct3D 10/11 силами DXVK и Direct3D 12 на базе развиваемого проектом Wine пакета vkd3d. При этом реализация DXGI от DXVK является более оптимальной для игр Creed Syndicate, Elite Dangerous, The Vanishing of Ethan Carter Redux, Far Cry 3 (и Blood Dragon), Far Cry 4, Call of Duty World War 2, Need for Speed 2015, Mass Effect Andromeda и большинства игр на базе движка Unreal Engine 4.
Другие улучшения в выпуске DXVK 1.0:
- Добавлена опция "DXVK_HUD=api", обеспечивающего отображение поверх экрана отладочной информации с данными о возможностях D3D, используемых в приложении;
- В фильтре устройств реализовано сопоставление по маскам, которые могут включать лишь часть имени устройства вместо полного наименования, что позволяет обойтись без изменения настроек после обновления драйвера RADV;
- Улучшено качество кода шейдеров, генерируемых для RADV, что позволило немного повысить производительность;
- Внесены изменения, незначительно снижающие нагрузку на CPU в некоторых ситуациях;
- Потенциально улучшена согласованность времени отрисовки кадров в некоторых играх при использовании драйверов NVIDIA;
- Обеспечено применение расширений VK_EXT_memory_priority и VK_EXT_memory_budget для оптимизации потребления памяти и более точной передачи сведений о доступной видеопамяти;
- Производительность игры "Resident Evil 2" повышена примерно на 10% за счет включения опции d3d11.relaxedBarriers;
- Устранены регрессивные изменения, существенно снижающие производительность при использовании проприетарного драйвера AMD;
- Устранена проблема c некорректной обработкой шейдеров SPIR-V, из-за которой изображение в играх на движке Unreal Engine 4 выглядело желтым при использовании проприетарного драйвера AMD;
- Устранены артефакты и проблемы при запуске игр Far Cry 3 / 4 / Blood Dragon, Far Cry Primal, Final Fantasy XIV, Heroes of the Storm, Monster Hunter World и Overwatch.