Accueil du site > Technique en vrac > Cartes graphique ATI sous Linux Ubuntu

Cartes graphiques ATI sous Linux Ubuntu

Asdrad TORRES

Historique des versions
Version 13/06/2010

Compléments installation pilotes propriétaires

Version 211/06/2010

Support cartes HD 2xxxx, 3xxxx, 4xxxx

Version 318/10/2010

Màj désinstallation pilote Catalyst

Résumé

Pour installer les pilotes destinés à une carte graphique ATI (AMD), il est nécessaire de comprende ce que sont les différents pilotes proposés. Pour savoir lesquels conviennent on doit découvrir quel circuit graphique équipe notre carte. On peut alors s'intéresser à comment l'installer sous Ubuntu Linux.


1. Quel pilote pour quelle carte ?

1.1. Pourquoi cette question ?

On peut se retrouver dans deux situations conduisant à se poser cette question :

  • l'écran ne fonctionne pas ou plus après une installation ou une mise à jour du système

  • l'écran fonctionne pour une utilisation basique, mais on souhaite exploiter des fonctionnalités avancées de la carte graphique (accélération, résolutions, multi-écran...)

Si tout fonctionne parfaitement, on peut évidemment se poser la question par simplie curiosité.

1.2. Deux familles de pilotes

Il existe deux familles de pilotes pour les cartes ATI/AMD[1] sous Linux : les pilotes libres et les pilotes propriétaires. Chaque famille présente des avantages et des inconvénients. La situation a considérablement évolué au fil des années. Suite au rachat d'ATI, AMD a décidé de fournir aux équipes développant des pilotes libres, les informations techniques dont elles ont besoin. Pour l'utilisatrice, les différences entre les deux familles s'amenuisent (voir Status).

