Compiz
Compiz est un gestionnaire de fenêtres composite libre qui a révolutionné l'environnement de bureau du serveur X, et notamment sur les distributions Linux. Compiz permet des effets graphiques avancés comme la transparence, des effets 3D et d'ombres. Compiz compose l’affichage en exploitant l'accélération matérielle disponible sur la carte graphique.
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
[modifier | modifier le code]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.
Gestionnaire et compositeur
[modifier | modifier le code]Il combine un gestionnaire de fenêtres existant (par exemple Metacity) et un compositeur d'images :
- 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
[modifier | modifier le code]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.
Environnements de bureau
[modifier | modifier le code]Des plugins permettent de profiter des effets graphiques de Compiz sur la plupart des environnements de bureau : GNOME, KDE, Xfce, LXDE, Unity, Enlightenment (Ecomorph)...
Quelques effets graphiques
[modifier | modifier le code]-
réduction avec l'effet « flammes ».
-
réduction avec l'effet « lampe magique ».
-
bureau sur un cube.
-
effet fenêtre molle.
Décorateurs de fenêtres
[modifier | modifier le code]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 ;
- Aquamarine supporte les thèmes de KWin.
Commandes
[modifier | modifier le code]Quelques raccourcis clavier :
- 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
[modifier | modifier le code]Avant
[modifier | modifier le code]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 graphique Quartz 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é
[modifier | modifier le code]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].
Le fork Beryl
[modifier | modifier le code]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
[modifier | modifier le code]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.
Par contre, KDE 4.2 () et GNOME Shell (), ces deux gros environnements de bureau n'utilisent plus Compiz par défaut.
Autres branches et réunification
[modifier | modifier le code]En 2008, deux nouvelles branches sont créés :
- Compiz++ ;
- Nomad.
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
[modifier | modifier le code]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.
Voir aussi
[modifier | modifier le code]Articles connexes
[modifier | modifier le code]- Direct rendering infrastructure (DRI)
- Mesa 3D
- OpenGL
- Xgl, AIGLX
- Yod'm 3D
- Windows Aero, Aqua (informatique)
Liens externes
[modifier | modifier le code]- (en) Site officiel
- Documentation sur le site opensuse.org, une traduction partielle en français y est accessible
- Documentation pour Ubuntu
- (en) Comment configurer Compiz+AIGLX sous Debian
- Démonstration et tutoriel vidéo sur compiz_fusion
- (en) Interview de Quinn Storm
- Démonstration des effets de Beryl
- Wiki linuxpedia.fr
- Tutoriel vidéo complet sur CompizFusion
Notes et références
[modifier | modifier le code]- « http://wiki.compiz.org/ProjectHistory » (consulté le )
- « Compiz 0.9.14.2 released », (consulté le )
- patrick_g, « XGL », sur Linuxfr, (consulté le )
- « NLD 10 le poste du travail de demain par Novell (avec XGL et Compiz) », sur Linuxfr, (consulté le )
- (en) « X Developers Conference 2006 », sur x.Org, (consulté le )
- Vincent Hermann, « Novell : XGL et Compiz, pour dynamiser l'interface de Linux », sur PC INpact, (consulté le )
- « La révolution XGL pour le bureau Linux », sur infos du net, (consulté le )
- (en) Kristian Høgsberg, « courriel adressé à la liste de diffusion Freedesktop : compiz on aiglx », (consulté le )
- « Environnement graphique : AIGLX et XGL: Lequel s'imposera? », sur quebecos.com, (consulté le )
- « ATI + XGL, ça marche : mode d'emploi », sur nicofo.tuxfamily.org (consulté le ).
- « ATI : enfin ! - Nicofo », sur nicofo.tuxfamily.org (consulté le ).
- « Screenshots Beryl & Aiglx - Nicofo », sur nicofo.tuxfamily.org (consulté le ).
- « L'effet Beryl... - Nicofo », sur nicofo.tuxfamily.org (consulté le ).
- « La réunification de Compiz et Beryl s'appelle Fusion », sur pcinpact.com
- Vincent Hermann, « La réunion de Compiz et Beryl s'appelle Fusion », sur PC INpact, (consulté le )
- Compiz and Fedora par Kristian Høgsberg
- Fusion Compiz / Compiz-Fusion et autres nouvelles, Julien Ballet, sur Linuxfr