D8VK, una implementació de Direct3D 8 per a DXVK

D8VK

D8VK és una implementació de Direct3D 8 que permet executar aplicacions 3D a Linux usant Wine.

Fa pocs dies es va donar a conèixer el llançament de la primera versió estable del projecte D8VK 1.0, que ofereix una implementació de l'API de gràfics Direct3D 8 que funciona a través de la traducció de trucades a l'API de Vulkan i permet utilitzar Wine o Proton per executar aplicacions i jocs 3D desenvolupats per a Windows a Linux que estan vinculats a l'API de Direct3D 8.

Com molts de vostès sabran a Linux comptem amb VKD3D-Proton per a la traducció de Direct3D 12 a Vulkan, a més que també comptem amb Steam Play que utilitza DXVK per implementar les API de Direct3D 9/10/11 sobre Vulkan, però per a l'antiga implementació de Direct3D 8, no hi havia alguna cosa en concret.

És per això que neix D8VK, la implementació de l'antiga API de Microsoft Direct3D 8 sobre Vulkan per millorar l'experiència dels jocs més antics.

D8VK 1.0 està marcat com el primer llançament del projecte, adequat per a ús i provat en centenars de jocs. En comparació amb els projectes WineD3D i d3d8to9, que utilitzen la traducció de Direct3D 8 a OpenGL i Direct3D 9, el projecte D8VK demostra un millor rendiment, estabilitat i compatibilitat amb els jocs.

Per exemple, quan es va provar al paquet 3DMark 2001 SE, el projecte D8VK va obtenir 144660 punts, la combinació d3d8to9 i dxvk – 118033 i WineD3D – 97134.

El llançament de D8VK 1.0 presenta d3d8.dll(d3d9 està vinculat estàticament), així com també un nou processador per lots personalitzat per a certs jocs amb comportament indefinit.

A més, també es destaca que admet l'anul·lació de la declaració de l'ombrejador de vèrtexs per a jocs amb un comportament indefinit i que els búfers de vèrtexs ara es poden emmagatzemar al grup administrat automàticament per millorar el rendiment i evitar problemes d'ordre d'escriptura.

També es destaca que s'implementa la compatibilitat amb la compilació a MSVC així com també que admet consultes de GetInfo i que els tipus de bloc d'estat ara són compatibles.

Dels altres canvis que es destaquen:

  • Grandàries de descripció de superfície correctes segons el format
  • Permetre preservar la instal·lació actual de Proton
  • Innumerables configuracions específiques del joc i característiques i ajustaments menors
  • Es va corregir un error pel qual CreateTexture intentava embolicar una textura nul·la
  • Es van corregir els backbuffers que no s'emmagatzemen a la memòria cau ni es fa referència al dispositiu propietari
  • Textures, fluxos i índexs fixos que no s'esborren en reiniciar
  • Ubicació fixa de Direct3DCreate8 a d3d8.def
  • Es va corregir el recompte de referències per als objectius de representació, les plantilles de profunditat i les textures.
  • Es van corregir els ombrejadors de píxels nuls que no es recordaven
  • Es van corregir els objectius de representació i les plantilles de profunditat que no s'emmagatzemen a la memòria cau
  • S'ha corregit l'error si el client intenta habilitar SWVP en un dispositiu de maquinari
  • Dispositius fixos que no s'alliberen
  • Es va corregir la falla de segment al dispositiu d'alliberament amb textures enllaçades

Finalment si estàs interessat en poder conèixer més a l'respecte, pots consultar els detalls en el següent enllaç.

Heu de saber que el codi del projecte està escrit en llenguatge C++ i es distribueix sota la llicència Zlib. El codi base del projecte DXVK amb la implementació de Direct3D 9, 10 i 11 sobre Vulkan es va utilitzar com a base per al desenvolupament.

Com instal·lar D8VK a Linux?

Per a aquells que estiguin interessats en poder instal·lar D8VK, han de saber que la seva implementació és força senzilla i no requereix de molt. Només cal obrir una terminal per poder obtenir la nova versió. Hi teclejarem l'ordre següent:

git clone https://github.com/AlpyneDreams/d8vk.git

O si prefereixes fer la descàrrega des del teu navegador (només has de descomprimir el fitxer i posicionar-te en una terminal dins de la carpeta) ho pots fer fent clic en aquest enllaç.

Fet això, ara ingressarem al directori amb:

cd d8vk

I procedim a realitzar la implementació de d8vk segons el cas. Per implementar-ho amb Wine, hem de teclejar el següent:

./setup_d3d8.sh install --no-proton

O en el cas de voler implementar-ho amb Proton, l'ordre que han de teclejar és el següent:

./setup_d3d8.sh install

Si vols conèixer més sobre el seu ús o instal·lació per a casos particulars, pots consultar el següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.