LLVMpipe y el 3D en Linux

Enviado por Alex el Sáb, 11/06/2011 - 15:01

Posted in kde | software | es | blog de Alex | agregar nuevo comentario | 2106 lecturas »

Hace unas semanas sonreía para mis adentros al oír hablar de Unity, Unity 2D, Gnome Shell, y el modo de compatibilidad de GNOME 3. En KDE se usa lo mismo tengas o no tengas aceleración gráfica, ya que KWin y Plasma funcionan también sin composición. De hecho he leído a desarrolladores de KDE la posibilidad de deshabilitar la composición automáticamente al mostrar contenido a pantalla completa para ganar rendimiento (por ahora la activo y desactivo manualmente en ocasiones). También reconozco que sonreía al ver como una funcionalidad similar a Unity se puede lograr usando Plasma, y sin programar una sola línea. Todo a base de que Plasma se creó no como un escritorio, sino como una tecnología para hacer escritorios.

La sonrisa se convirtió en preocupación al leer acerca de los primeros planes sobre Qt 5. Se anunció que las aplicaciones que usaran Qt 5 requerirían OpenGL en todas las plataformas, y en Linux los controladores de las tarjetas gráficas suelen tener algún que otro problema, bien de estabilidad o completitud, o bien que el controlador no es libre, por lo que no puede integrarse fácilmente con el resto del sistema. Esto podría ser un importante paso atrás para KDE 5, y no solo el escritorio, sino cualquier aplicación.

Enseguida vino la respuesta a las preocupaciones surgidas. Se explicó que el hecho de necesitar soporte de OpenGL, no significaba que no se pudiera hacer el dibujado por software en la CPU, igual que se está haciendo ahora mismo en Qt 4. Además, con el tiempo esta implementación podría ser aún más rápida que la solución actual. Esto ha sido confirmado recientemente con los primeros números usando Qt 5, y los distintos modos de dibujado. Usando LLVMpipe se consigue mayor rendimiento gráfico que usando el motor Raster de Qt 4. En Qt 5 la diferencia es aún mayor debido al uso del QML Scene Graph entre bastidores.

Pero a quien le sería también extremadamente útil LLVMpipe es a GNOME. En una breve búsqueda encontré que a alguien ya se le había ocurrido intentar ejecutar Gnome Shell con LLVMpipe, para no tener que recurrir así al modo alternativo, que es muy diferente a Gnome Shell, lo que resulta completamente inconsistente. También le iría bien a Ubuntu, que está implementando dos versiones de Unity (3D y 2D, la última hecha en Qt), para paliar que la versión 3D requiere sí o sí de aceleración gráfica.

Veremos en que acaba resultando este proyecto, si recibe apoyo de los escritorios mayoritarios y las distribuciones, pero desde luego me resulta una pieza muy interesante a considerar, ya que podría facilitar el trabajo de los desarrolladores, que podrían despreocuparse bastante de los posibles problemas de controladores de los dispositivos gráficos en Linux.