xgl


Xgl es una implementación de servidor de visualización obsoleta compatible con el protocolo del sistema X Window diseñado para aprovechar las ventajas de las tarjetas gráficas modernas a través de sus controladores OpenGL , en capas sobre OpenGL . [1] Admite la aceleración de hardware de todas las aplicaciones X, OpenGL y XVideo y los efectos gráficos mediante un administrador de ventanas de composición como Compiz o Beryl . El proyecto fue iniciado por David Reveman de Novell y lanzado por primera vez el 2 de enero de 2006. Fue eliminado [2] del servidor X.org a favor deAIGLX el 12 de junio de 2008.

Xgl se desarrolló originalmente en listas de correo públicas, pero durante mucho tiempo, hasta el 2 de enero de 2006, la mayor parte [3] del desarrollo de Xgl se realizó a puerta cerrada. Ese día, la fuente de Xgl se volvió a abrir al público, [4] [5] y se incluyó en freedesktop.org , junto con una importante reestructuración para permitir una gama más amplia de controladores de pantalla compatibles. Los backends del servidor X utilizados por Xgl incluyen Xglx y Xegl . En febrero de 2006, el servidor obtuvo una amplia publicidad después de una exhibición pública en la que el equipo de escritorio de Novell demostró un escritorio que usaba Xgl con varios efectos visuales, como ventanas translúcidas y un escritorio 3D giratorio. [6] [7][8] Los efectos se implementaron primero en un administrador compuesto llamado glxcompmgr (que no debe confundirse con xcompmgr), ahora en desuso porque varios efectos no podrían implementarse adecuadamente sin una interacción más estrecha entre el administrador de ventanas y el administrador compuesto. Como solución, David Reveman desarrolló Compiz , el primer administrador de ventanas de composición OpenGL adecuadopara el sistema X Window. Más tarde, en septiembre de 2006,se lanzó el administrador de ventanas de composición Beryl como una bifurcación del Compiz original. Compiz y Beryl se fusionaron en abril de 2007, lo que resultó en el desarrollo de Compiz Fusion .

OpenGL no especifica cómo inicializar una pantalla y manipular contextos de dibujo. En cambio, estas operaciones son manejadas por una API específica para el sistema de ventanas nativo. Hasta ahora, existen dos enfoques de back-end diferentes para resolver este problema de inicialización. Lo más probable es que la mayoría de cada backend contenga el mismo código y las diferencias estarán principalmente en las partes de inicialización de los servidores.

Xglx fue el primer backend implementado para esta arquitectura. Requiere un servidor X ya existente para ejecutarse encima y usa GLX para crear una ventana OpenGL que luego usa Xgl, similar a Xnest . Este modo solo está destinado a ser utilizado para el desarrollo en el futuro, ya que es redundante requerir un servidor X para ejecutar Xgl encima.

En XDevConf 2006 (la conferencia de desarrollo X de 2006), NVIDIA hizo una presentación argumentando que esta es la dirección equivocada porque el servidor en capas abstrae las características de las tarjetas. Esto hace que las capacidades específicas del controlador, como la compatibilidad con anteojos 3D y la compatibilidad con dos monitores, sean mucho más difíciles. [9]

Sin embargo, delegar la inicialización a un servidor X existente permite a los desarrolladores centrarse de inmediato en la funcionalidad del servidor en lugar de dedicar un tiempo considerable a los detalles de la interfaz con numerosos hardware de video. Por el momento, Xglx no admite oficialmente varios monitores, aunque se ha logrado en Ubuntu Dapper / ATI / NVIDIA (twinview).