D8VK, een Direct3D 8-implementatie voor DXVK

D8VK

D8VK is een Direct3D 8-implementatie waarmee je 3D-applicaties op Linux kunt uitvoeren met behulp van Wine.

Paar dagen geleden de release van de eerste stabiele versie van het project "D8VK 1.0" werd aangekondigd, het aanbieden van een Direct3D 8 grafische API-implementatie die werkt door de vertaling van Vulkan API-aanroepen en waarmee je Wine of Proton kunt gebruiken om 3D-applicaties en games uit te voeren die zijn ontwikkeld voor Windows op Linux en die zijn gekoppeld aan de Direct3D 8 API.

Zoals velen van jullie weten, hebben we in Linux VKD3D-Proton voor de vertaling van Direct3D 12 in Vulkan, daarnaast hebben we ook Steam Play dat DXVK gebruikt om de Direct3D 9/10/11 API's over Vulkan te implementeren, maar dan voor de oude implementatie van Direct3D 8 was er nog niets concreets.

Daarom werd D8VK geboren, de implementatie van de oude Microsoft Direct3D 8 API over Vulkan om de ervaring van oudere games te verbeteren.

D8VK 1.0 is gemarkeerd als de eerste release van het project, geschikt voor gebruik en getest in honderden spellen. Vergeleken met de WineD3D- en d3d8to9-projecten, die Direct3D 8 naar OpenGL en Direct3D 9-vertaling gebruiken, toont het D8VK-project betere prestaties, stabiliteit en compatibiliteit met games.

Bij het testen op het 3DMark 2001 SE-pakket scoorde het D8VK-project bijvoorbeeld 144660 punten, de combinatie van d3d8to9 en dxvk - 118033 en WineD3D - 97134.

De lancering van D8VK 1.0 introduceert d3d8.dll(d3d9 is statisch gekoppeld), evenals een nieuwe aangepaste batchprocessor voor bepaalde spellen met ongedefinieerd gedrag.

Daarnaast wordt er ook op gewezen dat: ondersteuning voor declaratie van vertex-shader voor games met ongedefinieerd gedrag en dat hoekpuntbuffers nu kunnen worden opgeslagen in de zelfbeheerde pool om de prestaties te verbeteren en schrijfvolgordeproblemen te voorkomen.

Er wordt ook opgemerkt dat compile-ondersteuning is geïmplementeerd in MSVC en dat ondersteuning voor GetInfo-query's en statusbloktypen nu wordt ondersteund.

Van anderen veranderingen die opvallen:

  • Correcte oppervlaktebeschrijving maten op basis van formaat
  • Sta toe om de huidige Proton-installatie te behouden
  • Talloze spelspecifieke instellingen en kleine features en tweaks
  • Een bug gerepareerd waarbij CreateTexture zou proberen een null-textuur in te pakken
  • Vaste backbuffers die niet in de cache werden opgeslagen of waarnaar werd verwezen naar het apparaat dat de eigenaar was
  • Vaste texturen, streams en indices die niet werden gewist bij opnieuw opstarten
  • Vaste locatie van Direct3DCreate8 in d3d8.def
  • Vast aantal referenties voor renderdoelen, dieptesjablonen en texturen.
  • Vaste null pixel shaders die niet werden onthouden
  • Vaste renderdoelen en dieptesjablonen die niet in de cache werden opgeslagen
  • Bug opgelost als de client SWVP probeert in te schakelen op een hardwareapparaat
  • Vaste apparaten die niet jailbreaken
  • Vaste segfault bij release van apparaat met gebonden texturen

Ten slotte, als u geïnteresseerd bent om er meer over te weten, kunt u de details raadplegen In de volgende link.

U moet weten dat de projectcode is geschreven in de taal C++ en wordt gedistribueerd onder de Zlib-licentie. De codebasis van het DXVK-project met de implementatie van Direct3D 9, 10 en 11 bovenop Vulkan werd gebruikt als basis voor ontwikkeling.

Hoe D8VK op Linux te installeren?

Voor degenen die geïnteresseerd zijn om D8VK te kunnen installeren, moeten ze weten dat de implementatie vrij eenvoudig is en niet veel vereist. Open gewoon een terminal om de nieuwe versie te krijgen. Daarin zullen we de volgende opdracht typen:

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

Of als u liever vanuit uw browser downloadt (u hoeft alleen het bestand uit te pakken en uzelf in een terminal in de map te plaatsen), kunt u dit doen door te klikken op op deze link.

Dit gedaan, nu gaan we de directory binnen met:

cd d8vk

En we gaan verder met het uitvoeren van de implementatie van d8vk, naargelang het geval. Om het met Wine te implementeren, moeten we het volgende typen:

./setup_d3d8.sh install --no-proton

Of in het geval dat u het met Proton wilt implementeren, is het commando dat moet worden getypt het volgende:

./setup_d3d8.sh install

Als u meer wilt weten over het gebruik of de installatie voor bepaalde gevallen, kunt u dit raadplegen de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.