Driver open-source nouveau roda no NVIDIA DGX Spark GB10 após 100 patches

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...

Nouveau no NVIDIA Spark!

O desenvolvedor Dave Airlie conseguiu inicializar e rodar com sucesso a pilha gráfica open-source, composta pelo módulo nouveau e pelo driver Vulkan NVK, no NVIDIA DGX Spark GB10. A conquista técnica exigiu o desenvolvimento de cerca de cem patches. ApLinux, NVIDIA, Drivers, Open Source, Kernel Linuxesar do avanço, a inclusão desse código no mainline do Kernel Linux ainda é incerta devido à aproximação do “Nova”, o futuro driver oficial escrito em linguagem Rust.

O que isso muda na prática

O NVIDIA DGX Spark GB10 é um equipamento comercializado como um supercomputador de mesa, projetado especificamente para desenvolvedores e pesquisadores de inteligência artificial.A máquina combina núcleos de processamento ARM (arquitetura Grace) e uma GPU da geração Blackwell (GB10), operando em conjunto com 128 GB de memória LPDDR5X unificada.

MnwSMXeo image 8
Driver open-source nouveau roda no NVIDIA DGX Spark GB10 após 100 patches 4

Fazer os drivers abertos do ecossistema Linux rodarem neste hardware demonstra a capacidade da comunidade de adaptar rapidamente o código para arquiteturas corporativas de ponta. Contudo, o feito relatado por Airlie é uma prova de conceito de engenharia. Trata-se da demonstração técnica de que o hardware aceita o código alternativo, mas não significa que a experiência está pronta para estabilidade ou uso geral imediato.

Os desafios de inicializar a arquitetura Blackwell

ZRR8C3Lx nvidia spark gb10 linux 1
Driver open-source nouveau roda no NVIDIA DGX Spark GB10 após 100 patches 5

Para conseguir ativar a GPU GB10 com software livre, a versão customizada do kernel exigiu modificações profundas para contornar peculiaridades do hardware. O trabalho incluiu:

  • Adaptação e compatibilidade para o firmware 610 da NVIDIA.
  • Reestruturação do sistema de display, que contou com revisões de outros desenvolvedores da comunidade.
  • Correções no gerenciamento do cache L2 e no tratamento da topologia identificada internamente como “0 VRAM”, comportamento gerado pelo uso de memória unificada onde a GPU não possui módulos VRAM separados e dedicados.
  • Inclusão de suporte nativo ao boot e aos controladores de vídeo do hardware Spark.

Do lado da API Vulkan no espaço de usuário (userspace), o driver NVK precisou de reparos específicos para lidar com a ausência de VRAM convencional e para processar corretamente as instruções de profundidade e estêncil (depth/stencil) inerentes ao chip GB10. O código-fonte desse experimento foi disponibilizado publicamente em ramificações experimentais (WIP) no GitLab.

O dilema do upstream: Nouveau ou Nova?

Mesmo com o código funcionando, Airlie afirmou não ter certeza de qual é a melhor estratégia para enviar essas contribuições (“upstream”) para a árvore principal do Kernel Linux. O obstáculo está no cronograma de desenvolvimento da infraestrutura gráfica de todo o sistema.

As gerações mais recentes de hardware da NVIDIA concentram o gerenciamento lógico no GSP (GPU System Processor), transferindo a complexidade que antes ficava no sistema operacional diretamente para o firmware da placa.Para se alinhar a esse novo paradigma de forma segura, a comunidade está desenvolvendo um novo driver focado no GSP, escrito inteiramente em Rust, chamado Nova.Ele é o sucessor natural do antigo módulo Nouveau para todas as GPUs a partir da arquitetura Turing.

Como o suporte ao equipamento Spark exigiu um volume expressivo de patches e um novo firmware para o driver antigo, Airlie sugere que a comunidade gráfica talvez deva apenas aguardar o amadurecimento do driver Nova. Segundo o próprio desenvolvedor, o esforço exaustivo com o Nouveau serviu principalmente para satisfazer a curiosidade técnica de “apenas ver a coisa funcionar”.

Compartilhe este artigo
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.