D8VK, en Direct3D 8-implementering for DXVK

D8VK

D8VK er en Direct3D 8-implementering som lar deg kjøre 3D-applikasjoner på Linux ved hjelp av Wine.

Noen dager siden utgivelsen av den første stabile versjonen av prosjektet "D8VK 1.0" ble annonsert, som tilbyr en Direct3D 8 grafikk API implementering som fungerer gjennom oversettelse av Vulkan API-kall og lar deg bruke Wine eller Proton til å kjøre 3D-applikasjoner og spill utviklet for Windows på Linux som er knyttet til Direct3D 8 API.

Som mange av dere vet, i Linux har vi VKD3D-Proton for oversettelse av Direct3D 12 i Vulkan, i tillegg har vi også Steam Play som bruker DXVK til å implementere Direct3D 9/10/11 API-ene over Vulkan, men for den gamle implementering av Direct3D 8, var det ingenting konkret.

Det er derfor D8VK ble født, som er implementeringen av den gamle Microsoft Direct3D 8 API over Vulkan for å forbedre opplevelsen av eldre spill.

D8VK 1.0 er merket som den første utgivelsen av prosjektet, egnet for bruk og testet i hundrevis av spill. Sammenlignet med WineD3D- og d3d8to9-prosjektene, som bruker Direct3D 8 til OpenGL og Direct3D 9-oversettelse, demonstrerer D8VK-prosjektet bedre ytelse, stabilitet og kompatibilitet med spill.

For eksempel, når det ble testet på 3DMark 2001 SE-pakken, fikk D8VK-prosjektet 144660 poeng, kombinasjonen av d3d8to9 og dxvk – 118033, og WineD3D – 97134.

Lanseringen av D8VK 1.0 introduserer d3d8.dll(d3d9 er statisk koblet), samt en ny tilpasset batch-prosessor for visse spill med udefinert oppførsel.

I tillegg til dette fremheves det også at støtte overstyrende vertex shader-erklæring for spill med udefinert oppførsel og at toppunktbuffere nå kan lagres i det selvstyrte bassenget for å forbedre ytelsen og unngå skriveordreproblemer.

Det bemerkes også at kompileringsstøtte er implementert i MSVC, samt støtte for GetInfo-spørringer og statusblokktyper støttes nå.

Av andre endringer som skiller seg ut:

  • Korrekt overflatebeskrivelsesstørrelser basert på format
  • Tillat å bevare gjeldende Proton-installasjon
  • Utallige spillspesifikke innstillinger og mindre funksjoner og justeringer
  • Rettet en feil der CreateTexture ville prøve å pakke inn en null-tekstur
  • Rettet tilbakebuffere som ikke ble bufret eller referert til å eie enheten
  • Rettet teksturer, strømmer og indekser som ikke ble slettet ved omstart
  • Fast plassering av Direct3DCreate8 i d3d8.def
  • Fast referansetelling for gjengivelsesmål, dybdemaler og teksturer.
  • Rettet null pixel shaders som ikke blir husket
  • Rettet gjengivelsesmål og dybdemaler som ikke ble bufret
  • Rettet feil hvis klient prøver å aktivere SWVP på en maskinvareenhet
  • Faste enheter som ikke jailbreaker
  • Rettet segfault på enhetsutgivelse med bundne teksturer

Til slutt, hvis du er interessert i å vite mer om det, kan du se detaljene I den følgende lenken.

Du bør vite at prosjektkoden er skrevet på C++-språket og distribueres under Zlib-lisensen. Kodebasen til DXVK-prosjektet med implementering av Direct3D 9, 10 og 11 på toppen av Vulkan ble brukt som grunnlag for utvikling.

Hvordan installerer jeg D8VK på Linux?

For de som er interessert i å kunne installere D8VK, bør de vite at implementeringen er ganske enkel og ikke krever mye. Bare åpne en terminal for å kunne få den nye versjonen. I den skriver vi inn følgende kommando:

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

Eller hvis du foretrekker å laste ned fra nettleseren din (du må bare pakke ut filen og plassere deg selv i en terminal inne i mappen) kan du gjøre det ved å klikke i denne lenken.

Gjort dette, nå skal vi gå inn i katalogen med:

cd d8vk

Og vi fortsetter med å gjennomføre implementeringen av d8vk som tilfellet kan være. For å implementere det med Wine, må vi skrive inn følgende:

./setup_d3d8.sh install --no-proton

Eller i tilfelle du ønsker å implementere det med Proton, er kommandoen som må skrives følgende:

./setup_d3d8.sh install

Hvis du vil vite mer om bruken eller installasjonen for spesielle tilfeller, kan du konsultere følgende lenke.


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: AB Internet Networks 2008 SL
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.