ATI + XGL, ça marche : mode d'emploi
Par Nicofo le samedi 13 janvier 2007, 20:35 - Fedora - Lien permanent

Les détenteurs de cartes ATI doivent souvent faire le choix entre performance graphique et bureau 3D (compiz ou beryl) sous Fedora :
- soit utiliser le driver libre radeon qui permet de bénéficier du bureau 3D via AIGLX mais dont les performances sont limitées (pas de dual screen, performances 3D parfois insuffisantes voire inexistantes suivant le type de carte, ...)
- soit installer le driver propriétaire fglrx, incompatible avec AIGLX (pas de bureau 3D !)

La solution présentée ici est valable pour GNOME, KDE et XFCE. Elle fonctionne aussi bien avec Beryl que Compiz.
Les étapes à suivre sont
- 1) Installation des drivers fglrx
- 2) Installation de XGL
- Mise à jour
- Désinstallation
- Beryl ou Compiz ?
- XGL et les jeux
- Problèmes et solutions
Installer les drivers avec yum (du dépôt livna) :
yum install kmod-fglrxEnsuite activer ce driver :
cp /etc/X11/xorg.conf /etc/X11xorgORIG.conf #sauver l'ancien xorg.conf fglrx-config-display enable1.1) Modification du xorg.conf
a) Ajouter les sections suivantes dans votre xorg.conf (si pas déjà présentes)
Section "ServerFlags" Option "AIGLX" "false" EndSection Section "Extensions" Option "Composite" "Disable" EndSection Section "DRI" Mode 0666 EndSectionb) À partir des drivers 8.34, supprimez complètement votre section "Module".
c) Enfin, les options suivantes peuvent être utiles dans la section "Device" :
Option "UseFastTLS" "0" Option "BlockSignalsOnLock" "on" Option "ForceGenericCPU" "off" Option "KernelModuleParm" "locked-userpages=0"1.2) Vérification de l'installation
Maintenant, le driver devrait être opérationnel. Relancer le serveur X et le service fglrx (
service fglrx restart
) (ou redémarrer le PC pour être sûr). Pour le vérifier, taper la commande fglrxinfo
: elle doit renvoyer un message du genre :
$ fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: RADEON X300/X550/X1050 Series OpenGL version string: 2.0.6334 (8.34.8)et la commande "
glxinfo | grep direct
" doit renvoyer "Yes
" :
$ glxinfo | grep direct direct rendering: YesMais le plus simple est peut être de tester le driver avec une application 3D (faites comme moi, prenez ppracer (
yum install ppracer
) par exemple 

grep EE /var/log/Xorg.0.log
" et "grep WW /var/log/Xorg.0.log
".Ou jetez un coup d'oeil à la section documentation de fedora-fr.
2) Installation de XGL
Vous pouvez installer et configurer XGL automatiquement en exécutant le script installXGL.

- Fedora 6 et 7 : installXGL
- Fedora 5 : installXGL_FC5 - fonctionne aussi sur les versions ultérieures de Fedora mais utilise les paquets FC5 de Compiz et de XGL
wget http://nicofo.tuxfamily.org/scripts/xgl/installXGL sh installXGLIl télécharge les RPM de XGL, l'installe et le configure automatiquement. Il vous propose ensuite l'installation avec yum de compiz et beryl à partir des dépôts officiels de Fedora.

Si vous préférer l'installation manuelle, voyer ci-dessous : [afficher/cacher]
Il ne vous reste plus alors qu'à ouvrir une nouvelle session (pas besoin de redémarrer Fedora). À l'écran de connexion (GDM ou KDM), cliquer sur le menu ("Options" > ) "Session", choisissez votre session préférée et... enjoy


Mise à jour
Des mises à jour sont régulièrement apportées aux scripts d'installation et de configuration. Pour mettre à jour, il suffit de relancer le script
installXGL
. Celui-ci vérifiera également que la dernière version de XGL est bien installée.Pour connaître les mises à jour, vous pouvez visualiser les notes de mises à jour à cette adresse : Mise à jour de XGL.
Désinstallation
Si vous désirez supprimer XGL et ses fichiers de configuration, lancer
installXGL -r
.
Beryl ou compiz ?
Le script vous propose d'installer beryl et compiz, mais vous pouvez les installer à tout moment avec yum (
yum install beryl compiz
). Au démarrage de votre session, beryl ou compiz est exécuté. Vous pouvez choisir celui que vous préférez :
- sous GNOME : dans le menu Système -> Préférences -> XGL Gestionnaire de fenêtres
- sous KDE : dans le Menu K -> Configuration (Settings) -> XGL Gestionnaire de fenêtres
- ou lancer
chooseCompositeWM

