Los desarrolladores de Mesa están discutiendo la posibilidad de agregar código Rust

Desarrolladores de proyectos Mesa están discutiendo la capacidad de utilizar el lenguaje Rust para desarrollar controladores OpenGL/Vulkan y componentes de pila de gráficos. La discusión fue iniciada por Alyssa Rosenzweig, desarrolladora de controladores. panescarcha para GPU Mali basadas en microarquitecturas Midgard y Bifrost. La iniciativa se encuentra en etapa de discusión, aún no se han tomado decisiones específicas.

Los defensores del uso de Rust destacan la capacidad de mejorar el rendimiento de la memoria y eliminar problemas como el acceso a la memoria libre, las desreferencias de punteros nulos y las saturaciones de búfer. El soporte de Rust también permitiría a Mesa incluir desarrollos de terceros, como un sistema de renderizado de software. Kazan con una implementación de la API de gráficos Vulkan, escrita en Rust.

Cabe señalar que la urgencia de mejorar la seguridad de los controladores ha aumentado recientemente a la luz del uso de OpenGL al ejecutar código no confiable en navegadores que admiten WebGL, lo que convierte a los controladores en un vector importante para los ataques a los sistemas de los usuarios. Actualmente Mesa ya utiliza herramientas como ralloc y análisis de código estático para minimizar los problemas de memoria, pero su uso no es suficiente.

Quienes se oponen a la implementación de Rust considerar, que la mayoría de las características útiles de Rust se pueden obtener transfiriendo el desarrollo al C++ moderno, lo que parece más atractivo dado que la mayor parte de Mesa está escrito en C. Entre los argumentos en contra de Rust también se menciona complicación sistemas de montaje, no deseo unirse al sistema de paquete de carga,
ampliación de los requisitos para el entorno de montaje y necesidad de incluir Compilador de Rust en las dependencias de ensamblaje necesarias para crear componentes clave de escritorio en Linux.

El movimiento hacia el uso de Rust para el desarrollo también se observa en AMD, que recientemente abrió una vacante Programador de Rust para desarrollar nuevas herramientas relacionadas con controladores 3D para GPU Radeon.

Fuente: opennet.ru

Añadir un comentario