A Collabora anunciou progresso no desenvolvimento do driver Tyr para o núcleo do Linux, escrito em Rust. O driver é projetado para trabalhar com GPUs ARM Mali, que utilizam a tecnologia CSF (Command Stream Frontend), como as Mali G310, G510 e G710. Nota-se que o Tyr alcançou um nível adequado para suportar o ambiente de desktop GNOME, o servidor compositor Weston e jogos em tela cheia, como SuperTuxKart. O desempenho do novo driver é considerado comparável ao driver Panthor, escrito em C.


O código do driver Tyr foi incorporado ao núcleo Linux 6.18, cuja versão é aguardada no início de dezembro. No entanto, o driver ainda não está pronto para uso regular por usuários comuns e é visto como um protótipo experimental para testes de abstrações para desenvolvimento de drivers em Rust.
A estrutura para a criação do novo driver utilizou componentes do driver abstrato rust_platform_driver e do driver Nova, desenvolvido para GPUs NVIDIA, escrito em Rust e adicionado ao núcleo Linux 6.16. A funcionalidade para interação com a GPU Mali foi portiada do DRM-driver existente Panthor (Direct Rendering Manager), escrito em C. A uAPI do driver Tyr é idêntica à uAPI do driver Panthor, permitindo o uso de componentes de espaço do usuário já existentes.
A tecnologia CSF, utilizada a partir da 10ª geração das GPUs Mali, é notável pela remoção de certas funções do driver para a firmware e pelo envolvimento de um novo modelo de organização de execução de trabalho na GPU. Nas GPUs com interface CSF, em vez do modelo baseado em cadeia de trabalhos, utiliza-se um modelo baseado em fluxo de comandos com agendamento dos fluxos na firmware. Para organizar o trabalho do planejador na GPU, foi incorporado um microcontrolador Cortex-M7 separado, e uma unidade especial de execução de comandos (Command Execution Unit) foi projetada para executar as instruções CSF.
Fonte: opennet.ru
