La pila de controladores NVIDIA Linux de código abierto e impulsada por la comunidad continúa poniéndose al día con los controladores propietarios de código cerrado y avanza constantemente hacia la "paridad total" en términos de funcionalidad. El último desarrollo proviene de NVK en la pila de controladores Mesa, un controlador NVK Vulkan de código abierto que recientemente fusionó soporte para la función DLSS (Deep Learning Super Sampling) en las GPU de Nvidia. 

imagen.webp

La rama de desarrollo 26.2 de la pila de gráficos Mesa incorpora un cambio importante: el controlador NVIDIA "NVK" Vulkan de código abierto ahora brinda soporte para Deep Learning Super Sampling (DLSS) para juegos modernos en el entorno Linux/Steam Play.

Esta capacidad surge de un parche presentado el año pasado por Autumn Ashton solicitando la implementación de la extensión VK_NVX_binary_import en Mesa, una extensión crítica de Vulkan necesaria para habilitar DLSS en las GPU NVIDIA. Esta extensión permite que las aplicaciones importen los archivos binarios CuBIN de NVIDIA y se ejecuten en la GPU. Estos archivos CuBIN ELF son esencialmente binarios CUDA precompilados para las GPU NVIDIA. A través de VK_NVX_binary_import, el controlador NVK puede cargar y ejecutar el binario correspondiente de DLSS para habilitar DLSS en el controlador NVK.

imagen-1.webp

Debido a la reducida actividad de Autumn Ashton en el desarrollo de Mesa en los últimos meses, este parche experimentó conflictos de fusión y otros problemas durante el proceso de fusión. Hace dos meses, el desarrollador Thomas Andersen presentó una nueva solicitud de fusión para solucionar conflictos y mejorar el parche original, y finalmente lo introdujo en la rama Mesa 26.2. Es esta nueva solicitud de fusión la que se finalizó hoy, lo que permite que NVK funcione correctamente en juegos con DLSS habilitado.

Actualmente, esta compatibilidad con DLSS todavía está marcada como experimental y debe habilitarse explícitamente mediante la variable de entorno NVK_EXPERIMENTAL=dlss. Dado que DLSS se basa en binarios CUDA, la implementación en el lado NVK también requiere que coincida el código de bytes para la GPU utilizada; de lo contrario, la funcionalidad no funcionará correctamente. Por el contrario, el controlador Vulkan patentado de NVIDIA admite este tipo de funcionalidad a través de la ruta de PTX a código de bytes, y NVK actualmente no tiene la capacidad de convertir NVIDIA PTX a representación Mesa NIR, lo cual es una limitación de la implementación actual.

A pesar de los fallos conocidos y del enlace de conversión PTX aún por abrir, esta fusión todavía se considera un desarrollo importante para el ecosistema de gráficos de código abierto NVK y Linux. Según el plan del proyecto Mesa, estos cambios aparecerán en la versión estable Mesa 26.2, que se espera que se lance en agosto, brindando nuevas posibilidades para que los jugadores de Linux que usan NVK experimenten DLSS en controladores de código abierto.