Os desenvolvedores do Mesa estão discutindo a possibilidade de adicionar código Rust

Desenvolvedores de projetos Mesa estão discutindo a capacidade de usar a linguagem Rust para desenvolver drivers OpenGL/Vulkan e componentes de pilha gráfica. A discussão foi iniciada por Alyssa Rosenzweig, desenvolvedora de driver panfrost para GPUs do Mali baseadas nas microarquiteturas Midgard e Bifrost. A iniciativa está em fase de discussão e nenhuma decisão específica foi tomada ainda.

Os proponentes do uso do Rust destacam a capacidade de melhorar o desempenho da memória e eliminar problemas como acesso à memória pós-livre, desreferências de ponteiro nulo e saturação de buffer. O suporte ao Rust também permitiria que o Mesa incluísse desenvolvimentos de terceiros, como um sistema de renderização de software Kazan com uma implementação da API gráfica Vulkan, escrita em Rust.

Observa-se que a urgência de melhorar a segurança dos drivers aumentou recentemente à luz do uso do OpenGL na execução de código não confiável em navegadores que suportam WebGL, o que torna os drivers um importante vetor de ataques aos sistemas dos usuários. Atualmente, o Mesa já utiliza ferramentas como ralloc e análise estática de código para minimizar problemas de memória, mas seu uso não é suficiente.

Oponentes da implementação do Rust considere, que a maioria dos recursos úteis do Rust podem ser obtidos transferindo o desenvolvimento para o C++ moderno, o que parece mais atraente, visto que a maior parte do Mesa é escrita em C. Entre os argumentos contra Rust também é mencionado complicação sistemas de montagem, não desejo vincular-se ao sistema de pacote de carga,
expansão dos requisitos para o ambiente de montagem e preciso incluir Compilador Rust nas dependências de montagem necessárias para construir os principais componentes de desktop no Linux.

O movimento de utilização do Rust para desenvolvimento também é observado na AMD, que recentemente abriu uma vaga Programador Rust para desenvolver novas ferramentas relacionadas a drivers 3D para GPUs Radeon.

Fonte: opennet.ru

Adicionar um comentário