Introduciuse NVK, un controlador Vulkan aberto para tarxetas de vídeo NVIDIA

Collabora presentou NVK, un novo controlador de código aberto para Mesa que implementa a API de gráficos Vulkan para tarxetas de vídeo NVIDIA. O controlador escríbese desde cero usando ficheiros de cabeceira oficiais e módulos do núcleo de código aberto publicados por NVIDIA. O código do controlador é de código aberto baixo a licenza MIT. Actualmente, o controlador só admite GPU baseadas nas microarquitecturas Turing e Ampere, lanzadas desde setembro de 2018.

O proxecto está a ser desenvolvido por un equipo que inclúe a Karol Herbst, un desenvolvedor Nouveau en Red Hat, David Airlie, un mantedor de DRM en Red Hat e Jason Ekstrand, un desenvolvedor activo de Mesa en Collabora. Ao desenvolver un novo controlador, os compoñentes básicos do controlador Nouveau OpenGL utilízanse nalgúns lugares, pero debido ás diferenzas entre os nomes dos ficheiros de cabeceira de NVIDIA e os nomes en Nouveau, obtidos a partir da enxeñaría inversa, o préstamo directo de o código é difícil e na súa maior parte foi necesario repensar moitas cousas e implementalas con cero.

Tamén se está a desenvolver co obxectivo de crear un novo controlador Vulkan de referencia para Mesa, cuxo código se pode tomar prestado ao crear outros controladores. Para iso, ao traballar no controlador, NVK intentou ter en conta toda a experiencia existente no desenvolvemento de controladores Vulkan, manter a base de código nunha forma óptima e minimizar a transferencia de código doutros controladores Vulkan, facendo o que debería ser para o mellor. e traballo de alta calidade, e non copiar cegamente como se fixo noutros controladores.

O controlador NVK leva só uns meses en desenvolvemento, polo que a súa funcionalidade é limitada. O condutor supera con éxito o 98% das probas ao executar o 10% das probas do Vulkan CTS (Compatibility Test Suite). En xeral, a preparación do condutor estímase nun 20-25% da funcionalidade dos controladores ANV e RADV. En canto ao soporte de hardware, o controlador está limitado actualmente a tarxetas baseadas en microarquitecturas Turing e Ampere. Están a traballarse parches para admitir as GPU Kepler, Maxwell e Pascal, pero aínda non están listos.

A longo prazo, espérase que o controlador NVK para tarxetas gráficas NVIDIA alcance niveis de calidade e funcionalidade similares aos controladores RADV para tarxetas AMD. Unha vez que o controlador NVK está listo, as bibliotecas comúns creadas durante o seu desenvolvemento pódense utilizar para mellorar o controlador Nouveau OpenGL para tarxetas de vídeo NVIDIA. Tamén se está considerando a posibilidade de utilizar o proxecto Zink para implementar un controlador OpenGL completo para tarxetas de vídeo NVIDIA, que funcione mediante chamadas de difusión á API de Vulkan.

Fonte: opennet.ru

Engadir un comentario