4 julio, 2020

Pongara

Simple. Fácil.

NVIDIA publica más documentación para ayudar a Nouveau

NVIDIA GeForce GTX

Nouveau es un driver Open Source alternativo para las GPU de NVIDIA creado mediante ingeniería inversa. Si bien sus intenciones son buenas y resultan menos ambiciosas que la del controlador oficial, la verdad es que no está llegando a dar ni unos mínimos, hasta el extremo de acabar en la lista negra de Chromium y Chrome.

A esto se suma la falta de colaboración por parte del fabricante con los desarrolladores de Nouveau, haciendo que a día de hoy este driver no sea capaz de soportar Pascal de manera totalmente efectiva y no abarque Turing. Si bien esto no es una tragedia para los usuarios de NVIDIA, los cuales están habituados de tirar del driver oficial incluso para la realización de tareas básicas, posiblemente los que posean una gráfica antigua no soportada vean que Nouveau no cubre sus necesidades, forzándoles a cambiar la GPU. Esto se vuelve mucho más dramático en el caso de los portátiles, ya que pocos modelos permiten cambiar la gráfica.

Sin embargo, parece que NVIDIA ha decidido rectificar al menos parcialmente su actitud y ha empezado a publicar más documentación sobre el hardware de sus gráficas, lo que obviamente servirá para impulsar Nouevau. Michael Larabel, jefazo de Phoronix y desarrollador principal de la suite de pruebas de benchmarks distribuido bajo el mismo nombre, ha recibido personalmente un email con el siguiente anuncio:

NVIDIA ha puesto a disposición de forma pública y gratuita (licenciado bajo MIT) documentación de porciones de las interfaces de hardware de sus GPU. Este es un trabajo en progreso y no todas las interfaces serán publicadas.

Si bien es un paso en la dirección correcta, la documentación publicada abarca principalmente las generaciones Maxwell, Pascal, Volta y Kepler, por lo que los poseedores de una gráfica Turing todavía tendrán que seguir esperando para que Nouveau les ofrezca soporte. Lo publicado por NVIDIA abarca tablas de la BIOS, el bloque de control de dispositivo, la inicialización del dispositivo, la seguridad en torno al motor Falcon de la compañía, memoria de ajustes/reloj, los encabezados del programa de shaders, los estados de energía, etc. Si bien la documentación no es muy exhaustiva, al menos supone una mejora frente a lo que había hasta ahora, siendo esta la primera vez que la concentran en un único espacio.

Pese a los avances, aspectos como la necesidad de un firmware firmado a partir de la serie GTX 900 dificultan la reprogramación para hacer con Nouveau que las GPU funcionen a las frecuencias efectivas en lugar de las más bajas establecidas en el arranque, y NVIDIA no parece estar muy dispuesta a colaborar mucho más en este frente. ¿Tendrá la compañía miedo de que Nouveau le haga competencia? No hace falta que iguale la potencia del driver oficial privativo, con que ponga contra las cuerdas la obsolescencia puede terminar siendo un duro golpe para los intereses comerciales de la compañía.

La documentación publicada recientemente por NVIDIA sin duda ayudará a impulsar Nouveau, pero también apunta a ser insuficiente para cubrir muchos frentes, por lo que los usuarios de GPU del gigante de Santa Clara muy posiblemente tengan que seguir tirando del driver privativo incluso para tareas básicas, ya que la compañía sigue siendo una obsesa del control sobre sus propios productos.

Para terminar, el movimiento que nos ocupa en esta entrada no ayuda paliar los problemas derivados de la falta de cumplimiento de los estándares establecidos para el stack gráfico de GNU/Linux (problemas de compatibilidad más allá de GNOME, usar EGLSteams en lugar de GBM, etc) por parte del driver oficial, y si bien Nouveau en teoría sí respeta dichos estándares, se termina volviendo inútil cuando no es capaz de ofrecer unos mínimos.