XGL et les jeux
Les jeux et autres applications 3D fonctionnent en général moins bien sous XGL. En cas de problème, lancez votre jeu à l'aide de la commande noXgl : "
noXgl monjeu
" au lieu de simplement "monjeu
". L'option -a
peut être utilisée pour lancer une application non-plein écran.
Problèmes et solutions
- Ça marche pas ! Ma session GNOME/KDE+XGL ne se lance pas -> un fichier de log des programmes lancés suite à votre login (y compris donc XGL, compiz/beryl) est enregistré dans "
- Beryl plante à chaque redimentionnement de fenêtre -> vous pouvez modifier le comportement du plugin 'resize' : dans beryl-manager -> Window Management -> Resize Window -> Behaviour -> Resize Display Mode : mettre "Stretch".
- Compiz se lance bien, mais je n'ai pas de bordures de fenêtre -> activer le plugin "decoration" dans
~/.xsession-errors
". Il contient plus que probablement les raisons de votre problème. Attention, ce fichier est écrasé à chaque nouveau login graphique. Il faut donc le récupérer soit à partir d'un autre compte (compte root par exemple -> récupérez le fichier /home/<USER>/.xsession-errors et sauvez-le sous un autre nom), soit à partir du mode console (CTRL-ALT-F1 -> login -> "cp .xsession-errors erreurXGL.txt
").
gset-compiz
(System->Preferences->More Preferences->Configuration Tool for Compiz) (ensuite, lancer gtk-window-decorator
(gnome-window-decorator
sous FC5) ou relancer la session GNOME) Vous pouvez aussi utiliser gconf
pour activer les plugins souhaités :
gconftool-2 -s '/apps/compiz/general/allscreens/options/active_plugins' --type list --list-type string \ '[gconf,png,svg,decoration,wobbly,fade,minimize,cube,rotate,zoom,place,move,resize,switcher,scale,water,annotate,screenshot]'
noXgl
).


Commentaires
Pareil, chez moi les faces du cube de Beryl sont blanches. Pour XGL, j'ai un bug également : l'image se brouille complètement. En cause, les animations des gestionnaires de bureau, comme les « carrés » quand on minimise une application dans la liste de fenêtres. Frustrant !
Sa marche avec KDE ?
Bonne remarque Tommy : j'avais pas pensé à KDE.
Maintenant c'est réparé : le script de configuration ajoute une session GNOME et KDE avec XGL.
Super ca fonctionne nickel
Merci Nicofo!
Quelqu'un à testé cette méthode sur une ATI x800 XL ?
Avant j'utilisais l'option gdmtimeout, comment l'utiliser avec ton système ?
Bien tu fais comme avant : après avoir installé les rpm de xgl, tu utilises gnome-xgl-switch et tu bidouilles ton fichier de config de gdm pour rajouter le timeout.
Mais tu n'as pas besoin de cette option avec mon script.
salut! gset-compiz ne fonctionne pas! ça me met ** ERROR **: Plugin directory not found, exiting...
si qq1 à la solution...
Essaie simplement de créer le dossier /usr/lib/compiz :
mkdir /usr/lib/compiz
C'est super. Je viens d'installer xgl en 30 seconde sur ma x800 XL via ton script automatique. En revanche, moi les fenêtre ne veulent pas bouger ...
J'ai rien dit pour le déplacement des fenêtres, j'avais coché l'option dans compiz !
Trop génial ce script ! Même sur mon modeste pc portable, cela fonctionne !

