Релиз DXVK 3.0

Релиз DXVK 3.0

26 июня 2026 года состоялся выпуск открытой библиотеки DXVK 3.0 для трансляции вызовов DirectX 8/9/10/11 в нативные для Linux вызовы Vulkan, позволяющей запускать 3D-приложения в Linux с помощью Wine, выступая в качестве более высокопроизводительной альтернативы встроенных в Wine реализаций Direct3D, работающих поверх OpenGL. Исходный текст проекта написан на C++ и опубликован на GitHub под лицензией zlib. Релиз DXVK 2.0 произошёл в ноябре 2022 года.

Решение DXVK является важной частью программного стека Steam Play (Proton) от Valve для включения игр Windows в Linux. Для использования DXVK требуется наличие драйверов с поддержкой API Vulkan 1.4, таких как NVIDIA 575.51.02, Mesa AMD RADV 25.0, NVIDIA 25.1 и Intel ANV 25.1.

По информации OpenNET, основные изменения и доработки в DXVK 3.0:

исправлены ранее обнаруженные ошибки и баги;

исправлены ранее обнаруженные ошибки и баги;

для всех поддерживаемых шейдерных моделей задействован компилятор шейдеров dxbc‑spirv . Компиляция шейдеров перенесена из основного потока в отдельные потоки. Реализовано кэширование на диске промежуточного представления шейдеров (кэш сохраняется в подкаталоге AppData/Local в текущем префиксе Wine). Использование dxbc‑spirv позволило снизить потребление памяти, сократить время запуска, исключить подвисания и избавиться от ряда проблем, проявлявшихся в играх Postal: Brain Damaged, Snowrunner, Overwatch, God of War, Days Gone и Final Fantasy XIV, которых не удавалось устранить в старом коде трансляции шейдеров;

для всех поддерживаемых шейдерных моделей задействован компилятор шейдеров dxbc‑spirv . Компиляция шейдеров перенесена из основного потока в отдельные потоки. Реализовано кэширование на диске промежуточного представления шейдеров (кэш сохраняется в подкаталоге AppData/Local в текущем префиксе Wine). Использование dxbc‑spirv позволило снизить потребление памяти, сократить время запуска, исключить подвисания и избавиться от ряда проблем, проявлявшихся в играх Postal: Brain Damaged, Snowrunner, Overwatch, God of War, Days Gone и Final Fantasy XIV, которых не удавалось устранить в старом коде трансляции шейдеров;

для D3D9 реализована поддержка шейдерных моделей 1–3;

для D3D9 реализована поддержка шейдерных моделей 1–3;

по умолчанию задействовано Vulkan‑расширение VK_EXT_descriptor_heap . По сравнению с ранее применявшимся хранилищем дескрипторов на базе Vulkan‑расширения VK_EXT_descriptor_buffer, новая реализация обеспечивает тот же уровень производительности операций, выполняемых на CPU, но снижает нагрузку на GPU, особенно при использовании видеокарт NVIDIA. Для работы на системах с видеокартами NVIDIA требуется как минимум версия проприетарных драйверов NVIDIA 595.84. Реализация на базе VK_EXT_descriptor_buffer объявлена устаревшей и будет удалена в одном из следующих выпусков;

по умолчанию задействовано Vulkan‑расширение VK_EXT_descriptor_heap . По сравнению с ранее применявшимся хранилищем дескрипторов на базе Vulkan‑расширения VK_EXT_descriptor_buffer, новая реализация обеспечивает тот же уровень производительности операций, выполняемых на CPU, но снижает нагрузку на GPU, особенно при использовании видеокарт NVIDIA. Для работы на системах с видеокартами NVIDIA требуется как минимум версия проприетарных драйверов NVIDIA 595.84. Реализация на базе VK_EXT_descriptor_buffer объявлена устаревшей и будет удалена в одном из следующих выпусков;

в реализации Direct3D 9 вместо генерации шейдеров на лету теперь используются uber‑шейдеры, оптимизированные версии которых компилируются в фоне, что решило проблемы с подвисанием некоторых старых игр, таких как Unreal Tournament 2004. Обеспечена загрузка буферов по необходимости, как в Windows, вместо заблаговременного размещения в видеопамяти, что устранило аварийные завершения некоторых 32-разрядных D3D9-игр из‑за ограниченного адресного пространства;

