Logo NVIDIA na construção
Michael Vi/Shutterstock.com

Jogar no Linux sempre foi um pouco mais complicado do que no Windows (ou consoles de jogos), e uma das razões para isso é o mau suporte de driver da Nvidia no Linux. Isso está mudando agora, embora não esteja claro o quanto a situação vai melhorar.

A Nvidia anunciou na quarta-feira que publicou seus módulos gráficos do kernel Linux como software de código aberto, sob uma licença GPL/MIT dupla. Em outras palavras, qualquer um pode agora ver o código da Nvidia, e os desenvolvedores podem enviar correções e novos recursos para melhorar os drivers. Canonical (desenvolvedores do Ubuntu Linux), SUSE e Red Hat (desenvolvedores do Fedora Linux) aplaudiram a decisão da Nvidia de finalmente abrir seus drivers gráficos Linux.

A Nvidia disse em sua postagem no blog: “Nesta versão de código aberto, o suporte para GPUs GeForce e Workstation é de qualidade alfa. Os usuários de GeForce e Workstation podem usar esse driver nas GPUs NVIDIA Turing e NVIDIA Ampere Architecture para executar desktops Linux e usar recursos como vários monitores, G-SYNC e rastreamento de raios NVIDIA RTX no Vulkan e NVIDIA OptiX.”

Por que o código aberto é importante

Então, por que isso é um grande negócio? Bem, as placas gráficas Nvidia nunca funcionaram bem com PCs Linux. A Intel e a AMD mantêm drivers gráficos de código aberto para seus produtos, que podem ser incluídos no kernel padrão do Linux. O resultado final é que, se você tiver um PC para jogos com uma GPU Radeon ou um laptop com gráficos Intel Xe, tudo funcionará no Linux. Como o código está disponível para qualquer pessoa ver e modificar, os gráficos Intel e AMD funcionam melhor com as mudanças mais recentes no ecossistema Linux, como o emergente servidor de exibição Wayland .

Ao contrário da AMD e da Intel, a Nvidia  não abriu seus drivers (até agora). O pacote de driver proprietário às vezes precisa ser instalado separadamente e, como a Nvidia é a única com acesso ao código, os drivers não suportam Wayland e outros recursos mais recentes do Linux. Os desenvolvedores do Linux criaram o driver Nouveau de código aberto como uma alternativa, mas que geralmente oferece desempenho pior do que o software da Nvidia, já que é essencialmente um projeto de engenharia reversa.

Simplificando, os PCs Linux com placas gráficas Nvidia tiveram que escolher entre duas opções ruins por anos: um driver de código fechado com bugs e recursos ausentes ou um driver de código aberto com pior desempenho. Em teoria, os drivers de código aberto da Nvidia devem ser o melhor dos dois mundos.

As capturas

Isso é tudo uma ótima notícia, mas há algumas razões para moderar sua empolgação. Hector Martin, o principal desenvolvedor do Asahi Linux , compartilhou em uma série de tweets que grande parte do código gráfico importante não é realmente de código aberto. A Nvidia parece ter movido grande parte de seu código proprietário para o firmware em suas placas gráficas, com as quais o código-fonte aberto interage - um pouco como o Intel Management Engine  em CPUs Intel.

Martin teorizou que parte do código da Nvidia não pode ser de código aberto devido a acordos de patente e licenciamento, então essa meia medida foi a única maneira de fazer os drivers de código aberto acontecerem. Os drivers gráficos da AMD também usam alguns componentes de firmware proprietários, mas não tanto quanto a Nvidia.

Há outros problemas também. O driver de código aberto suporta apenas placas gráficas que usam as arquiteturas Ampere e Turing da Nvidia , que incluem as GPUs GeForce 16-series, RTX 20-series e mais recentes. Qualquer pessoa com uma placa GTX série 10 ou outro hardware mais antigo não tem acesso ao novo driver.

Finalmente, a Nvidia não está realmente lidando com atualizações de código como a maioria dos projetos de código aberto. A seção de perguntas frequentes no anúncio diz que cada lançamento de código será “um instantâneo gerado a partir de uma base de código compartilhada, portanto, as contribuições podem não ser refletidas como commits separados do Git no repositório do GitHub”. Em outras palavras, será difícil para desenvolvedores fora da Nvidia rastrear mudanças e diagnosticar problemas.

Um longo caminho pela frente

O lançamento do driver de código aberto pode ser decepcionante para alguns, especialmente para quem ainda usa placas de vídeo Nvidia mais antigas que não são suportadas ( tem sido um pouco difícil comprar uma nova placa de vídeo ultimamente ).

A Nvidia espera que o driver de código aberto possa eventualmente ser upstream no kernel Linux, o que pode finalmente dar aos PCs com hardware GeForce a mesma experiência plug-and-play que os PCs baseados em AMD e Intel desfrutam há anos no Linux.

Fonte: Nvidia , GitHub