È disponibile la versione del layer DXVK 3.0, che fornisce un'implementazione di DXGI (DirectX Graphics Infrastructure), Direct3D 8, 9, 10 e 11, che funziona tramite la traduzione delle chiamate nell'API Vulkan. Per utilizzare DXVK è necessario avere driver che supportano l'API Vulkan 1.4, come NVIDIA 575.51.02, Mesa AMD RADV 25.0, NVIDIA 25.1 e Intel ANV 25.1. DXVK può essere utilizzato per eseguire applicazioni e giochi 3D su Linux tramite Wine, fungendo da alternativa ad alte prestazioni alle implementazioni Direct3D incorporate in Wine, che operano sopra OpenGL.
Variazioni principali:
- Per tutti i modelli di shader supportati è stato coinvolto il compilatore di shader dxbc-spirv. La compilazione degli shader è stata spostata dal thread principale a thread separati.
È stata implementata la memorizzazione nella cache su disco della rappresentazione intermedia degli shader (la cache è salvata nella sottodirectory AppData/Local nel prefisso corrente di Wine).
L'uso di dxbc-spirv ha permesso di ridurre il consumo di memoria, accorciare i tempi di avvio, eliminare i blocchi e risolvere vari problemi riscontrati nei giochi Postal: Brain Damaged, Snowrunner, Overwatch, God of War, Days Gone e Final Fantasy XIV, che non potevano essere risolti nel vecchio codice di traduzione degli shader. - Per D3D9 è stata implementata la compatibilità con i modelli di shader 1-3.
- Per impostazione predefinita è stato attivato l'estensione Vulkan VK_EXT_descriptor_heap. Rispetto al precedente storage di deskrittori basato sull'estensione Vulkan
VK_EXT_descriptor_buffer, la nuova implementazione offre lo stesso livello di prestazioni per le operazioni eseguite sulla CPU, ma riduce il carico sulla GPU, specialmente quando si utilizzano schede grafiche NVIDIA. Per funzionare su sistemi con schede grafiche NVIDIA è richiesta almeno la versione 595.84 dei driver proprietari NVIDIA. L'implementazione basata su VK_EXT_descriptor_buffer è stata dichiarata obsoleta e verrà rimossa in una delle prossime versioni. - Nell'implementazione Direct3D 9, invece di generare shader al volo, ora vengono utilizzati uber-shader, le cui versioni ottimizzate vengono compilate in background, risolvendo i problemi di blocco di alcuni vecchi giochi, come Unreal Tournament 2004. È stata garantita la costante disponibilità dei buffer, come in Windows, invece di allocarli in anticipo nella memoria video, evitando i crash di alcuni giochi D3D9 a 32 bit a causa dello spazio di indirizzamento limitato.
- È garantito il corretto funzionamento del multisampling (MSAA) in modalità D3DRS_MULTISAMPLEANTIALIAS su sistemi con supporto per le estensioni Vulkan VK_EXT_sample_locations e VK_EXT_extended_dynamic_state3, risolvendo i problemi di rendering in Anno 1701, Men of War e altri giochi quando MSAA è attivato.
- È stato garantito il supporto per l'uso delle risorse condivise (Shared resources) nelle versioni standard di Wine senza patch aggiuntive del progetto Proton.
- È stata rimossa la variabile d'ambiente DXVK_FRAME_RATE, utilizzata per limitare la frequenza dei fotogrammi (Frame rate limiter), per la quale si consiglia di utilizzare limitatori esterni, come Gamescope e Mangohud. Per attivare il limitatore integrato, è possibile utilizzare l'impostazione «dxvk.maxFrameRate = n».
- Risolti i problemi nei giochi:
- Bioshock Infinite
- Borderlands 2
- Colin McRae Rally 3
- Dirt Rally 2
- Fallout New Vegas
- Insurgency & Counter-Strike
- Jump Space
- Max Payne
- Railroad Tycoon 3
- Resident Evil 6
- Sang-Froid: Tales of Werewolves
- Sea Dogs
- Splinter Cell 4
- The I of the Dragon
- The Sims 3
- Total War: Pharaoh
- Witch on the Holy Night
- World of Final Fantasy
- Vietcong
- I requisiti minimi per la versione dell'API grafica sono stati aumentati a Vulkan 1.4.
Per il funzionamento ora sono necessarie almeno le versioni dei driver AMD RADV 25.0, NVIDIA 575.51.02, NVIDIA 25.1 e Intel ANV 25.1.
Fonte: opennet.ru
