Nvidia amplia código aberto nos drivers para Linux, mas com ressalvas

Nvidia vai lançar drivers de GPU para Linux com módulos de código-fonte aberto mais completos, mas adesão ao open source não é total

Emerson Alecrim
Por
• Atualizado ontem às 15:58
Nvidia placa de vídeo
Nvidia amplia código aberto nos drivers para Linux, mas com ressalvas (imagem: Vitor Pádua/Tecnoblog)

Ainda que a passos lentos, a Nvidia vem disponibilizando módulos de drivers com código-fonte aberto para as GPUs no Linux. Esse movimento começou em 2022 e vem sendo ampliado desde então. Só que essa adesão ao open source não é completa como parecer ser.

Relação conturbada com o código aberto

A relação da Nvidia com a comunidade Linux é complexa. Isso porque a companhia passou anos resistindo à ideia de abrir o código-fonte de seus drivers ou, ao menos, de fornecer instruções técnicas suficientes para que terceiros desenvolvessem alternativas eficientes.

O resultado é que os usuários de distribuições Linux tinham ou ainda têm que se conformar com o uso dos drivers proprietários fornecidos pela companhia para tirar o máximo de proveito de um chip gráfico da Nvidia.

Essa situação começou a melhorar em maio de 2022, quando a Nvidia lançou o pacote de drivers R515 com código-fonte aberto. A companhia passou então os últimos dois anos melhorando e complementando os módulos existentes ali.

Trata-se de um trabalho importante, pois o refinamento dos drivers permite que as GPUs sejam mais bem aproveitadas em ambientes Linux. Mas há um porém: isso é válido somente para módulos direcionados ao kernel.

Transição completa? Não é bem assim

O pacote R560 será lançado em breve. Com ele, a Nvidia afirma que concluirá a transição para o código aberto, mas no nível do kernel. Portanto, essa afirmação precisa ser analisada com cuidado.

Os módulos que compõem o pacote R560 serão disponibilizados sob licenças abertas GPL e MIT. Mas eles dizem respeito somente aos mecanismos que interagem com o kernel, ou seja, com a parte mais elementar do sistema operacional.

As camadas mais acima, que envolvem drivers e firmwares executados no nível do usuário, continuam fazendo parte de um conjunto proprietário de software. E não há sinal de que a Nvidia levará esses componentes para o universo do código aberto.

GPU Nvidia (imagem: Emerson Alecrim/Tecnoblog)
GPU Nvidia (imagem: Emerson Alecrim/Tecnoblog)

Avanços no nível do kernel são importantes

Apesar disso, o trabalho de otimização efetuado pela Nvidia nos últimos dois anos é relevante. Com os módulos de código aberto, as GPUs poderão ter tanto ou mais desempenho em ambientes Linux que o alcançado com os drivers totalmente fechados.

Os drivers com módulos de código aberto são exigidos para as plataformas Nvidia Grace Hopper e Blackwell, e opcionais para hardware baseado nas arquiteturas Turing, Ampere, Ada Lovelace e Hopper.

Mas aqui encontramos outros porém: os novos módulos não funcionam com GPUs antigas, como aquelas baseadas nas arquiteturas Maxwell (a exemplo das séries GTX 900 e 700), Pascal e Volta.

Não deixa de haver um avanço aqui. Mas é provável que os usuários mais puristas de sistemas de código aberto ainda preferirão lidar com hardware AMD e Intel (ambas são um pouco mais amigáveis ao Linux) enquanto a Nvidia não se abrir mais ao conceito.

Relacionados