A VGEM illesztőprogram átdolgozása Rustban

Az igaliai Maíra Canal bemutatott egy projektet a VGEM (Virtual GEM Provider) driver átírására Rustban. A VGEM hozzávetőleg 400 sornyi kódból áll, és egy hardveres GEM (Graphics Execution Manager) háttérprogramot biztosít a szoftver raszterezési teljesítményének javítása érdekében, hogy megosszák a puffer-hozzáférést a szoftver 3D-s eszközillesztőihez, például az LLVMpipe-hoz.

A VGEM lesz a második Rust grafikus illesztőprogram, amely kernel szinten fut (az első az Asahi DRM (Direct Rendering Manager) illesztőprogram volt az Apple M1/M2 chipekben használt Apple AGX GPU-hoz). A fejlesztéshez új összerendeléseket kellett létrehozni, hogy a Rust kódból működjenek a platformeszközzel, az XArray típussal és a DMA-val kapcsolatos absztrakciókkal, például a DMA kerítésekkel. A fejlesztés jelenlegi szakaszában az illesztőprogram majdnem készen áll, a legtöbb IGT-teszten átmegy, két ellenőrzés (vgem_slow és vgem_basic@unload) kivételével, de az IOCTL támogatás javítását igényli.

Forrás: opennet.ru

Hozzászólás