Compiz

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Compiz-fusion)
Aller à : navigation, rechercher
Compiz
Image illustrative de l'article Compiz
Logo

Bureau 3D avec Compiz
Bureau 3D avec Compiz

Développeurs David Reveman, Sam Spilsbury, Danny Baumann, Dennis Kasprzyk, Daniel van Vugt
Dernière version 0.9.9.0 (24 janvier 2013) [+/-]
Version avancée 0.9.9[1]
Écrit en essentiellement C
Environnement GNU/Linux
Type Gestionnaire de fenêtres pour X Window System
Licence GNU GPL
Site web launchpad.net/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 février 2006, 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 mars 2007, la réunification du projet se fait sous le nom de Compiz Fusion, pour finalement revenir à son nom initial en février 2009.

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 comme 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 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 GPU, 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]

Décorateurs de fenêtres[modifier | modifier le code]

Gestionnaire de thèmes d'Emerald

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.

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 Jaguar.

Microsoft Windows n'utilisait pas encore ce principe avant la sortie de Compiz (mais à peu près 10 mois après, le 30 novembre 2006 avec Windows Vista).

Enthousiasme de la communauté[modifier | modifier le code]

Le 2 janvier 2006, Novell indique travailler en secret sur un nouveau gestionnaire de fenêtre révolutionnaire : Compiz basé sur Xgl[2]. Puis le 1er février 2006, au salon Solutions Linux, Novell termine sa présentation de sa distribution Novell Linux Desktop sur Compiz qui époustoufle littéralement les spectateurs[3]. Le 8 février 2006, Novell récidive au X Developers Conference (XDevConf)[4] 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[5],[6]. 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 6 mars 2006, Kristian Høgsberg porte Compiz sur AIGLX[7], un serveur graphique concurrent à Xgl[8].

Au début, Compiz fonctionnait pleinement qu'avec quelques pilotes de carte graphique comme le pilote propriétaire de nVidia. Et en octobre 2007, le pilote propriétaire ATI est finalement supporté avec AIGLX[9],[10].

Le fork Beryl[modifier | modifier le code]

Effet de Beryl sur une fenêtre sous GNOME

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 19 septembre 2006, 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.

Beryl en action

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[11],[12] :

  • flammes (burn) lors de la fermeture d'application ;
  • cube transparent ;
  • différents effets pour la minimisation de fenêtre ;
  • regroupement des fenêtre 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 18 mars 2007. 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]

Logo de Compiz Fusion
Compiz Fusion à la place de metacity sur Ubuntu 7.04

En mars 2007, les deux projets Compiz et Beryl se réunifient[13],[14]. 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 16 août 2007, Compiz Fusion remplace Metacity comme gestionnaire de fenêtres par défaut d'Ubuntu (version 7.10)[15] et est intégré à Unity.

Par contre, KDE 4.2 (janvier 2009) et GNOME Shell (avril 2011), ces deux gros environnement 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 2 février 2009, Compiz-Fusion et les autres projets Compiz (Compiz-Core, Compiz++, Nomad) fusionnent[16].

Tous les projets utilisent alors le même numéro de version.

Synchronisation sur les sortie de Ubuntu[modifier | modifier le code]

Canonical a recruté des développeurs de Compiz. La roadmap de Compiz est synchronisée sur les nouvelles sortie de Ubuntu. Pour une meilleur interaction avec Ubuntu, les outils de développements de Compiz ont été migré sur Launchpad.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Sur les autres projets Wikimedia :

Sur les autres projets Wikimedia :

Notes et références[modifier | modifier le code]

  1. http://www.compiz.org/
  2. patrick_g, « XGL », sur Linuxfr,‎ 3 janvier 2006 (consulté le 5 septembre 2005)
  3. « NLD 10 le poste du travail de demain par Novell (avec XGL et Compiz) », sur Linuxfr,‎ 13 février 2006 (consulté le 5 septembre 2005)
  4. (en) « X Developers Conference 2006 », sur x.Org,‎ 8 février 2006 (consulté le 5 septembre 2005)
  5. Vincent Hermann, « Novell : XGL et Compiz, pour dynamiser l'interface de Linux », sur PC INpact, PC INpact,‎ 9 février 2006 (consulté le 5 septembre 2005)
  6. « La révolution XGL pour le bureau Linux », sur infos du net, Best of Media,‎ 17 février 2006 (consulté le 5 septembre 2005)
  7. (en) Kristian Høgsberg, « courriel adressé à la liste de diffusion Freedesktop : compiz on aiglx »,‎ 6 mars 2006 (consulté le 5 septembre 2005)
  8. « Environnement graphique : AIGLX et XGL: Lequel s'imposera? », sur quebecos.com,‎ 27 février 2006 (consulté le 5 septembre 2005)
  9. http://nicofo.tuxfamily.org/index.php?post/2007/01/13/20-ati-xgl-ca-marche-mode-d-emploi
  10. http://nicofo.tuxfamily.org/index.php?post/2007/10/23/36-ati-enfin
  11. http://nicofo.tuxfamily.org/index.php?post/2007/01/03/18-screenshots-beryl-aiglx
  12. http://nicofo.tuxfamily.org/index.php?post/2007/07/01/32-l-effet-beryl
  13. « La réunification de Compiz et Beryl s'appelle Fusion », sur pcinpact.com
  14. Vincent Hermann, « La réunion de Compiz et Beryl s'appelle Fusion », sur http://www.pcinpact.com/ (voir aussi PC INpact),‎ 6 avril 2007 (consulté le 13 février 2008)
  15. Compiz and Fedora par Kristian Høgsberg
  16. Fusion Compiz / Compiz-Fusion et autres nouvelles, Julien Ballet, sur LinuxFR