Слой трансляции DXVK, реализующий Direct3D 8, 9, 10 и 11 поверх Vulkan для Wine и Proton, обновился до версии 3.1. Это первый функциональный выпуск после крупного релиза DXVK 3.0 с новым компилятором шейдеров и переходом на Vulkan 1.4.
В новой версии три заметных нововведения и набор исправлений, часть из которых закрывает давние проблемы конкретных игр. Предыдущее обновление – DXVK 3.0.2 – выходило как набор исправлений без новых функций.
Инкрементальная презентация DXGI
Добавлена базовая поддержка параметров вывода кадра DXGI. Прежде всего это исправляет отрисовку интерфейса: в DXVK называют конкретный случай с VirtualDJ, но те же параметры используют игровые лаунчеры, например Ubisoft Connect.
Если драйвер поддерживает расширение VK_KHR_incremental_present, DXVK передаёт в Vulkan сведения об изменившихся областях кадра. Это может снизить нагрузку на композитор, но разработчики специально оговаривают: гарантии выигрыша нет, всё зависит от драйвера и окружения.
Цели рендеринга на буферах Direct3D 11
Реализована возможность создавать представления цели рендеринга напрямую на буферах. Приём применяют старые игры на движке Frostbite – в том числе Battlefield 3, где исправлена давняя ошибка с некорректной отрисовкой облаков.

Функция работает через эмуляцию: внутри создаётся одномерная текстура. Разработчики прямо предупреждают, что на производительность такой путь не рассчитан – он нужен для правильной картинки, а не для скорости.
Расширения Intel
На видеокартах Intel теперь загружаются библиотеки фирменных расширений Intel. Сама по себе эта правка ничего не меняет для игрока: она нужна, чтобы в будущих версиях Proton появилась поддержка расширений Intel для Direct3D 11.
Механизм тот же, что уже работает для AMDAGS и NVAPI – фирменных расширений AMD и NVIDIA. До сих пор Intel в этом ряду отсутствовала.
Исправления и улучшения
- Улучшена совместимость с внешними оверлеями, которые перехватывают отдельные точки входа DXGI.
- На мобильных видеокартах с тайловой архитектурой области отрисовки в проходах рендеринга точнее подгоняются под реально отрисованную часть изображения.
- Исправлена регрессия тумана в Direct3D 9, ломавшая картинку в Mabinogi, The Witcher 1 и, возможно, других играх.
- Устранён сбой при попытке приложения скомпилировать шейдеры, работоспособные только в Direct3D 12.
- Обойдён сбой из-за нехватки памяти на видеокартах NVIDIA при включённых кучах дескрипторов.
- Ghost Recon Breakpoint – исправлена настройка состояния конвейера для одного из шейдеров, а также некорректная отрисовка воды на видеокартах NVIDIA.
- Mirror's Edge – устранены ошибки проверки Vulkan.
- RaceRoom Racing Experience – исправлена отрисовка веб-интерфейса при запуске под Proton 11.
Вместе с обходом сбоя памяти на NVIDIA появился параметр dxvk.enableNvCudaInterop: им можно принудительно отключить расширения VK_NVX_*. Это помогает при диагностике похожих ошибок нехватки памяти, но одновременно отключает поддержку DLSS.
Полный список изменений опубликован в заметках к выпуску DXVK 3.1 на GitHub.
Как обновить DXVK внутри Proton вручную
Обычно это не требуется: официальный Proton и GE-Proton включают DXVK и VKD3D-Proton в собственные выпуски и подтягивают их обновления сами. Но если хочется опробовать свежий релиз, не дожидаясь Valve, файлы можно заменить вручную – на свой страх и риск.
Скачайте архив нужного релиза со страницы DXVK 3.1 на GitHub, затем найдите каталог установленного Proton.
Для Proton 9 и Proton Experimental:
путь-к-вашей/SteamLibrary/steamapps/common/Proton x.x/files
Для Proton 8 и старше:
путь-к-вашей/SteamLibrary/steamapps/common/Proton x.x/dist
Для GE-Proton (номер версии – свой):
~/.steam/steam/compatibilitytools.d/GE-Proton9-20/files
Внутри находятся каталоги lib и lib64 – для 32-разрядных и 64-разрядных библиотек. В каждом из них откройте wine, а там – каталоги dxvk и vkd3d-proton. Замените DLL-файлы в этих каталогах файлами из скачанного архива, соблюдая разрядность.
Если что-то пошло не так, удалите каталог files (или dist) целиком и запустите проверку целостности файлов в Steam – Proton восстановится в исходном виде.