La source d'approvisionnement en pilotes libres est Xorg. En effet, les pilotes libres ne sont pas développés exclusivemnet pour Linux mais pour Xorg et donc pour tous les systèmes qui l'utilisent. Xorg est à la fois le nom d'un projet (une organisation) et du programme de base (serveur graphique) sur lequel s'appuient les applications graphiques pour Linux (et d'autres systèmes).

La source d'approvisionnement en pilotes propriétaires est AMD.

1.3. Politiques des distributions Linux

Lorsqu'on installe Linux sur un ordi, on installe une distribution particulière : Debian, Ubuntu, Knoppix, Suse, Fedora, Mandriva... Chaque distributeur fournit donc un programme d'installation qu'il tentera d'adapter aux besoins du public qu'il vise. Il lui faut trouver un compromis entre la simplicité et la flexibilité de l'installation. De plus, chaque distributeur est guidé par une "philosphie" générale qui influe sur l'installation. Par exemple, certains n'installent que des logiciels libres.

Quelles que soient les orientations retenues, tout programme d'installation se doit d'installer un pilote de carte graphique. Cela signifie que le distributeur doit se fournir en pilotes auprès des sources d'approvisionnement afin de les intégrer à son offre.

Concernant les cartes AMD/ATI, Ubuntu Linux a décidé d'intégrer les pilotes libres et les pilotes propriétaires. L'utilisatrice peut donc installer le pilote de son choix, sans avoir à se préoccuper de sa provenance.

1.4. Vente directe et revente

Ça devient confus… Si j'installe le pliote Ubuntu, quel pilote ai-je installé ? Il n'est pas possible de répondre à cette question car il n'existe pas de pilote Ubuntu. Ubuntu ne fait que "revendre" des pilotes qu'il se procure auprès des deux seules sources existantes : Xorg et AMD. Ubuntu vous laisse le choix d'installer celui que vous voulez.

L'inconvénient de la "revente" est que les révendeurs ne proposent généralement pas des dernières versions. On peut donc se tourner vers Xorg ou AMD qui font aussi de la "vente" directe. Dans cette documentation, nous ne traitons que du cas d'approvisionnement direct auprès d'AMD.

1.5. La pagaille des appellations

Une carte graphique sera généralement désignée d'au moins trois façons :

  • une appellation publiciatire

  • une dénomination commerciale (référence produit)

  • une référence de circuit graphique

Les cartes ATI/AMD ne dérogent pas à la règle ; le rachat par AMD en rajoute une couche puisque certains modèles ATI ont été renomés pour entrer dans la nomenclature du nouveau propriétaire.

Le pilote d'une carte graphique contrôle le circuit graphique implanté sur cette carte. En toute rigueur, il faut donc connaître le nom du circuit pour déterminer quels pilotes seraient utilisables. Les équipes de développement des pilotes font des efforts pour éviter aux utilisatrices d'avoir à connaître ce type de détail, mais cela demeure indispensalbe dès que tout ne se passe pas comme on le voudrait.

Chez ATI, la lignée de circuits Rxxx équipe la famille des cartes Radeon. Par exemple, la carte Radeon 9800 XT est équipé du circuit R360, tandis que la Radeon HD3450 est équipée du R620. On constate qu'il est impossible d'établir une correspondance logique entre la référence du circuit et le nom de la carte. La solution est de se reporter à une liste de correspondance. Le fabricant ne proposant pas une telle liste, on se tounera vers des sources ouvertes :

2. Installation

2.1. Problèmes au démarrage

L'ordi semble démarrer normalement jusqu'au moment où devrait s'afficher l'écran graphique de connexion (ou un bureau si l'on a configuré une connexion automatique au démarrage).

Lorsque le menu de Grub apparait, sélectionner un démarrage ne mode dépannage.

2.2. Détection

Si quelque chose de sensé apparait sur votre écran après la disparition du menu de Grub, c'est que le système peut dialoguer à minima avec votre carte graphique. Dans ce cas, la commande suivante indique comment la carte est identifiée par le système.

$ lspci | grep VGA

C'est un moyen sûr et simple de connaître le modèle de carte graphique installée dans l'ordi. Certaines regretteront qu'il faille taper une ligne de commande mais l'avantage est que vous pourrez entrer cette commande, même si votre beau bureau graphique ne parvient pas à démarrer.

2.3. Installation d'un pilote libre

2.3.1. Désinstaller de pilotes propriétaires

Au cas où des pilotes propriétaires auraient été installés, il est préférable de les désinstaller. Si Xorg a été configuré avec ces pilotes, il convient de sauvegarder le fichier de configuration /etc/X11/xorg.conf. Les commandes suivantes vous permettront de réaliser ces deux opérations. Précédez chacune d'elle de sudo si vous n'est pas connectée en tant que root.

Note

Dans cette documentation, les exemples de commandes commençant avec l'invite (prompt) "#" supposent que vous êtes connectée en tant que root. Si l'exemple commence par l'invite "$", cela signifie que vous n'avez pas besoin de vous connecter ent tant que root.

# apt-get remove fglrx-control xorg-driver-fglrx
# cp /etc/X11/xorg.conf /etc/X11/xorg.fglrx.conf.bak

2.3.2. Activer le pilote radeon

Le pilote radeon concerne un large ensemble de cartes Radeon. Un tableau tenu à jour en fonction des développements indique les fonctionnalités apportées par les dernières version du pilote.. Un autre tableau indique comment cela se traduit en termes de compatibilité avec certains logiciels.

Avec Ubuntu, ce pilote n'a pas besoin d'être installé puisqu'il est inclus.

Vérifier que le circuit graphique de votre carte est pris en charge par ce pilote.

Activer le pilote se résume à le déclarer comme "Driver" dans la section "Device" du fichier /etc/X11/xorg.conf, puis à recharger le serveur Xorg.

Editer le fichier /etc/X11/xorg.conf et remplacer la déclaration driver par "radeon" de façon à ce qu'il ressemble à cela :

Section "Device" ... Driver "radeon" ... EndSection

Enregistrer les modifications. Fermer la session en cours (pas besoin d'éteindre ou de redémarrer l'ordi). Recharger le serveur Xorg.

Ceci doit suffire pour obtenir une interface graphique utilisable. On peut également ajuster sa configuration.

2.3.3. Activer le pilote radeonHD

Le pilote RadeonHD concerne une liste limitée de cartes. s'appuyant sur les circuits graphiques R500 et suivants. Un tableau tenu à jour en fonction des développements indique les fonctionnalités apportées par les dernières version du pilote.

La prodédure est la même que pour le pilote radeon. Il suffit de déclarer "radeonhd" au lieu de "radeon".

Note

Il semble (juin 2010) que l'intérêt de ce pilote tende à s'amenuiser, en raison d'une progression rapide du pilote radeon.

2.4. Installation d'un pilote propriétaire

2.4.1. Installation déconseillée

Pour les cartes bâties sur des circuits graphiques antérieurs au R600 (voir liste de carte concernées), l'utilisation des pilotes propriétaires est déconseillée.

Avertissement

Depuis Ubuntu 9.O4 (Intrepid), les pilotes propriétaires fournis par Ubuntu ne prennent plus en charge les anciennes cartes. Si un ordi équipé d'anciennes cartes est configuré avec un pilote propriétaire fourni pas Ubuntu, la mise à jour depuis la 8.10 vers la 9.04 entraîne l'installation d'un pilote incompatible et donc la perte de l'interface graphique !

À partir d'Ubuntu 9.04, l'installation d'un pilote propriétaire pour une carte graphique antérieure au R600 doit obligatoirement s'éffectuer à partir des pilotes que l'on se procurera sur le site d'AMD. La dernière version des pilotes d'AMD couvrant les cartes antérieures au R600 est celle de mars 2009 : catalyst 9.03.

Si vous possédez une ancienne carte mais souhaitez installer un pilote propriétaire, Ubuntu-fr donne les indications non-triviales sur la manière de s'y prendre et sur les limites de l'exercice.

2.4.2. Désinstallations préalables

Une installation d'un pilote propriétaire doit se faire sur un système débarrassé de tout pilote propriétaire antérieur. C'est notamment le cas lorsqu'on passe du pilote propriétaire diffusé par Ubuntu à celui diffusé par AMD. C'est également le cas si l'on change de marque de carte graphique. Ainsi, si l'on passe d'une carte graphique nVidia à une carte ATI/AMD, il ne faut oublier de déinstaller le pilote propriétaire nVidia.

Chaque type de pilote propriétaire possède sont propre mode de désinstallation. Reportez-vous à la sous-section désiinstallation correspondant au pilote propriétaire actuellement utilisé sur votre ordi. En cas de doute, commencez par appliquer la procédure pour pilote propriétaire distribué par AMD/ATI.

2.4.3. Installer le pilote propriétaire distribué par Ubuntu

# apt-get install xorg-driver-fglrx

accepter les dépendances,

# aticonfig --initial

fournit une configuration minimale pour un écran.

Il faut redémarrer l'ordinateur. Un rechargement de Xorg ne suffit pas.

Note

Bien sûr, le redémarrage n'est pas une obligation absolue, mais c'est le moyen le plus sûr. L'autre moyen consiste à arrêter Xorg, décharger tous les modules graphiques du noyau puis relancer Xorg.

2.4.3.1. Désinstallation

La désinstallation du pilote se fait en désinstallant les paquetages préalablement installés depuis les dépôts Ubuntu. La manière la plus rapide de procéder est, dans un terminal :

$ sudo apt-get remove fglrx*

accepter la liste des suppressions proposées.

2.4.4. Installer le pilote propriéaire distribué par AMD

Se rendre sur le site d'AMD, choisir Linux comme système et indiquer son modèle de carte graphique. L'internaute est orientée vers le pilote propriétaire adapté. Elle est invitée à télécharger le programme d'installation de son pilote.

Sur une version récente[2] d'Ubuntu, l'installation est très automatisée. Elle n'impose que de taper quelques commandes dans un terminal.

  1. ouvrir un terminal

  2. se déplacer dans le répertoire où l'on aura téléchargé le programme d'installation :

    $ cd mon_repertoire
  3. rendre exécutable le fichier contenant le programme d'installation (le nom du fichier "à rallonge" dépend de la version du pilote que l'on installe, ici, la version 10.5) :

    $ chmod +x ati-driver-installer-10-5-x86.x86_64.run
  4. lancer l'installation proprement dite :

    $ sudo ./ati-driver-installer-10-5-x86.x86_64.run --buildandinstallpkg

    L'opération est relativement longue car elle fabrique les paquettages (.deb) et les installe sur votre système.

Il ne reste plus qu'à configurer le système (le serveur Xorg) pour qu'il utilise le pilote proprétaire que l'on vient d'installer :

$ sudo aticonfig --initial

qui donne une configuration minimale pour un écran unique.

2.4.4.1. Désinstallation

D'anciennes versions installaient un programme de désisntallation du pilote. Ce n'est plus le cas. Il faut donc procéder comme pour le pilote propriétaire packagé et distribué par Ubuntu :

$ sudo apt-get remove fglrx*

accepter la liste des suppressions proposées.

Avertissement

Si vous redémarrez votre ordi après cette commande vous avez toutes les chances d'avoir perdu votre interface graphique.

Après cette opération, si le pilote propriétaire était en cours d'utilisation, le contenu du fichier /etc/X11/xorg.conf n'est plus cohérent avec ce qui est installé sur l'ordi. Il faut restaurer le fichier xorg.conf adapté au pilote libre (que l'on aura pris soin de sauvergardé).

