Aller au contenu | Aller au menu | Aller à la recherche

Nicofo

mardi 29 avril 2008

ATI : enfin (2) !

ATI Dans mon précédent billet "ATI : enfin !", il semble que j'avais été un peu optimiste avec les nouveaux drivers fglrx Catalyst d'ATI. Certes ils apportaient le support d'AIGLX mais les performances étaient jusqu'alors moins bonnes qu'avec l'ancienne solution XGL.
Je viens d'installer la dernière mise à jour de ces drivers (la 8.04) et là j'ai enfin de bonnes nouvelles :
  • le défilement dans firefox est redevenu normal (auparavant il était tellement lent que ça rendait firefox quasi inutilisable). Il s'agissait pour ma part du dernier gros point noir de ces drivers
  • même si ce problème de défilement était moins marqué dans les autres applications (gedit, oo, etc.), il ne pose plus de problèmes là non plus
  • de même concernant compiz, même si les effets restaient fluides, j'étais déçu que XGL apportait un meilleur rendu général. Dorénavant, XGL est définitivement oublié et AIGLX adopté ;-)
  • "Suspend the computer" fonctionne enfin (je n'y croyais plus !)

Précisions : ma carte est une radeon X300 ; je n'ai pas pu tester les drivers 8.02 ni 8.03 car non disponibles pour Fedora 7. Il est donc possible que les éléments ci-dessus aient été apportés par ces versions.
À noter : tout n'est pas encore parfait mais ces drivers s'améliorent de version en version : pour le moment il ne me manque plus que le support XVideo avec AIGLX.

samedi 27 octobre 2007

ATI + AIGLX, ça marche : mode d'emploi

La dernière version des pilotes ATI fourni, parmi d'autres nouveautés, le support AIGLX. Dorénavant, il n'est plus nécessaire d'utiliser XGL pour pouvoir bénéficier de compiz ou beryl.
L'installation des drivers est assez simple :
  1. Comme on peut enfin se passer de XGL, on peut le cas échéant le désinstaller :
    wget http://nicofo.tuxfamily.org/scripts/xgl/installXGL
    sh installXGL -r
  2. L'installation des nouveaux drivers se fait par simple mise à jour : "yum update" ou juste "yum update kmod-fglrx".
    Remarque : yum m'a indiqué un conflit avec le driver précédent : pas de problème, il suffit de le désinstaller manuellement : "yum remove kmod-fglrx"
  3. Activer AIGLX à l'aide de livna-config-display (accessible dans le menu "Applications > System Tools")
  4. À moins de s'amuser avec les commandes du genre "service fglrx restart", il est préférable à ce stade de redémarrer Fedora.
Résultat : ça marche sur ma Radeon X300 !

ATI AIGLX compiz fusion
Problèmes rencontrés
  • Le défilement des pages dans Firefox est assez lent avec compiz ou beryl, ce qui n'était pas le cas avec XGL. Juste un problème de réglage ?
  • Alors que beryl fonctionne sans problème du premier coup, c'est un peu plus compliqué avec compiz fusion : il m'affiche les erreurs
    compiz (core) - Fatal: GLX_EXT_texture_from_pixmap is missing
    compiz (core) - Error: Failed to manage screen: 0
    compiz (core) - Fatal: No manageable screens found on display :0.0
    La solution consiste à utiliser "fusion-icon" ou à lancer compiz fusion avec la commande "LIBGL_ALWAYS_INDIRECT=1 compiz --replace".
  • Le curseur de la souris est parfois un peu bizarre (lignes horizontales qui s'ajoutent...)
  • Compiz-fusion et Fedora 7 : en cas de problèmes, sachez qu'il existe une mise à jour de Compiz-fusion pour Fedora 7 (compiz version 0.6.2) : téléchargez l'archive ici, décompressez-la puis mettez à jour les rpm qui y sont contenus (yum update *.rpm). Ça pourrait résoudre certains de vos problèmes.
  • Compiz-fusion et Fedora 8
    Compiz-fusion ne fonctionne pas sur Fedora 8 ? Slander donne une solution dans le commentaire 11 ci-dessous.
  • Compiz-fusion et Fedora 8 et fglrx (ATI)
    Vous obtenez désespérément l'erreur No GLX_EXT_texture_from_pixmap with direct rendering context... nor with indirect rendering, this isn't going to work!. Slander donne aussi la solution dans le même commentaire. (merci Slander !)
Enfin, j'ai testé quelques jeux genre enemy-territory, True Combat: Elite : la fluidité est parfaite ! Même si je n'avais pas vraiment de problèmes de ce côté là avec les anciens drivers, je crois qu'on peut dire qu'ATI / AMD nous a enfin fourni des drivers linux dignes de ce nom...

À voir aussi
  • Installer Compiz Fusion sur Fedora (fonctionne aussi sans XGL) :
    wget http://nicofo.tuxfamily.org/scripts/xgl/installXGL
    sh installXGL -cb
  • Lancer Compiz (fusion) ou Beryl automatiquement au démarrage de votre session Gnome / KDE / XFCE. J'ai adapté mon script chooseCompositeWM pour qu'il fonctionne dans toutes les situations (plus uniquement XGL). Pour l'installer :
    wget http://nicofo.tuxfamily.org/scripts/demarrage3D.tar.gz
    tar -xzf demarrage3D.tar.gz
    ./installDemarrage3D
    Le résultat : votre session se lance avec compiz ou beryl. En outre vous pouvez à tout moment changer de gestionnaire de fenêtres via le menu "Système > Préférences > Démarrage automatique de Compiz/Beryl" ou chooseCompositeWM.
chooseCompositeWM beryl compiz fusion

mardi 23 octobre 2007

ATI : enfin !

ATI Ça y est, comme tous les mois, AMD/ATI a sorti sa nouvelle version des drivers pour Linux (fglrx). Cependant cette version 8.42.3 n'est pas qu'une simple mise à jour. Il s'agit d'une des versions les plus ambitieuses qu'ATI nous aie préparée. Par rapport à la version précédente 8.40.4 (je ne parle pas de la 8.41.7, qui peut être vue comme une version intermédiaire mais non finalisée pour les cartes moins récentes), une bonne partie du code a été réécrit. Et les nouveautés sont nombreuses :
  • support d'AIGLX, enfin !
  • performances accrues de façon drastique pour certains types de cartes (séries R300 à R500)
  • support des dernières cartes (R600)
  • panneau de configuration (AMD Catalyst Control Center) étoffé
  • et bien d'autres (support Xorg 1.4, vidéo playback amélioré, ...)
La principale nouveauté est donc le support tant attendu d'AIGLX (plus d'un an après nVidia quand même...) Ces nouveaux drivers permettront ainsi de jouer avec les effets 3D (compiz et beryl) directement (sans l'intermédiaire d'XGL).

Mais comment les installer ? Ces nouveaux drivers sont maintenant disponibles dans les dépôts des principales distributions (livna pour Fedora). La mise à jour s'effectue comme d'habitude. Cependant, si vous utilisiez XGL, vous pouvez le désinstaller (installXGL -r). Une petite modification du xorg.conf est aussi à faire si vous voulez activer AIGLX (pour Fedora, plus détails sur la page ATI + AIGLX, ça marche : mode d'emploi).

samedi 13 janvier 2007

ATI + XGL, ça marche : mode d'emploi

Update - les drivers ATI intègrent dorénavant le support AIGLX. XGL n'est donc plus l'unique solution qui permet de bénéficier des effets du bureau 3D. Plus d'infos : ATI + AIGLX, ça marche : mode d'emploi.

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 !)
Il est néanmoins possible de profiter à la fois des drivers propriétaires et du bureau 3D : la solution passe par XGL.

xgl FC6 cube
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

Installer les drivers avec yum (du dépôt livna) :
yum install kmod-fglrx
Ensuite activer ce driver :
cp /etc/X11/xorg.conf /etc/X11xorgORIG.conf #sauver l'ancien xorg.conf
fglrx-config-display enable
   1.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
EndSection
b) À 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: Yes
Mais le plus simple est peut être de tester le driver avec une application 3D (faites comme moi, prenez ppracer (yum install ppracer) par exemple ;-) )

Si ça ne fonctionne pas, regardez les erreurs du serveur X : "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.
download Télécharger le script :
  • 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
Lancez-le (en root bien sûr) :
wget http://nicofo.tuxfamily.org/scripts/xgl/installXGL
sh installXGL
Il 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.

install xgl FC6
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 :-D :

xgl FC6 GDM
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 FC6 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 "~/.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").
  • 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 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]'
  • Mon super jeu 3D ne fonctionne plus
  • -> regardez ci-dessus (et surtout utilisez la commande noXgl).
  • Ça fonctionne bien avec KDE ?
  • -> oui, la preuve :
    xgl FC6 cube KDE
  • Autres ?
  • -> n'hésitez pas à laisser vos commentaires !

Vous voulez un aperçu du bureau 3D sous Fedora ? Screenshots de Compiz et Beryl (et ici aussi).