Contenu | Rechercher | Menus

Cartes graphiques AMD-ATI

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 c'est très souvent le cas, les pilotes (drivers) pour les cartes graphiques AMD-ATI peuvent être regroupés en deux "familles" :

  • Les pilotes libres, développés par la communauté. Ils sont, pour la plupart, installés par défaut sur Ubuntu.
  • Les pilotes propriétaires, développés par AMD-ATI. Ils sont fournis par le constructeur, ils peuvent s'installer en quelques clics depuis les paramètres système..

Pilotes libres

Présentation des pilotes libres

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 :

  1. 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.
  2. Le pilote atimisc qui est le pilote pour les cartes de type ATI Mach8/32/64
  3. Le pilote r128 qui est le pilote pour les cartes de type ATI Rage128.
  4. Le pilote radeon qui est le pilote à utiliser pour la majorité des cartes de type ATI Radeon.

Installation des pilotes libres

Ces pilotes font partie par défaut d'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.

  • Pour installer une version plus récente ou une version en cours de développement, rendez-vous sur la page radeon. Attention ces méthodes comportent un risque pour la stabilité de votre système.

Pilotes propriétaires

Présentation des 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 complète 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 :

  1. le pilote Catalyst (fglrx version 8.43 et suivantes) qui prend en charge les:
    • Radeon 8500 et suivantes (en AGP et PCI express)
    • ATI FireGL 8700 et suivantes
  2. le pilote "ancienne version" appelé simplement "ATI proprietary driver" (fglrx version 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

Cette méthode est vivement recommandée en cas d'installation du pilote propriétaire. C'est la méthode la plus simple qui utilise des pilotes spécialement empaquetés pour Ubuntu et dont les mises à jour seront proposées automatiquement. Conseil utile dans le cas, par exemple, d'une Radeon non reconnue après installation d'Ubuntu 12.04 : Rebooter la machine en tenant enfoncée la touche MAJ au moment du démarrage pour afficher le Grub à l'écran. Choisissez le lancement en "mode dépannage" pour effectuer les manipulations suivantes. Néanmoins le pilote du dépôt peut présenter des bugs qui n'apparaissent pas si l'on fait soi-même les fichiers deb à partir de la version du pilote fourni sur le site du constructeur.

Pour installer les pilotes propriétaires, il suffit d'utiliser le gestionnaire de pilotes propriétaires.
Plusieurs choix de versions peuvent être disponibles.

L'interface Ubuntu des pilotes de périphériques

Si aucun choix n'est disponible, parlez-en dans la section Serveurs graphiques et cartes vidéo du forum.

Installation du pilote propriétaire via un PPA

Dans un terminal, lancer les commandes suivantes :

sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
sudo apt-get install fglrx

Dépôt PPA Xorg-Edgers et accélération vidéo matérielle VAAPI via XVBA-VA-Driver

Attention, si vous installez les derniers drivers bêta à disposition sur le PPA Xorg-Edgers, vous ne pourrez pas installer tel quel VAAPI, car ce dernier ne voudra que le paquet FGLRX et rien d'autre. Il faut donc outrepasser cette dépendance. On télécharge (seulement) via apt-get tous les paquets concernés par le problème de dépendance à fglrx :

sudo apt-get download xvba-va-driver libva-glx1 libva-x11-1 vainfo

Ensuite, extrayez du paquet xvba-va-driver le fichier xvba_drv_video.so et placez le dans /usr/lib/x86_64-linux-gnu/dri si vous êtes sur une distribution 64bits, ou /usr/lib/i386-linux-gnu/dri si 32bits.

Puis supprimez le paquet xvba-va-driver.deb.

Puis via DPKG, on force l'installation sans se soucier des dépendances en configurant les paquets installés tels quels dans la base de donnée des paquets installés :

sudo dpkg --force-all -i *.deb

Il ne reste plus qu'à tester avec vainfo le résultat :

billou@billou-desktop:~$ vainfo 
libva: VA-API version 0.32.0
Xlib:  extension "XFree86-DRI" missing on display ":0".
libva: va_getDriverName() returns 0
libva: Trying to open /usr/lib/x86_64-linux-gnu/dri/fglrx_drv_video.so
libva: va_openDriver() returns 0
vainfo: VA-API version: 0.32 (libva 1.0.15)
vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.7.8
vainfo: Supported profile and entrypoints
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD

Pour la suite, si vous souhaitez utiliser l'accélération matérielle de votre carte graphique AMD avec mplayer, il vous faudra installer une version spécifiquement compilée avec le support de VAAPI, en rajoutant tout d'abord un autre PPA (oui, la version des dépôts ubuntu n'active pas ce support de base, c'est débile, je sais…)

sudo add-apt-repository ppa:sander-vangrieken/vaapi && sudo apt-get update

Puis exécutez cette commande :

sudo apt-get install mplayer-vaapi

Enfin, je ne saurais que trop vous conseiller l'interface graphique SMplayer pour utiliser mplayer, interface complète dont le développement a repris depuis peu.

Ensuite allez dans options ⇒ préférences, dans l'onglet vidéo, sur pilote de sortie réglez ainsi sur "Utilisateur défini…"

vaapi,xv,x11

Voilà, configuration terminée !

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 bêta (à vos risques et périls).

Vous trouverez plus d'explication sur la page Catalyst.

Systèmes à cartes graphiques hybrides Intel / AMD

De plus en plus d'ordinateurs possèdent un système à GPUs commutables, tels que HD2000 ou HD 3000 par exemple. Les processeurs avec carte graphique intégrée 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.

Les versions antérieures à Ubuntu 12.04 ne sont pas prises en charge.

Trois solutions sont possibles :

Cette méthode ne fonctionne pas avec la série ATI 5xxx, cf Bug sur launchpad

Avec vga_switcheroo

Une page est dédiée à son utilisation : « vga_switcheroo »
Cet outil inclus dans le noyau linux est simple à utiliser. Cependant, il ne fonctionne pas toujours et il faut alors se reporter à la méthode suivante.

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, après l'avoir rendu exécutable, qui permet de savoir "où" se trouve la carte. Pour cela, tapez :

chmod u+x examples/turn_off_gpu.sh
./examples/turn_off_gpu.sh

Vous devriez obtenir 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 vous intéresse pour désactiver la carte à chaque démarrage.

Modifiez avec les droits d'administration le fichier /etc/rc.local pour insérer 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 

où :

  • <CHEMIN> est à remplacer par le chemin complet vers où se trouve le fichier acpi_call/acpi_call.ko
  • \_SB.PCI0.PEG0.PEGP._OFF est à remplacer par la ligne où se trouvait le "works!".

Configuration

Pilote libre Radeon

Veuillez vous référer à la page « radeon »

ATI Catalyst

L'interface Catalyst

Veuillez vous référer à la page « Catalyst »

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 et 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

Pour cela, nous utiliserons dans un terminal jockey-text, le mode texte du gestionnaire de pilotes propriétaire jockey-gtk .

  1. Pour lister les pilotes, saisir la commande :
    sudo jockey-text -l

    qui vous répondra :

    xorg:fglrx - Pilote propriétaire ATI/AMD pour carte graphique FGLRX (Propriétaire, Activé, Utilisé)
  2. Puis pour désactiver le pilote, saisir la commande :
    sudo jockey-text -d xorg:fglrx
  3. Et pour vérifier la désactivation, saisir la commande :
    sudo jockey-text -l

    qui vous répondra :

    xorg:fglrx - Pilote propriétaire ATI/AMD pour carte graphique FGLRX (Propriétaire, Désactivé, Non utilisé)

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.

pour une installation par les dépôts

Si l'installation a été effectuée par le gestionnaire de pilotes de périphériques ou manuellement par les dépôts, il faut supprimer tous les pilotes ATI installés par les dépôts, supprimez les paquets commençant par fglrx.
Ceci peut se résumer avec l'outil apt-get, en saisissant dans un terminal:

sudo apt-get remove fglrx*

pour une installation par le fichier téléchargé sur le site de AMD-ATI

Si l'installation a été effectuée manuellement avec le pilote téléchargé sur le site de ATI : Après avoir sauvegardé votre xorg.conf , tapez dans un terminal :

cd /usr/share/ati/
sudo sh fglrx-uninstall.sh

Informations pratiques

Connaître le modèle de sa carte graphique

Dans ATI Catalyst

Catalyst et les informations de la 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:

Ou encore tapez :

lspci | grep VGA

qui vous donnera quelque chose dans ce style là:

03:00.0 VGA compatible controller: ATI Technologies Inc M92 [Mobility Radeon HD 4500/5100 Series]

Si vous posez une question sur le forum à propos d'un problème graphique, pensez à mentionner ce résultat.

FAQ / Notes / Problèmes récurrents

Important sauvegarder son fichier xorg.conf

Pour en faire une copie avant de commencer les manipulations

sudo cp /etc/X11/xorg.conf{,.orig}

Pour restaurer le fichier original en cas d'erreur:

sudo cp /etc/X11/xorg.conf.orig /etc/X11/xorg.conf

Bug Lucid Lynx

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.

Bug sous 12.04 LTS

Avec les pilotes propriétaires, la fermeture du PC pose un problème. Affichage anormal, ne se ferme pas,… La manifestation du bug est aléatoire. Des problèmes graphiques (OpenGl notamment) peuvent aussi être présents. Une des solutions est présentée ci-dessous :

  1. Supprimer entièrement les paquets fglrx présents
  2. Redémarrer le pc
  3. Installer le paquet linux-headers-generic
  4. Réinstaller le paquet fglrx et fglrx-amdcccle
  5. Redémarrer le pc

Cartes HD 2xxx à 4xxx

Le pilote 2.13.xxx ne gère pas correctement les cartes graphiques ATI HD 2000, 3000 et 4000. La 3D n'est pas fonctionnelle et Catalyst ne fonctionne pas.
Une solution consiste alors à revenir à l'ancienne version du pilote :2.8.xxx. La procédure est détaillée sur ce message du forum.

Ces cartes ne sont plus supportées non plus par le dernier pilote propriétaire 14.10, et la version précédente 13.1 ne supporte pas les kernels au dessus du 3.4, obligeant à utiliser le pilote libre pour les dernières versions d'Ubuntu (à partir de la 12.10).

Liens externes :


Contributeurs: Kao_chen, RustyBSD, WSH, Canigou 66, cafecho



Le contenu de ce wiki est sous licence : CC BY-SA v3.0