Pred pár dňami bolo oznámené vydanie prvej stabilnej verzie projektu „D8VK 1.0“, ponúka a Implementácia grafického API Direct3D 8 ktorý funguje prostredníctvom prekladu volaní Vulkan API a umožňuje vám používať Wine alebo Proton na spúšťanie 3D aplikácií a hier vyvinutých pre Windows na Linuxe, ktoré sú prepojené s Direct3D 8 API.
Ako mnohí viete, v Linuxe máme VKD3D-Proton na preklad Direct3D 12 vo Vulkane, okrem toho máme aj Steam Play, ktorý používa DXVK na implementáciu Direct3D 9/10/11 API cez Vulkan, ale pre ten starý Pri implementácii Direct3D 8 nebolo nič konkrétne.
Preto sa zrodil D8VK, čo je implementácia starého Microsoft Direct3D 8 API cez Vulkan na zlepšenie zážitku zo starších hier.
D8VK 1.0 je označený ako prvé vydanie projektu, vhodné na použitie a testované v stovkách hier. V porovnaní s projektmi WineD3D a d3d8to9, ktoré využívajú preklad Direct3D 8 do OpenGL a Direct3D 9, projekt D8VK demonštruje lepší výkon, stabilitu a kompatibilitu s hrami.
Napríklad pri testovaní na balíku 3DMark 2001 SE získal projekt D8VK 144660 bodov, kombinácia d3d8to9 a dxvk – 118033 a WineD3D – 97134.
Začatie projektu D8VK 1.0 predstavuje d3d8.dll(d3d9 je staticky prepojený), ako aj a nový vlastný dávkový procesor pre určité hry s nedefinovaným správaním.
Okrem toho sa zdôrazňuje aj to podporuje deklaráciu vertex shader pre hry s nedefinovaným správaním a že vyrovnávacie pamäte vrcholov môžu byť teraz uložené v samostatne spravovanej oblasti, aby sa zlepšil výkon a vyhlo sa problémom s poradím zápisu.
Je tiež potrebné poznamenať, že podpora kompilácie je implementovaná v MSVC, ako aj podpora pre dotazy GetInfo a typy stavových blokov.
Z iných zmeny, ktoré vynikajú:
- Správne veľkosti popisu povrchu na základe formátu
- Umožňuje zachovať aktuálnu inštaláciu Protonu
- Nespočetné množstvo nastavení špecifických pre hru a drobných funkcií a vylepšení
- Opravená chyba, pri ktorej sa CreateTexture pokúšal zabaliť nulovú textúru
- Opravené spätné vyrovnávacie pamäte, ktoré sa neukladajú do vyrovnávacej pamäte alebo odkazujú na zariadenie, ktoré ich vlastní
- Opravené textúry, prúdy a indexy, ktoré sa pri reštarte nevymazávajú
- Opravené umiestnenie Direct3DCreate8 v d3d8.def
- Opravený počet referencií pre ciele vykresľovania, šablóny hĺbky a textúry.
- Opravené nulové pixelové shadery, ktoré sa nepamätajú
- Opravené ciele vykresľovania a šablóny hĺbky, ktoré sa neukladajú do vyrovnávacej pamäte
- Opravená chyba, ak sa klient pokúša povoliť SWVP na hardvérovom zariadení
- Pevné zariadenia nie sú útek z väzenia
- Opravená chyba segfault pri vydaní zariadenia s viazanými textúrami
Nakoniec, ak máte záujem dozvedieť sa o tom viac, môžete sa obrátiť na podrobnosti Na nasledujúcom odkaze.
Mali by ste vedieť, že kód projektu je napísaný v jazyku C++ a je šírený pod licenciou Zlib. Ako základ pre vývoj bol použitý kódový základ projektu DXVK s implementáciou Direct3D 9, 10 a 11 nad Vulkan.
Ako nainštalovať D8VK na Linux?
Pre tých, ktorí majú záujem o inštaláciu D8VK, by mali vedieť, že jeho implementácia je pomerne jednoduchá a nevyžaduje veľa. Stačí otvoriť terminál, aby ste mohli získať novú verziu. V ňom napíšeme nasledujúci príkaz:
git clone https://github.com/AlpyneDreams/d8vk.git
Alebo ak uprednostňujete sťahovanie z vášho prehliadača (stačí rozbaliť súbor a umiestniť sa do terminálu v priečinku), môžete to urobiť kliknutím v tomto odkaze.
Urobte to, teraz vstúpime do adresára pomocou:
cd d8vk
A pristúpime k implementácii d8vk podľa okolností. Aby sme to mohli implementovať pomocou Wine, musíme zadať nasledovné:
./setup_d3d8.sh install --no-proton
Alebo v prípade, že ho chcete implementovať pomocou Protonu, príkaz, ktorý musíte zadať, je nasledujúci:
./setup_d3d8.sh install
Ak sa chcete dozvedieť viac o jeho použití alebo inštalácii pre konkrétne prípady, môžete sa poradiť nasledujúci odkaz.