Dès la publication de son code source en , Compiz est très vite adopté. Mais peu de temps après, la communauté de développeurs se sépare : le projet Beryl commence en septembre de la même année. En , la réunification du projet se fait sous le nom de Compiz Fusion, pour finalement revenir à son nom initial en .
Description
Compiz fournit des effets visuels permettant d'améliorer la convivialité des environnements graphiques. Ce projet vise par conséquent à améliorer la simplicité d'utilisation de l'outil informatique.
Le gestionnaire de fenêtres permet la manipulation de toutes les applications et objets qui sont affichés à l’écran ;
Le compositeur d'images assemble des fenêtres et autres graphiques pour former une image composée affichée à l’écran.
Accélération graphique
La plupart des gestionnaires de fenêtres et des compositeurs d'images n'exploitent pas ou peu l'accélération matérielle, ce qui représente une perte au niveau de la répartition des calculs : le processeur central (CPU) de l'ordinateur s'occupe de tâches graphiques alors que la carte graphique qui a un processeur dédié et optimisé pour les graphismes reste peu utilisée.
Compiz permet de tirer profit de la carte graphique, déchargeant ainsi le processeur central pour dessiner l'interface, sans ralentissement même lors de l'utilisation d'une machine de faible puissance. Le processeur graphique, qui est alors davantage sollicité, permet d'obtenir des effets visuels impressionnants tout en libérant le CPU de cette tâche, qui peut donc se consacrer aux fonctions qui lui sont attribuées plus rapidement.
Pour accéder aux accélérations matérielles de la carte graphique, Compiz se base sur la bibliothèque OpenGL en passant par le serveur graphique X. Deux serveurs X sont compatibles :
Xgl, ce serveur X a été amélioré en secret par Novell qui l'a dévoilé en même temps que Compiz, mais il n'est plus utilisé aujourd'hui ;
AIGLX, ce serveur X a été adapté à Compiz par le projet Fedora, il contourne la bibliothèque OpenGL pour accéder directement au pilote de la carte graphique sur certaines fonctionnalités, ce qui le rend plus rapide.
Contrairement aux gestionnaires de fenêtres traditionnels, un processus séparé gère la décoration des fenêtres. Trois décorateur de fenêtres sont disponibles, nommés selon des variétés de béryl (minerai en Anglais) :
Emerald, le décorateur de fenêtre utilisé par défaut, un fork de cgwd, qui dispose de son propre format (*.emerald) et supporte des effets, comme la transparence, il est le seul à être considéré comme stable ;
Heliodor, un fork de gnome-window-decorator, développé par Compiz, qui supporte les thèmes de Metacity ;
Ctrl + Alt + Flèche gauche/droite/haut/bas = Bascule le cube ;
Ctrl + Alt + Clic gauche enfoncé + Déplacement de la souris = Basculer le cube de façon 3D (les faces du cube sont en fait les différents bureaux virtuels) ;
Alt + molette de la souris (sur une fenêtre active) = augmente ou diminue la transparence de celle-ci ;
Ctrl + molette de la souris (sur une fenêtre active) = augmente ou diminue la saturation des couleurs de celle-ci ;
Shift + molette de la souris (sur une fenêtre active) = augmente ou diminue la luminosité de celle-ci.
Note : des raccourcis clavier étant aussi gérés à plusieurs niveaux par des couches logicielles qui ne s'en informent pas entre elles, certaines de ces combinaisons de touches peuvent ne pas fonctionner dans certains contextes
Historique
Avant
Depuis 2002, Mac OS X utilise le principe de l'accélération matérielle pour la composition de l'affichage grâce à la technologie Quartz Extreme. Cette technologie a été ajoutée au moteur graphiqueQuartz Compositor dans Mac OS X v10.2.
Microsoft Windows n'utilisait pas encore ce principe avant la sortie de Compiz (mais à peu près 10 mois après, le avec Windows Vista).
Enthousiasme de la communauté
Le , Novell indique travailler en secret sur un nouveau gestionnaire de fenêtre révolutionnaire : Compiz basé sur Xgl[3]. Puis le , au salon Solutions Linux, Novell termine sa présentation de sa distribution Novell Linux Desktop sur Compiz qui époustoufle littéralement les spectateurs[4]. Le , Novell récidive au X Developers Conference (XDevConf)[5] et le publie ainsi que ses adaptations de Xgl en tant que logiciel libre (licence GNU GPL).
Les effets graphiques présentés sont alors en avance par rapport aux deux principaux systèmes d'exploitation de bureau de l'époque : Mac OS X « Tiger » et Windows XP[6],[7]. Et donc, ces démonstrations remportent un vif enthousiasme parmi la communauté geeks linux qui adapte/installe Compiz sur différentes distributions. C'est ainsi que le , Kristian Høgsberg porte Compiz sur AIGLX[8],
un serveur graphique concurrent à Xgl[9].
Au début, Compiz ne fonctionnait pleinement qu'avec quelques pilotes de carte graphique comme le pilote propriétaire de Nvidia. Et en , le pilote propriétaire ATI Technologies est finalement supporté avec AIGLX[10],[11].
Assez rapidement, deux stratégies dans le développement de Compiz s'opposent. D'une part, l'équipe initiale recherche la stabilité. D'autre part, la communauté de développeurs bénévoles souhaitent intégrer de nouvelles fonctionnalités. Pendant des mois le mainteneur principal de Compiz refuse d'intégrer la majorité des contributions de Quinn Storm, un contributeur très actif. Les discussions entre les deux mettent en lumière des dissensions sur les priorités du développement.
Finalement, le , Quinn Storm et de nombreux autres contributeurs comme iXce dupliquent le code source de Compiz pour créer le projet Beryl sur le site www.beryl-project.org.
Beryl a choisi de préférer des solutions rapides aux problèmes des utilisateurs (tels que celui du multi écran, des thèmes de fenêtre) ou encore au niveau de l'intégration avec les différents environnements de bureau, alors que Compiz a une approche de validation plus progressive de ses modifications, moins réactive mais plus stable.
Beryl est développé par une communauté de développeurs bénévoles, réunis autour de Quinn Storm, qui préfère toutefois se décrire comme un « agrégateur » d'idées et d'opinions.
Le projet vivra six mois avant de rejoindre à nouveau le projet Compiz. Mais, la communauté très enthousiaste est prolifique. De nombreuses effets et fonctionnalités sont introduites[12],[13] :
flammes (burn) lors de la fermeture d'application ;
cube transparent ;
différents effets pour la minimisation de fenêtre ;
regroupement des fenêtres en onglet (group and tab windows) ;
vagues d'eau en arrière-plan autour d'une fenêtre ;
neige qui tombe en arrière-plan…
La dernière version de Beryl est la 0.2.1 sortie le . Il n'y a plus d'autre version sous le nom Beryl puisque le projet s'est réunifié avec Compiz.
La réconciliation : Compiz Fusion
En , les deux projets Compiz et Beryl se réunifient[14],[15].
Cet événement donne lieu à son nouveau nom : Compiz Fusion.
Compiz Fusion est donc la réunification de deux projets qui avaient pris des chemins différents. Les développeurs travaillent de concert et le projet est organisé en deux couches :
Compiz Core, la base ;
Compiz Extra, les plugins, les utilitaires de configuration, les scripts et les autres composants.
Depuis le , Compiz Fusion remplace Metacity comme gestionnaire de fenêtres par défaut d'Ubuntu (version 7.10)[16] et est intégré à Unity.
Le , Compiz-Fusion et les autres projets Compiz (Compiz-Core, Compiz++, Nomad) fusionnent[17].
Tous les projets utilisent alors le même numéro de version.
Synchronisation sur les sorties de Ubuntu
Canonical a recruté des développeurs de Compiz. La roadmap de Compiz est synchronisée sur les nouvelles sorties de Ubuntu. Pour une meilleure interaction avec Ubuntu, les outils de développements de Compiz ont été migrés sur Launchpad.