Conheça o Nova, o novo driver gráfico da Red Hat para GPUs NVIDIA. Confira os detalhes desse driver escrito em Rust.
A Red Hat anunciou no início desta semana que a empresa começou a trabalhar em um novo driver gráfico de código aberto para GPUs NVIDIA escrito em Rust, chamado Nova.
Nova, o novo driver gráfico da Red Hat para GPUs NVIDIA
Projetado como o sucessor do driver de código aberto Nouveau para placas gráficas NVIDIA baseadas em firmware GSP, o driver gráfico Nova é um driver exclusivo GSP (GPU System Processor) inteiramente escrito na linguagem de programação Rust e pretende ser muito mais simples e fácil de manter do que o Nouveau, ao mesmo tempo que se beneficia da maior segurança de memória oferecida pelo Rust.
Danilo Krummrich, engenheiro de software sênior da Red Hat, disse que:
“Com o Nova, vemos a chance de diminuir significativamente a complexidade do driver em comparação com o Nouveau principalmente por dois motivos. Primeiro, a arquitetura histórica do Nouveau, especialmente em torno do nvif/nvkm, é bastante complicada e inflexível e requer grande retrabalho para resolver certos problemas e, segundo, com um driver somente GSP, não há necessidade de manter a compatibilidade com o código pré-GSP.”
Com o Nova, a Red Hat espera contribuir com os esforços do Rust no kernel Linux e também atrair mais desenvolvedores para se envolverem neste driver gráfico de código aberto para GPUs NVIDIA.
A Red Hat deseja desenvolver seu driver gráfico Nova upstream no kernel Linux, começando com apenas um stub de driver que faz uso apenas de algumas abstrações básicas do Rust, mas primeiro eles precisam lidar com as abstrações de ligação C ausentes para a infraestrutura integral do kernel.
Mais detalhes sobre o Nova e o trabalho contínuo para atualizar o driver gráfico podem ser encontrados neste anúncio da lista de discussão.
Mas não é apenas a Red Hat que trabalha em um substituto imediato para o Nouveau, já que a Collabora promoveu recentemente seu driver gráfico de código aberto baseado em Vulkan NVK para GPUs NVIDIA para o canal estável, que estará disponível como parte do próximo Mesa 24.1 pilha de gráficos.
Se você me perguntar, tanto o Nova quanto o NVK são substitutos mais do que bem-vindos para o Nouveau, que é antigo e não tem manutenção ativa atualmente.
O objetivo final aqui, pelo menos para NVK, não é apenas fornecer um driver gráfico básico para GPUs NVIDIA em sistemas onde o driver gráfico proprietário da NVIDIA não está instalado por padrão, mas fornecer aos usuários Linux um substituto melhor para o driver NVIDIA para jogos.