NVK, se presenta el controlador Vulkan de código abierto para tarjetas gráficas NVIDIA

Collabora ha lanzado NVK, un nuevo controlador de código abierto para Mesa que implementa la API de gráficos Vulkan para tarjetas gráficas NVIDIA. El controlador se escribe desde cero utilizando archivos de encabezado oficiales y módulos de kernel abiertos publicados por NVIDIA. El código del controlador es de código abierto bajo la licencia MIT. El controlador solo admite GPU basadas en microarquitecturas Turing y Ampere lanzadas desde septiembre de 2018.

El proyecto está siendo desarrollado por un equipo que incluye a Karol Herbst, desarrollador de Nouveau en Red Hat, David Airlie, mantenedor del subsistema DRM en Red Hat, y Jason Ekstrand, desarrollador activo de Mesa en Collabora. Al desarrollar un nuevo controlador, los componentes básicos del controlador Nouveau OpenGL se utilizan en algunos lugares, pero debido a las diferencias en los nombres en los archivos de encabezado de NVIDIA y los nombres de ingeniería inversa en Nouveau, el préstamo directo de código es difícil y en su mayor parte fue necesario repensar muchas cosas e implementarlas desde cero.

El desarrollo también está en marcha con miras a crear un nuevo controlador Vulkan de referencia para Mesa, cuyo código se puede tomar prestado al crear otros controladores. Para hacer esto, cuando trabajamos en el controlador NVK, intentamos tener en cuenta toda la experiencia disponible en el desarrollo de controladores Vulkan, mantener la base del código en una forma óptima y minimizar la transferencia de código de otros controladores Vulkan, haciendo lo que se debe hacer. para un trabajo óptimo y de alta calidad, y no copiar ciegamente lo que se hace en otros controladores.

El controlador NVK sólo lleva unos meses en desarrollo, por lo que su funcionalidad es limitada. El controlador pasa con éxito el 98% de las pruebas cuando ejecuta el 10% de las pruebas de Vulkan CTS (Compatibility Test Suite). En general, la preparación del conductor se estima en un 20-25% de la funcionalidad de los conductores ANV y RADV. En términos de soporte de hardware, el controlador está actualmente limitado a tarjetas basadas en microarquitecturas Turing y Ampere. Se está trabajando en parches para admitir las GPU Kepler, Maxwell y Pascal, pero aún no están listos.

A largo plazo, se espera que el controlador NVK para tarjetas gráficas NVIDIA alcance un nivel de calidad y funcionalidad similar al controlador RADV para tarjetas AMD. Una vez que el controlador NVK esté listo, las bibliotecas compartidas creadas durante su desarrollo se pueden usar para mejorar el controlador Nouveau OpenGL para tarjetas de video NVIDIA. También se está considerando la posibilidad de utilizar el proyecto Zink para implementar un controlador OpenGL completo para tarjetas de video NVIDIA que funcione mediante la traducción de llamadas a la API Vulkan.

Fuente: opennet.ru

Añadir un comentario