A NVIDIA deu mais um passo no desenvolvimento do seu novo driver de código aberto com a publicação de 16 novos patches do NOVA, um driver escrito em Rust que será o sucessor do antigo Nouveau. Apesar do progresso técnico, o driver ainda está longe de permitir que as GPUs façam algo útil no Linux.
NOVA: o futuro dos drivers NVIDIA open-source no kernel Linux
Integrado parcialmente ao kernel Linux 6.15, o driver NOVA tem como objetivo substituir o desatualizado Nouveau com uma arquitetura mais moderna e aproveitando o GPU System Processor (GSP) da NVIDIA. Essa abordagem deve facilitar o desenvolvimento de recursos gráficos, embora traga uma limitação importante: o driver só funcionará em GPUs RTX 20 (Turing) e superiores.
Detalhes da nova série de patches
Os novos patches foram enviados neste domingo (20) pelo engenheiro da NVIDIA, Alexandre Courbot, e trabalham na execução do firmware FWSEC-FRTS, extraído do BIOS da GPU. Essa etapa inicial faz parte do processo de boot do GSP nas GPUs da arquitetura Ampere.
“Apesar de ainda não colocar a GPU em um estado funcional, esta série define a base sobre a qual poderemos continuar o desenvolvimento do boot do GSP e expandir o suporte a mais chipsets”, destacou Courbot na mensagem original.
Os patches incluem:
- Definição dos registradores e temporizadores básicos.
- Inicialização de estruturas fundamentais para o boot do GSP.
- Suporte à extração do firmware FWSEC a partir da VBIOS.
- Execução do FWSEC-FRTS no contexto da arquitetura Ampere.
Apesar dos avanços, parte do código ainda depende de operações inseguras para transmutar dados brutos, o que só será resolvido quando a crate kernel do Rust suportar essas operações de forma segura.
Ainda não utilizável — mas promissor
Por enquanto, o driver NOVA ainda não permite uso real da GPU para renderização ou exibição de gráficos. Usuários do Linux continuam dependendo do driver proprietário da NVIDIA, que é disponibilizado fora da árvore principal do kernel. O Nouveau, por sua vez, permanece praticamente abandonado.
No entanto, o NOVA representa uma mudança de paradigma: ao usar Rust e dividir responsabilidades com o GSP, a NVIDIA busca facilitar a manutenção e a evolução do driver open-source para futuras gerações de GPUs.