VKD3D-Proton

VKD3D-Proton логотип

VKD3D-Proton — это реализация Direct3D 12 на Vulkan, разработанная как часть экосистемы Proton от Valve. Проект представляет собой форк оригинального VKD3D с множеством улучшений и оптимизаций, специально предназначенных для запуска компьютерных игр.

VKD3D-Proton начал развиваться как ответ на растущую популярность DirectX 12 среди игровых разработчиков и необходимость поддержки этой технологии в Proton. Проект активно развивается с 2018 года и стал ключевым компонентом для запуска современных AAA-игр на Linux через Steam Play.

VKD3D-Proton работает путем перевода вызовов Direct3D 12 в эквивалентные команды Vulkan, обеспечивая высокую производительность и широкую совместимость. Проект реализует такие сложные функции D3D12 как ray tracing, mesh shaders и variable rate shading через расширения Vulkan.

Для работы VKD3D-Proton требуется современная система с полной поддержкой Vulkan 1.3 и соответствующими расширениями.

Минимальные системные требования

Операционная система: Linux с ядром 5.13+ или Windows 10+ (для Proton на Windows)

Графический API: Vulkan 1.3 с поддержкой необходимых расширений

Графические драйверы: NVIDIA 510.60+, AMD Mesa 22.0+ или Intel Mesa 22.0+

Процессор: 64-битный x86-64 или ARM (для Steam Deck)

Память GPU: 4 ГБ для большинства игр, 8+ ГБ для современных AAA-тайтлов

Для оптимальной работы рекомендуется графическая карта с поддержкой Vulkan ray tracing (NVIDIA RTX 2000+, AMD RX 6000+) и последние версии драйверов со всеми Vulkan расширениями.

VKD3D-Proton — это активно развивающийся проект с открытым исходным кодом, который обновляется несколько раз в месяц. Valve напрямую финансирует разработку и сотрудничает с производителями GPU для улучшения совместимости и производительности.

Ключевые технологии и возможности

Полная реализация D3D12: Поддержка всех основных функций Direct3D 12 API, включая command lists, pipeline state objects и resource binding.

Ray tracing (DXR): Реализация DirectX Raytracing через Vulkan ray tracing расширения (VK_KHR_ray_tracing_pipeline).

Mesh shaders: Поддержка mesh и amplification shaders через расширения Vulkan.

Variable Rate Shading (VRS): Реализация переменной частоты затенения для оптимизации производительности.

DirectStorage: Экспериментальная поддержка DirectStorage 1.1 для быстрой загрузки ресурсов с NVMe накопителей.

Интеграция с экосистемой

Proton: Является стандартным компонентом Proton Experimental и Proton GE, автоматически используется для D3D12 игр.

Steam Deck: Критически важный компонент для запуска современных игр на портативной консоли Valve.

DXVK: Работает в паре с DXVK (для D3D9-11) в рамках единого стека перевода DirectX → Vulkan.

Wine: Интегрирован с Wine как часть реализации Direct3D 12.

Производительность и оптимизации

Асинхронная компиляция шейдеров: Технология, позволяющая компилировать шейдеры в фоновом режиме, уменьшая статтеры при первом запуске игры.

Pipeline библиотеки: Кэширование скомпилированных pipeline states для ускорения последующих запусков.

Оптимизация памяти: Продвинутое управление памятью GPU с поддержкой residency и heap management.

Многопоточность: Полная поддержка многопоточного рендеринга D3D12 с эффективной синхронизацией.

Поддерживаемые игры и приложения

AAA-игры: Elden Ring, Cyberpunk 2077, Horizon Zero Dawn, God of War и другие современные релизы.

Игры с ray tracing: Control, Metro Exodus Enhanced, Doom Eternal с RT.

Бенчмарки: 3DMark, Unigine Superposition, различные демонстрационные программы.

Профессиональные приложения: Некоторые CAD и DCC приложения с поддержкой D3D12.

VKD3D-Proton — это технологический прорыв, который сделал возможным запуск самых требовательных современных игр на платформах, изначально не поддерживающих DirectX 12. Проект демонстрирует впечатляющую производительность, часто сопоставимую с нативным Windows, и продолжает улучшаться с каждым обновлением, укрепляя позиции Linux как серьезной игровой платформы.

  • Просмотров: 647