
DXVK è un’implementazione basata su Vulkan delle API (Interfacce di Programmazione delle Applicazioni) Direct3D 9, 10 e 11 per sistemi operativi GNU/Linux e Wine. Questo strumento è fondamentale per gli utenti che desiderano eseguire applicazioni e giochi progettati per Windows su GNU/Linux, migliorando significativamente le prestazioni e la compatibilità. DXVK è distribuito come software libero e open source, sotto la licenza Zlib, che permette un uso ampio e flessibile.
DXVK è compatibile con diverse distribuzioni GNU/Linux e può essere utilizzato su vari sistemi operativi, rendendolo una soluzione versatile per gli appassionati di videogiochi su piattaforme diverse da Windows. L’ultima versione stabile, DXVK 2.7, è stata rilasciata con numerosi miglioramenti e nuove funzionalità che ampliano ulteriormente il supporto a vari giochi e ottimizzano le prestazioni.
Novità in DXVK 2.7
DXVK 2.7 introduce diverse novità che migliorano l’esperienza di gioco sui sistemi GNU/ Linux. Tra i principali miglioramenti, troviamo un supporto esteso per vari giochi e l’ottimizzazione delle prestazioni su diverse schede grafiche.
Supporto esteso per giochi
DXVK 2.7 introduce miglioramenti significativi nel supporto a vari giochi, tra cui God of War, Watch Dogs 2, e Final Fantasy XIV. Questi miglioramenti permettono una migliore esecuzione e una maggiore stabilità durante il gioco, rendendo l’esperienza più piacevole per gli utenti.
Supporto per l’estensione Vulkan VK_EXT_descriptor_buffer
Una delle principali novità di questa versione è l’abilitazione del supporto per l’estensione Vulkan VK_EXT_descriptor_buffer
su schede grafiche AMD e NVIDIA più recenti. Questa estensione riduce significativamente il carico sulla CPU (Unità di Elaborazione Centrale) in giochi come Final Fantasy XIV, God of War, Metaphor: ReFantazio, e Watch Dogs 2.
Tuttavia, questa funzionalità rimane disabilitata su schede grafiche più vecchie a causa di gravi regressioni delle prestazioni in alcuni casi, specificamente su NVIDIA Pascal o versioni precedenti, così come su AMD RDNA2 o versioni precedenti quando si utilizza AMDVLK o il driver Windows di AMD. RADV (Radeon Vulkan), invece, non è influenzato da questi problemi.
Deframmentazione della memoria e altre ottimizzazioni
La versione DXVK 2.7 introduce una serie di miglioramenti tecnici per ottimizzare le prestazioni grafiche su sistemi che utilizzano schede grafiche Intel:
- Deframmentazione della memoria: DXVK 2.7 attiva automaticamente la deframmentazione della memoria per le unità grafiche integrate nei processori Lunar Lake e nelle schede Intel Battlemage. La deframmentazione della memoria è un processo che riordina i dati nella memoria per ridurre la frammentazione, migliorando così l’efficienza e le prestazioni complessive del sistema. Questo è particolarmente utile per ottimizzare l’uso della memoria durante l’esecuzione di applicazioni grafiche intensive.
- Rimozione della cache di stato legacy: Questa versione rimuove il supporto per una vecchia funzionalità chiamata cache di stato. La cache di stato era utilizzata per memorizzare temporaneamente informazioni sullo stato della GPU per accelerare l’accesso ai dati frequenti. La rimozione di questa funzionalità legacy indica un passaggio verso metodi più moderni ed efficienti di gestione della memoria e delle risorse grafiche.
- Supporto per le viste di output video planari: DXVK 2.7 introduce il supporto per le viste di output video planari. Questo tipo di visualizzazione è utile per la gestione di formati video che separano i dati in piani distinti, come i formati video YUV. Il supporto per queste viste consente una gestione più efficiente e flessibile dei dati video, migliorando la qualità e le prestazioni della riproduzione video.
- Inizializzazione a zero per shader D3D11: DXVK 2.7 inizializza a 0 tutte le variabili e la memoria groupshared per gli shader Direct3D 11 (D3D11) per impostazione predefinita. Gli shader sono programmi che girano sulla GPU e sono utilizzati per determinare gli effetti visivi e le trasformazioni applicati ai dati grafici. L’inizializzazione a 0 assicura che tutte le variabili e la memoria condivisa tra i thread della GPU siano impostate a un valore noto all’avvio, riducendo il rischio di comportamenti imprevisti e migliorando la stabilità delle applicazioni grafiche.
Supporto per l’interfaccia ID3DDestructionNotifier
DXVK 2.7 introduce 2 importanti miglioramenti tecnici che contribuiscono a una gestione più efficiente delle risorse grafiche e a una maggiore stabilità del sistema:
- Miglioramento nella gestione dei dispositivi Vulkan: DXVK 2.7 introduce un miglioramento nella gestione dei dispositivi Vulkan, escludendo dall’elenco degli adattatori DXGI (DirectX Graphics Infrastructure) e D3D9 (Direct3D 9) quei dispositivi che non supportano le funzionalità necessarie per eseguire correttamente DXVK. Questo cambiamento è importante perché aiuta a prevenire problemi di compatibilità e instabilità che potrebbero verificarsi se si tentasse di utilizzare dispositivi non completamente supportati. Di conseguenza, gli utenti beneficiano di una maggiore stabilità e affidabilità durante l’esecuzione di applicazioni che utilizzano DXVK.
- Supporto per l’interfaccia ID3DDestructionNotifier: DXVK ora include il supporto per l’interfaccia ID3DDestructionNotifier. Questa interfaccia è fondamentale per la gestione avanzata delle risorse grafiche, permettendo una migliore interazione e controllo su come le risorse grafiche vengono create, utilizzate e distrutte durante l’esecuzione di applicazioni. Questo può tradursi in una gestione più efficiente della memoria e delle risorse, riducendo il rischio di perdite di memoria e migliorando le prestazioni complessive delle applicazioni grafiche.
Ottimizzazioni per giochi specifici
DXVK 2.7 porta avanti una serie di miglioramenti mirati a ottimizzare l’esperienza di gioco per titoli specifici, garantendo una maggiore stabilità e prestazioni migliorate:
- Ottimizzazioni per giochi specifici: DXVK 2.7 include una serie di miglioramenti progettati per ottimizzare le prestazioni di vari giochi. Tra i titoli che beneficiano di queste ottimizzazioni troviamo Astebreed, GTR – FIA GT Racing Game, LEGO City Undercover, Star Trek: Starfleet Command III, Test Drive Unlimited 2, e Wargame: European Escalation. Queste ottimizzazioni sono state sviluppate per risolvere problemi specifici riscontrati durante l’esecuzione di questi giochi, migliorando così la compatibilità e l’efficienza.
- Correzioni per l’uso non valido di Vulkan: Una delle correzioni introdotte riguarda il gioco Modulus, dove sono stati risolti problemi legati all’uso non valido dell’API Vulkan.
- Miglioramenti nella funzione D3D9 StretchRect: DXVK 2.7 introduce anche miglioramenti nella funzione StretchRect di Direct3D 9 (D3D9). Questa funzione è utilizzata per ridimensionare e copiare porzioni di texture, ed è particolarmente importante in contesti di rendering dove è necessario gestire risoluzioni multiple. I miglioramenti apportati sono particolarmente rilevanti in alcuni casi di risoluzione multisample del motore Source Engine, un motore grafico utilizzato in molti giochi popolari. Questi miglioramenti aiutano a ridurre gli artefatti grafici e a migliorare la qualità visiva durante il ridimensionamento delle immagini.
Requisiti e miglioramenti per schede grafiche specifiche
DXVK 2.7 introduce alcune modifiche e requisiti specifici per migliorare le prestazioni e la compatibilità su determinate configurazioni hardware, in particolare per gli utenti Windows con schede grafiche AMD:
- Requisito dell’estensione Vulkan VK_KHR_maintenance5: Per gli utenti che utilizzano schede grafiche AMD Polaris e Vega su sistemi operativi Windows, DXVK 2.7 richiede ora il supporto per l’estensione Vulkan VK_KHR_maintenance5. Le estensioni Vulkan sono aggiunte all’API Vulkan che forniscono funzionalità extra o miglioramenti. L’estensione VK_KHR_maintenance5 include una serie di aggiornamenti e correzioni che migliorano l’affidabilità e le prestazioni delle applicazioni Vulkan. Questo requisito assicura che gli utenti con queste schede grafiche possano beneficiare delle ultime ottimizzazioni e correzioni di bug.
- Gestione del budget di VRAM su schede grafiche discrete: DXVK 2.7 introduce un miglioramento nella gestione della VRAM (Memoria Video ad Accesso Casuale) per le schede grafiche discrete. Questa versione cerca di imporre il budget di VRAM riportato dal driver grafico il più possibile. Questo significa che DXVK tenterà di utilizzare la quantità di memoria video segnalata come disponibile dal driver della scheda grafica, ottimizzando così l’uso delle risorse grafiche. Questo è particolarmente utile per migliorare le prestazioni in molti giochi basati su Unity Engine, specialmente su sistemi con una quantità limitata di VRAM. Unity Engine è un motore di gioco ampiamente utilizzato per lo sviluppo di videogiochi e applicazioni interattive, e ottimizzare l’uso della VRAM può portare a un’esperienza di gioco migliore.
Miglioramenti generali e correzioni
Oltre ai miglioramenti specifici per i giochi, DXVK 2.7 include diverse correzioni e ottimizzazioni generali. Queste includono correzioni per l’uso non valido di Vulkan in alcuni giochi, ottimizzazioni per le funzioni D3D9 e miglioramenti nella gestione della memoria.
Dove scaricare DXVK 2.7
Per ulteriori dettagli sulle modifiche incluse in DXVK 2.7, è possibile consultare le note di rilascio sulla pagina GitHub del progetto. DXVK 2.7 può essere scaricato come archivio sorgente tarball dallo stesso sito. Se DXVK è installato dai repository software della propria distribuzione GNU/Linux, sarà necessario attendere che la nuova versione venga inclusa nei repository software per poter usufruire di questi miglioramenti.
Fonte: https://github.com/doitsujin/dxvk/releases/tag/v2.7
Fonte: https://linuxiac.com/dxvk-2-7-drops-legacy-driver-support-brings-performance-boosts/
Fonte: https://9to5linux.com/dxvk-2-7-improves-support-for-god-of-war-watch-dogs-2-and-final-fantasy-xiv
Source: Read More