3. Configuration avancée

3.1. Débuter avec un fichier xorg.conf propre

Si Xorg ne parvient pas à démarrer, il est possible générer un fichier de configuration. À compter de la version 9.04 d'Ubuntu (Intrepid), la procédure correcte de génération du fichier xorg.conf est la suivante :

$ sudo X -configure

Cette commande crée un fichier dénommé xorg.conf.new à la racine de votre répertoire utilisateur (ou à la racine du répertoire root si vous êtes connectée en tant que root). Ce fichier fournira une bonne base de départ pour y apporter vos modifications. Pour que celles-ci soient effectives il sera, bien sûr, nécessaire de copier le fichier modié à la place de l'actuel /etc/X11/xorg.conf, que l'on aura pris soin de sauvergarder.

# gedit ~/xorg.conf.new
# cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
# cp ~/xorg.conf.new xorg.conf.new

Pour les versions d'Ubuntu antérieures à 9.04, la commande "historique" génére automatiquement un nouveau fichier xorg.conf (penser à le sauvegarder avant de lancer la commande) :

# dpkg-reconfigure -phigh xserver-xorg

Les réglages et options applicables aux pilotes installés sur un ordi particulier sont généralement décrits dans les pages de manuel (man) installée en même temps que les pilotes. À défaut on peut se reporter aux indications fournies sur le site de Xorg, en s'assurant que la description que l'on consulte correspond à la version du pilote installé sur l'ordi que l'on configure :

