Utmaningen med att porta AMD:s RADV-drivrutiner från Linux till Windows

Senaste uppdateringen: 22 Agosto 2026
Författare: alexandra
  • Valve och Collabora arbetar med att porta den öppna källkodsdrivrutinen RADV till Windows för att erbjuda ett alternativ till proprietära drivrutiner.
  • Projektet är baserat på reverse engineering av WDDM2-gränssnittet för att kommunicera med AMD:s kernel-mode-drivrutin.
  • Viktiga milstolpar har uppnåtts, såsom genomförandet av Counter-Strike 2, även om bristen på officiell dokumentation från AMD är ett hinder.
  • Detta initiativ syftar till att förbättra stabilitet, felsökning och prestanda på AMD-grafikprocessorer under Windows.

Konceptuell representation av en digital brygga som förbinder Linux- och Windows-logotyperna med ett glödande GPU-chip, som symboliserar RADV-drivrutinsporten.

Du har säkert hört att Linux är ett paradis för fri mjukvaruälskare, och inom AMD-grafik regerar RADV-drivrutinen suveränt. Denna Vulkan-drivrutin, integrerad i Mesa, har blivit standarden för spelare på Steam Deck eller vilken Linux-distribution som helst, och överträffar till och med företagets officiella alternativ. Men tänk om vi kunde ha samma kraft och transparens på Windows? Det finns en grupp mycket motiverade människor som försöker göra just det.

Tanken är inte att göra oss av med de drivrutiner vi redan har, utan att erbjuda ett alternativ. Valve, som fortsätter att marknadsföra öppen källkod, har finansierat experterna på Collabora för att försöka porta RADV till Microsofts system. Även om det kan verka som ett omöjligt uppdrag har de redan lyckats få spel som Counter-Strike 2 att fungera , vilket visar att vägen, även om den är utmanande, är fullt genomförbar med nödvändigt tålamod.

Grafikfel i Windows 11
Relaterad artikel:
Grafikfel i Windows 11: fel, korrigeringar och hur de påverkar dig

Vad består den här porten tekniskt sett av?

Närbild av ett detaljerat, upplyst AMD Radeon-grafikkort, kärnhårdvaran i RADV-drivrutinen.

För att förstå problemet är det viktigt att veta att en drivrutin är uppdelad i två delar: användarläge (UMD), där RADV finns, och kärnläge (KMD), som kommunicerar direkt med hårdvaran. I Windows använder Microsoft ett gränssnitt som heter WDDM2. Den viktigaste skillnaden är att detta gränssnitt, sedan Windows 10, tillåter tredjepartsdrivrutiner att interagera med kärnan mer flexibelt än tidigare.

Problemet är att AMD håller sina hemligheter hemliga. För att RADV ska fungera måste de skicka data till AMD-kärnan, men den informationen består av ogenomskinliga "blobbar" och är odokumenterad. För att lösa detta problem skapade Faith Ekstrand ett verktyg som heter wddm2-pdd-re som möjliggör loggning och analys av systemanrop . Tack vare denna reverse engineering kunde de dechiffrera hur man begär minne, skapar arbetsköer och slutligen ritar saker på skärmen.

Gupp på vägen: hårdvara och kompilatorer

Detaljerad vy av programmeringskod på en skärm, som representerar reverse engineering och drivrutinsutveckling.

Allt har inte gått smidigt. Utvecklarna insåg att inte alla grafikkort är skapade lika; till exempel orsakade en uppgradering från ett RX 7800 XT till ett RX 7900 XT att systemet kraschade konstant. Detta tvingade dem att förbättra sina felsökningsverktyg och skapa ett mycket kraftfullare WDDM2-logglager för att exakt kunna identifiera var kommandoflödet bröts.

Dessutom är det en riktig huvudvärk att hantera kompilatorer. Mesa är designad för GCC och Clang, men på Windows är MSVC den dominerande kompilatorn. Det visar sig att MSVC hanterar uppräknare på olika sätt , ibland behandlar dem som signerade värden, vilket leder till oregelbundet beteende som kan göra vilken programmerare som helst galen.

Flaskhalsen: AMD:s opacitet

Om vi ​​vill att detta ska vara något som alla användare kan installera och använda utan att deras dator kraschar, behöver vi stabilitet. För närvarande är RADV på Windows känsligt eftersom det förlitar sig på privata datastrukturer som AMD kan ändra i vilken officiell drivrutinsuppdatering som helst utan att meddela någon. Det är som att försöka få plats med en pusselbit som ändrar form varje vecka.

För att övervinna denna flaskhals har Collabora snarast begärt att AMD eller Microsoft tillhandahåller ett dokumenterat gränssnitt eller ett "shim"-bibliotek som kan fungera som en brygga. Utan detta kommer underhåll att vara en mardröm. En annan kritisk fråga är bildpresentationen; för närvarande använder de en långsam CPU-baserad rutt och behöver implementera DXGI-swapchains för att uppnå verkligt konkurrenskraftig prestanda och undvika flaskhalsar.

Varför ska vi bry oss om det här projektet?

Att ha RADV på Windows är inte bara en programmerares infall. AMD:s proprietära drivrutiner på Windows är ibland kända för att vara instabila eller orsaka grafiska fel i Windows 11 eller problem i vissa spel. RADV, som är öppen källkod, gör det möjligt för communityn att rapportera buggar och implementera patchar mycket snabbare . Dessutom skulle det göra livet enklare för spelutvecklare, som skulle kunna testa sin kod på en enda Vulkan-implementering för båda operativsystemen.

Detta skulle också kunna ge ett andra liv åt äldre grafikkort som AMD redan har lagt ner. Som ett communityprojekt varar kompatibilitet med äldre hårdvara ofta mycket längre än officiellt stöd. Om Valve fortsätter att marknadsföra detta kan vi nå en punkt där installation av RADV på Windows blir det föredragna alternativet för att få stabilitet eller till och med några extra FPS.

Valves och Collaboras ansträngningar har förvandlat en galen idé till en fungerande prototyp som redan renderar polygoner i riktiga spel. Trots tekniska hinder med kompilatorer och bristen på officiella manualer från AMD har grunden lagts. Framtiden för detta initiativ beror nu på om det finns en vilja att öppna upp kärnan så att öppen källkod också kan glänsa på miljontals Windows-användares datorer.