Retrabalhando o driver VGEM em Rust

Maíra Canal de Igalia apresentou projeto para reescrever o driver VGEM (Virtual GEM Provider) em Rust. VGEM consiste em aproximadamente 400 linhas de código e fornece um back-end GEM (Graphics Execution Manager) independente de hardware usado para compartilhar acesso de buffer a drivers de dispositivos 3D de software, como LLVMpipe, para melhorar o desempenho de rasterização de software.

VGEM será o segundo driver gráfico Rust a ser executado no nível do kernel (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 a partir do código Rust com o dispositivo da plataforma, o tipo XArray e abstrações relacionadas ao DMA, como cercas de DMA. No atual estágio de desenvolvimento, o driver está quase pronto, passa na maioria dos testes IGT, com exceção de duas verificações (vgem_slow e vgem_basic@unload), mas requer melhorias no suporte IOCTL.

Fonte: opennet.ru

Adicionar um comentário