Ceci est une ancienne révision du document !
Ce serait bien que cette page soit terminée le 30 octobre 2008, pour la sortie d'Intrepid.
Cartes graphiques AMD-ATI
Avant propos
Depuis fin 2006, ATI est une filiale de AMD. Même si le nom ATI reste valable, l'appellation AMD-ATI sera utilisée à sa place pour rappeler l'appartenance à AMD.
Introduction
Comme tout périphérique, une carte graphique a besoin de pilotes (drivers) pour fonctionner.
Comme c'est très souvent le cas, les pilotes pour les cartes graphiques AMD-ATI peuvent être regroupés en deux "familles" :
- Les pilotes libres.
- Les pilotes propriétaires.
Cas des ordinateurs à chipset graphique intégré au processeur (HD2000, HD3000 et autres)
De plus en plus d'ordinateurs possèdent un processeur avec carte graphique "intégrée". Ces cartes consomment beaucoup moins d'énergie que les cartes graphiques traditionnelles. Il est donc conseillé pour les ordinateurs portables de désactiver la carte graphique ATI, ce qui permet de gagner jusqu'à 50% d'autonomie.
Deux solutions sont possibles :
Avec vga_switcheroo
Cet outil inclus dans le noyau linux est simple à utiliser. Cependant il ne fonctionne pas toujours. Il faut alors se reporter à la méthode suivante.
Une page est dédiée à son utilisation vga_switcheroo
Avec acpi_call
acpi_call est un autre module développé pour désactiver la carte graphique.
Pour importer le projet acpi_call, tapez dans un terminal :
sudo apt-get install git git clone http://github.com/mkottman/acpi_call.git
Puis lancez le module en tapant dans le terminal :
cd acpi_call/ make sudo insmod acpi_call.ko
Il faut ensuite lancer un script qui permet de savoir "où" se trouve la carte. Pour cela, tapez :
chmod u+x test_off.sh ./test_off.sh
On obtient un résultat comparable à celui-ci :
Trying \_SB.PCI0.P0P1.VGA._OFF: failed Trying \_SB.PCI0.P0P2.VGA._OFF: failed Trying \_SB_.PCI0.OVGA.ATPX: failed Trying \_SB_.PCI0.OVGA.XTPX: failed Trying \_SB.PCI0.P0P3.PEGP._OFF: failed Trying \_SB.PCI0.P0P2.PEGP._OFF: failed Trying \_SB.PCI0.P0P1.PEGP._OFF: failed Trying \_SB.PCI0.MXR0.MXM0._OFF: failed Trying \_SB.PCI0.PEG1.GFX0._OFF: failed Trying \_SB.PCI0.PEG0.GFX0.DOFF: failed Trying \_SB.PCI0.PEG1.GFX0.DOFF: failed Trying \_SB.PCI0.PEG0.PEGP._OFF: works!
Il faut alors repérer la ligne qui se termine par "works!". C'est cette ligne qui nous intéresse pour désactiver la carte à chaque démarrage.
On modifie alors le fichier /etc/rc.local en tapant dans un terminal:
sudo nano /etc/rc.local
et on insère les deux lignes suivantes à la fin du fichier, juste avant exit 0 :
insmod /CHEMIN/acpi_call.ko echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call
Présentation & Installation des pilotes
Pilotes libres
Pilotes libres X.org
Historiquement les seuls pilotes libres pour cartes graphiques AMD-ATI étaient ceux développés et fournis par la fondation X.org afin de permettre le fonctionnement de ces cartes avec le serveur X.org (serveur graphique utilisé par la (quasi-)totalité des distributions Linux). Toujours d'actualité, ces pilotes sont au nombre de quatre :
- Le pilote générique ati qui n'est pas vraiment un pilote puisque son rôle est de détecter la carte graphique et de charger le pilote adéquat.
- Le pilote atimisc qui est le pilote pour les cartes de type ATI Mach8/32/64
- Le pilote r128 qui est le pilote pour les cartes de type ATI Rage128.
- Le pilote radeon qui est le pilote à utiliser pour la majorité des cartes de type ATI Radeon.
Installation des pilotes libres X.org
Ces pilotes font partie des pilotes par défaut de Ubuntu et ne nécessitent aucune installation préalable. Si, malgré tout, une réinstallation est nécessaire il suffit d'installer le paquet xserver-xorg-video-ati.
Pilote libre radeonhd
Peu de temps après avoir racheté ATI, AMD a décidé de publier les spécifications de certaines cartes graphiques récentes. Cette libération a permis le développement d'un pilote spécifique pour ces cartes : le pilote radeonhd.
Le pilote radeonhd permet de faire fonctionner les cartes graphiques basées sur les architectures :
- type 500 : R5xx, RV5xx, RS6xx, RS740, M52 et suivantes
- type 600 : R6xx, RV6xx, RS780, M64 et suivantes
- type 700 : R7xx
Installation du pilote radeonhd
Depuis Ubuntu 8.04 (Hardy heron), le pilote radeonhd est disponible dans les dépôts. Il suffit d'installer le paquet xserver-xorg-video-radeonhd.
Plus d'information sur la page de la documentation dédiée à ce pilote : radeonhd
Pilotes propriétaires
Le code source des pilotes propriétaires n'est pas librement accessible et modifiable par les développeurs de Ubuntu. Leur utilisation est risquée car la société qui produit ces pilotes ne les a conçus que pour certains types de matériels, et des mises à jour de sécurité qui y sont apportées dépendent uniquement de son bon vouloir. Ubuntu ne peut pas réparer ou améliorer ces pilotes.
Si les pilotes libres sont en parfaite adéquation avec la philosophie Linux, les pilotes propriétaires ont souvent l'avantage d'être plus performants. En l'occurrence, utiliser les pilotes propriétaires est, à l'heure actuelle, la seule façon d'obtenir une accélération 3D avec une carte graphique AMD-ATI.
Bien que l'appellation des pilotes propriétaires AMD-ATI soit unifiée sous le terme fglrx (pour "FireGL Radeon for X (server)"), il existe en réalité deux versions différentes :
- le pilote Catalyst (fglrx version 8.43 et suivantes)
- le pilote "ancienne version" appelé simplement "ATI proprietary driver" (fglrx version 8.42.3 et antérieures)
Pilote Catalyst (fglrx 8.43 et suivantes)
Officiellement, le pilote Catalyst (fglrx version 8.43 et suivantes) ne sont développés par AMD-ATI que pour les cartes relativement récentes (voir http://ati.amd.com/products/catalyst/linux.html#2):
- Radeon 8500 et suivantes (en AGP et PCI express)
- ATI FireGL 8700 et suivantes
Cela inclut également certaines variantes récentes des solutions AMD-ATI (voir la page dédiée catalyst).
Pilote "ATI proprietary driver" (fglrx 8.42.3 et antérieures)
Les cartes graphiques "plus anciennes" ne sont pas officiellement supportées par le pilote Catalyst; aussi, il est nécessaire d'installer une ancienne version de fglrx.
Installation du pilote propriétaire via l'utilitaire
Pour installer les pilotes propriétaires, il suffit d'aller dans Système → Administration → Pilotes de périphériques. Plusieurs choix de versions peuvent être disponibles.
Si aucun choix n'est disponible, allez dans Système → Administration → Sources de logiciels, et vérifiez dans le premier onglet (Logiciels Ubuntu) que la case "Pilotes propriétaires de périphériques" est bien activée. Si elle était déjà activée, lancez Système → Administration → Gestionnaire de mises à jour, pour mettre à jour la liste des paquets disponibles ; si vous venez de l'activer, la mise à jour sera demandée dès la fermeture de la fenêtre "Sources de logiciels". Une connexion internet doit bien sûr être active.
Si la liste des choix est toujours vide après ces manipulations, parlez-en dans la section Serveurs graphiques et cartes vidéo du forum.
Méthodes alternatives
xorg.conf
pourrait empêcher votre système de démarrer graphiquement. Avant toute installation ou manipulation, effectuez une sauvegarde de ce fichier.
Installation du pilote propriétaire depuis le site officiel
AMD-ATI fournit directement sur son site les pilotes sous la forme d'exécutable.
Cela permet de profiter des tout derniers pilotes et même de tester les versions beta (à vos risques et périls).
Une page est dédiée à ce mode d'installation : ati.run
Installation par EnvyNG
EnvyNG est une application qui permet d'installer, d'enlever ou de mettre à jour facilement les pilotes propriétaires NVIDIA et ATI.
Le logiciel est supporté par la communauté et les versions des pilotes sont mises à jour régulièrement. Une page du wiki est dédiée à ce logiciel : EnvyNG.
Pour Ubuntu 7.10 et antérieur, il faut plutôt utiliser le logiciel Envy.
Configuration
ATI Catalyst
Options principales
Synchronisation verticale
Dans Catalyst Control Center > 3D > Plus de paramètres, il est conseillé de fixer Attendre le rafraîchissement vertical sur Toujours activé, qui permet de synchroniser l'affichage sur la fréquence verticale de l'écran.
Cette option est prise en compte immédiatement lors du clic sur la case à cocher.
Cela a deux effets bénéfiques :
- si l'écran est à 60Hz, pas besoin de dessiner 1300 images par secondes et faire tourner les ventilos à fond, 60 suffisent ;
- sans cette option, il arrive que l'écran dessine réellement l'image alors que la carte graphique est en train d'écrire une nouvelle image, ce qui provoque des effets de "déchirements" :
Cependant, activer cette option ne résout pas TOUS les problèmes de déchirements : lors de la rotation du cube de compiz, chaque image est bien synchronisée, les déchirements ont disparu ; par contre, lors du déplacement d'une fenêtre, compiz ne demande pas la synchronisation (rapport de bug), donc des déchirements resteront visibles (Vérifié en 2560x1600 avec une HD4870 et Sync to VBlank activé, toujours vrai).
Vous pouvez alors essayer d'activer le bureau sans déchirement dans Options d'affichage > Sans déchirement pour palier ce problème.
Anticrénelage (ou antialiasing)
L'antialiasing permet de réduire les effets "escalier" sur les contours des objets 3D.
Voici la différence de rendu avec et sans antialiasing (à gauche, l'antialiasing est désactivé, à droite, il est activé au maximum) :
Pour l'activer, dans Catalyst Control Center > 3D > Anticrénelage, cochez Remplacer le réglage de l'application et réglez la puissance du filtre. Un filtre plus fort sera plus efficace, mais demandera plus de ressources au système. Une fois valisée, l'option est immédiatement prise en compte.
Vous pouvez également changer la technique d'anticrénelage utilisée dans 3D > Mode d'anticrénelage. Ici aussi, le mode choisi influe sur la qualité du filtre et du même coup sur les performances du système.
Filtre anisotrope (ou anisotropic)
Le filtrage anisotrope permet de réduire les effets "escalier" à l'intérieur des fenêtres (sur les textures). Son effet est d'autant plus visible que l'on regarde l'objet 3D (une fenêtre sur une face du cube par exemple) avec un angle proche de 90°.
Voici la différence de rendu avec et sans filtrage anisotrope (à gauche, l'anisotropie est désactivé, à droite, il est activé au maximum) :
Pour l'activer, dans Catalyst Control Center > 3D > Filtrage anisotrope, il suffit de cocher Remplacer le réglage de l'application et de régler la puissance du filtre.
Cette option sera prise en compte au prochain démarrage de compiz (ou autre application 3D).
Pour obtenir un meilleur rendu, il est conseillé de l'activer, d'autant plus qu'elle consomme beaucoup moins de ressources que l'anticrénelage. vrai pour ATI?
Paramètres AMD-ATI pour Xorg
section utile?
Désactivation et désinstallation des pilotes propriétaires
Si vous rencontrez des problèmes avec les pilotes propriétaires (ou que vous ne voulez utiliser que des modules libres), vous pouvez repasser aux pilotes libres très simplement. Pour cela, il suffit de ne pas utiliser les pilotes propriétaires, dans ce cas il n'est pas indispensable de les désinstaller (à part si vous tenez absolument à économiser quelques méga-octets).
Par contre, si vous avez installé les pilotes à partir des dépôts
(par le gestionnaire de pilotes de périphériques ou par l'installation manuelle des paquets), et que finalement vous désirez installer manuellement les derniers pilotes téléchargés sur le site de ATI, il est nécessaire de désinstaller les paquets auparavant.
Simple désactivation
Par le gestionnaire de pilotes de périphériques
Dans Système → Administration → Pilotes de périphériques, cliquez simplement sur le bouton Deactivate :
Manuellement (xorg.conf)
xorg.conf
pourrait empêcher votre système de démarrer graphiquement. Avant toute installation ou manipulation, effectuez une sauvegarde de ce fichier.
Dans /etc/X11/xorg.conf
, repérez la ligne :
Driver "fglrx"
et remplacez-la par :
Driver "ati"
Désinstallation complète des pilotes propriétaires
La méthode de désinstallation dépend évidemment de la méthode utilisée pour l'installation.
Si l'installation a été effectuée par le gestionnaire de pilotes de périphériques ou manuellement par les dépôts, suivez la première méthode de désinstallation. Sinon, si l'installation a été effectuée manuellement avec le pilote téléchargé sur le site de ATI, ou par EnvyNG, suivez la seconde méthode.
pour une installation par les dépôts
Pour supprimer tous les pilotes ATI installés par les dépôts, tapez dans un terminal :
sudo apt-get remove ........
pour une installation par le fichier téléchargé sur le site de AMD-ATI
Après avoir sauvegardé votre xorg.conf, tapez dans un terminal :
$ cd /usr/share/ati/ sudo sh fglrx-uninstall.sh
pour une installation par EnvyNG
Cette fonctionnalité est présente directement dans l'interface graphique.
Informations pratiques
Faire une sauvegarde du fichier xorg.conf
La moindre erreur dans ce fichier pourrait empêcher votre système de démarrer graphiquement. C'est pourquoi il est important d'en faire une sauvegarde, et d'être capable de le restaurer.
Pour faites une sauvegarde de ce fichier :
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
Pour restaurer cette sauvegarde, il suffira alors d'exécuter :
sudo cp /etc/X11/xorg.conf.bak /etc/X11/xorg.conf
Si vous avez cassé votre fichier xorg.conf
et que votre système ne démarre plus graphiquement (vous tombez sur un écran noir avec un curseur clignotant dans le coin supérieur gauche de l'écran), voici la marche à suivre :
- Appuyez sur
<Ctrl><Alt><F1>
; - Entrez votre login ;
- Entrez votre mot de passe ;
- Restaurez votre sauvegarde qui fonctionne avec la commande de restauration présentée ci-dessus ;
- Redémarrez.
Redémarrer le serveur X
Pour redémarrer le serveur X, il suffit d'appuyer simultanément sur <Ctrl><Alt><Backspace>
. <Backspace>
, c'est la touche "←
" au dessus de la touche Entrée
.
<Ctrl><Alt><Backspace>
est assez violent, il tue le serveur X, et donc toutes vos applications ouvertes. Pensez donc avant à sauvegarder vos fichiers et à fermer vos applications auparavant.
Connaître le modèle de sa carte graphique
Dans un terminal, tapez :
glxinfo | grep OpenGL
Ou, si vous utilisez le driver proriétaire Catalyst
fglrxinfo -v | grep OpenGL
Voici un exemple de résultat :
OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: Radeon X1300/X1550 Series OpenGL version string: 2.1.8087 Release OpenGL shading language version string: 1.20 OpenGL extensions:
Si vous posez une question sur le forum à propos d'un problème graphique, pensez à mentionner ce résultat.
Connaître la version des pilotes ATI utilisés
Dans ATI Catalyst
En ligne de commande
Dans un terminal, tapez :
lspci | grep VGA
Voici un exemple de résultat :
03:00.0 VGA compatible controller: ATI Technologies Inc RV516 [Radeon X1300/X1550 Series]
FAQ / Notes / Problèmes récurrents
Avec les pilotes propriétaires et à partir de Lucid Lynx 10.04, la résolution au démarrage et à l'arrêt est très faible. Le problème vient de Plymouth. Toute la manœuvre à faire pour corriger ce problème est décrite dans cet article.
Installer les pilotes propriétaires manuellement
Chaque mois, ATI propose une nouvelle version de ses pilotes Catalyst mais vous devez les installer manuellement pour en profiter. (en) Ce site propose une démarche pour le faire (dernière mise à jour : Catalyst 11.2) ainsi que d'autre démarche très utiles comme l'activation du VAAPI (décodage vidéo matériel).