Avanza el controlador "Nova": Más código open source de NVIDIA llegará con Linux 6.16.

Publicado el 21 de mayo de 2025, 9:27

El ecosistema Linux sigue avanzando, y esta vez trae consigo una noticia que, aunque pueda parecer técnica a primera vista, tiene un trasfondo emocionante para quienes soñamos con un futuro más libre. Con la llegada del kernel Linux 6.16, el nuevo controlador "Nova", impulsado por la comunidad y escrito en Rust, dará un paso importante hacia convertirse en una alternativa real al viejo conocido Nouveau.

La noticia llegó de la mano de Michael Larabel en Phoronix, uno de los referentes en el mundo del software libre. Y sí, aunque el controlador Nova todavía no sirve para el día a día de los usuarios de GPU NVIDIA en Linux, sus cimientos están creciendo con fuerza. A veces, los grandes cambios empiezan con pasos pequeños, pero firmes.

Nova: un controlador moderno con alma de Rust

Nova debutó en Linux 6.15, pero hay que ser sinceros: en ese entonces era poco más que una estructura vacía. Un esqueleto. Pero no uno cualquiera, sino uno que promete revolucionar la manera en que Linux se lleva con las tarjetas gráficas NVIDIA.

Lo interesante es que Nova está escrito en Rust, un lenguaje que ha ido ganando terreno dentro del núcleo de Linux gracias a su enfoque en la seguridad y la estabilidad. Rust evita errores comunes de memoria, y eso lo convierte en un aliado ideal para tareas tan delicadas como hablar directamente con el hardware.

Nova está diseñado pensando en el futuro. Busca ofrecer soporte para arquitecturas modernas como Turing, Ampere, Hopper y la más reciente, Blackwell. Todas ellas utilizan el llamado GSP (GPU System Processor), un chip dentro de la propia GPU que se encarga de tareas clave. Y sí, Nova quiere entenderse con él… sin depender del software privativo de NVIDIA.

¿Qué trae Linux 6.16 para Nova?

Con el nuevo ciclo del kernel en el horizonte, Nova se pone las pilas. El desarrollador Danilo Krummrich de Red Hat ha enviado una solicitud de extracción con una serie de mejoras sustanciales. Y no hablamos de retoques menores. Hay piezas nuevas, estructuras mejoradas y un claro avance en dirección a un controlador usable.

Aquí va un resumen con lo más importante:

 Mejoras en infraestructura y base técnica

  • Se añaden abstracciones de buses, que permiten que Nova se comunique con el hardware de manera más organizada.

  • Se implementan funciones fundamentales del sistema DRM (Direct Rendering Manager), como __drm_dev_alloc(), objetos GEM, archivos de dispositivo, y manejo de IOCTLs.

  • Se empieza a construir un controlador de muestra, algo así como un prototipo funcional para probar cómo se comporta la infraestructura.

 Integración con el corazón del kernel: driver-core

  • Nova ahora se entiende mejor con los dispositivos del sistema gracias a funciones como Devres::access() y nuevas formas de acceder a dispositivos padres.

  • Se corrigen errores que afectaban la compilación en sistemas sin soporte PCI. Sí, esos detalles técnicos que a veces impiden que todo funcione como debería.

 Nova-core: mejoras en el núcleo del controlador

  • Se suma soporte para el chipset GA100 (Ampere), que hasta ahora estaba fuera del radar.

  • El firmware se reorganiza: ahora vive en su propio módulo en Rust, facilitando su mantenimiento y posibles futuras actualizaciones.

  • Se crean herramientas para generar automáticamente definiciones de registros de hardware. Es decir, menos trabajo manual, menos errores, más orden.

 Nova DRM y más Rust

  • Se crea el primer esqueleto de nova-drm, un paso clave para integrar Nova con la infraestructura gráfica del sistema.

  • Además, se incorporan nuevas funciones en Rust como Opaco::zeroed() y Revocable::access(), fundamentales para trabajar con estructuras de bajo nivel sin arriesgar estabilidad.

¿Y esto qué significa para ti, usuario?

Si esperabas que con Linux 6.16 pudieras desinstalar los controladores propietarios de NVIDIA y correr tus juegos con Nova… todavía no. Hay que ser realistas: Nova aún no es útil para el día a día. Por ahora, seguimos dependiendo del viejo Nouveau (que, por cierto, también verá mejoras para soportar GPUs Hopper y Blackwell), o de los controladores propietarios de NVIDIA.

Pero —y este es un gran pero— lo importante es que Nova avanza. Cada línea de código nueva, cada función implementada, cada pequeño bug corregido, nos acerca a un punto de inflexión. Uno en el que los usuarios de Linux podamos tener un controlador moderno, libre, y funcional para las GPU NVIDIA, sin comprometer estabilidad ni rendimiento.

Un camino largo, pero necesario

Crear un controlador gráfico no es tarea sencilla. Hablamos de gestionar no solo gráficos, sino memoria, sincronización, consumo de energía, y más. Y hacerlo sin acceso completo a documentación oficial (algo que NVIDIA ha limitado durante años) es como construir un puente con los ojos vendados.

Aun así, desarrolladores como Danilo Krummrich no se rinden. Con el respaldo de empresas como Red Hat y el empuje de una comunidad comprometida, Nova sigue creciendo. No con prisa, pero sí con convicción.

Nova aún no está listo para las masas. Pero ya no es solo una idea en pañales. Con Linux 6.16 veremos más estructura, más funcionalidad y un esqueleto que empieza a cobrar vida.

Es un paso más hacia una experiencia NVIDIA en Linux que sea verdaderamente libre y mantenible. Y eso, para quienes creemos en el poder del software libre, vale mucho.

 

Fuente: Phoronix

Añadir comentario

Comentarios

Todavía no hay comentarios