HOWTO XGL

Un article de Gentoo Linux Wiki.

Cet article est une ébauche. Vous pouvez l'aider à s'enrichir en le complétant.

Cet article fait partie des HOWTOs.
Méthodes d'installation CD Live Noyau et matériel Portables et Notebooks Portage Système Réseaux et Services Serveur X Logiciels fréquemment utilisés Autres

Sommaire

[modifier] Installation d'XGL

[modifier] Cartes graphiques supportées

Une liste des cartes supportées est disponible sur http://gentoo-wiki.com/HARDWARE_Video_Card_Support_Under_XGL (en anglais)

[modifier] Prérequis

Mettez à jour l'arbre du portage.

emerge --sync

Une version modulaire d'XOrg (version 7.x) est nécessaire pour utiliser XGL. Pour l'installation d'un serveur XOrg modulaire, reportez à la documentation officielle Gentoo (en anglais).

A noter: si votre Gentoo est à jour, cette étape n'est pas nécessaire, Xorg 7 est désormais stable dans le portage.

S'il ne l'est pas, installez Gconf.

emerge gconf-editor -av

Vous avez également besoin d'installer Subversion avec le support webdav. Pour se faire, vous devez supprimer le flag nowebdav. Ajoutez une ligne au fichier /etc/portage/package.use si nécessaire.

Code : Ajout du Useflag -nowebdav
echo "dev-util/subversion -nowebdav" >> /etc/portage/package.use

Ensuite,

emerge subversion -av

[modifier] Récupérer Xgl sur un dépôt Subversion via Layman

Si vous ne l'avez pas déjà, installez Layman.

emerge layman -av

Maintenant vous pouvez ajouter le dépôt Xgl avec Layman :

layman -f
layman -a xeffects
Note: Si lorsque vous lancez ces commandes vous obtenez une erreur du genre "* Overlay "xxxxxxxx" is missing a "contact" attribute!", rajoutez l'option -k a la commande.


Ajoutez le dossier local du dépôt Xgl dans votre make.conf

Code : Ajoutez le dépôt Xgl local au portage
echo "PORTDIR_OVERLAY=/usr/portage/local/layman/portage-xgl" >> /etc/make.conf

[modifier] Démasquer les packages nécessaires

Ajoutez la liste suivante dans /etc/portage/package.keywords

Fichier : /etc/portage/package.keywords
dev-util/git
media-libs/glitz
media-libs/mesa
x11-apps/mesa-progs
sys-apps/man
x11-base/xgl
x11-libs/cairo
x11-libs/qt
x11-misc/util-macros
x11-proto/glproto
x11-wm/compiz-quinnstorm
x11-misc/compiz-quinnstorm-plugins
x11-wm/compiz
x11-libs/libwnck
x11-misc/xwinwrap
virtual/xft
gnome-base/gconf
x11-libs/gtk+
dev-libs/glib
x11-libs/libdrm

Vérifiez que x11-libs/cairo utilise le Useflag glitz.

Code : Ajoutez glitz aux Useflag de cairo
echo "x11-libs/cairo glitz" >> /etc/portage/package.use

[modifier] Installation de Xgl

Tout d'abord, émergez Cairo. Utilisez l'option --oneshot pour ne pas ajouter le package dans la liste world.

emerge --oneshot --ask --verbose cairo 


Réinstallez pango et gtk+.

emerge --oneshot --ask --verbose pango gtk+


Vérifiez que les Useflags gnome et svg sont activés pour Compiz. Vous devez peut être ajouter les lignes suivantes à votre fichier package.use:

Fichier : /etc/portage/package.use
x11-wm/compiz-quinnstorm gnome svg
x11-wm/compiz gnome svg

Si vous utilisez Compiz ou que vous souhaitez utilisez compiz-quinnstorm sans cgwd, vous devez émerger les packages précédents avec USE="gnome" même si votre environnement graphique n'est pas Gnome.

Vérifiez que glproto et libdrm sont installés. Si nécessaire, installez-les:

emerge --ask --verbose --oneshot glproto libdrm

Pour terminer, installez Xgl, Mesa et Compiz.

emerge --ask --verbose --oneshot mesa 
emerge -av xgl
Note: Les utilisateurs de cartes NVIDIA devront réémerger les drivers nividia (nvidia-kernel ou nvidia-drivers ou nvidia-legacy-drivers) après l'installation d'Xgl

Pousuivrez par l'installation de Compiz , selon la version que vous souhaitez, c'est à dire {Paquet|compiz} (vanilla) ou {Paquet|compiz-Quinnstorm}

[modifier] Installation de Compiz

emerge -av compiz

