Az AMD GPU-k illesztőprogram változásai

kami911 képe

Az AMD Linux grafikus vezérlő mérnökei már dolgoztak az új grafikus processzorok támogatásán. A fejlesztések a javítások a közzététel legkorábbi szakaszában vannak. A illesztőprogram kezelésének változása miatt azonban ezúttal élesen eltér a kialakítás, ahol korábban valami szín és hal név alatt voltak elérhetőek a javítások, hogy elrejtsék az új hardverekkel kapcsolatos munkájukat.

A Radeon RX 6000 sorozat támogatása jó formában van, a VanGogh GPU illesztőprogram is elkészült a Steam Deck-hez. A Yellow Carp, azaz Rembrandt támogatás előkészületei is remekül haladnak a közelgő Ryzen 6000 sorozatú mobil APU-khoz. Ennek fényében nem igazán meglepő, hogy a vállalat szakemberei már dolgoznának a következő fejlesztéseken. Valamint sokkal több PCI ID már előszele a lehetséges Navi 2 frissítéshez, a már pletykált RX 6x50 GPU-khoz, azaz különböző Navi 2 frissítési PCI ID-k. Plusz az a tény, hogy a tényleges hardveres engedélyezési folyamat általában jóval a termék bevezetése, vagy akár a kezdeti nyílt forráskódú illesztőprogram megjelenések előtt kezdődik. Mivel a változások bőven vannak minden új generációval, tovább a különböző jogi és belső felülvizsgálati folyamatokon kell átesniük, mielőtt az új engedélyezési kódot közzéteszik, így jó előre lehet megsejteni, hogy milyen újdonságokra számíthatunk.

Ezúttal az új hardvertámogatással ez sokkal láthatatlanabbnak tűnhet, de még mindig elég ahhoz, hogy a Git tárolók, és a javítófoltok átnézésével sok információt lehessen róluk összegyűjteni. Az elmúlt években, amikor az AMD a Linux-illesztőprogramok bevezetése előtti támogatását biztosította, az új GPU és ASIC-ek engedélyezéséhez általában hosszú szoftverfolt-sorozatok formájában küldték ki a kezdeti támogatást, és olyan színes, halas kódneveket kaptak, mint a Sienna Cichlid, Yellow Carp, Dimgrey Cavefish és mások. Ezek a Linux-specifikus kódnevek a mögöttes termék kódnevének elrejtésére szolgáltak, de a GPU firmware fájlnevei és a kód egyéb területei esetében is használták őket. Ez a megközelítés azonban úgy tűnik, hogy nagyrészt a múlté válik majd a közeli jövőben.

Emlékezhet erre a a tavalyi cikkre az AMDGPU meghajtóról, amely átdolgozta az eszközfelkutatással kapcsolatos megközelítését. Ez az alapvető  illesztőprogram változás a grafikus kártya inicializálásáról szól a felfedezett szellemi tulajdonokat (IP) tartalmazó hardver blokkok észlelése alapján, ahelyett, hogy a illesztőprogram kódútjait kizárólag a grafikus kártya PCI azonosítója alapján szegmentálnák. A legújabb AMD GPU-k támogatnak egy „IP felfedező táblázatot”, amely a grafikus motortól a videokódolásig és dekódolásig, a rendszer- és energiagazdálkodásig, a biztonságig és egyéb IP hardverblokkokig felismeri a GPU-t alkotó különböző hardverblokkokat.

Az AMDGPU illesztőprogram átdolgozása már a Linux kernelbe került, így a legújabb GPU-k esetében már a „IP-alapú felfedezés” (IP-based discovery) megközelítést alkalmazza a GPU indításakor, hogy elemezze a eszköztáblázatot, és a megfelelő kódútvonalakat használja, nem pedig kifejezetten a PCI ID alapján ismeri fel az eszközt. Az IP-alapú felderítési útvonal a kevesebb fixen kódolt információt jelent az illesztőprogramon belül, és ténylegesen modulárisabbá és tisztábbá teszi az illesztőprogramot. Ez segíthet az AMD-nek az egyedi SoC-oldalon is, mivel kevesebb illesztőprogram-módosításra lehet szükség, ha csak a meglévő támogatott blokkok új kombinációjának felépítéséről van szó. Ezen kívül az az AMD számára ez is előnyös lenne az új hardvertámogatás bevezetése során, mivel ez modulárisabb módon történhet, nem pedig néhány nagy, egymást követő javítófolt-sorozatban.

A firmware fájlnevek is a blokk nevét és verzióját veszik fel, nem pedig a halas kódneveket ezekben az új IP blokkokban.

Összefoglalva, úgy tűnik, hogy az AMD halad előre az új hardvertámogatásuk koncentrációján, elindulva ezen IP képesség alapú felfedezési megközelítés mentén a nyílt forráskódú Linux-illesztőprogramjukhoz. Az eddig eddig közzétett, több különböző szoftverfolt sorozat között nincs sok meglepetés, nincs eldugva még közötte egy újabb nagy hardver meglepetés, vagy egy nagyobb GPU frissítés. Ami azt illeti, hogy ezek a különböző blokkok engedélyezésének célja lehetséges, hogy a korai stádiumban lévő RDNA3-alapú hardverek támogatásának kiépítése. Mivel az AMDGPU vezérlő már támogatja az megjelent GPU hardvereket, valamint hozzáadta a különböző RDNA2 „frissítő” PCI ID-ket, továbbá már VanGogh és Yellow Carp (Rembrandt) támogatás is már van, így nagyon is lehetséges, hogy ezek a korai patch-ek, amelyek kezdenek áramlani, már az RDNA3-ról szólnak. Az RDNA 3 alapú eszközök, amelyet az AMD újra megerősítette, hogy 2022 második felében fognak a vásárlók kegyeiért a polcokra indulni. Ezek az új szoftverfoltok valószínűleg túl későn jelentek meg ahhoz, hogy kapcsolódjanak az RDNA2 újonnan megjelenő grafikus kártyákhoz, hiszen a kódok legkorábban májusban lesznek elérhetőek a végfelhasználók számára.

Függetlenül az új IP-blokkok felfedezésének legújabb patch-sorozatától, ha az AMD jó RDNA3 GPU támogatást akar a Linux asztali gépen a Linux asztali gépeken az upstream meghajtó kódokkal, akkor a következő generációs GPU illesztőprogramok kódját ki kell adniuk és be kell küldeniük a kernelbe és a Mesa illesztőprogramokhoz a nyárra. A Linux kernel kiadások, és az OpenGL/Vulkan Mesa kiadási ciklusa, valamint a kiemelkedő Linux disztribúciók kiadási ciklusai miatt idén nyáron több olyan javítási aktivitást kell látnunk, amely egyértelműen az RDNA3-ra mutat, ha az upstream kóddal jó megjelenés napi támogatásra törekszenek a bevezetéskor.

(forrás)