Zgłoś błąd
X
Zanim wyślesz zgłoszenie, upewnij się że przyczyną problemów nie jest dodatek blokujący reklamy.
Błędy w spisie treści artykułu zgłaszaj jako "błąd w TREŚCI".
Typ zgłoszenia
Treść zgłoszenia
Twój email (opcjonalnie)
Nie wypełniaj tego pola
Załóż konto
EnglishDeutschукраїнськийFrançaisEspañol中国

Stare gry wreszcie zadziałają na Linuksie. Niezależny projekt D7VK pozwoli uruchomić ponad 400 klasycznych tytułów Direct3D 7

Maciej Lewczuk | 12-11-2025 12:30 |

Stare gry wreszcie zadziałają na Linuksie. Niezależny projekt D7VK pozwoli uruchomić ponad 400 klasycznych tytułów Direct3D 7W świecie gamingu, gdzie co roku pękają kolejne bariery technologiczne, łatwo zapomnieć o fundamentach, o kultowych tytułach z przełomu wieków, które ukształtowały całą branżę. Niestety, dla wielu z tych gier, wykorzystujących architekturę DirectX 7 i 8, nowoczesne systemy operacyjne i karty graficzne stały się barierą. Ale teraz, dzięki ambitnemu projektowi o nazwie D7VK, ten problem może stać się przeszłością, zwłaszcza dla rosnącej społeczności linuksowej.

D7VK to warstwa translacyjna przekształcająca wywołania Direct3D 7 na Vulkan, umożliwiając uruchamianie klasycznych gier Windows na Linuksie, mimo iż API z tamtej epoki jest technicznym wyzwaniem.

Stare gry wreszcie zadziałają na Linuksie. Niezależny projekt D7VK pozwoli uruchomić ponad 400 klasycznych tytułów Direct3D 7 [1]

Linux z kamieniem milowym na Steamie. Odnotowano rekordowy udział w ankiecie dotyczącej sprzętu i oprogramowania

D7VK to fork projektu DXVK autorstwa WinterSnowfall, który przeszedł od koncepcji do funkcjonalnego prototypu w zaledwie kilka dni. Warstwa translacyjna działa jako dwustopniowa konwersja. Najpierw przekształca wywołania Direct3D 7 na Direct3D 9, a następnie, wykorzystując sprawdzony backend d3d9 z DXVK, tłumaczy je na nowoczesne API Vulkan. To podejście przypomina rosyjską matrioszkę. Każda warstwa hermetyzuje starszą technologię w nowszym API, minimalizując jednocześnie konieczność pisania kodu od podstaw. Sam autor przyznaje, że projekt powstał z bardzo osobistych powodów. "Zacząłem od chęci zagrania w 'Sacrifice' i 'Disciples II' na bazie dxvk", wyjaśnił na GitHubie. To pragmatyczne podejście zaowocowało rozwiązaniem, które może objąć znacznie szerszą grupę gier. PC Gaming Wiki kataloguje ponad 400 tytułów wykorzystujących Direct3D 7, choć większość to produkcje z wczesnych lat 2000. Lista obejmuje zarówno kultowe pozycje, jak "Escape from Monkey Island", "Arx Fatalis", ale też licencjonowane shovelware, które były większością w tamtym czasie.

ASUS ROG Xbox Ally X działa znacznie lepiej z systemem Linux. Można liczyć na płynniejszą rozgrywkę i nie tylko