Optionel: gset-compiz est une interface de configuration de Compiz (une alternative à l'utilisation de Gconf-editor):

emerge -av gset-compiz

Une fois que toute l'installation est terminée, Cairo devrait être installer comme une dépendance.

Note: gentoolkit est nécessaire pour cette étape.
emerge -av gentoolkit

Vérifiez-le

equery d -o -p cairo
Note: Si cette commande ne retourne rien, il y a une erreur dans votre installation.

[modifier] Utiliser Xgl

[modifier] Configurer Compiz

La première étape est la configuration de Compiz et de ses plugins. Si aucun plugin n'est indiqué, vous n'aurez pas de gestionnaire de fenêtres !

Trois outils graphiques sont à votre disposition  :

  • gset-compiz ou gconf-editor pour .compiz (vanilla)
  • csm (compiz settings manager) pour compiz-quinnstorm

Ainsi, si c'est la première fois que vous lancez Xgl et que vous voulez le configurer avec un outil graphique, c'est maintenant que vous devez le faire, avant que vous ne sortiez de votre session X. N'utilisez pas ces outils en root !

[modifier] Avec Gconf-editor

gconf-editor &

Allez dans apps --> compiz --> general --> allscreens --> options et éditez la section active_plugins dans le cadre de droite.

Si les entrées pour Compiz n'apparaissent pas dans gconf-editor, ces commandes devrait solutionner ce problème.

export GCONF_CONFIG_SOURCE="xml:merged:/etc/gconf/gconf.xml.defaults"
gconftool-2 --makefile-install-rule /etc/gconf/schemas/compiz.schemas

[modifier] Avec Gset-compiz

gset-compiz &

Avec gset-compiz, vous pourrez accéder à la configuration de compiz plus simplement qu'avec gconf-editor.

Pour activer ou désactiver les plugins, cochez (ou décochez) les cases dans le menu de gauche

Au minimum, vous avez besoin des plugins gconf and decoration. Cependant si vous voulez avoir les effets de Compiz, vous devez activer les plugins wobbly, fade, switcher, move, resize, place, minimize, cube, rotate, zoom, et scale (dans cet ordre pour gconf-editor).


Plus d'infos sur la configuration de Compiz sur compiz-fr.org

[modifier] Configurer XDM

Remplacez la référence au server X

Fichier : /etc/X11/xdm/Xservers
:0 local /usr/bin/Xgl vt7


[modifier] Configurez KDM (pour les utilisateurs de KDE)

Modifiez l'entrée ServerCmd dans le fichier kdmrc par une de ces lignes:

Fichier : /usr/kde/<your version>/share/config/kdm/kdmrc
#Pour les utilisateurs de cartes Nvidia
ServerCmd=/usr/bin/Xgl -br -ac -accel glx:pbuffer -accel xv

#Pour les utilisateurs de cartes Ati
ServerCmd=/usr/bin/Xgl -br -ac -accel glx:pbuffer -accel xv:pbuffer


Vous devez également changer le ServerTimeout dans la même section car Xgl peut mettre un peu plus de temps à démarrer qu'un serveur X classique:

Fichier : /usr/kde/<your version>/share/config/kdm/kdmrc
ServerTimeout=30


N'utilisez pas le script /usr/kde/3.5/share/config/kdm/Xstartup script pour démarrer Compiz, il serait exécuté en root.

Vous devez placer ce script dans /usr/local/bin/compiz-decorator:

Fichier : /usr/local/bin/compiz-decorator
compiz --replace gconf &
sleep 2
gnome-window-decorator &


Note: Si vous avez choisi d'utiliser Compiz Quinnstorm (à la place de compiz), remplacez 'compiz --replace gconf' par 'compiz --replace dbus csm' , remplacez également 'gnome-window-decorator' par 'cgwd' dans le script ci-dessus.En cas de problème avec dbus , precedez la commande de 'dbus-launch --exit-with-session'.

Un package nommé compiz-manager permet de lancer une session normale (kde/gnome/xfce) et de la remplacer par compiz et cgwd/gnome-window-decorator. Editez le script /usr/bin/start-compiz-manager pour regler le delai pour le lancement (que la barre sois chargée pour le systray) et le cas echéant un 'dbus-launch --exit-with-session' devant compiz-manager s'il ne lance pas tout correctement.Copiez ce script sous un autre nom , car en cas de mise à jour de compiz-manager , il sera reinitialisé.


Changez les permissions du fichier /usr/local/bin/compiz-decorator afin de pouvoir l'exécuter:

# chmod +x /usr/local/bin/compiz-decorator


Modifiez ensuite:

Fichier : /etc/env.d/99kde-env
KDEWM=compiz-decorator


Pour finir, mettez à jour votre environnement.

env-update

Et redémarrez le serveur graphique pour lancer Xgl et Compiz

/etc/init.d/xdm restart

[modifier] GDM (pour les utilisateurs de Gnome)

Voici les trois étapes indispensables pour avoir Xgl fonctionnant avec Gdm et Compiz (ou compiz-quinnstorm) chargé automatiquement avec Gnome, lorsque vous vous connectez.

  1. Configuration de GDM pour augmenter le time-out lors du lancement de Xgl
  2. Configuration de GDM pour utiliser Xgl à la place de Xorg
  3. Configuration de Gnome pour le lancement automatique de Compiz
Note: Configurer gdm pour allonger le temps maximal de démarrage de Xgl est seulement possible à partir de gdm-2.14.1. Si vous utilisez une version plus ancienne, continuez les étapes suivantes mais vous n'arriverez peut être pas à lancer Xgl avec Gdm. De plus, utilisez gdmsetup pour configurer l'usage d'Xgl ne sera peut être pas possible avec les versions antérieurs à la 2.14.0. Si les options demandées ne sont pas disponibles dans votre version, éditez manuellement le fichier de configuration (cf Gentoo Wiki (en) ).

[modifier] Time-out du démarrage pour Xgl

Gdm est configuré, par défaut, pour tuer un serveur X s'il met plus de 10 secondes à démarrer (time-out). Malheureusement, les nouvelles versions d'Xgl peuvent prendre plus de temps pour démarrer. Grâce au travail des utilisateurs d'Xgl sous Gentoo, Gdm (depuis la version 2.14.1) peut maintenant être configuré pour attendre plus longtemps que 10 secondes (time-out plus long).

emerge -av >=gdm-2.14.1
  • Ajoutez ou modifiez les lignes suivantes dans la section du fichier /etc/X11/gdm/custom.conf.
Fichier : /etc/X11/gdm/custom.conf
GdmXserverTimeout=30
  • Si /etc/X11/gdm/custom.conf n'existe pas, essayez /etc/X11/gdm/gdm.conf-custom ou /etc/X11/gdm/gdm.conf.

[modifier] Utiliser le serveur Xgl (avec gdmsetup)

  • Avant tout, sauvegardez votre fichier gdm.conf
cp /etc/X11/gdm/gdm.conf /etc/X11/gdm/gdm.conf.bak
  • Lancez gdmsetup
  • Sélectionnez l'onglet Security
  • Cliquez sur le boutton Configure X Server situé en bas à droite.
  • Modifiez l'entrée Command
  • Entrez la commande pour lancer Xgl dans le champ Command comme suivant
    • pour les utilisateurs de cartes ATI:
/usr/bin/Xgl :1 -ac -accel glx:pbuffer -accel xv:pbuffer
    • pour les utilisateurs de cartes NVIDIA:
/usr/bin/Xgl -br -ac -accel glx:pbuffer -accel xv
  • Cochez la case Logins are handled by this computer et la case Flexible (on demand)
  • Save et Close
  • Redémarrez gdm (Control+Alt+Backspace (ou "retour arrière")

[modifier] Ajoutez Compiz au démarrage de Gnome

Cette étape consiste à mettre en place un script de démarrage pour compiz, placé dans /usr/bin/. Pour créer le fichier, utilisez votre éditeur préféré

nano /usr/bin/compizrc

ou (sous X)

gedit /usr/bin/compizrc
Fichier : /usr/bin/compizrc
#!/bin/bash
#
# Demarrage de compiz sans gnome-session
#
if [ `ps -A -o comm | grep -c '^Xgl$'` == "1" ]; then
        DISPLAY=:1 LD_LIBRARY_PATH=/usr/lib/opengl/xorg-x11/lib/ compiz --replace gconf &
        DISPLAY=:1 gnome-window-decorator &
#       DISPLAY=:1 setxkbmap -model pc105 -layout it -variant basic # Change according to your needs, and uncomment if needed
#       Requis en general pour conserver le clavier en fr.
        DISPLAY=:1 setxkbmap -model pc105 -layout fr -rules xorg
else echo "${0}: Erreur: Compiz et c-g-w-d non démarrés. Xgl est-il lancé ?"
fi
Code : Rendez le script exécutable

chmod 755 /usr/bin/compizrc


  1. Une fois connecté à Gnome, allez dans System->Settings->Sessions. Allez dans le 3ème onglet Startup Programs et ajoutez avec Add le script de démarrage de Compiz /usr/bin/compizrc.
  2. Après vous être déconnecté puis reconnecté, Compiz devrait démarrer. Vous pouvez aussi lancer le script compizrc directement depuis votre session Gnome (sans avoir à redémarrer la session)

Voila, si votre installation et la configuration pour le lancement de Xgl et Compiz se sont déroulées sans problèmes, vous devriez maintenant profiter des effets graphiques de Xgl/Compiz.


Article en cours de traduction

L'article original (en anglais) http://gentoo-wiki.com/HOWTO_XGL