NVK, un controlador abierto para tarjetas gráficas NVIDIA, es compatible con Vulkan 1.0

El consorcio Khronos, que desarrolla estándares gráficos, ha reconocido la total compatibilidad del controlador NVK abierto para tarjetas de video NVIDIA con la especificación Vulkan 1.0. El conductor pasó con éxito todas las pruebas de CTS (Kronos Conformance Test Suite) y está incluido en la lista de conductores certificados. Se ha completado la certificación para las GPU NVIDIA basadas en la microarquitectura Turing (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). La prueba se realizó en un entorno con el kernel Linux 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 y GNOME Shell 44.4. Obtener el certificado le permite declarar oficialmente la compatibilidad con los estándares gráficos y utilizar las marcas comerciales Khronos asociadas.

El controlador NVK fue creado desde cero por un equipo que incluía a Karol Herbst (desarrollador de Nouveau en Red Hat), David Airlie (mantenedor de DRM en Red Hat) y Jason Ekstrand (desarrollador activo de Mesa en Collabora). Al crear el controlador, los desarrolladores utilizaron archivos de encabezado oficiales y módulos de kernel abiertos publicados por NVIDIA. El código NVK utilizó algunos componentes básicos del controlador Nouveau OpenGL 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 del código es difícil y en su mayor parte Muchas cosas tuvieron que repensarse e implementarse desde cero.

El desarrollo se llevó a cabo con miras a crear un nuevo controlador Vulkan de referencia para Mesa, cuyo código podría tomarse prestado al crear otros controladores. Para hacer esto, al trabajar en el controlador NVK, intentaron tener en cuenta toda la experiencia existente en el desarrollo de controladores Vulkan, mantener la base del código en forma óptima y minimizar la transferencia de código de otros controladores Vulkan, haciendo lo que debería ser para trabajo óptimo y de alta calidad, y no copiar ciegamente lo que se hace en otros controladores. El controlador ya está incluido en Mesa y los cambios necesarios en la API del controlador Nouveau DRM están incluidos en el kernel de Linux 6.6.

Entre los cambios en el anuncio, Mesa también destaca la adopción de un nuevo compilador backend para NVK, escrito en lenguaje Rust y que soluciona problemas en el antiguo compilador que interferían con el paso de textos de Kronos, además de eliminar algunas limitaciones fundamentales del arquitectura que no podía corregirse sin una reelaboración completa del antiguo compilador. Entre los planes para el futuro, en el nuevo backend se menciona la adición de soporte para GPU basado en la microarquitectura Maxwell y la implementación de soporte completo para la API Vulkan 1.3.

Fuente: opennet.ru

Añadir un comentario