Få dage siden udgivelsen af den første stabile version af projektet "D8VK 1.0" blev annonceret, tilbyder en Direct3D 8 grafik API implementering som fungerer gennem oversættelse af Vulkan API-kald og giver dig mulighed for at bruge Wine eller Proton til at køre 3D-applikationer og spil udviklet til Windows på Linux, der er knyttet til Direct3D 8 API.
Som mange af jer ved, har vi i Linux VKD3D-Proton til oversættelse af Direct3D 12 i Vulkan, udover det har vi også Steam Play, der bruger DXVK til at implementere Direct3D 9/10/11 API'erne over Vulkan, men til den gamle implementering af Direct3D 8, var der ikke noget konkret.
Derfor blev D8VK født, som er implementeringen af det gamle Microsoft Direct3D 8 API over Vulkan for at forbedre oplevelsen af ældre spil.
D8VK 1.0 er markeret som den første udgivelse af projektet, velegnet til brug og testet i hundredvis af spil. Sammenlignet med WineD3D- og d3d8to9-projekterne, som bruger Direct3D 8 til OpenGL og Direct3D 9-oversættelse, demonstrerer D8VK-projektet bedre ydeevne, stabilitet og kompatibilitet med spil.
For eksempel, da det blev testet på 3DMark 2001 SE-pakken, opnåede D8VK-projektet 144660 point, kombinationen af d3d8to9 og dxvk – 118033, og WineD3D – 97134.
Lanceringen af D8VK 1.0 introducerer d3d8.dll(d3d9 er statisk forbundet), samt en ny brugerdefineret batch-processor for visse spil med udefineret adfærd.
Udover dette fremhæves det også understøtter tilsidesættende vertex shader-erklæring for spil med udefineret adfærd og at vertex-buffere nu kan gemmes i den selvadministrerede pulje for at forbedre ydeevnen og undgå skriveordreproblemer.
Det bemærkes også, at kompileringsunderstøttelse er implementeret i MSVC, ligesom understøttelse af GetInfo-forespørgsler og statusbloktyper nu understøttes.
Af andre ændringer, der skiller sig ud:
- Korrekte overfladebeskrivelsesstørrelser baseret på format
- Tillad at bevare den nuværende Proton-installation
- Utallige spilspecifikke indstillinger og mindre funktioner og tweaks
- Rettede en fejl, hvor CreateTexture ville forsøge at ombryde en null-tekstur
- Rettede backbuffere, der ikke blev cachelagret eller refereret til ejeren af enheden
- Rettede teksturer, streams og indekser, der ikke blev ryddet ved genstart
- Fast placering af Direct3DCreate8 i d3d8.def
- Fast referenceantal for gengivelsesmål, dybdeskabeloner og teksturer.
- Fixed null pixel shaders, der ikke huskes
- Rettede gengivelsesmål og dybdeskabeloner, der ikke blev cachelagret
- Rettet fejl, hvis klient forsøger at aktivere SWVP på en hardwareenhed
- Rettede enheder, der ikke jailbreaker
- Rettet segfault på enhedsudgivelse med bundne teksturer
Endelig, hvis du er interesseret i at vide mere om det, kan du se detaljerne I det følgende link.
Du skal vide, at projektkoden er skrevet i C++-sprog og distribueres under Zlib-licensen. Kodebasen for DXVK-projektet med implementering af Direct3D 9, 10 og 11 oven på Vulkan blev brugt som grundlag for udvikling.
Hvordan installeres D8VK på Linux?
For dem, der er interesseret i at kunne installere D8VK, skal de vide, at implementeringen er ret enkel og ikke kræver meget. Du skal bare åbne en terminal for at få den nye version. I den skriver vi følgende kommando:
git clone https://github.com/AlpyneDreams/d8vk.git
Eller hvis du foretrækker at downloade fra din browser (du skal blot udpakke filen og placere dig i en terminal inde i mappen), kan du gøre det ved at klikke i dette link.
Udført dette, nu skal vi gå ind i mappen med:
cd d8vk
Og vi fortsætter med at udføre implementeringen af d8vk alt efter tilfældet. For at implementere det med Wine skal vi skrive følgende:
./setup_d3d8.sh install --no-proton
Eller i tilfælde af at du ønsker at implementere det med Proton, er kommandoen, der skal indtastes, følgende:
./setup_d3d8.sh install
Hvis du vil vide mere om dets brug eller installation i særlige tilfælde, kan du rådføre dig følgende link.