Avant de se lancer dans les réglages spécificiques à un pilote, il est vivement recommendé de s'informer sur la syntaxe commune à tous les réglages figurants dans le fichier xorg.conf, soit en consultant la page du manuel (man xorg.conf), soit en consultant la documentation en ligne. Un page de la documentation d'Ubuntu-fr présente les principes de l'organisation du fichier xorg.conf.

Note

Depuis l'avènement d'Ubuntu 9.04 (autoconfiguration de Xorg), ce fichier est devenu très dépouillé, voire superflu. Les exemples présentés sont donc daté mais les principes restent valables.

Une base de départ simple et facile à mettre en œuvre consiste à copier/coller le fichier xorg.conf minimum et à l'adapter :

# /etc/X11/xorg.conf
Section "Device"
        Identifier      "Configured Video Device"
        Driver          "vesa" # Remplacer par le pilote désiré
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
EndSection

3.2. Le pseudo-pilote "ati"

Dans la famille des pilotes libres pour cartes ATI/AMD, il est souvent conseillé de choisir le pilote "ati". En réalité, "ati" n'est pas un pilote mais un programme sensé détecter le type de la carte ATI/AMD installée sur l'ordi et charger le bon pilote.

Si vous lisez cette documentation, vous ne devez absolument pas utiliser le pseudo-pilote "ati". En effet, si vous rencontrez des problèmes, ceux-ci peuvent venir d'un défaut de détection de la part du pseudo-pilote "ati". Si vous voulez effectuer des réglages précis de votre pilote, vous devez impérativement savoir quel est le "vrai" pilote utilisé par Xorg.

