Windows kiadáshoz segítené a nyílt forráskódú RADV drivert a Valve
Prohardver
2026-07-30 10:20
A Linuxszal ellentétben a Windows egy jóval zártabb világnak számít, és jelenleg egyetlen gyártó sem kínál nyílt forráskódú grafikus meghajtót a Microsoft operációs rendszeréhez. Jóllehet egyelőre nem is tűnik úgy, hogy erre igény lenne, illetve sokan megvalósíthatatlannak is tartanak egy ilyen irányú projektet. Faith Ekstrand, a Collabora szakembere azonban már 2024-ben beszélt róla, hogy a felhasználói módban futó Windows grafikus meghajtóknak nem kell szükségszerűen zártnak lenniük, megvalósíthatók lennének nyílt formában is, ha az adott gyártó kellő együttműködési hajlamot mutat.
A Collabora úgy néz ki, hogy be szeretné bizonyítani a projekt megvalósíthatóságát, így Louis-Francis Ratté-Boulianne egy friss blogbejegyzésben jelentette be, hogy aktívan zajlik a háttérben a munka, amely már képes futtatni a Counter-Strike 2 című játékot.
Így döcög a Counter-Strike 2 a nyílt forráskódú, kísérleti RADV driver alatt [+]
Az egész alapját Faith Ekstrand rakta le, aki korábban azt vizsgálta, hogy egyáltalán megoldható-e a RADV futtatása Windows operációs rendszeren. Viszonylag hamar kiderült, hogy a WDDM2 kellően jól van felépítve ahhoz, hogy elméletileg lehetséges legyen külső fejlesztésű illesztőprogramok használni, ami egy fontos szempont, másképp nem lett volna érdemes belekezdeni a fejlesztésbe. Nagy problémát jelentett viszont, hogy a rendszer egyes részei nem dokumentáltak, ami konkrétan azt jelenti, hogy a felhasználói és a kernel módú driver közötti kommunikáció olyan adatcsomagokkal valósul meg, amelyeket az adott gyártó a saját igényei szerint alakíthat ki. Mivel erre vonatkozóan nincsenek leírások, az adatcsomagok tartalma nem ismert, így ehhez a RADV fejlesztői egy visszafejtést biztosító eszközt terveztek. Utóbbi képes naplózni a WDDM2 rendszerhívásokat és a bennük lévő privát adatokat, aminek hála sikerült feltárni azokat a részleteket, amelyek a legfontosabbak a működéssel kapcsolatban.
Mindez önmagában nagyon hasznos volt, de a fejlesztés korai szakaszában kiderült, hogy az eltérő GPU-k másképp viselkednek még kis hardveres különbség mellett is. Ez azt eredményezte, hogy például a Radeon RX 7800 XT-n működő kódok már lefagytak Radeon RX 7900 XT-n. Ennek megértéséhez a korábban visszafejtéshez használt segédprogramot átalakították egy Vulkan alkalmazások működését figyelő eszközzé, így információt kaphattak arról, hogy az egyes GPU-kon pontosan hol tér el a nyílt driver működése az AMD hivatalos megoldásától. A mélyebb hibakeresésnek hála sikerült megalkotni egy olyan nyílt forráskódú Vulkan eszközillesztőt, amely a Vulkan hitelesítési teszten még nem ugyan nem megy át, de számos Vulkan API-ban rögzített modern funkciót kezel, és ezáltal képes futtatni egy valódi, Vulkan API-ra írt játékot Windows operációs rendszeren.
Maga a RADV Windows verziója az AMD zárt kernel driverével kommunikál, vagyis alapvetően az AMD saját gyári eszközillesztőjére kell telepíteni. A projekt azonban még kísérleti fázisban van, mivel előbb át kell mennie a Vulkan hitelesítési teszten, amire csak később kerülhet sor, az összes igényelt funkció implementálása után.
A legnagyobb kérdés az, hogy az AMD hogyan reagál majd, ugyanis a vállalat Windowson teljesen zárt csomagot kínál, vagyis eddig nem volt szükségszerű dokumentálni a felhasználói és a kernel módú driver közötti kommunikációhoz használt adatcsomagok struktúráját. Ha esetleg ezek változtak, akkor a cég saját maga hozzáigazította a teljes eszközillesztőt és kész. A RADV számára az a legnagyobb veszély, ha a szóban forgó adatstruktúra újra megváltozik, mert onnantól kezdve a RADV eszközillesztőt is át kell tervezni. Emiatt a hosszabb távon értékelhető stabilitáshoz szükség lenne vagy egy AMD által kiadott hivatalos, dokumentált interfészre, vagy egy olyan köztes rétegre, amely elrejti a jellemző változásokat a RADV elől.
A projekt végső célja, hogy a Vulkan hitelesítési tesztjén átmenve képes legyen futtatni a Vulkan programokat, méghozzá úgynevezett zero-copy megoldás formájában, vagyis a kiszámolt képkockák másolás nélkül jussanak el a megjelenítésért felelős alrendszerhez. Utóbbi számottevő teljesítménynövekedéssel járna, de a megvalósításához szükség van az AMD és a Microsoft együttműködésére. Utóbbira egyébként van remény, mert egyik cég számára sem káros az, ha van nyílt forráskódú a Vulkan eszközillesztő Windowsra. Ráadásul a projektet a Valve szponzorálja, vagyis a stabil anyagi háttér is megvan mögötte.