D8VK, implementacja Direct3D 8 dla DXVK

D8VK

D8VK to implementacja Direct3D 8, która umożliwia uruchamianie aplikacji 3D w systemie Linux za pomocą Wine.

Kilka dni temu ogłoszono wydanie pierwszej stabilnej wersji projektu „D8VK 1.0”, który oferuje Implementacja graficznego interfejsu API Direct3D 8 który działa poprzez tłumaczenie wywołań interfejsu Vulkan API i pozwala używać Wine lub Proton do uruchamiania aplikacji 3D i gier opracowanych dla systemu Windows w systemie Linux, które są połączone z interfejsem API Direct3D 8.

Jak wielu z was wie, w Linuksie mamy VKD3D-Proton do tłumaczenia Direct3D 12 na Vulkan, poza tym mamy również Steam Play, który używa DXVK do implementacji interfejsów API Direct3D 9/10/11 na Vulkan, ale dla starego .implementacji Direct3D 8, nie było nic konkretnego.

Właśnie dlatego narodził się D8VK, który jest implementacją starego API Microsoft Direct3D 8 przez Vulkan, aby poprawić wrażenia ze starszych gier.

D8VK 1.0 jest oznaczone jako pierwsze wydanie projektu, nadaje się do użytku i przetestowany w setkach gier. W porównaniu z projektami WineD3D i d3d8to9, które wykorzystują translację Direct3D 8 do OpenGL i Direct3D 9, projekt D8VK wykazuje lepszą wydajność, stabilność i kompatybilność z grami.

Na przykład podczas testów na pakiecie 3DMark 2001 SE projekt D8VK uzyskał 144660 punktów, kombinacja d3d8to9 i dxvk – 118033, a WineD3D – 97134.

Uruchomienie D8VK 1.0 wprowadza plik d3d8.dll(d3d9 jest statycznie połączone), a także a nowy niestandardowy procesor wsadowy dla niektórych gier o niezdefiniowanym zachowaniu.

Oprócz tego podkreśla się również, że obsługuje zastępowanie deklaracji modułu cieniującego wierzchołków dla gier o niezdefiniowanym zachowaniu oraz że bufory wierzchołków można teraz przechowywać w samozarządzającej się puli, aby poprawić wydajność i uniknąć problemów z kolejnością zapisu.

Należy również zauważyć, że obsługa kompilacji jest zaimplementowana w MSVC, a także obsługa zapytań GetInfo i typy bloków stanu są teraz obsługiwane.

Innych zmiany, które się wyróżniają:

  • Popraw rozmiary opisu powierzchni w oparciu o format
  • Pozwól zachować obecną instalację Protona
  • Niezliczone ustawienia specyficzne dla gry oraz drobne funkcje i poprawki
  • Naprawiono błąd, w wyniku którego funkcja CreateTexture próbowała zawinąć pustą teksturę
  • Naprawiono bufory zapasowe, które nie były buforowane ani odwoływane do urządzenia będącego właścicielem
  • Naprawiono tekstury, strumienie i indeksy, które nie były czyszczone po ponownym uruchomieniu
  • Naprawiono lokalizację Direct3DCreate8 w pliku d3d8.def
  • Naprawiono liczbę odniesień dla celów renderowania, szablonów głębi i tekstur.
  • Naprawiono niezapamiętywanie shaderów zerowych pikseli
  • Naprawiono brak buforowania celów renderowania i szablonów głębi
  • Naprawiono błąd, gdy klient próbował włączyć SWVP na urządzeniu sprzętowym
  • Naprawiono urządzenia, które nie łamały jail
  • Naprawiono segfault przy wydaniu urządzenia z powiązanymi teksturami

Na koniec, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami W poniższym linku.

Warto wiedzieć, że kod projektu napisany jest w języku C++ i jest rozpowszechniany na licencji Zlib. Baza kodu projektu DXVK z implementacją Direct3D 9, 10 i 11 na szczycie Vulkan została wykorzystana jako podstawa do rozwoju.

Jak zainstalować D8VK w systemie Linux?

Dla tych, którzy są zainteresowani możliwością zainstalowania D8VK, powinni wiedzieć, że jego wdrożenie jest dość proste i nie wymaga wiele. Wystarczy otworzyć terminal, aby móc pobrać nową wersję. Wpiszemy w nim następujące polecenie:

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

Lub jeśli wolisz pobierać z przeglądarki (wystarczy rozpakować plik i ustawić się w terminalu w folderze), możesz to zrobić, klikając w tym linku.

Zrobione, teraz wejdziemy do katalogu z:

cd d8vk

W zależności od przypadku przystępujemy do wdrożenia d8vk. Aby zaimplementować go za pomocą Wine, musimy wpisać:

./setup_d3d8.sh install --no-proton

Lub w przypadku chęci zaimplementowania go z Protonem, polecenie, które należy wpisać, jest następujące:

./setup_d3d8.sh install

Jeśli chcesz dowiedzieć się więcej o jego użyciu lub instalacji w określonych przypadkach, możesz się skonsultować poniższy link.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.