3.3. Multi-écran et TV avec le pilote radeon

À compter d'Ubuntu 7.04 (Gutsy),la configuration du multi-écran et de la sortie TV se fait à travers la commande xrandr ou l'une de ses interfaces graphiques.

L'outil graphique accessible dans Gnome, via Système -> Préférences -> Affichage, permet de régler dynamiquement le multi-écran. Testé sur Karmic, il est très simple d'emploi.

Une documentation disponible sur le wiki de Xorg explique comment faire du multi-écrans statique ou dynamique en jouant sur le fichier xorg.conf et la commande xrandr, en ligne de commande

Une autre documentation du même wiki fournit des précision quant à la gestion de la sortie TV.

Un page de la documentation d'Ubuntu-fr est également consacrée à Xrandr.

Quelques suggestions d'optimisations pour le pilote radeon;

Un pot pourri de recettes accumulées sur Ubuntu-fr, pour tenter de régler des problèmes avec les cartes ATI. À ne consulter qu'en dernier recours, car tout cela est très mal documenté. On ne sait pas avec quel pilote, ni sous quelle version d'Ubuntu ces recettes ont fonctionné.

3.4. Rendre le contrôle à Xorg

À partir du noyau 2.6.30-2, la détection de la carte graphique est, par défaut, confiée au noyau et non plus à Xorg. Ce mécanisme appelé Kernel Mode Setting (KMS) peut être désactivé. Sous Ubuntu 10.04 LTS Lucid, ceci nécessite une petite commande qui créera le fichier de configuration souhaité :

# echo options radeon modeset=0 > /etc/modprobe.d/radeon-kms.conf

Le changement prendra effet lors du prochain démarrage du système.

4. Radeon Xpress 200M

Le Radeon Xpress 200M n'est pas, à proprement parler, une carte graphique. C'est un chipset, c'est-à-dire un composant de la carte-mère gérant de nombreuses fonctionnalités de l'ordinateur, dont le graphique.

Pour déterminer quels pilotes sont suceptibles de convenir à ce composant, il faut connaître le sous-composant graphique intégré sur le composant. L'information la plus précise collectée à ce jour indique que ce composant est équipé du circuit graphique RV370.

4.1. Activation du pilote libre

Le pilote libre adapté[3] à cette "carte" graphique est le pilote "radeon". Sur Ubuntu, il est déjà installé. Il "suffit" de l'activer. Les guillements s'imposent car cette carte semble cumuler les handicaps, sous Ubuntu.

Dans certaines configuration (toutes ?), le pseudo-pilote ati est incapable de détecter correctement la carte et donc d'activer automatiquement le pilote radeon. C'est pourquoi, quelles que soient les indications que vous pourriez lire par ailleurs, il faut délcarer le pilote "radeon" et non le pseudo-pilote "ati". De plus, les versions de Xorg (7.4 et ultérieures) fournies avec Ubuntu 9.04 (et suivantes) sont sensées détecter automatiquement les informations nécessaires, rendant inutile la délcaration dans le fichier xorg.conf. Cela ne fonctionne pas avec cette carte !

En conséquence, la seule méthode fiable pour activer le pilote "radeon" est de le déclarer dans le fichier de configuration /etc/X11/xorg.conf !

4.2. Installation du pilote distribué par AMD

