Предизвикателството при пренасянето на RADV драйверите на AMD от Linux към Windows

Последна актуализация: 22 август 2026
  • Valve и Collabora работят по пренасянето на драйвера с отворен код RADV за Windows, за да предложат алтернатива на собствените драйвери.
  • Проектът е базиран на обратно инженерство на WDDM2 интерфейса за комуникация с драйвера на ядрото на AMD.
  • Постигнати са важни етапи, като например изпълнението на Counter-Strike 2, въпреки че липсата на официална документация от AMD е пречка.
  • Тази инициатива има за цел да подобри стабилността, отстраняването на грешки и производителността на графичните процесори AMD под Windows.

Концептуално представяне на дигитален мост, свързващ логата на Linux и Windows със светещ графичен процесор (GPU), символизиращ порта на RADV драйвера.

Вероятно сте чували, че Linux е рай за любителите на свободния софтуер, а в сферата на AMD графиките, драйверът RADV царува върховно. Този драйвер Vulkan, интегриран в Mesa, се е превърнал в стандарт за геймърите в Steam Deck или всяка друга Linux дистрибуция, надминавайки дори официалните опции на компанията. Но какво ще стане, ако можехме да имаме същата мощност и прозрачност в Windows? Е, има група силно мотивирани хора, които се опитват да направят точно това.

Идеята не е да се изхвърлят вече съществуващите драйвери, а да се предложи алтернатива. Valve, която продължава да насърчава отворения код, е осигурила финансиране на експертите от Collabora, за да се опитат да портират RADV към системата на Microsoft. Въпреки че може да изглежда като невъзможна мисия, те вече са успели да накарат игри като Counter-Strike 2 да работят , демонстрирайки, че пътят, макар и труден, е напълно осъществим с необходимото търпение.

Графични проблеми в Windows 11
Свързана статия:
Графични проблеми в Windows 11: грешки, корекции и как ви засягат

От какво технически се състои този порт?

Крупен план на детайлна, осветена графична карта AMD Radeon, основен хардуер на RADV драйвера.

За да разберем проблема, е важно да знаем, че драйверът е разделен на две части: потребителски режим (UMD), където се намира RADV, и режим на ядрото (KMD), който комуникира директно с хардуера. В Windows Microsoft използва интерфейс, наречен WDDM2. Ключовата разлика е, че от Windows 10 насам този интерфейс позволява на драйвери от трети страни да взаимодействат с ядрото по-гъвкаво от преди.

Проблемът е, че AMD пази тайните си под ключ. За да работи RADV, той трябва да изпраща данни до ядрото на AMD, но тези данни се състоят от непрозрачни „петна“ и са недокументирани. За да реши този проблем, Фейт Екстран създаде инструмент, наречен wddm2-pdd-re, който позволява регистриране и анализ на системни повиквания . Благодарение на това обратно инженерство, те успяха да дешифрират как да изискват памет, да създават работни опашки и в крайна сметка да рисуват неща на екрана.

Неравности по пътя: хардуер и компилатори

Детайлен изглед на програмен код на екран, представляващ обратно инженерство и разработка на драйвери.

Не всичко вървеше гладко. Разработчиците осъзнаха, че не всички графични процесори са създадени еднакви; например, надстройката от RX 7800 XT до RX 7900 XT водеше до постоянни сривове на системата. Това ги принуди да подобрят инструментите си за отстраняване на грешки , създавайки много по-мощен WDDM2 слой за регистриране, за да установят точно къде се нарушава потокът от команди.

Освен това, работата с компилатори е истинско главоболие. Mesa е проектиран за GCC и Clang, но в Windows MSVC е доминиращият компилатор. Оказва се, че MSVC обработва енумераторите по различен начин , понякога ги третирайки като знакови стойности, което води до непостоянно поведение, което може да подлуди всеки програмист.

Пречка: непрозрачността на AMD

Ако искаме това да е нещо, което всеки потребител може да инсталира и използва, без компютърът му да се срива, се нуждаем от стабилност. В момента RADV на Windows е крехък, защото разчита на частни структури от данни, които AMD може да промени във всяка официална актуализация на драйвера, без да уведоми никого. Все едно се опитвате да сглобите парче от пъзел, което променя формата си всяка седмица.

За да преодолеят това затруднение, Collabora спешно поиска от AMD или Microsoft да предоставят документиран интерфейс или „shim“ библиотека, която да действа като мост. Без това поддръжката ще бъде кошмар. Друг критичен проблем е представянето на изображения; в момента те използват бавен маршрут, базиран на процесор, и трябва да внедрят DXGI swapchains, за да постигнат наистина конкурентна производителност и да избегнат затруднения.

Защо трябва да ни интересува този проект?

Наличието на RADV в Windows не е просто прищявка на програмист. Собствените драйвери на AMD в Windows понякога са известни с това, че са нестабилни или причиняват графични проблеми в Windows 11 или проблеми в определени игри. RADV, бидейки с отворен код, позволява на общността да докладва за грешки и да прилага корекции много по-бързо . Освен това, това би улеснило живота на разработчиците на игри, които биха могли да тестват кода си върху една имплементация на Vulkan за двете операционни системи.

Това би могло да даде втори живот и на по-стари графични карти, които AMD вече е спряла от производство. Като обществен проект, съвместимостта с по-стар хардуер често трае много по-дълго от официалната поддръжка. Ако Valve продължи да насърчава това, бихме могли да стигнем до момент, в който инсталирането на RADV на Windows се превръща в предпочитания вариант за постигане на стабилност или дори няколко допълнителни FPS.

Усилията на Valve и Collabora превърнаха една шантава идея в работещ прототип, който вече рендира полигони в реални игри. Въпреки техническите препятствия с компилаторите и липсата на официални ръководства от AMD, основата е положена. Бъдещето на тази инициатива сега зависи от това дали има желание да се отвори ядрото, така че отвореният код да може да се използва и на настолните компютри на милиони потребители на Windows.