в реализации Direct3D 9 вместо генерации шейдеров на лету теперь используются uber‑шейдеры, оптимизированные версии которых компилируются в фоне, что решило проблемы с подвисанием некоторых старых игр, таких как Unreal Tournament 2004. Обеспечена загрузка буферов по необходимости, как в Windows, вместо заблаговременного размещения в видеопамяти, что устранило аварийные завершения некоторых 32-разрядных D3D9-игр из‑за ограниченного адресного пространства;

обеспечена корректная работа мультисэмплинга (MSAA) в режиме D3DRS_MULTISAMPLEANTIALIAS на системах с поддержкой Vulkan‑расширений VK_EXT_sample_locations и VK_EXT_extended_dynamic_state3, что решило проблемы с рендерингом в Anno 1701, Men of War и других играх при включении MSAA;

обеспечена корректная работа мультисэмплинга (MSAA) в режиме D3DRS_MULTISAMPLEANTIALIAS на системах с поддержкой Vulkan‑расширений VK_EXT_sample_locations и VK_EXT_extended_dynamic_state3, что решило проблемы с рендерингом в Anno 1701, Men of War и других играх при включении MSAA;

обеспечена поддержка работы с общими ресурсами (Shared resources) в штатных версиях Wine без дополнительных патчей от проекта Proton;

обеспечена поддержка работы с общими ресурсами (Shared resources) в штатных версиях Wine без дополнительных патчей от проекта Proton;

удалена переменная окружения DXVK_FRAME_RATE, применявшаяся для ограничения частоты кадров (Frame rate limiter), вместо которой рекомендуется использовать внешние ограничители, такие как Gamescope и Mangohud. Для активации встроенного ограничителя можно использовать настройку «dxvk.maxFrameRate = n»;

удалена переменная окружения DXVK_FRAME_RATE, применявшаяся для ограничения частоты кадров (Frame rate limiter), вместо которой рекомендуется использовать внешние ограничители, такие как Gamescope и Mangohud. Для активации встроенного ограничителя можно использовать настройку «dxvk.maxFrameRate = n»;

решены проблемы в играх: Bioshock Infinite; Borderlands 2; Colin McRae Rally 3; Dirt Rally 2; Fallout New Vegas; Insurgency & Counter‑Strike; Jump Space; Max Payne; Railroad Tycoon 3; Resident Evil 6; Sang‑Froid: Tales of Werewolves; Sea Dogs; Splinter Cell 4; The I of the Dragon; The Sims 3; Total War: Pharaoh; Witch on the Holy Night; World of Final Fantasy; Vietcong.

решены проблемы в играх:

Bioshock Infinite;

Bioshock Infinite;

Borderlands 2;

Borderlands 2;

Colin McRae Rally 3;

Colin McRae Rally 3;

Dirt Rally 2;

Dirt Rally 2;

Fallout New Vegas;

Fallout New Vegas;

Insurgency & Counter‑Strike;

Insurgency & Counter‑Strike;

Jump Space;

Jump Space;

Max Payne;

Max Payne;

Railroad Tycoon 3;

Railroad Tycoon 3;

Resident Evil 6;

Resident Evil 6;

Sang‑Froid: Tales of Werewolves;

Sang‑Froid: Tales of Werewolves;

Sea Dogs;

Sea Dogs;

Splinter Cell 4;

Splinter Cell 4;

The I of the Dragon;

The I of the Dragon;

The Sims 3;

The Sims 3;

Total War: Pharaoh;

Total War: Pharaoh;

Witch on the Holy Night;

Witch on the Holy Night;

World of Final Fantasy;

World of Final Fantasy;

Vietcong.

Vietcong.

требования к минимальной версии графического API повышены до Vulkan 1.4 . Для работы теперь требуются как минимум версии драйверов AMD RADV 25.0, NVIDIA 575.51.02, NVIDIA 25.1 и Intel ANV 25.1.

требования к минимальной версии графического API повышены до Vulkan 1.4 . Для работы теперь требуются как минимум версии драйверов AMD RADV 25.0, NVIDIA 575.51.02, NVIDIA 25.1 и Intel ANV 25.1.

← Tech