
A Tyr egy új, Rustban fejlesztett DRM kernel driver, amely a modern ARM Mali grafikus vezérlőkhöz készült, kifejezetten az ARM Mali CSF (Command Stream Frontend) firmware-rel rendelkező, „Gen10” vagy annál újabb generációjú Mali GPU-khoz. Jelenleg a Panthor nevű, C nyelvű DRM driver az, amely támogatja ezeket a GPU-kat a Linux kernelben. A Tyr célja, hogy fokozatosan váltsa le a Panthor drivert, a Rust nyelv előnyeit és a modern DRM kötéseket kihasználva.
A Tyr fejlesztésének háttere
Daniel Almeida (Collabora) jelentette be a Tyr projektet, amelyben ARM, Google és Collabora mérnökei működnek együtt. A fejlesztés jelenleg még korai stádiumban van, és a funkciók csak részben elérhetők, mivel a Rust DRM kötés-rendszere is még fejlődik.
Almeida így foglalta össze a bejelentést:
- A Tyr a Panthor portolása Rust nyelvre, megőrizve annak uAPI (userspace API) kompatibilitását, így a felhasználói tér számára változatlan interfészt kínál.
- A cél, hogy lépésről lépésre bővítsék a Tyr-t, amíg funkcionalitásában eléri a Panthor szintjét.
- Jelenleg a legfontosabb hiányosság, hogy nincs még teljes támogatás a virtuális memóriakezeléshez (GPUVM – GPU Virtual Memory), ami elengedhetetlen a hatékony memória leképezéshez és az MCU (Microcontroller Unit) inicializálásához. Emiatt jelen verzióban még korlátozott a működés.
- A kód főként a platformhoz kapcsolódó memória-hozzáférés validálására szolgál, illetve fejlesztési alapként funkcionál.
- Egy speciális IGT (Intel GPU Tools) tesztággal már elérhető a tesztelés, de jelenleg csak az rk3588 SoC-on működik érdemben, más hardvereken még nem.
Mit jelent a Rust nyelvű driver fejlesztése?
A Rust nyelv előnye, hogy biztonságosabb, memóriabiztonságra fókuszáló fejlesztést tesz lehetővé, így kevesebb esély van kernelbeli memóriahibákra, összeomlásokra vagy biztonsági résekre. Ez különösen fontos a kernelmodulok esetén, ahol az instabilitás rendszerszintű problémákhoz vezethet. A Tyr fejlesztése a Rust-alapú NOVA driver kódjára épül, amely az NVIDIA GPU-k nyílt forráskódú támogatását célozza. Ez a projekt is a Collabora, ARM és Google közös munkája.
A Tyr a jövőbeni ARM Mali GPU-k Linux alatti támogatásának új alapköve lehet, modern, biztonságos nyelven írt kernelmodulként. Bár még korai stádiumban van, és számos funkció hiányzik, a projekt ígéretes, és a Rust megjelenése a kernelgrafika területén izgalmas új irány. Az érdeklődők a Linux Kernel Mailing List-en (LKML) találhatnak további technikai részleteket és vitákat a Tyr fejlesztéséről.