Najważniejszą inspiracją dla D7VK był wcześniejszy projekt D8VK autorstwa AlpyneDreams, który zajmował się Direct3D 8 i ostatecznie został zintegrowany z głównym repozytorium DXVK w lipcu 2024 roku. WinterSnowfall nie ukrywa, że "bez D8VK i eksperymentalnej gałęzi AlpyneDreams nie rozważyłby nawet zanurzenia się w D7VK". To ciągłość rozwoju w ekosystemie open source, gdzie każdy projekt staje na ramionach poprzednich. Nie wszystkie gry Direct3D 7 będą jednak współpracować z D7VK. Autor ostrzega przed "piekielnie skomplikowaną interoperacyjnością API". Aplikacje łączące Direct3D 7 ze starszym ddraw (nie ddraw7) lub GDI najprawdopodobniej nigdy nie zadziałają. Dla takich tytułów WinterSnowfall rekomenduje alternatywne renderery, jak Glide z nGlide lub OpenGL, jeśli gra je obsługuje. W przeciwnym wypadku pozostaje klasyczny WineD3D, który choć wolniejszy, oferuje znacznie szerszą kompatybilność dzięki implementacji "wszystkiego, czym można się przejmować w ddraw i GDI".

Stare gry wreszcie zadziałają na Linuksie. Niezależny projekt D7VK pozwoli uruchomić ponad 400 klasycznych tytułów Direct3D 7 [2]

Linux z rekordowym udziałem w Polsce i Europie. Alternatywa dla Windowsa nigdy nie była tak popularna

Jak D7VK wypada na tle konkurencji? WineD3D od lat zapewnia obsługę Direct3D 7 przez OpenGL, a użytkownicy Steam Deck i innych dystrybucji Linuksa korzystają z tej warstwy bez większych problemów. Jednak D7VK oferuje potencjalne przewagi wydajnościowe – Vulkan to nowoczesne, niskopoziomowe API zaprojektowane z myślą o minimalnym narzucie, podczas gdy OpenGL niesie ze sobą dziedzictwo 30 lat rozwoju. WinterSnowfall jednak realistycznie ocenia sytuację: "D7VK może działać lepiej w niektórych aplikacjach, ale najprawdopodobniej nie przebije innych opcji uniwersalnie". 

Stare gry wreszcie zadziałają na Linuksie. Niezależny projekt D7VK pozwoli uruchomić ponad 400 klasycznych tytułów Direct3D 7 [3]

Stwórz bootowalny pendrive z Windows, Linux lub innym systemem. Krótki poradnik z udziałem dwóch programów

Co to oznacza dla użytkownika? Przede wszystkim szerszy wybór. Miłośnicy klasycznego gamingu na Steam Decku, SteamOS czy innych dystrybucjach Linuksa otrzymują kolejne narzędzie do eksperymentowania. D7VK obsługuje profile konfiguracyjne per-aplikacja, podobnie jak DXVK, co pozwala na precyzyjne dostrajanie, od wymuszania MSAA (choć Direct3D 7 AA nie jest w pełni obsługiwane) po szczegółowe logi debugowania. Projekt automatycznie obsługuje HUD DXVK, więc gracze mogą w czasie rzeczywistym monitorować wydajność, wywołania rysowania czy wykorzystanie pamięci GPU. Długofalowe konsekwencje projektu wykraczają poza Direct3D 7. WinterSnowfall podkreśla, że D7VK daje deweloperom DXVK "platformę do testowania implementacji fixed function z jeszcze starszymi grami". To oznacza, że benefity z rozwoju D7VK mogą spłynąć z powrotem do głównego projektu DXVK, poprawiając stabilność DirectX 8 i 9. Jednocześnie autor jasno określa granice. "D3D7 to już wystarczające wyzwanie. Im dalej od D3D9, tym dalej od boskości". Nie będzie prób wspierania jeszcze starszych API.

Źródło: Ars Technica, GitHub, Gaming on Linux
Bądź na bieżąco - obserwuj PurePC.pl na Google News
Zgłoś błąd
Liczba komentarzy: 7

Komentarze:

x Wydawca serwisu PurePC.pl informuje, że na swoich stronach www stosuje pliki cookies (tzw. ciasteczka). Kliknij zgadzam się, aby ta informacja nie pojawiała się więcej. Kliknij polityka cookies, aby dowiedzieć się więcej, w tym jak zarządzać plikami cookies za pośrednictwem swojej przeglądarki.