À rédiger ou pas (vu le peu d'intérêt).

4.3. Installation du pilote propriétaire distribué par Ubuntu

Avertissement

À paritr d'Ubuntu 9.04 (Intrepid Ibex), l'utilisation des pilotes propriétaires est vivement déconsillée.

Depuis Ubuntu 9.04 (Intrepid), les pilotes propriétaires fournis par Ubuntu ne prennent plus en charge cette carte. Si l'ordi était configuré avec les pilotes propriétaires, la mise à jour depuis la 8.10 vers la 9.04 entraîne la perte d'interface graphique !

Dans ce cas, la majeure partie du système est correctement installée mais l'utilisatrice ne peut plus en prendre le contrôle. Au lieu de procéder à la Window$ (reformater le disque dur et réinstaller Window$) pour retrouver la même situation, il est préférable d'arrêter proprement l'ordi : ctrl-alt-supr (lui laisser le temps de réagir).

Ensuite on démarre l'ordi en Recovery Mode et on modifie /etc/X11/xorg.conf en remplaçant fglrx par radeon comme nom de pilote, dans la section device.

Depuis Ubuntu 7.04, l'installation des pilotes propriétaires fournis par Ubuntu est sensée être facilitée grâce à la présence d'une interface graphique (sous Gnome) Système → Administration → Gestionnaire de pilotes propriétaires (également nommé Pilote de périphériques à partir d'Ubuntu 8.04). Sur certain (tous ?) ordi équipé de Radeon Xpress 200M, cet outil est inutile car rien n'est proposé.

Par conséquent, pour toute version antérieure à Ubuntu 9.04, il est possible d'installer les pilotes propriétaires fournis par Ubuntu. Mais, cette installation devra se faire suivant la technique ordinaire d'installation de paquets (apt-get, adept, synaptic...). À partir d'Ubuntu 9.04 (incluse), si l'on décide d'installer les pilotes propriétaires, on est obligées d'utiliser ceux que fournit AMD.

4.4. Recharger le serveur X

Au cours des essais de réglages, il est souvent utile de recharger le serveur X. La séquence classique Ctrl+Alt+effacement_arrière a été désactivée depuis la Ubuntu 9.04. La réquence de remplacement Alt+SysRq+K (où SysRq est la touche impr-écran) est impraticable sur la plupart de portables. Il faut donc restaurer temporairement le fonctionnement classique en tapant une commande dans un terminal :

dontzap --disable

5. Radeon HD 2xxx, 3xxx, 4xxx

Les cartes s'appuyant sur les circuits graphiques des séries R600 et R700 ont longtemps été mal loties en matière de pilotes, aussi bien libres que propriétaires. Les utilisatrices étaient contraintes de choisir celui qui les pénalisait le moins, compte tenu de l'usage précis qu'elle faisaient de leur système. Dès lors, il était impossible de donner des recommandations générales et le résultat était, de toutes manières, médiocre au regard des possibilités intrinséques des cartes graphiques (déjà pas hyper-puissantes).

Cette siutation évolue dans le bon sens. Ces familles de cartes sont sur le point de bénéficier de pilotes améliorés en 2D et 3D. Sur certains circuits (R620, par ex.), le pilote libre devient envisageable pour une utilisation modérée de la 3D. Pour Linux, des éléments majeurs du pilote libre amélioré ont être intégrés dès le noyau dès 2.6.32. Malheureusement, il ne s'agit pas du noyau standard (celui installé par Ubuntu 10.04 LTS) mais de la branche de développment drm-next. Pour en bénéficier, l'utilisatrice doit faire appel à un dépôt non standard, l'installation se faisant à ses risques et périls. L'intégration au noyau standard devra attendre la version 2.6.35 (retenue pour Ubuntu 10.10 Maverick Meerkat). Il faudra que, parallèlement, les paquets libdrm, mesa et xf86-video-ati soient mis à jour de manière à intégrer les récentes modifications…

Cette évolution apportera enfin une solution praticable aux utilisatrices de cartes bon marché telles que les HD3450 que l'on trouve encore à des prix acceptables[4] pour bus AGP. À surveiller de près…

Quelques sources :

Glossaire

Sigles et acronymes

OpenGL

Norme d'interface de programmation pour le développement d'appications graphiques

Mesa 3D

Une bibliothèque graphique implémentant la norme OpenGL. Mesa 3D est le moteur OpenGL de Xorg.

DRI (Directe Rendering Infrastructure)

Procédé pemettant aux applications bâties sur Mesa 3D d'accéder directement à la carte graphique (lorsque cela est pertinent), sans passer par le serveur. Il en résulte un gain de performances.



[1] La société AMD a racheté la société ATI.

[2] Typiquement, à partir de 10,4 LTS (Lucid).

[3] Il fournit une bonne exploitation des accélération 2D et 3D ainsi que de la DRI.

[4] La plupart des cartes AGP devenant rares et se ne trrouvant qu'à des prix "collector" !

Voir en ligne : L’article original