A Red Hat mérnökei javasolták az első javítócsomagok beillesztését a Linux kernelbe, amelyek a Nova illesztőprogram megvalósítását tartalmazzák. Az illesztőprogram az NVIDIA GPU-k használatára van tervezve, amelyek GSP-firmware-rel rendelkeznek, és amelyeket az NVIDIA GeForce RTX 2000 szériától kezdve a Turing mikroarchitektúrára építve használnak. Az ilyen GPU-kon az inicializálási és vezérlési műveleteket a firmware végzi, külön GSP (GPU System Processor) mikrokontroller által végrehajtva. Hosszú távon várhatóan a Nova helyettesíteni fogja a GSP-vel rendelkező GPU-khoz készült Nouveau illesztőprogramot.
Az új illesztőprogram Rust nyelven íródott, és mivel a Rust-illesztőprogramok fejlesztéséhez szükséges infrastruktúra még fejlődés alatt áll, a Nova kódját fokozatosan tervezik beilleszteni a kernelbe, ahogy a Rust nyelvhez szükséges keretek megjelennek. Az első lépésben a kernelbe beillesztésre javasolt illesztőprogram a „nova-core”, amely 232 sor kódból áll. A Nova-core a GSP firmware programozási interfészei feletti alapvető absztrakciós szintet kínálja, és egy verziófüggetlen API-t biztosít.
A következő szakaszban a kernelbe tervezik beilleszteni a nova-drm (Direct Rendering Manager) DRM-illesztőprogramot, amely lehetővé teszi a GPU-k felhasználói térből való interakcióját, valamint egy VFIO-illesztőprogramot a vGPU menedzserével, amely lehetővé teszi az NVIDIA virtuális GPU-k használatát virtualizációs rendszerekben.
Az új Nova illesztőprogram előmozdításának fő oka, hogy megszabaduljon a Nouveau illesztőprogram bonyolultságaitól, és jelentős egyszerűsítést érjen el, a GSP firmware által biztosított kész kezelők bevonásával, valamint a régi GPU-k támogatásának elhagyásával. A Nova emellett megoldja a Nouveau architekturális problémáit is, amelyek jelentős kódbázis-átdolgozást igényelnek, például a VMM/MMU kódzási zárolási problémákat. A Rust nyelvet a memória kezelésével járó hibák valószínűségének csökkentésére választották, valamint a munkában lévő illesztőprogram fejlesztését váltja össze a Rust-ra történő illesztőprogram-keretek és absztrakciók létrehozásával.

A Linux kernel 6.14-es verziójába a Rust programozási nyelv szabványosságának elősegítése érdekében elfogadták a PCI, platformok, Open Firmware, karakteres eszközök és különböző bemeneti/kimeneti funkciók Rust-burkolatait. Greg Kroah-Hartman, aki a Linux kernel stabil ágazatának támogatásáért felelős, az 6.14-es kernelhez készült illesztőprogram-aktualizáló pull requestben a mostani állapotot úgy jellemezte, mint "majdnem készen állunk a valódi Rust-alapú illesztőprogram írására."
Forrás: opennet.ru
