Xgl

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Xgl
Développeur Novell Inc.
Environnement Linux, *BSD
Type serveur d'affichage
Licence X
Site web Hébergé sur le wiki de freedesktop.org

Xgl est un serveur X libre surcouche de l'OpenGL via glitz, permettant d'utiliser les capacités 3D des cartes graphiques modernes dans un environnement bureautique traditionnel, rendant ainsi possibles des effets d'affichage tels que la transparence, les rotations de fenêtres, les ombrages, etc.

Xgl est basé sur X.Org et le développement a été démarré par David Reveman.

Une capture d'écran montrant une fonctionnalité de Compiz (gestionnaire de fenêtres), en train de tourner sur Xgl, qui affiche plusieurs bureaux sur un cube pouvant effectuer des rotations.

Xgl et AIGLX échangent du code afin d'assurer une compatibilité et une progression plus rapide.

Historique[modifier | modifier le code]

En , Xgl était toujours à un stade de développement précoce et un nombre important de fonctionnalités étaient toujours manquantes, mais cela a bien progressé depuis 2005. Beaucoup de travail a été fait à huis clos, les sources furent libérées le , et incluses dans le projet freedesktop.org, avec des restructurations majeures pour permettre l'utilisation d'un plus grand nombre de pilotes de cartes graphiques.

Le serveur X sous-jacent utilise Xglx ou Xegl. En , le serveur a obtenu une large publicité après une présentation publique où l'équipe « Desktop » de Novell fit la démonstration d'un bureau avec de nombreux effets visuels tels que des fenêtres transparentes et un bureau 3D sur lequel on peut effectuer des rotations.

Les effets graphiques furent d'abord implémentés à l'aide du gestionnaire composite appelé glxcompmgr, mais celui-ci est maintenant déprécié car de nombreux effets ne peuvent pas y être implémentés efficacement sans avoir des liens trop serrés entre le gestionnaire de fenêtres et le gestionnaire composite. Au lieu de cela, un premier gestionnaire de fenêtres composite utilisant OpenGL pour le rendu a été développé par David Reveman : il est appelé compiz. C'est le gestionnaire composite qui fournit les effets graphiques, le serveur Xgl implémentant une extension OpenGL supplémentaire afin d'accélérer le développement d'un composite manager effectuant son rendu en OpenGL.

Xgl/Compiz est accessible, stable et inclus par défaut dans une distribution depuis juillet 2006 (SUSE Linux).

En octobre 2006, Xgl/Compiz est inclus, évidemment dans la SUSE Linux Enterprise Desktop 10 de Novell, étant à l'initiative de la technologie, mais également dans la distribution Mandriva 2007 ainsi que dans la (K)Ubuntu 6.10.

Xglx[modifier | modifier le code]

Xglx fut la première implémentation de cette architecture, c'est aussi celle qui a eu la plus grande part du développement pour le moment. Cette implémentation requiert un serveur X déjà fonctionnel au-dessus duquel Glx peut fonctionner. Dans le futur, ce mode de fonctionnement sera seulement prévu pour être utilisé en développement.

Au XDevConf 2006, la société NVidia fit une présentation, argumentant que ce type d'implémentation va dans une mauvaise direction, car le serveur étant découpé en couches, l'abstraction des capacités des cartes graphiques ne permettra plus d'utiliser des fonctionnalités spécifiques de celles-ci.

Xegl[modifier | modifier le code]

Xegl est le futur de Xgl et son développement à long terme. Il devrait simplifier le développement de pilotes vidéo et ne plus faire de séparation entre accélérations 2D et 3D. Il supprime également la dépendance aux pilotes pour les serveurs X.

Autres systèmes similaires[modifier | modifier le code]

L'accélération matérielle pour un bureau 2D a déjà été réalisée avec Mac OS X 10.2 en 2002 avec la technologie Quartz Extreme, en présentant les éléments de l'écran comme étant des textures dans un contexte 3D en OpenGL.

Sun a également réalisé Projet Looking Glass en 2003.

Une technologie équivalente, Aero (basée sur Direct3D à la place de l'OpenGL) est sortie avec Windows Vista en .

Polémique[modifier | modifier le code]

Le projet est sujet à polémique car il utilise les performances des cartes graphiques 3D qui fonctionnent souvent à l'aide de pilotes propriétaires (nVidia et ATI). En effet, les fabricants de cartes graphiques propriétaires ne publient pas les spécifications de leurs cartes (leur fonctionnement interne) rendant ainsi quasiment impossible le développement de pilotes libres. Cependant un certain nombre de cartes graphiques (ATI jusqu'à la X300, Intel) possèdent des pilotes libres et permettent d'utiliser l'accélération 3D de la carte sans installer de pilote propriétaire.

Avantages / Inconvénients[modifier | modifier le code]

Avantages :

  • Fonctionne avec quasiment toutes marques de cartes graphiques (récentes, si possible).
  • Pour la gestion de bureaux 3D, certains pilotes graphiques ne peuvent gérer que Xgl, c'était le cas du pilote propriétaire ATI (fglrx) jusque fin 2007.
  • Pour l'utiliser, il n'y a pas besoin d'éditer de fichier de configuration (même xorg.conf).

Inconvénients :

  • Xgl est une surcouche du serveur graphique X.org, il diminue donc les performances d'un programme d'effets 3D (comme Beryl ou Compiz).
  • Xgl ne permet pas de lancer deux programmes utilisant la 3D, c’est-à-dire que l'utilisation de Beryl ou de Compiz rend impossible l'exécution de jeux 3D. Il faut dans ce cas séparer Xgl en créant une session spéciale (cela dépend de la carte ou de la version d'Xgl).
  • Xgl n'est pas intégré dans le pilote graphique, il demande de l'espace disque, 11 Mo environ.

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Sur les autres projets Wikimedia :