Pochi giorni fa è stato annunciato il rilascio della prima versione stabile del progetto “D8VK 1.0”, che offre a Implementazione dell'API grafica Direct3D 8 che funziona attraverso la traduzione delle chiamate API Vulkan e consente di utilizzare Wine o Proton per eseguire applicazioni e giochi 3D sviluppati per Windows su Linux che sono collegati all'API Direct3D 8.
Come molti di voi sanno, in Linux abbiamo VKD3D-Proton per la traduzione di Direct3D 12 in Vulkan, inoltre abbiamo anche Steam Play che utilizza DXVK per implementare le API Direct3D 9/10/11 su Vulkan, ma per il vecchio Nell'implementazione di Direct3D 8, non c'era nulla di concreto.
Ecco perché è nato D8VK, che è l'implementazione della vecchia API Microsoft Direct3D 8 su Vulkan per migliorare l'esperienza dei giochi più vecchi.
D8VK 1.0 è contrassegnato come la prima versione del progetto, adatto per l'uso e testato in centinaia di giochi. Rispetto ai progetti WineD3D e d3d8to9, che utilizzano la traduzione da Direct3D 8 a OpenGL e Direct3D 9, il progetto D8VK dimostra migliori prestazioni, stabilità e compatibilità con i giochi.
Ad esempio, quando testato sul pacchetto 3DMark 2001 SE, il progetto D8VK ha ottenuto 144660 punti, la combinazione di d3d8to9 e dxvk – 118033 e WineD3D – 97134.
Il lancio di D8VK 1.0 introduce d3d8.dll(d3d9 è collegato staticamente), così come a nuovo processore batch personalizzato per alcuni giochi con comportamento indefinito.
Oltre a questo, si evidenzia anche che supporta l'override della dichiarazione del vertex shader per i giochi con comportamento non definito e che ora i vertex buffer possono essere archiviati nel pool autogestito per migliorare le prestazioni ed evitare problemi di ordine di scrittura.
Si noti inoltre che il supporto per la compilazione è implementato in MSVC così come il supporto per le query GetInfo e i tipi di blocchi di stato sono ora supportati.
Di altri cambiamenti che risaltano:
- Correggere le dimensioni della descrizione della superficie in base al formato
- Consenti di preservare l'attuale installazione di Proton
- Innumerevoli impostazioni specifiche del gioco e caratteristiche e modifiche minori
- Risolto un bug in cui CreateTexture tentava di avvolgere una trama nulla
- Risolto il problema con i backbuffer che non venivano memorizzati nella cache o referenziati al dispositivo proprietario
- Risolto il problema con texture, flussi e indici che non venivano cancellati al riavvio
- Corretta la posizione di Direct3DCreate8 in d3d8.def
- Corretto il conteggio dei riferimenti per destinazioni di rendering, modelli di profondità e trame.
- Risolto il problema con i null pixel shader che non venivano ricordati
- Risolto il problema con gli obiettivi di rendering e i modelli di profondità che non venivano memorizzati nella cache
- Risolto bug se il client tenta di abilitare SWVP su un dispositivo hardware
- Risolto il problema con i dispositivi che non eseguivano il jailbreak
- Risolto segfault sul rilascio del dispositivo con trame associate
Infine, se sei interessato a saperne di più, puoi consultare i dettagli nel seguente link
Devi sapere che il codice del progetto è scritto in linguaggio C++ ed è distribuito con licenza Zlib. La base di codice del progetto DXVK con l'implementazione di Direct3D 9, 10 e 11 su Vulkan è stata utilizzata come base per lo sviluppo.
Come installare D8VK su Linux?
Per coloro che sono interessati a poter installare D8VK, dovrebbero sapere che la sua implementazione è abbastanza semplice e non richiede molto. Basta aprire un terminale per poter ottenere la nuova versione. In esso digiteremo il seguente comando:
git clone https://github.com/AlpyneDreams/d8vk.git
Oppure se preferisci scaricare dal tuo browser (basta decomprimere il file e posizionarti in un terminale all'interno della cartella) puoi farlo cliccando in questo link
Fatto questo, ora andiamo ad entrare nella directory con:
cd d8vk
E procediamo a eseguire l'implementazione di d8vk a seconda dei casi. Per implementarlo con Wine, dobbiamo digitare quanto segue:
./setup_d3d8.sh install --no-proton
Oppure nel caso si volesse implementarlo con Proton, il comando che va digitato è il seguente:
./setup_d3d8.sh install
Se vuoi saperne di più sul suo utilizzo o installazione per casi particolari, puoi consultare il seguente collegamento.