Вышел DXVK 3.0 для запуска Windows-игр на Linux: новый компилятор шейдеров, экономия до 1 ГБ памяти и переход на Vulkan 1.4

2026-06-26 266 комментарии
DXVK 3.0 получил новый компилятор шейдеров dxbc-spirv, снизил потребление памяти в ряде игр, улучшил поддержку Direct3D 8/9 и исправил множество ошибок. Одновременно разработчики отказались от поддержки старых драйверов, сделав Vulkan 1.4 обязательным требованием

Вышел DXVK 3.0 – крупное обновление слоя трансляции Direct3D в Vulkan, который через Wine и Proton широко используется для запуска Windows-игр на Linux. Главные изменения: новый компилятор шейдеров dxbc-spirv, снижение потребления памяти в ряде игр, доработки Direct3D 8 и 9, а также новое требование – драйвер с поддержкой Vulkan 1.4.

Что такое DXVK

DXVK – это слой трансляции, преобразующий вызовы Direct3D 8, 9, 10 и 11 в Vulkan. Он позволяет запускать Windows-игры на Linux с высокой производительностью и входит в состав Proton – системы совместимости Valve для SteamOS и Steam. Обновлённые версии DXVK обычно сначала попадают в Proton Experimental, а затем – в стабильные выпуски Proton.

Новый компилятор шейдеров

Ключевое изменение DXVK 3.0 – переход на dxbc-spirv для компиляции шейдеров. Новый компилятор заменяет прежний код трансляции для всех поддерживаемых моделей шейдеров и устраняет проблемы с отрисовкой, которые ранее были неисправимы – в том числе вызванные неопределённым поведением игр или некорректным кодом от компилятора Microsoft FXC.

  • Новый компилятор генерирует более компактный код SPIR-V, что снижает потребление памяти DXVK в части игр. Например, в Overwatch и God of War экономия может достигать около 1 ГБ.
  • Компиляция шейдеров теперь полностью выполняется в рабочих потоках. Раньше в рабочих потоках выполнялась только компиляция конвейеров Vulkan, а трансляция шейдеров шла в потоке приложения – перенос ускоряет запуск в ряде игр.

Новая модель привязки ресурсов

По умолчанию на поддерживаемых драйверах теперь задействуется расширение Vulkan VK_EXT_descriptor_heap. Оно заменяет модель привязки на основе descriptor buffer, появившуюся в DXVK 2.7.

Модель descriptor heap даёт сопоставимую производительность в сценариях с упором в процессор и снижает потери производительности при упоре в видеокарту на GPU NVIDIA. Для работы функции требуется драйвер NVIDIA версии 595.84 или новее – на более старых драйверах она не используется из-за регрессий производительности.

Улучшения для старых игр Direct3D 8 и 9

DXVK 3.0 заметно дорабатывает поддержку игр на Direct3D 8 и 9:

  • устаревший конвейер с фиксированными функциями (fixed-function) теперь управляется парой ubershader'ов, а оптимизированные варианты компилируются в фоне по мере того, как игры задают разные состояния;
  • в бэкенде D3D9 появилась оптимизация загрузки буферов: часть типов буферов загружается по требованию, а не размещается сразу в видеопамяти, с дополнительной логикой ограничения её расхода;
  • общие ресурсы (shared resources) теперь работают со штатной реализацией Wine и больше не требуют патчей, специфичных для Proton. Прежний механизм пока сохранён для совместимости со старыми версиями Proton, но в будущем будет удалён.

Дополнительно исправлены ошибки валидации Vulkan, программная обработка вершин в играх D3D8/9, расчёт тумана в режиме фиксированных функций, снижены накладные расходы на процессор в распространённых путях D3D9, улучшена загрузка констант шейдеров D3D9, шире задействована асинхронная очередь передачи для загрузки в видеопамять, а также добавлена поддержка функции Class Linkage в D3D11.

Исправления для конкретных игр

  • BioShock Infinite – устранена проблема с пулом сэмплеров, вызывавшая мерцание;
  • Borderlands 2 – исправлено мерцание травы при включённой анизотропной фильтрации;
  • Fallout: New Vegas – исправление depth resolve для некоторых модов;
  • Max Payne – устранён вылет при запуске с несколькими подключёнными мониторами.

>Улучшения получили и другие игры: Colin McRae Rally 3, Counter-Strike: Global Offensive, Insurgency, Railroad Tycoon 3, Sang-Froid: Tales of Werewolves, Splinter Cell 4, The Sims 3, Total War: Pharaoh, Witch on the Holy Night и World of Final Fantasy.

Требование Vulkan 1.4

Важное изменение: DXVK 3.0 теперь требует функции и расширения, появившиеся в Vulkan 1.4. Пользователям нужен драйвер с поддержкой Vulkan 1.4 – для большинства это не проблема, если драйвер не устарел на несколько лет.

Отдельное предупреждение для пользователей Windows с видеокартами AMD RDNA1 и RDNA2. Драйвер AMD для Windows для этих GPU больше не получает обновлений функций, поддерживает только медленную устаревшую модель привязки и имеет серьёзные проблемы производительности с DXVK. Разработчики рекомендуют таким пользователям остаться на DXVK 2.x либо перейти на Linux.

Источник – список изменений DXVK 3.0 на GitHub.

© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте