Valve presenterade nyligen release av den nya versionen av VKD3D-Proton 2.9, en gaffel av vkd3d-kodbasen, designad för att förbättra Direct3D 12-kompatibiliteten i Proton-spelstartaren.
För dem som fortfarande är omedvetna om VKD3D-Proton, bör de veta att detta stöder protonspecifika ändringar, optimeringar och förbättringar för bättre prestanda för Direct3D 12-baserade Windows-spel, som ännu inte accepteras i huvuddelen av vkd3d. Bland skillnaderna finns också fokus på att använda moderna Vulkan-tillägg och funktionerna i de senaste grafikdrivrutinversionerna för att uppnå full Direct3D 12-kompatibilitet.
Som sådan Valve använder den gaffel som anges i det vinbaserade paketet för att köra Windows Proton-spel. Support för DirectX 9/10/11 i Proton är baserat på DXVK-paketet och DirectX 12-implementeringen har hittills varit baserad på vkd3d-biblioteket (efter vkd3d-författarens död fortsatte CodeWeavers utvecklingen av denna komponent och vingemenskapen).
De viktigaste nyheterna i VKD3D-Proton 2.9
Den här nya versionen av VKD3D-Proton 2.9 nämner det vissa spel började anta att DLL:er designades på samma sätt som AgilitySDK, varpå biblioteket d3d12core.dll delas upp i en loader (d3d12.dll) och en huvudimplementation (d3d12core.dll). Med denna ändring kommer flera skript nu att behöva uppdateras för att rymma båda DLL:erna. När d3d12.dll väl har installerats i ett prefix behöver bara d3d12core.dll uppdateras.
En annan av förändringarna som sticker ut i den här nya versionen är genomförda prestandaoptimeringar och är det i denna version minneskraven minskade avsevärt första gången applikationen startas.
Det framhävs också atte har förbättrad prestanda i koden som använder förlängningen VK_EXT_descriptor_buffer, samt tillagda optimeringar för system med Intel, AMD och NVIDIA GPU:er.
Förutom det, lagt till stöd för D3D11On12-portabilitetsgränssnitt, Tog bort koden med den tidigare implementeringen av virtuella rambuffertar (SwapChain), lade till stöd för standard Linux-gränssnitt för SwapChain och fixade några problem som uppstod när NVIDIA- och RADV-drivrutinerna användes.
Dessutom, Vulkan 1.3 deklareras nu som den minsta nödvändiga versionen, Lade också till stöd för skivade ur funktion (3D UAV, Unordered View) operationer, implementerade med VK_EXT_image_sliced_view_of_3d-tillägget.
Av de andra förändringarna som sticker ut från den här nya versionen:
- Förbättrat VRAM-beteende när VK_EXT_pageable_device_local_memory stöds, vilket gör att Evicty och MakeResident API:erna kan implementeras på ett användbart sätt.
VK_EXT_memory_priority används också för att ge statiska prioriteringar som reserv. - Förbättrat stöd för DXR 1.1 genom att aktivera tillägget VK_EXT_pipeline_library_group_handles.
- Lade till stöd för tillägget VK_EXT_fragment_shader_interlock.
- Förbättrad kompatibilitet med spel som använder specifika funktioner i AgilitySDK.
- Fixade problem i många spel.
- I Wine används winevulkan.dll istället för vulkan-1.dll om tillgängligt.
- Förbättringar i kompatibilitet med spel som beror på vissa detaljer i AgilitySDK.
- Förbättrad byggsystemkompatibilitet med olika widl-versioner
- VKD3D_CONFIG=dxr aktiverar nu även DXR 1.1 och dxr11 sparas för compat.
- Fast lägsta luminansvärde för HDR-metadata.
- Lade till VKD3D_LIMIT_TESS_FACTORS för att fixa överdriven tessellation. Aktiverad för Wo Long.
- Fixat RADV-bugg som orsakar överflödigt minne i shader-cacher. Du kan spara flera hundra MB minne, vilket är viktigt i vissa minneshungriga titlar för att undvika instabilitet.
- Fixat NVIDIA-bugg med samtidiga köinlämningar med tidslinjesemaforer
- Fixade ett gäng Xid 109 CTX_SWITCH_TIMEOUT oförklarade fel i många olika spel.
Slutligen Om du är intresserad av att lära dig mer om denna nya version, du kan kontrollera detaljerna I följande länk.Och om du vill prova Proton på Steam nu, du vet redan att du kan installera Steam-klienten från officiell hemsida, även om du också hittar det i repor för de flesta distros.