También presenta algunas de las características que tienen otros competidores, como Exposé en Mac OS X de Apple. Compiz está construido sobre la extensión de composición de X y la extensión GLX_EXT_texture_from_pixmap de OpenGL.
Actualmente se está planeando dividir la parte del código responsable por la composición y la gestión de las ventanas, pudiendo así usar Compiz en hardware sin soporte de algunas extensiones OpenGL como la anteriormente nombrada, usando RandR como arquitectura de aceleración.
Historia
Fue presentado por Novell en enero de 2006 junto con Xgl. La integración le permite realizar efectos de composición en el manejo de ventanas, como un efecto de minimización y una vista en forma de cubo del espacio de trabajo. Compiz forma parte del estándar ICCCM y puede ser un sustituto de los gestores por defecto de GNOME2.xx (Metacity) y KDE (Kwin).
Inicialmente Compiz sólo funcionaba en tarjetas gráficas soportados por Xgl. Pero el 22 de mayo de 2006, Red Hat decidió añadir algunas modificaciones al servidor gráfico X.Org Server para poder prescindir de Xgl, ya que este último dependía de X.Org Server, añadía otra capa de complejidad a la pila gráfica y restringía las aplicaciones OpenGL a que éstas sean aceleradas por software, mas no por hardware. Con AIGLX, las tarjetas Intel también pueden ser utilizadas, incluyendo casi todos los modelos de ATi y Nvidia ya sea usando controladores libres o propietarios. Actualmente Xgl esta en desuso.
Características
Este artículo o sección se encuentra desactualizado.
La información suministrada ha quedado obsoleta o es insuficiente.Uso de esta plantilla: {{sust:Desactualizado|tema del artículo}}
Junto con los plugins, la comunidad Compiz desarrolla a menudo parches para plugins existentes cuando la característica no es garantizada por un plugin propio, o cuando esta utiliza muchas porciones de uno existente. Sin embargo, los parches solo pueden ser aplicados a Compiz cuando este ha sido compilado sobre el usuario del sistema, a menos que el desarrollador también libere las bibliotecas .so y las modificaciones para los ajustes de CCSM.
Forks y proyectos relacionados
Desde febrero de 2009[8] se intenta llevar a cabo un proceso de reintegración de todos los forks y regrupación de los desarrolladores repartidos entre ellos.
La idea es simple, no confundir al usuario con muchos nombres y por tanto centralizar todos los esfuerzos bajo el nombre de Compiz.
Sin embargo, no es habitual que un proyecto con tan poco tiempo de vida haya tenido tantas divisiones internas en el equipo de desarrollo. A continuación se describen algunos de los forks más conocidos.
Beryl
Logo de Beryl.
En 2006 una gran comunidad de desarrolladores crearon una rama de Compiz, a la que llamaron Quinnstorm, que incluía un conjunto completo de plugins, modificaciones, y aplicaciones.
Beryl fue el nombre de un proyecto nuevo para la rama Quinnstorm de Compiz, anunciado el 19 de septiembre de 2006, en el foro de Compiz.org, después de que Quinnstorm y el equipo de desarrollo decidieron que la bifurcación se había alejado demasiado de Compiz-vanilla, la rama de Compiz iniciada por Novell.[9]
Contribuyó la aparición de este fork el hecho de que el equipo de Novell XGL/Compiz, y en especial David Reveman, rechazara la proposición para combinar los cambios de Quinnstorm con Compiz-vanilla, y por tanto se decidió hacer una verdadera diferenciación. El 29 de septiembre de 2006, la versión 0.1.0 fue liberada en el repositorio original de compiz-quinnstorm y en diversas réplicas.
Captura de pantalla de un escritorio usando Beryl.
Las principales diferencias entre Compiz y Beryl fueron:
El decorador de ventanas, formalmente conocido como cgwd, se cambió por emerald ("esmeralda" en español). Aunque los temas de cgwd se podían portar a emerald cambiando solo la extensión del archivo, de .cgwd a .emerald.
Se usaba un archivo plano como backend en vez de gconf, lo que daba lugar a tener casi ninguna dependencia de GNOME.
El número de plugins extras y características mejoradas en otros plugins ya existentes fue más que notable.
Se creó un gestor de temas propio llamado emerald-themer.
El 24 de marzo de 2007 se anuncia por parte de los desarrolladores de Beryl su reunificación con Compiz, dando origen a un nuevo proyecto, Compiz Fusion.
Beryl será incluido complementando a los plugins de Compiz, las dos comunidades serán reunificadas, sin embargo, los foros por separado estarán disponibles hasta que la unificación sea completa.
Compiz++
En diciembre del 2008 se anunció en la lista de correo de Compiz un nuevo fork llamado Compiz++.[10] Algunas de las principales diferencias entre Compiz y Compiz++ fueron:
Portar Compiz del lenguaje de programación C a C++ ya que tal y como expresaron sus creadores en la lista de correo:
“Con C tenemos que escribir casi el mismo código en cada plugin y toparnos con los mismos errores una y otra vez. Muchos de estos pueden ser evitados con C++. C++ nos permite hacer más y más fácilmente”.[10]
Eliminar el soporte de multi-pantalla y multi-monitor por estar incompleto y, en el caso de la multi-pantalla, casi abandonado.
Separar las capas OpenGL y de composición permitiendo el uso de este gestor de ventanas aun cuando nuestra tarjeta gráfica o sus controladores no soportasen estas tecnologías. Un ejemplo es el funcionamiento de KWin de KDE 4.
Sin embargo, este fork sólo quedó en una propuesta, el 3 de febrero de 2009 se anunció[11] en las listas de correo del proyecto la integración de las ideas de Compiz++ en Compiz 0.9.
Compiz Fusion
Logo de Compiz Fusion.
Es importante aclarar que Compiz Fusion no es un fork de Compiz sino un proyecto relacionado con Compiz que resulta de la unión entre el paquete "Compiz Extras" de Compiz y los plugins del proyecto Beryl, que era independiente del núcleo del gestor de ventanas.
El propósito del proyecto es, usando como núcleo Compiz, transportar casi todas las características de Beryl a los plugins de Compiz.
En febrero de 2009 se decidió volver a fusionar Compiz Fusion en Compiz.[12]