NVIDIA salió a aclarar las dudas sobre el uso de los módulos abiertos del Kernel
Hace poco compartimos aquí en el blog la noticia sobre los cambios que NVIDIA ha implementado en la versión de sus controladores propietarios «NVIDIA 560».
Los cambios propuestos que se aplicaran a partir de la versión «NVIDIA 560», consisten básicamente en que se utilizarán de forma predeterminada los módulos abiertos del kernel de Linux en sistemas con GPU basadas en la microarquitectura Turing (GeForce GTX 1600 y RTX 2000) y versiones más nuevas.
Con este cambio, los módulos abiertos y propietarios no podrán utilizarse simultáneamente ni coexistir en el mismo sistema de archivos. Esto significa que los módulos abiertos solo podrán utilizarse con GPU que tengan un microcontrolador GSP (GPU System Processor) independiente, como las microarquitecturas Turing, Ampere y Ada. Para las GPU más antiguas sin GSP, como las basadas en microarquitecturas Maxwell, Pascal y Volta, se seguirán utilizando los módulos propietarios.
Ante las dudas y muchas de las especulaciones que se generaron después de la noticia, Andy Ritger, líder del desarrollo de los controladores para sistemas operativos tipo Unix en NVIDIA, salió a responder diversas preguntas relacionadas con la transición de los controladores propietarios de NVIDIA hacia el uso predeterminado de módulos abiertos del kernel de Linux.
Andy menciona que las capacidades de los módulos abiertos y propietarios en cuanto a la inicialización de la GPU y la administración de energía serán bastante similares en los controladores NVIDIA 560, con planes para trabajar hacia una paridad total en el futuro. Se menciona que la versión 560 también abordará problemas históricos en los módulos abiertos, como los relacionados con el uso de VRR (frecuencia de actualización variable) en computadoras portátiles.
Además de ello, cuando se abordó el tema del soporte para controladores abiertos Nouveau y NVK, un representante de NVIDIA indicó que, para aplicaciones de producción, la recomendación de la compañía es utilizar controladores propietarios y módulos de kernel abiertos suministrados por separado. Aunque anteriormente la empresa intentó proporcionar documentación y parches para los desarrolladores de Nouveau y NVK, la asistencia brindada se considera modesta y no califica como soporte completo.
En cuanto a la posibilidad de soportar componentes propietarios de NVIDIA en el controlador abierto Nouveau, como CUDA, AI, RT/PT, DLSS y Optix, se mencionó que actualmente esto no es posible y que estos componentes no funcionan con el módulo del kernel Nouveau. No está claro si esto será posible en el futuro.
Es importante señalar que Nouveau tampoco admite funciones relacionadas con la configuración y el monitoreo (nvapi/nvidia-smi). Sin embargo, un cambio en la licencia de las definiciones de API de nvapi permitió que proyectos como Wine y Proton desarrollaran sus propias implementaciones de algunos elementos de nvapi utilizados en juegos.
Por otra parte, también se abordó la cuestión de la participación de los empleados de NVIDIA en el desarrollo de Nouveau, se mencionó que esta participación es actualmente limitada, pero algunos empleados ya están contribuyendo al desarrollo de Nouveau y participando en discusiones relacionadas.
Cuando se preguntó sobre los planes de NVIDIA para abrir componentes de la pila de controladores para GPU que se ejecutan en el espacio del usuario, un empleado de la compañía respondió que no estaba al tanto de tales planes.
De los demás puntos que se abordaron, se menciona que:
- NVIDIA no tiene planes de impulsar la inclusión de módulos abiertos en el kernel principal de Linux en este momento.
- NVIDIA no tiene planes de proporcionar módulos de kernel abiertos para GPU anteriores a la generación Turing. Por lo tanto, los usuarios de Volta y GPU más antiguas deben continuar utilizando los módulos propietarios para un funcionamiento óptimo.
- La decisión de utilizar módulos públicos de forma predeterminada se basa en el deseo de simplificar las pruebas y reducir la sobrecarga asociada con la necesidad de volver a probar los módulos públicos y privados.
Finalmente, en cuanto a la paridad en la funcionalidad entre los controladores abiertos y propietarios, un representante de NVIDIA mencionó que en la versión 560 del controlador, los módulos del kernel de código abierto alcanzarán aproximadamente la funcionalidad de los módulos propietarios. Sin embargo, se destacó la limitación de no poder utilizar el mecanismo de administración dinámica de energía RTD3 (Run Time D3) con los módulos de kernel abiertos en generaciones anteriores a Ampere.
Si estás interesado en poder conocer más al respecto, puede consultar los detalles en el siguiente enlace.