A Linux grafikus alrendszerének fejlődése az elmúlt években egyre inkább azt mutatja, hogy még a régebbi hardverek sem maradnak feltétlenül magukra hagyva, és ez különösen igaz az AMD korai GCN-alapú grafikus kártyáira. A Linux 6.19-es kernel egyik fontos változása volt, hogy az AMD GCN 1.0 és GCN 1.1 generációs GPU-k esetében alapértelmezetté vált az AMDGPU kernelmeghajtó használata a régi, „legacy” Radeon DRM driver helyett. Ez a váltás jelentős előrelépést hozott: jobb teljesítményt, azonnali RADV Vulkan támogatást, valamint modernebb grafikus stack-et biztosít ezekhez az immár korosodó kártyákhoz. A fejlesztések azonban nem állnak meg itt, és 2026-ra további érdemi javítások vannak kilátásban.
Timur Kristóf, a Valve Linux grafikus csapatának fejlesztője szilveszterkor közzétett blogbejegyzésében tekintette át az eddigi munkát, illetve felvázolta azokat a területeket, ahol még komoly lehetőségek rejlenek a GCN 1.0/1.1 hardverek Linux alatti támogatásának továbbfejlesztésére. Bár az AMDGPU-ra való átállás már most is lezárta a legfontosabb funkcionális hiányosságokat, Kristóf szerint még mindig akadnak hibák, technikai adósságok és olyan fejlesztések, amelyek hosszabb távon jelentősen javíthatják ezeknek a GPU-knak a használhatóságát.
Az egyik legfontosabb tervezett lépés a DRM formátummódosítók (DRM format modifiers) támogatásának kiterjesztése minden SI, CIK, VI és Polaris GPU-ra. Ez nem csupán egy belső technikai finomítás lenne, hanem alapvető jelentőségű a Vulkan ökoszisztéma számára. A formátummódosítók megléte lehetővé tenné a teljes egészében Vulkan-alapú kompozitorok használatát, megkönnyítené a Zink (OpenGL Vulkan felett) alkalmazását, és általánosságban modernebb grafikus megoldásokat nyitna meg ezeknél a kártyáknál. Röviden: ez a lépés közelebb hozná a régi GCN GPU-kat a mai Linux grafikus stack elvárásaihoz.
Szintén kiemelt feladat a TRAVIS és NUTMEG kijelzőhidak támogatásának bevezetése. Ennek célja, hogy a CIK-alapú APU-k esetében is alapértelmezetté válhasson az AMDGPU meghajtó használata. Ez jelenleg még akadályokba ütközik, részben azért, mert a fejlesztéshez szükséges hardver nem áll Kristóf rendelkezésére. A fejlesztő nyíltan jelezte, hogy aki ilyen eszközzel rendelkezik és szívesen segítene a tesztelésben vagy a fejlesztésben, az jelentkezhet – ez jól mutatja, mennyire közösségi jellegű még mindig az open source grafikus driverek fejlődése.
Egy másik hosszabb távú, de annál fontosabb cél a SI és KV energiagazdálkodási kód átdolgozása. A jelenlegi megoldás még részben a régi, örökölt (legacy) energiakezelési logikára épül, amely bonyolultabb karbantartást és több hibalehetőséget jelent. Ennek kiváltása nemcsak stabilabb működést eredményezne, hanem jelentősen csökkentené a fejlesztők karbantartási terheit is, ami kulcsfontosságú az ilyen régi hardverek hosszú távú életben tartásához.
Az amdgpu Display Controller Engine (DCE) saját energiaigénnyel rendelkezik, amely megfelelő órajeleket, feszültségeket és vezérlési folyamatokat igényel. A korábbi, „legacy” teljesítménykezelő kód nem kommunikált megfelelően a DCE-vel, ráadásul hibás is volt, ezért a fejlesztés első lépése a hibák kijavítása volt:
- SI teljesítménykezelés javításai: Hibajavítások a Tahiti GPU bootolásához DCE-vel, valamint a rendszervezérlő (SMC) hosszabb időkorlátot kapott bizonyos feladatokhoz.
- További SI teljesítmény- és PLL-javítások: Különösen az ASPM (Active State Power Management) letiltása, amely véletlenszerű rendszerlefagyásokat okozott.
- SI csatlakoztatása a legacy DPM kódhoz: Szükséges annak érdekében, hogy a teljesítménykezelő tudja, hány és milyen típusú kijelzők vannak csatlakoztatva.
Ehhez szorosan kapcsolódik az a terv is, hogy idővel kikerüljön az AMDGPU-ból a nem DC-alapú örökölt kijelzőkezelő kód. A Display Core (DC) egységesebb és modernebb megközelítést kínál, a régi megoldások fenntartása viszont egyre inkább technikai adóssággá válik. Ennek felszámolása szintén a karbantarthatóságot és a stabilitást szolgálná.
Az SI generáció első VCE (Video Coding Engine) generációval rendelkezik, amely csak H.264 kódolást támogat 2048 × 1152 felbontásig. Ez a funkció elsősorban azok számára fontos, akik streaminggel vagy videó transzkódolással foglalkoznak. A fejlesztés fő kihívása az volt, hogy a firmware (VCPU BO) alacsony 32-bites címterületen kell, hogy legyen, és optimális teljesítmény érdekében VRAM-ban kell elhelyezni. A megoldás:
- VCPU BO elhelyezése VRAM-ban az amdgpu driver segítségével.
- A GART (Graphics Address Remapping Table) leképezése az alacsony 32-bites címtartományba.
- Néhány oldalbejegyzés hozzáadása a GART-hoz, amely lehetővé teszi a VCPU BO megfelelő leképezését.
Ezzel a módszerrel a VCE1 támogatása könnyebben integrálhatóvá vált az amdgpu driverbe, a korábbi radeon és VCE2 kódok mintájára.
Természetesen konkrét hibajavítások is szerepelnek a tervek között. Kristóf külön megemlíti a Radeon 430 teljesítménykorlát-problémáját, a Radeon HD 7790 analóg kimenetén jelentkező fekete képernyős hibát, valamint az SI/CIK GPU-kon előforduló virtuális memória (VM) hibákat. Ezek nem minden felhasználót érintenek, de akik igen, azok számára komoly használhatósági problémát jelentenek, így ezek kezelése fontos része a 2026-ra tervezett munkának.
Érdekes technikai terület a ritka leképezés (sparse mapping, PRT) támogatásának ellenőrzése és véglegesítése is. Kristóf már elkészített egy kerneloldali javítást és egy Mesa merge requestet a funkció engedélyezéséhez, de a teljes körű verifikáció még hátravan. Ez a képesség elsősorban a modern grafikus és compute alkalmazások számára fontos, és újabb lépést jelentene afelé, hogy a régi GCN kártyák ne csak „működjenek”, hanem valóban használhatóak maradjanak korszerű szoftverekkel is.
Végül, de nem utolsósorban, tervben van a transfer queue támogatás megvalósítása a RADV Vulkan driverben ezekhez a régebbi GPU-khoz. Ez a Vulkanon belüli adatmozgatási műveletek hatékonyabb kezelését tenné lehetővé, ami bizonyos alkalmazásoknál és játékoknál mérhető teljesítménynövekedést hozhat.
Fontos hangsúlyozni, hogy bár a fenti pontok fókuszában elsősorban a GCN 1.0 és 1.1 generáció áll, több fejlesztés – különösen a DRM formátummódosítók vagy az infrastruktúra-tisztítás – más GPU-kra, például a Polaris szériára is pozitív hatással lenne. Ez azt jelenti, hogy a munka nem elszigetelt, hanem az AMD nyílt forrású Linux grafikus stack egészét erősíti.
A fejlesztések célja nem csak az új funkciók támogatása volt, hanem az idősebb GPU-k hosszú távú támogatása is. A Linux játékélményét így a régebbi hardverekkel rendelkező felhasználók számára is élvezhetővé teszik. Az amdgpu és a DCE hosszú távú támogatása biztosítja, hogy a GCN1-5, RDNA1-4 és CDNA generációk kompetensen működjenek a jövőben is. A DC alapértelmezett használata az SI és CIK GPU-kon lehetővé teszi az atomikus modesetting, VRR és HDR funkciók elérését.
A fejlesztés állapotáról a XDC 2025 konferencián rövid előadás készült, bemutatva az SI és CIK támogatás jelenlegi helyzetét, a jövőbeni terveket és a VCE1 integrációját.
Összességében Timur Kristóf tervei jól mutatják, hogy még 2026-ban is van jövője a régebbi AMD GPU-knak Linux alatt. Bár ezek a kártyák hardveresen már nem tartoznak az élvonalba, az AMDGPU, a Mesa és a RADV folyamatos fejlesztése révén egyre stabilabb, modernebb és hosszabb távon is életképes megoldást jelentenek azok számára, akik nem szeretnének vagy nem tudnak azonnal új hardverre váltani. Az érdeklődők számára érdemes elolvasni Kristóf blogbejegyzését is, amely részletesebb technikai háttérrel szolgál ezekről az előrelépésekről.
Mely grafikus kártyákat érinti az amdgpu fejlesztés?
Az alábbi leírás az AMD GCN generációit (GFX6–GFX8) és a hozzájuk tartozó dedikált GPU-kat foglalja össze, valamint a Linux 6.19-től érvényes amdgpu/DC támogatás fő változásait.
GFX6 – GCN1, Southern Islands (SI)
Állapot: Linux 6.19-től az amdgpu a default kernel driver. A DC megjelenítő driver is alapértelmezetté vált. Támogatott az analóg csatlakozás, a teljesítménykezelés kevésbé hibás, és a videókódolás (VCE1) is működik.
Érintett GPU-k:
-
Tahiti
Radeon HD 7870 XT, 7950, 7970, 7990, 8950, 8970, 8990
Radeon R9 280, 280X
FirePro W8000, W9000, D500, D700, S9000, S9050, S10000
Radeon Sky 700, 900 -
Pitcairn
Radeon HD 7850, 7870, 7970M, 8870, 8970M
Radeon R9 265, 270, 270X, 370, 370X, M290X, M390
FirePro W5000, W7000, D300, R5000, S7000 -
Cape Verde
Radeon HD 7730, 7750, 7770, 8730, 8760
Radeon R7 250E, 250X, 350, 450
FirePro W600, W4100, M4000, M6000 -
Oland
Radeon HD 8570, 8670
Radeon R5 240, 250, 330, 340, 350, 430, 520, 610
FirePro W2100
különböző mobil GPU-k -
Hainan
különböző mobil GPU-k
GFX7 – GCN2, Sea Islands (CIK)
Állapot: Linux 6.19-től az amdgpu a default kernel driver.
- Bonaire: DC most már alapértelmezett (Hawaii már korábban is).
- Támogatott az analóg csatlakozás.
- Kis hibajavítások a működésben.
Érintett GPU-k:
-
Hawaii
Radeon R9 290, 290X, 295X2, 390, 390X
FirePro W8100, W9100, S9100, S9150, S9170 -
Bonaire
Radeon HD 7790, 8870
Radeon R7 260, 360, 450
Radeon RX 455, FirePro W5100
különböző mobil GPU-k
GFX8 – GCN3, Volcanic Islands (VI)
Állapot: A DC most már támogatja az analóg csatlakozást. Az amdgpu és DC már korábban is támogatottak voltak ezeken a GPU-kon.
Érintett GPU-k:
-
Tonga
Radeon R9 285, 380, 380X
Megjegyzés: A VI család egyéb chipei nem érintettek a legutóbbi fejlesztésekben

