VKD3D-Proton — один из ключевых компонентов Proton, который позволяет Windows-играм корректно работать в Linux и SteamOS. Вышел крупный релиз версии 3.0, включающий поддержку FSR4, переписанный DXBC-бэкенд, улучшения производительности и сотни исправлений для игр.
Пользователям не нужно вручную обновлять пакет — изменения автоматически попадут в будущие версии Proton, которые распространяет Valve.
Главное нововведение VKD3D-Proton 3.0 — полная переработка DXBC shader backend, что улучшает работу режима D3D12 в ряде игр, включая ранее сломанные. Некоторые проекты на DXBC теперь запускаются только на новом пути. Разработчики отмечают, что новый бэкенд протестирован очень широко, поскольку его также использует DXVK.

Ещё одно ключевое дополнение — поддержка FSR4. Она работает даже на старых видеокартах AMD, однако в официальной сборке VKD3D-Proton функция включена только для RDNA4+. Для более старых видеокарт доступен обходной путь через эмуляцию на основе int8/float16 cooperative matrices, однако он существенно снижает производительность. Чтобы включить эмуляцию, нужно собрать проект вручную. Цель разработчиков — интегрировать FSR4 в Proton более корректным способом позже.
Релиз также приносит новые возможности D3D12, прирост производительности и огромное количество исправлений для различных игр.
Полный список изменений VKD3D-Proton 3.0
Новый крупный релиз!
За последний год проект достиг множества важных этапов, что оправдывает повышение основной версии. Прошло довольно много времени с момента предыдущего релиза из-за непрерывной работы над новыми функциями. Теги версий в любом случае условны и появляются, когда в проекте наступает относительное «затишье».
Основные изменения
Переписанный DXBC shader backend
@doitsujin полностью переписал DXBC-бэкенд, заменив устаревший путь vkd3d-shader. Теперь DXVK и VKD3D-Proton используют общий DXBC-фронтенд, что обеспечивает более чистый и компактный промежуточный код. Проект dxil-spirv теперь также поддерживает DXBC.
Множество игр, ранее полностью сломанных из-за багов старого бэкенда, теперь исправлены. Например, Red Dead Redemption 2 корректно работает в режиме D3D12.
Некоторые новые DXBC-игры поддерживаются только на новом пути. Количество регрессий минимально, но мелкие ошибки ещё возможны. Так как этим же бэкендом пользуется DXVK, он уже прошёл масштабное тестирование.
Поддержка FSR4
Добавлена поддержка AGS WMMA intrinsics через VK_KHR_cooperative_matrix и VK_KHR_shader_float8, чего достаточно для реализации FSR4. Шейдеры FSR4 оптимизированы под AMD GPU и могут не работать на других видеокартах.
Добавлен экспериментальный эмуляционный путь на базе int8/float16 cooperative matrices — он работает на старых GPU, но сильно снижает производительность.
Официальная сборка включает поддержку только при наличии нативного VK_KHR_shader_float8, то есть на RDNA4+. Эмуляционный путь можно включить только при сборке из исходников.
Новые возможности
- Экспериментальная поддержка D3D12 Work Graphs (реальных игр пока нет). Эмуляция основана на compute-шейдерах, работает на любых GPU и зачастую даже быстрее нативных драйверов.
- Экспорт
AdvancedTextureOpsSupportedиз SM 6.7 при наличииVK_KHR_maintenance8. - Поддержка sparse TIER_4.
- Обновление экспонируемой D3D12SDKVersion до 618.
- Экспериментальная поддержка opacity micromaps.
- Добавлена поддержка AMD_anti_lag (без учёта frame-generation).
- Поддержка tight alignment из свежего AgilitySDK.
- Поддержка shared resource path в актуальном Wine.
Производительность
- Глобальное улучшение системы пакетирования копирования текстур.
- Имплементирована поддержка
VK_KHR_unified_image_layouts, что уменьшает количество барьеров и ускоряет операции копирования.
- Имплементирована поддержка
- Удалён workaround для новых ядер Linux на AMD (регресс исправлен upstream).
- Использование push-descriptors на Qualcomm GPU для повышения скорости.
- Улучшена обработка GDeflate: теперь используется fallback-шейдер GLSL вместо неудобного HLSL.
- Увеличен DGC scratch size для NVIDIA — предотвращает падения производительности в Halo Infinite.
- Оптимизация для The Last of Us Part I (предпочтение 2D tiling для 3D-изображений). Требуется обновлённый Mesa.
- Улучшена обработка копирования depth/stencil <-> color при поддержке
VK_KHR_maintenance8. - Использование
VK_EXT_zero_initialize_device_memoryдля избежания ручной инициализации.
Исправления
- Исправлено поведение render pass barriers на тайловых GPU (Turnip и др.).
- Исправлены мелкие проблемы корректности, обнаруженные Vulkan-ValidationLayers.
- Актуализировано поведение
PointSamplingAddressesNeverRoundUp. - Исправлены переполнения при обработке огромных (>4 ГБ) sparse-ресурсов.
- Исправлено представление некоторых редких свойств форматов.
- Исправлена обработка NULL-дескрипторов акселерационных структур.
- Исправлены текстурные баги в Helldivers II на NVIDIA.
- Исправлены ошибки с типами памяти на очень старых GPU NVIDIA.
- Исправлена ошибка при наличии root signature в pixel-шейдере.
- ClearUAV-барьеры теперь включены по умолчанию.
- Исправлены shared fences при ненулевом значении по умолчанию (Star Citizen).
- Исправлен редкий дедлок в Ninja Gaiden 4.
- Исправлены проблемы с размещением MSAA-ресурсов.
- Исключено очищение памяти импортируемых ресурсов.
- Улучшена корректность GS/HS/DS corner-кейсов.
- Исправлены вылеты при SizeInBytes = 0 в index-buffer.
- Исправлены дедлоки в VR-interop при нескольких потоках.
- Исправлены stride-ошибки для 16-битных structured buffers.
Временные обходные решения (Workarounds)
- Обход багов синхронизации в FF VII Rebirth.
- Обход ошибок в Monster Hunter Wilds на AMD (проблемы со sparse SMEM).
- Обход багов Starfield вокруг
NonUniformResourceIndex. - Снижение нагрузки при огромных tessellation-факторах в играх Koei Tecmo.
- Исправление текстур в Wreckfest 2 (aliasing при размещении).
- Добавлен пропущенный barrier в Satisfactory.
- Игнорирование NOT_CLEARED flags — Street Fighter 6 ожидает очищенную память.
- Обход проблем RGB9E5 и alpha-mask в Ninja Gaiden 4.
- Добавлен пропущенный barrier в Death Stranding (старый билд).
- Добавлен пропущенный barrier в Wuthering Waves.
- Обход багов в Dune MMO (неинициализированная переменная цикла).
- Отключение UAV-compression в Spider-Man Remastered на RDNA2.
- Обход ошибок Root CBV в Gray Zone Warfare.
- Отключение color compression в Rise of the Tomb Raider.
- Обход багов в Port Royal benchmark.
- Обход зависания GPU в Mafia: Definitive Edition при запуске с FSR (use-after-free).
- Обход проблем RT-пути в Control из-за NaN.
- Обход нарушения спецификаций root-constants в Final Fantasy Tactics.
Прочее
- Добавлено множество новых инструментов отладки.
- Упрощено использование VKD3D-Proton в Linux-нативных проектах.
- Удалён переменный
DXVK_FRAME_RATE, остался толькоVKD3D_FRAME_RATE.
Источник: официальный репозиторий VKD3D-Proton на GitHub
Linux: обзоры и обновления
• AMD Radeon Software for Linux 25.20.3. Полностью открытый графический стек и поддержка RHEL 10
• Mesa 25.3.0: вышел крупный релиз с улучшениями графических драйверов Linux
• Обновление VKD3D-Proton 3.0: Поддержка FSR4, новый DXBC-бэкенд и масштабные улучшения для игр в Linux
• Обновления Linux за неделю: D7VK, Proton 10.0-3, Steam Machine, Plasma 6.4.6 и завершение поддержки 32-битного Firefox
• Как решить ошибку 403 в Fedora, отключить Cisco OpenH264 и включить полный набор мультимедиа-кодеков
• Debian 13.2 выпущен с исправлениями безопасности