Před pár dny bylo oznámeno vydání první stabilní verze projektu „D8VK 1.0“, který nabízí Implementace grafického API Direct3D 8 který funguje prostřednictvím překladu volání Vulkan API a umožňuje používat Wine nebo Proton ke spouštění 3D aplikací a her vyvinutých pro Windows na Linuxu, které jsou propojeny s Direct3D 8 API.
Jak mnozí z vás vědí, v Linuxu máme VKD3D-Proton pro překlad Direct3D 12 ve Vulkanu, kromě toho máme také Steam Play, který používá DXVK k implementaci Direct3D 9/10/11 API přes Vulkan, ale pro ten starý Při implementaci Direct3D 8 nebylo nic konkrétního.
Proto se zrodil D8VK, což je implementace starého Microsoft Direct3D 8 API přes Vulkan pro vylepšení zážitku ze starších her.
D8VK 1.0 je označen jako první vydání projektu, vhodné pro použití a testované ve stovkách her. Ve srovnání s projekty WineD3D a d3d8to9, které používají překlad Direct3D 8 do OpenGL a Direct3D 9, projekt D8VK prokazuje lepší výkon, stabilitu a kompatibilitu s hrami.
Například při testování na balíčku 3DMark 2001 SE získal projekt D8VK 144660 bodů, kombinace d3d8to9 a dxvk – 118033 a WineD3D – 97134.
Zahájení D8VK 1.0 zavádí d3d8.dll(d3d9 je staticky propojen), stejně jako a nový vlastní dávkový procesor pro určité hry s nedefinovaným chováním.
Kromě toho je také zdůrazněno, že podpora deklarace vertex shaderu pro hry s nedefinovaným chováním a že vyrovnávací paměti vertexů lze nyní ukládat do samostatně spravovaného fondu, aby se zlepšil výkon a předešlo se problémům s pořadím zápisu.
Je také třeba poznamenat, že podpora kompilace je implementována v MSVC, stejně jako podpora pro dotazy GetInfo a typy stavových bloků.
Ostatních změny, které vyniknou:
- Správné velikosti popisu povrchu podle formátu
- Povolit zachování aktuální instalace Protonu
- Nespočet nastavení specifických pro hru a drobných funkcí a vylepšení
- Opravena chyba, kdy se CreateTexture pokusil zabalit prázdnou texturu
- Opravené backbuffery, které nebyly ukládány do mezipaměti nebo odkazovány na vlastnící zařízení
- Opraveny textury, streamy a indexy, které se při restartu nevymazávají
- Opravené umístění Direct3DCreate8 v d3d8.def
- Opraven počet referencí pro cíle vykreslení, hloubkové šablony a textury.
- Opravené nepamatování null pixel shaderů
- Opraveno, že se cíle vykreslování a šablony hloubky neukládaly do mezipaměti
- Opravená chyba, pokud se klient pokouší povolit SWVP na hardwarovém zařízení
- Pevná zařízení bez útěku z vězení
- Opravena chyba segfault při vydání zařízení s vázanými texturami
Konečně, pokud máte zájem dozvědět se o tom více, můžete konzultovat podrobnosti Na následujícím odkazu.
Měli byste vědět, že kód projektu je napsán v jazyce C++ a je distribuován pod licencí Zlib. Jako základ pro vývoj byl použit kódový základ projektu DXVK s implementací Direct3D 9, 10 a 11 nad Vulkanem.
Jak nainstalovat D8VK na Linux?
Pro ty, kteří mají zájem o možnost instalace D8VK, by měli vědět, že jeho implementace je poměrně jednoduchá a nevyžaduje mnoho. Chcete-li získat novou verzi, stačí otevřít terminál. V něm napíšeme následující příkaz:
git clone https://github.com/AlpyneDreams/d8vk.git
Nebo pokud dáváte přednost stahování z vašeho prohlížeče (stačí soubor rozbalit a umístit se do terminálu ve složce), můžete to udělat kliknutím v tomto odkazu.
Hotovo, nyní vstoupíme do adresáře s:
cd d8vk
A přistoupíme k implementaci d8vk podle okolností. Abychom to mohli implementovat pomocí Wine, musíme zadat následující:
./setup_d3d8.sh install --no-proton
Nebo v případě, že jej chcete implementovat pomocí Protonu, příkaz, který je třeba zadat, je následující:
./setup_d3d8.sh install
Pokud se chcete dozvědět více o jeho použití nebo instalaci pro konkrétní případy, můžete se poradit následující odkaz.