D8VK, en Direct3D 8-implementering för DXVK

D8VK

D8VK är en Direct3D 8-implementering som låter dig köra 3D-applikationer på Linux med Wine.

Några dagar sen lanseringen av den första stabila versionen av projektet "D8VK 1.0" tillkännagavs, erbjuder en Direct3D 8 grafik API implementering som fungerar genom översättning av Vulkan API-anrop och låter dig använda Wine eller Proton för att köra 3D-applikationer och spel utvecklade för Windows på Linux som är länkade till Direct3D 8 API.

Som många av er vet har vi i Linux VKD3D-Proton för översättning av Direct3D 12 i Vulkan, förutom det har vi också Steam Play som använder DXVK för att implementera Direct3D 9/10/11 API:erna över Vulkan, men för den gamla implementering av Direct3D 8, det fanns inget konkret.

Det är därför D8VK föddes, som är implementeringen av det gamla Microsoft Direct3D 8 API över Vulkan för att förbättra upplevelsen av äldre spel.

D8VK 1.0 är markerad som den första utgåvan av projektet, lämplig för användning och testad i hundratals spel. Jämfört med WineD3D- och d3d8to9-projekten, som använder Direct3D 8 till OpenGL och Direct3D 9-översättning, visar D8VK-projektet bättre prestanda, stabilitet och kompatibilitet med spel.

Till exempel, när det testades på 3DMark 2001 SE-paketet fick D8VK-projektet 144660 poäng, kombinationen av d3d8to9 och dxvk – 118033, och WineD3D – 97134.

Lanseringen av D8VK 1.0 introducerar d3d8.dll(d3d9 är statiskt länkad), samt en ny anpassad batchprocessor för vissa spel med odefinierat beteende.

Utöver detta framhålls också att stöder åsidosättande vertex shader-deklaration för spel med odefinierat beteende och att vertexbuffertar nu kan lagras i den självhanterade poolen för att förbättra prestandan och undvika skrivorderproblem.

Det noteras också att kompileringsstöd är implementerat i MSVC liksom stöd för GetInfo-frågor och statusblocktyper stöds nu.

Av andra förändringar som sticker ut:

  • Korrekt ytbeskrivningsstorlekar baserat på format
  • Låt den nuvarande Proton-installationen bevaras
  • Otaliga spelspecifika inställningar och mindre funktioner och tweaks
  • Fixade en bugg där CreateTexture skulle försöka linda en nolltextur
  • Fixade backbuffrar som inte cachelagrades eller hänvisade till ägande enhet
  • Fixade texturer, strömmar och index som inte rensades vid omstart
  • Fast plats för Direct3DCreate8 i d3d8.def
  • Fast referensantal för renderingsmål, djupmallar och texturer.
  • Fixade nollpixelskuggningar som inte kommer ihåg
  • Fixade renderingsmål och djupmallar som inte cachelagrades
  • Fixat bugg om klienten försöker aktivera SWVP på en hårdvaruenhet
  • Fixade enheter som inte jailbreakar
  • Fixat segfault på enhetssläpp med bundna texturer

Slutligen, om du är intresserad av att veta mer om det kan du läsa detaljerna I följande länk.

Du bör veta att projektkoden är skriven på C++-språk och distribueras under Zlib-licensen. Kodbasen för DXVK-projektet med implementeringen av Direct3D 9, 10 och 11 ovanpå Vulkan användes som grund för utvecklingen.

Hur installerar jag D8VK på Linux?

För den som är intresserad av att kunna installera D8VK bör de veta att implementeringen är ganska enkel och inte kräver mycket. Öppna bara en terminal för att kunna hämta den nya versionen. I den kommer vi att skriva följande kommando:

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

Eller om du föredrar att ladda ner från din webbläsare (du behöver bara packa upp filen och placera dig i en terminal i mappen) kan du göra det genom att klicka i den här länken.

Gjorde detta, nu ska vi gå in i katalogen med:

cd d8vk

Och vi fortsätter att genomföra implementeringen av d8vk i förekommande fall. För att implementera det med Wine måste vi skriva följande:

./setup_d3d8.sh install --no-proton

Eller om du vill implementera det med Proton, kommandot som måste skrivas är följande:

./setup_d3d8.sh install

Om du vill veta mer om dess användning eller installation för särskilda fall kan du rådfråga följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.