NVK, un controlador aberto para tarxetas gráficas NVIDIA, admite Vulkan 1.0

O consorcio Khronos, que desenvolve estándares gráficos, recoñeceu a total compatibilidade do controlador NVK aberto para tarxetas de vídeo NVIDIA coa especificación Vulkan 1.0. O condutor superou con éxito todas as probas do CTS (Kronos Conformance Test Suite) e está incluído na lista de condutores certificados. Completouse a certificación para as GPU NVIDIA baseadas na microarquitectura Turing (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). A proba realizouse nun ambiente co núcleo Linux 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 e GNOME Shell 44.4. A obtención do certificado permítelle declarar oficialmente a compatibilidade cos estándares gráficos e utilizar as marcas rexistradas asociadas de Khronos.

O controlador NVK foi construído desde cero por un equipo que incluía a Karol Herbst (desenvolvedor Nouveau en Red Hat), David Airlie (mantedor de DRM en Red Hat) e Jason Ekstrand (desenvolvedor activo de Mesa en Collabora). Ao crear o controlador, os desenvolvedores utilizaron ficheiros de cabeceira oficiais e módulos de núcleo abertos publicados por NVIDIA. O código NVK utilizou algúns compoñentes básicos do controlador Nouveau OpenGL nalgúns lugares, pero debido ás diferenzas nos nomes dos ficheiros de cabeceira de NVIDIA e aos nomes de enxeñería inversa en Nouveau, o préstamo directo do código é difícil e na súa maior parte moitas cousas tiveron que ser repensadas e implementadas dende cero .

O desenvolvemento levouse a cabo coa intención de crear un novo controlador Vulkan de referencia para Mesa, cuxo código podería tomarse prestado ao crear outros controladores. Para iso, ao traballar no controlador NVK, intentaron 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 iso. traballo óptimo e de alta calidade, e non copiar cegamente o feito noutros controladores. O controlador xa está incluído en Mesa e os cambios necesarios na API do controlador Nouveau DRM están incluídos no núcleo Linux 6.6.

Entre os cambios no anuncio, Mesa tamén sinala a adopción dun novo compilador de backend para NVK, escrito na linguaxe Rust e que resolveu problemas no compilador antigo que interferían co paso dos textos de Kronos, ademais de eliminar algunhas limitacións fundamentais do arquitectura que non podería ser corrixida sen unha reelaboración completa do compilador antigo. Entre os plans para o futuro, a incorporación de soporte para GPU baseado na microarquitectura Maxwell e a implementación do soporte completo para a API Vulkan 1.3 menciónase no novo backend.

Fonte: opennet.ru

Engadir un comentario