Začalo prosazování ovladače Nova pro GPU NVIDIA do jádra Linuxu

Inženýři společnosti Red Hat navrhli zahrnutí první sady patchů pro implementaci ovladače Nova do jádra Linuxu. Ovladač je určen pro používání s GPU NVIDIA vybavenými GSP firmwarem, který se používá od série NVIDIA GeForce RTX 2000 založené na mikroarchitektuře Turing. V těchto GPU jsou inicializační a řídicí operace realizovány ve firmwaru a prováděny samostatným mikrokontrolérem GSP (GPU System Processor). Předpokládá se, že v dlouhodobém horizontu Nova nahradí ovladač Nouveau pro GPU s podporou GSP.

Nový ovladač je napsán v jazyce Rust a jelikož infrastruktura pro vývoj ovladačů v Rustu se teprve vyvíjí, bude kód Nova postupně přenášen do hlavního jádra, jakmile budou k dispozici potřebné obálky pro jazyk Rust. V první fázi byl navržen ovladač „nova-core“ o délce 232 řádků kódu pro zahrnutí do jádra. Nova-core implementuje základní úroveň abstrakcí nad softwarovými rozhraními firmwaru GSP a poskytuje API nezávislé na verzích firmwaru.

V další fázi plánují zahrnout do jádra DRM ovladač nova-drm (Direct Rendering Manager) pro interakci s GPU z prostoru uživatele, stejně jako VFIO ovladač s manažerem vGPU, který umožňuje používat virtuální GPU NVIDIA v virtualizačních systémech.

Hlavním důvodem prosazování nového ovladače Nova je možnost zbavit se komplikací spojených s ovladačem Nouveau a dosáhnout výrazného zjednodušení, díky zapojení hotových zpracovatelů poskytovaných firmwarem GSP a vyřazení zátěže při podpoře starších GPU. Nova také umožní vyřešit architektonické problémy, které v Nouveau vyžadují podstatné přepracování kódu, jako jsou problémy se zámky v kódu VMM/MMU. Jazyk Rust byl vybrán pro snížení pravděpodobnosti chyb při práci s pamětí a také jako možnost skloubit práci na funkčním ovladači se vytvářením obálek a abstrakcí pro vývoj ovladačů v Rustu.

Přehrát video

Pokud jde o pokrok při zavádění podpory pro vývoj ovladačů v jazyce Rust do jádra Linux, byla do větve 6.14 přijata Rustová rozhraní pro PCI, platformy, Open Firmware, symbolická zařízení a některé funkce vstupu/výstupu. Greg Kroah-Hartman, který odpovídá za podporu stabilní větve jádra Linux, ve svém pull requestu s aktualizací ovladačů pro jádro 6.14 označil současný stav za „téměř připravený pro psaní skutečného ovladače v Rustu“.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster