Nesse artigo você conhecerá o NVK, um novo driver para placas de vídeo Nvidia que pode se tornar o padrão em distribuições Linux.
O que é o projeto NVK?
Drivers Nvidia com código aberto sempre foram um tanto problemáticos, apesar do Nouveau ter sido revolucionário a ponto de se tornar o driver padrão nas principais distribuições, acabou se tornando um quebra-galho até o usuário instalar o driver proprietário.
Em vista disso, o desenvolvedor Jason Ekstrand da Collabora com o apoio de uma pequena equipe da Black Hat começou a produzir o NVK, um novo driver Vulkan para placas de vídeo Nvidia com código aberto cujo objetivo é estar disponível na biblioteca MESA, como alternativa, ou até mesmo substituindo o Nouveau.
Estima-se que com o amadurecimento do NVK, o Vulkan poderá suplantar completamente o OpenGL.
O NVK está sendo desenvolvido utilizando como base o próprio Nouveau e os módulos com código aberto liberados pela Nvidia. Entretanto, este não está sendo um trabalho de copiar e colar, pois os programadores estão de fato escrevendo todo o código, utilizando o material apenas como referência.
Recursos do novo driver
O projeto Nouveau é de uma época em que a Nvidia não fornecia nenhum material com código aberto, portanto precisou utilizar de engenharia reversa, um processo tortuoso e propício a erros. Devido a isso, seus desenvolvedores sempre tiveram dificuldade para explorar todos os recursos e acompanhar os lançamentos de novas placas.
Além disso, a equipe de desenvolvimento do Nouveau acabou se dissipando com o tempo, pois profissionais dessa área dificilmente têm algum tempo livre.
Contudo, a partir de 2022, com a abertura gradual do código-fonte que vem sendo feita pela Nvidia, não faz mais sentido o uso de engenharia reversa. Portanto, o pessoal do NVK tem a proposta de desenvolver o driver utilizando o material disponibilizado pela fabricante.
Segundo Jason Ekstrand, eles estão desenvolvendo um software otimizado, com código limpo e organizado, para ser utilizado como referência para outros projetos, da mesma forma como acontece com os drivers para GPU Intel disponíveis na biblioteca MESA.
Devido às suas referências e pelo desenvolvimento ainda estar em estágio inicial, o NVK suporta apenas placas com arquitetura Turing e mais recentes (ou seja, a partir da série 16).
Jason revelou que pretende, com o tempo, dar suporte a modelos de placas mais antigas. Na verdade, sua intenção é que o NVK seja para a Nvidia o que o RADV é para a AMD: Um driver estável, robusto, com excelente performance, além de ampla compatibilidade com os recursos oferecidos pelo hardware.
Observando o rápido amadurecimento do projeto, Jason acredita que em breve veremos o NVK como o driver padrão para placas Nvidia no Vulkan, portanto pode acabar não sendo mais necessário para a maioria dos usuários buscar o driver proprietário para utilizar todos os recursos de sua GPU.
Teste o NVK agora mesmo
O NVK ainda não está integrado de fato a biblioteca MESA, mas já está disponível sob a forma de uma vertente no Nouveau e pode ser testado agora mesmo, caso você tenha um hardware compatível e saiba compilar o driver.
Todavia, espere alguns bugs, instabilidade e incompatibilidades, pois apesar de todo o avanço, esta é ainda uma versão inicial.
Caso você resolva já testar de antemão, pode aproveitar para ajudar no desenvolvimento aplicando seus conhecimentos de programação, ou relatando sua experiência.
O Jason pediu para que a comunidade evite preencher relatórios de erro pedindo para ampliar o suporte a hardware ou sobre o não funcionamento de programas, pois eles já estão cientes e trabalhando nesse tipo de problema.
No entanto, você pode relatar toda a sua experiência com o NVK para a gente aqui nos comentários!
Nosso fórum é um excelente espaço para você discutir e aprender sobre tecnologia, vale a pena conferir!