Retrabalhando o driver VGEM em Rust

Maira Canal, da Igalia, apresentou um projeto para reescrever o driver VGEM (Virtual GEM Provider) em Rust. O VGEM consiste em aproximadamente 400 linhas de código e fornece um backend GEM (Graphics Execution Manager) independente de hardware, usado para acesso compartilhado a buffers de drivers de dispositivos 3D de software, como o LLVMpipe, para melhorar o desempenho da rasterização por software.

O VGEM será o segundo driver gráfico de nível de kernel escrito em Rust (o primeiro foi o driver Asahi DRM (Direct Rendering Manager) para a GPU Apple AGX, usada nos chips Apple M1/M2). O desenvolvimento exigiu a criação de novas ligações para trabalhar com o hardware da plataforma, o tipo XArray e abstrações relacionadas a DMA, como cercas de DMA, a partir do código Rust. No estágio atual de desenvolvimento, o driver está quase completo e passa na maioria dos testes IGT, com exceção de duas verificações (vgem_slow e vgem_basic@unload), mas requer trabalho adicional em seu suporte a IOCTL.

Fonte: opennet.ru

Adicionar um comentário