Aucun soucis lors du lancement du script, tout se passe sans problème.
Que dire de plus à part MERCI !
Super ton script pour installer xgl...
très pratique...
En revanche, pour beryl, ou est passé le plugin 3d?
Donut, tu parles du plugin dans beryl-manager->visual-effects->3D Effects ? Chez moi il est là.
Effectivement, il est là.. Le seul souci, c'est qu'il est configuré par défaut sur "activate only with mouse rotate". Mais si on configure les raccourcis pour activer la rotation sans la souris (ex: <Ctrl><R> pour activer la rotation, puis la souris pour le faire tourner, plus pratique sur un portable) eh bien la 3D n'est plus activée!!
Ca peut etre interessant de poster ca quelque part, j'ai vu plusieurs topic posant la question...
merci beaucoup pour ce sript, c'est tout symplement genial!
par contres, avec compiz, j'ai des problemes avec java et aussi avec les codecs win32.
encore merci
Mc Guiloo
Pour java, as-tu essayé avec
noXgl
?Pour les codecs win32, je n'ai pas de pb. La seule chose est que si tu utilises mplayer, les vidéos s'affichent en trop grand en largeur : mais il suffit de redimentionner la fenêtre et c'est OK. Pas de pb par contre avec totem et autres.
je ne comprend pas comment faire ca:
À partir des drivers 8.34, supprimez complètement votre section "Module".
Comment faire ?
Qu'est-ce que tu comprends pas ?!? Dans ton fichier /etc/X11/xorg.conf, supprime les lignes contenues entre (et y compris)
Section "Modules"
et le premierEndSection
rencontré. Si tu n'as déjà plus de ligneSection "Modules"
, tu n'as rien à faire.merci nicofo,
j'ai 2 sections device, est ce que je peux les regrouper en enlevant endsection de la premiere section ?
j'ai ca :
Ensuite il faut rajouter ca ???
Non, tu ne peux PAS regrouper les 2 sections Device : il y en a 2, sans doute une pour ton écran, l'autre pour la sortie TV ou autre ? Peu importe : laisse-les.
Tu dois rajouter ces 4 options après la ligne
Driver "fglrx"
(au sein de la 2è section "Device").ok merci
maintenant quand je test j'ai ca
$ fglrxinfo
fglrxinfo: error while loading shared libraries: /usr/lib/xorg/libGL.so.1: cannot restore segment prot after reloc: Permission denied
Qu'est ce qui se passe encore ?
Ben moi perso, j'ai suivi ton tuto mixé avec celui du wiki de Gentoo... Tout marche bien, j'ai tout les effets d'eau, de déformations multiples des fenetres, la pluie... Mais malheureusement je n'ai aucun bureau 3D, tout est bien activé dans le beryl-manager, je ne comprend vraiment pas... Juste un point important : J'obtient cette erreurs lors d'un fgl_glxgears :
xadawa@localhost ~ $ fgl_glxgears
Using GLX_SGIX_pbuffer
Xlib: extension "XFree86-DRI" missing on display ":0.0".
Error: couldn't get fbconfig
Enfin voilà, çà serait cool si tu m'aider parce que la j'ai éclusé un grand nombre de forum sur internet et aucun ne correspond a mon problème.
Merci d'avance
P.S. : Si tu peux me contacter par MSN, c'est mon adresse mail fournie dans le formulaire.
J'ai la même erreur avec fgl_glxgears ==> ce n'est pas un problème. Si tu veux l'éviter, utilise "
noXgl fgl_glxgears
".Pour ton pb de bureau 3D (c'est le cube tu veux dire ?) : je vois pas : ça doit être un bête pb de config vu que le reste fonctionne (le raccourci par défaut est <CTRL><ALT><clic gauche souris>). As-tu essayé avec compiz (change avec "
chooseCompositeWM
") ?Merci ça marche enfin!!!!
J'ai beaucoup galéré, beaucoup cherché, beaucoup testé. J'avais les drivers mais impossible d'avoir l'accélération 3D. Je suis finalement tombé sur ton site, j'ai suivi tes indications et ça marche NICKEL!
...avec gnome en tout cas. Par contre sous KDE, beryl est très lent à charger (souvent on attend pour rien car ça fonctionne mal et il passe au gestionnaire de secours), ça plante souvent (en particulier lors de redimensionnements, j'ai pourtant suivi tes réglages à ce propos). Bref ça n'est pas trop viable... Du coup moi qui suis un kdeiste convaincu, je dois passer à GNOME... J'imagine que ça se vaut après un petit temps d'adaptation...
Encore merci, il faut absolument diffuser cette méthode, on voit trop à droite à gauche de gens pester contre ATI parce qu'ils n'arrivent pas à faire fonctionner correctement leur carte, non pas qu'ils aient tort mais tu as visiblement la solution!
Bonjour nicofo,
J'aimerais savoir comment on fait si on a openSUSE 10.2 et pas Fedora...? une solution ou c'est totalement impossible?
Merci d'avance!
Vorax
Salut,
J'ai un petit soucis lors de l'installation des pilotes fglrx sous fedora 6 pour ma ati radeon X700. Au lieu de me détecter correctement ma carte il me met je ne sais trop quoi, avec les pilotes mesa.
Résultat ca me plante le xorg, impossible de faire ctrl+alt+Fxx.
(La seule méhode que j'ai trouvé c'est d'utiliser un live CD de remplacer mon xorg.conf et d'enlever de init.d fglrx.
Y aurai-t-il une étape loupée ?
Merci
Solution trouvée...
vérifiez le résultat de la commandePour ceux que ça intéresse.
Si vous possédez une ATi mobility radeon X700 (mon portable asus A6VA Q038H) ne pas installer XGL, utiliser les pilotes RADEON (qui possèdent ce qu'il faut pour la 3D).
Extrait du fichier xorg.conf
glxinfo |grep direct
qui doit donner (comme indiqué dans ce tuto)
direct rendering: Yes
Il ne reste plus qu'à installer beryl et à vous amuser.
@Vorax : tout d'abord, je ne connais pas openSuse, mais ceci doit s'appliquer à toutes les distros : inspire-toi de l'installation manuelle :
1) Tu dois trouver les paquets de XGL adaptés à ta distibution (je doute que ceux de Fedora fonctionnent sur openSuse).
2) Si aucun outil de configuration n'est fourni avec, tu peux utiliser ma méthode (script '
configureXgl
' en suivant le point "d" de l'installation manuelle). Ce dernier est indépendant de la distribution (Rem : si tu as un problème avec ce script avec le fichiergnome-xgl-info
manquant, fais-moi signe, ce n'est pas un problème).@pierre : si le driver libre radeon fonctionne bien, tu dois en effet le privilégier. Mais alors tu as de la chance : souvent, ses performances sont moindres que celles de fglrx (scroll lent dans firefox, beryl lent, ... p. ex.).
Pour éviter les ralentissements (que j'ai eu) il faut jouer avec le rafraichissement de l'image.
VERIFIER les compatibilités avec votre carte video !!!
Par contre j'aimerai savoir comment activer les shaders pour faire "mumuse" avec l'eau et compagnie ^^ si quelqu'un aurait une idée ?
Merki;)
Moi j'ai la meme carte que toi Pierre, et j'ai l'impression qu'elle chauffe pas mal avec le driver radeon (dont les performances sont il est vrai tout a fait acceptables).
J'ai donc essaye fglrx, l'est configure comme indique ici, j'ai installe XGL. Maintenant (session Gnome normale) quand je bouge une fenetre elle laisse des trainees derriere elle, impossible de jouer a un jeu 3D.
Et impossible d'ouvrir une session Gnome+XGL, j'obtiens un ecran avec plein de lignes horizontales serrees, le curseur de la souris est une croix.
Une idee ?
Incomprehensible !

J'avais pourtant reboote plusieurs fois !
La j'eteins mon ordi, je pars faire des courses, a mon retour, tout marche impec ! Jeux, compiz,...
Bref, merci nicofo, ton script etait genial
De rien.
Je vais rajouter dans le tuto qu'il faut aller faire des courses pour finaliser l'installation
@Brocheta: Salut, pourrai-je connaitre la marque de ton ordinateur portable ?
@Nicofo: si j'ai gardé les drivers radeon c'est que fglrx, peu importe dans quel sens je le prend (avec mon asus A6VA Q038H) il me sort les pilotes mesa ....
ceux ci n'étant pas les bons pilotes pas étonnant que mon écran soit "bizarre" ^^
Existerait-il un fichier de conf pour fglrx afin de modifier ça ? ou aurait-tu une une idée de la chose ? (j'ai vu sur le forum fedora que tu possède une ati x300 me semble-t-il).
Comme fichier de conf, je ne connais que le xorg.conf. Il y a plein d'options possibles à donner [e.a. dans la "section Device"], mais je ne les connais pas : je te conseille d'ouvrir un nouveau post sur le forum de fedora-fr : tu auras rapidement une réponse.
salut a tous je crois qu'il y a un gros probleme soit avec les nouveaux kmod-fglrx ou un des serveurs qui répondent pas pendant l'installation impossible davoir le fenetrage sur compiz et beryl ne fonctionne qu'avec beryl sans manager. sa fait deux fois que j'ai réinstaller le systeme et toujours la meme erreur.
Salut,
peux-tu être un peu plus précis : tu as quelle version du kmod ? et es-tu sous FC6 ou F7 ? Quel serveur ne répond pas ? Ça veut dire que tu n'as pas pu tout installer ?
* Pour compiz, essaye de relancer gtk-window-decorator. À moins que ce ne soit bêtement que le plugin 'decoration' qui ne soit pas activé : active-le avec gset-compiz.
* Pour beryl-manager : essaye en supprimant le fichier ~/.beryl-managerrc
salut,
voila mon kmod-fglrx est la 8.36 en faisent # glxinfo | grep direct
j'obtiens
Xlib: extension "XFree86-DRI" missing on display ":1.0".
direct rendering: No
pourtant beryl est en fonction en ce moment meme
je suis sur la FC6 tout c'est installe mais pendant l'installation j'ai cru voir une erreur de connexion a un serveur mais je me rappel plus lequel le scrypt me marque que tout es ok! Existe t-il des kmod pour le FC7? Et ton scrypt fonctionne t'il aussi sur le FC7? merci
Salut,
1) pour "extension "XFree86-DRI" missing on display ":1.0"" : c'est normal avec XGL.
2) si tu crois que qqch s'est mal installé, relance installXGL (tu peux remonter dans le terminal pour voir les éventuels msg affichés). Mais normalement s'il y avait eu un pb de connexion, le script n'aurait PAS mis OK...
3) Pour FC7, il semble que les kmod fglrx ne soient pas disponibles avant un mois => il te (nous) faut attendre...
OKi merci beaucoup je pense que je vais remettre ma Fc6 cars la Fc7 n'a pas encore beaucoup de paquet merci
Merci à toi ca marche tout simplement
Ma config : ATI radeon xpress 200 128n Mo, Turion64, 512Mo (384 réel).
Un petit souci de conflit au niveau des mises à jour avec emerald, on verra cela plus tard.
A+
Bonjour, merci pour ce tuto !
Cependant j'ai un problème, tout l'installation se déroule parfaitement mais au moment de relancer je ne vois pas le menu session pour choisir xgl... cela dit je peux demarrer mon bureau mais dans xgl gest. de fenetres, quand je choisis il me met : xgl ne s'est pas lancé ...
Quelqu'un a une idée du probleme (je suis new sur linux, 2 jours seulement) ,
Salut,
comme je crois que tu l'as découvert toi-même, le menu "Sessions" se trouve maintenant dans le menu "Options" de GDM.
Oui !
Merci beaucoup pour ce tutorial, ca marche vraiment bien !!
salut je trouve super ce que tu as fait. bon par contre j'ai quelque blem lol au choix de la session je choisis comme tu as marqué GNOME+xgl mais apres plus rien je vois pendant une seconde mon bureau puis apres ca revient sur l identifiant et mot de passe. et quand je demarre sous gnome aucun blem mais par contre impossible d ouvrir gestion des fenetres que cela soit par les menus ou le shell. merci d avance pour tes conseils
Petite vérification : tes drivers fglrx sont bien installés ? Vérifie suivant le point 1.2 ci-dessus.
Ensuite jette un coup d'oeuil à ton fichier .xsession-errors (voir ICI).
quand jaffiche xorg conf il me marque rien comme si il y avait rien, par contre sur le compte root tout marche nickel. et je pense que ce que tu explique dans xsession-errors serait la soluce mais jai quelque blem pour bien comprendre exactement toute les demarches pour y arriver (oui je sais je suis pas facile lol mais je cherche toujours a comprendre avant d agir et savoir ou il faut aller lol)
Juste pour remercier Nicofo grace à qui je peux voir tourner beryl sur mon PC sous Fedora 7 avec mon ATI radeon 9800... et jouer à NWN avec le driver fglrx ! ca déchire. Le tout sous KDE. Tout ca grâce au script configureXgl... Nicofo tu m'as tiré de la galère
(--> je tenais à faire un retour sur cette page)
Merci dimooz
Gnora : je comprends pas : tu n'as pas de /etc/X11/xorg.conf ?? Tu as essayé au moins les 2 commandes "glxinfo | grep direct" et "fglrxinfo" ?
Quand tu dis que tout marche en root, ça veut dire y compris beryl ou compiz ? Si oui, oublie pas la section "DRI" dans ton xorg.conf !
Pour récupérer ton xsession-errors : logue-toi en gnome+xgl avec ton propre user ==> ça plante. Puis logue-toi en root et récupère le fichier /home/<ton user>/.xession-errors (fichier caché). Regarde les erreurs. C'est tout.