NVK, um driver Vulkan de código aberto para NVIDIA

NVK-Logo_RGB

NVK é um novo driver Vulkan de código aberto para hardware gráfico NVIDIA

A Colaboraa lançou o NVK, um novo driver de código aberto para Mesa que implementa a API de gráficos Vulkan para placas gráficas NVIDIA. O driver é escrito do zero usando arquivos de cabeçalho oficiais e módulos de kernel abertos lançados pela NVIDIA.

Ao desenvolver um novo driver, Os componentes principais do driver Nouveau OpenGL são usados ​​em alguns lugares, mas devido às diferenças nos nomes dos arquivos de cabeçalho da NVIDIA e nos nomes de engenharia reversa no Nouveau, a reutilização de código é difícil e, na maioria das vezes, exigiu muito repensar e implementar do zero.

O desenvolvimento também está em andamento com o objetivo de criar um novo driver Vulkan referência para Mesa, cujo código pode ser emprestado ao criar outros controladores.

O suporte para hardware NVIDIA em drivers de código aberto sempre foi um pouco ausente. Os drivers Nouveau existem, mas geralmente não possuem recursos, apresentam bugs ou simplesmente não são compatíveis com determinados cartões. Isso se deve a uma combinação de fatores. Ao contrário dos drivers Intel e AMD, a pilha de drivers nouveau foi desenvolvida com pouca ou nenhuma documentação oficial ou ajuda da NVIDIA. Eles ocasionalmente fornecem pequenos adereços aqui. Historicamente, ele se concentrou principalmente em habilitar o nouveau o suficiente para que você possa instalar sua distribuição Linux, acessar um navegador da Web e baixar sua pilha de drivers proprietários.

Para fazer isso, é mencionado que durante o trabalho do driver NVK, foi feita uma tentativa de levar em conta toda a experiência disponível no desenvolvimento de drivers Vulkan, mantenha a base de código na forma ideal e minimize a transferência de código de outros drivers Vulkan, fazendo o que deve ser feito para um trabalho ideal e de alta qualidade.

O driver NVK está em desenvolvimento há apenas alguns meses, então sua funcionalidade é limitada. O controlador passa com sucesso em 98% dos testes ao executar 10% dos testes Vulkan CTS (Compatibility Test Suite).

Em geral, o treinamento de motoristas é estimado em 20-25% da funcionalidade dos controladores ANV e RADV. Em termos de suporte de hardware, o driver está atualmente limitado a placas baseado em microarquiteturas Turing e Ampère. Patches para suportar as GPUs Kepler, Maxwell e Pascal estão em andamento, mas ainda não estão prontos.

Provavelmente, a maior área de luta técnica foi a condução adequada do hardware do espaço do kernel. O hardware da NVIDIA conta com firmware assinado para tudo, desde exibição até execução de trabalho e gerenciamento de energia. Os blobs de firmware que a NVIDIA forneceu no passado eram versões simplificadas que eles criaram apenas para drivers de código aberto.

A longo prazo, espera-se que o driver NVK para placas gráficas NVIDIA atinja um nível de qualidade e funcionalidade semelhante ao driver RADV para placas AMD. Assim que o driver NVK estiver pronto, as bibliotecas compartilhadas criadas durante seu desenvolvimento podem ser usadas para aprimorar o driver Nouveau OpenGL para placas de vídeo NVIDIA.

Também está sendo considerado a possibilidade de use o projeto Zink para implementar um driver OpenGL para placas de vídeo NVIDIA que funciona por meio da tradução de chamadas de API Vulkan.

A longo prazo, a esperança é que o NVK seja para o hardware da NVIDIA o que o RADV é para o hardware da AMD.

Por fim, para os interessados ​​no projeto, menciona-se que está sendo desenvolvido por uma equipe que inclui Karol Herbst (Desenvolvedor Nouveau na Red Hat), david airlie (Mantenedor de DRM na Red Hat) e Jason Ekstrand (desenvolvedor ativo do Mesa no Collabora).

Quanto ao código do controlador, você deve saber que É de código aberto sob a licença do MIT. O driver suporta apenas GPUs baseadas nas microarquiteturas Turing e Ampere lançadas desde setembro de 2018. Se você quiser saber mais sobre isso, consulte os detalhes no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: AB Internet Networks 2008 SL
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.