Reelaborando el controlador VGEM en Rust

Maíra Canal de Igalia presentó un proyecto para reescribir el controlador VGEM (Virtual GEM Provider) en Rust. VGEM consta de aproximadamente 400 líneas de código y proporciona un backend GEM (Administrador de ejecución de gráficos) independiente del hardware que se utiliza para compartir el acceso al búfer de los controladores de dispositivos 3D de software, como LLVMpipe, para mejorar el rendimiento de la rasterización del software.

VGEM será el segundo controlador de gráficos Rust que se ejecutará a nivel de kernel (el primero fue el controlador Asahi DRM (Direct Rendering Manager) para la GPU Apple AGX utilizada en los chips Apple M1/M2). El desarrollo requirió la creación de nuevos enlaces para trabajar desde el código Rust con el dispositivo de plataforma, el tipo XArray y abstracciones relacionadas con DMA, como las vallas DMA. En la etapa actual de desarrollo, el controlador está casi listo, pasa la mayoría de las pruebas de IGT, con la excepción de dos verificaciones (vgem_slow y vgem_basic@unload), pero requiere mejorar el soporte IOCTL.

Fuente: opennet.ru

Añadir un comentario