Доступен (https://github.com/doitsujin/dxvk/releases/tag/v1.0) выпуск прослойки DXVK 1.0 (https://github.com/doitsujin/dxvk/), предоставляющей реализацию DXGI (DirectX Graphics Infrastructure), Direct3D 10 и Direct3D 11, работающую через трансляцию вызовов в API Vulkan. Для использования DXVK требуется (https://github.com/doitsujin/dxvk/wiki/Driver-support) наличие драйверов с поддержкой API Vulkan (https://www.opennet.ru/opennews/art.shtml?num=48227), таких как
AMD RADV 18.3+, AMDGPU PRO 18.50+, NVIDIA 415.22+, Intel ANV 18.2+ и AMDVLK (https://www.opennet.ru/opennews/art.shtml?num=47816).
DXVK может применяться для запуска 3D-приложений и игр в Linux при помощи Wine, выступая в качестве более высокопроизводительной альтернативы встроенной в Wine реализации Direct3D 11, работающей поверх OpenGL. В некоторых играх (https://www.reddit.com/r/wine_gaming/comments/9cvfux/benchma.../) производительность связки Wine+DXVK отличается (https://github.com/doitsujin/dxvk/issues/67) от запуска в Windows всего на 10%, в то время как при использовании реализации Direct3D 11 на базе OpenGL производительность отстаёт на 80%.
Интеграции DXVK в Wine мешает несовместимость лицензий применение разных языков программирования: DXVK использует пермиссивную лицензию zlib и написан на C++, а Wine использует копилефт лицензию LGPL, написан на С и привязан (https://wiki.winehq.org/Developer_FAQ#Does_Wine_allow_C.2B.2...) к стандарту C89.
В DXVK 1.0 предложен новый скрипт для настройки, позволяющий переключаться между реализацией DXGI от Wine и встроенной в DXVK реализацией DXGI. Скрипт также предоставляет опцию для установки DLL DXVK в форме символических ссылок без непосредственного копирования файлов. Начиная с Wine 4 возможно (https://github.com/doitsujin/dxvk/wiki/DXGI) применение встроенной в Wine реализации DXGI совместно с DXVK. Использование DXGI от Wine позволяет одновременно обеспечить поддержку Direct3D 10/11 силами DXVK и Direct3D 12 на базе развиваемого проектом Wine пакета vkd3d (https://www.opennet.ru/opennews/art.shtml?num=48648). При этом реализация 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.
URL: https://www.reddit.com/r/linux/comments/autlrq/dxvk_10_released/
Новость: https://www.opennet.ru/opennews/art.shtml?num=50209