Gracias a la apertura parcial del código fuente por parte de Nvidia en 2022, recientemente se han anunciado dos nuevos controladores gráficos libres (FOSS) que benefician a ciertos modelos de GPU Nvidia.
Uno de ellos es para el sistema operativo Haiku OS, una reimplementación abierta del clásico BeOS; el otro es un nuevo controlador libre orientado a Linux que se une al ecosistema actual dominado principalmente por los controladores oficiales de Nvidia y el veterano Nouveau.
🌟 Dos nuevos drivers libres para GPUs Nvidia
La aparición de estos nuevos controladores representa un resultado indirecto pero prometedor de la decisión de Nvidia de abrir parcialmente el código fuente de sus módulos del kernel para Linux bajo una licencia MIT, lo cual ha permitido a terceros desarrollar soluciones alternativas más sencillas y eficientes.
Cabe destacar que ambos controladores únicamente son compatibles con GPUs Nvidia relativamente recientes, específicamente aquellas pertenecientes a la familia Turing (desde 2018), tales como los modelos RTX 20XX y GTX 16XX. Por lo tanto, no benefician a los usuarios con GPUs Nvidia más antiguas.
🎯 NVRM: Controlador experimental para Haiku OS
El nuevo controlador para Haiku OS ha sido creado por el conocido desarrollador X512, quien anteriormente logró portar WINE a Haiku. Este controlador, denominado NVRM, utiliza partes del código liberado por Nvidia, y se complementa con la implementación del controlador NVK de Mesa3D para proporcionar soporte preliminar del estándar gráfico moderno Vulkan.
Este avance resulta especialmente importante para Haiku, ya que este sistema operativo, aunque visualmente atractivo y fluido, tradicionalmente ha tenido muy poco soporte oficial por parte de los fabricantes de hardware. Hasta ahora, la mayoría de gráficos 3D y multimedia en Haiku se ejecutaban a nivel de software por la ausencia de controladores específicos.
🔧 Zink y NVK: Los pilares del nuevo driver Linux FOSS
El nuevo controlador para Linux se basa en dos componentes clave desarrollados por la firma británica de software libre Collabora:
- NVK: Un controlador libre, parte del proyecto Mesa3D, que ofrece soporte para la API gráfica Vulkan en GPUs Nvidia Turing.
- Zink: Una capa intermedia que convierte instrucciones gráficas OpenGL al moderno Vulkan, ofreciendo así aceleración por hardware a aplicaciones OpenGL mediante NVK.
Ambos componentes han sido posibles gracias a que Collabora aprovechó el acceso al código fuente parcialmente liberado por Nvidia.
Mesa3D, recordemos, es una implementación libre y multiplataforma de OpenGL y Vulkan, usada ampliamente en Linux y FreeBSD, y que también puede funcionar en sistemas como Windows, macOS y Android. La mayoría de los controladores gráficos libres para sistemas tipo Unix se apoyan en Mesa.
🌐 Conexión entre los proyectos: NVRM utiliza NVK
Un aspecto destacado de esta historia es cómo el desarrollador X512 logró conectar su nuevo controlador NVRM para Haiku OS con el controlador NVK desarrollado por Collabora. Esto permitió habilitar el soporte básico para Vulkan en Haiku, marcando un gran avance respecto a la limitada aceleración gráfica existente previamente.
Aunque aún en fase preliminar, esto representa un paso significativo hacia adelante en cuanto al soporte gráfico en Haiku.
🎉 Conclusión: impacto positivo del código abierto
Estos nuevos controladores reflejan claramente el impacto positivo que ha tenido la decisión de Nvidia de abrir su código en 2022, aunque de forma limitada. Aunque por ahora sólo beneficia a un conjunto reducido de GPUs modernas, la comunidad de software libre está empezando a aprovechar estas oportunidades, generando proyectos que amplían el soporte gráfico y la interoperabilidad en sistemas alternativos como Haiku y fortalecen el ecosistema gráfico libre en Linux.
Fuente: somoslibres