ATI

De ArchwikiFR


2 pilotes sont disponibles pour les cartes ATI, le pilote libre xf86-video-ati et le propriétaire catalyst.


Pilote libre

Installation

Installez le paquet xf86-video-ati, qui fournit le pilote DDX (accélération 2D). Le pilote DRI, mesa (accélération 3D) sera installé automatiquement en tant de dépendance.

Pour activer le support d'OpenGL, installez aussi le paquet mesa-libgl. Si vous utilisez Arch Linux x86_64 et que vous avez besoin du support 32 bits, vous devez installer le paquet lib32-mesa-libgl, présent dans le dépôt [multilib].

Le support de l'accélération matérielle se fait en installant le paquet mesa-vdpau (et lib32-mesa-vdpau pour le support 32 bits sur Arch Linux x86_64), mais l'installation de ces paquets n'est pas obligatoire : cela permet de décoder certains codecs vidéo en utilisant le GPU; plutôt que le CPU.

Kernel Mode Setting (KMS)

KMS peut activer les technologies les plus récentes (telles que DRI2), qui augmenteront les performances 3D. Le module radeon devrait être chargé automatiquement au démarrage.

Si cela ne fonctionne pas, vérifiez que :

  • Vous n'utilisez pas l'option nomodeset ou bien vga= en paramètre du noyau (on peut vérifier avec la commande grep -E 'nomodeset|vga=' /proc/cmdline, qui ne doit rien afficher si cela est bien configuré).
  • Vous n'avez pas blacklisté le module radeon.

Chargement de KMS plus tôt dans le boot

En tant normal, le module radeon est chargé après que l'initramfs passe la main au système. Pour que l'initramfs le charge, vous devez ajouter radeon à la ligne MODULES du fichier /etc/mkinitcpio.conf :

MODULES="... radeon ..."

Puis régénérer votre initramfs avec la commande :

mkinitcpio -p linux

Ce changement sera visible au prochain redémarrage.

Configuration de X.Org

Aucune configuration n'est normalement nécessaire, Xorg détecte seul le pilote à charger.

Néanmoins, si vous voulez ajouter des options, vous pouvez créer le fichier /etc/X11/xorg.conf.d/20-radeon.conf et y rajouter :

Section "Device"
    Identifier "Card0"
    Driver "radeon"
    *vos options*
EndSection

Par exemple, pour désactiver le tearing (effet de "déchirure" de l’image), on peut ajouter l'option suivante :

Option "TearFree" "on"

Catalyst

Attention: Ce pilote n'est pas distribué officiellement dans Arch Linux : il faut utiliser AUR ou des dépôts alternatifs.

Il est fréquent que le paquet catalyst-utils ne soit pas compatible avec la version de xorg-server disponible dans les dépôts officiels d'Arch Linux. Il faut donc ajouter un dépôt alternatif qui contient une vieille version de X.Org (mais compatible) avant le dépôt [core] du fichier /etc/pacman.conf.

Exemple de Catalyst qui ne supporte pas X.Org 1.18 et plus récents, il faut donc utiliser la version 1.17 comme ceci :

[xorg117]
Server = http://mirror.hactar.xyz/Vi0L0/xorg117/$arch

De plus, il existe un dépôt non-officiel qui contient les paquets Catalyst déjà compilés (le premier est pour les HD 5000 et suivantes, le second pour les HD 2000/3000/4000) :

[catalyst]
Server = http://mirror.hactar.xyz/Vi0L0/catalyst/$arch
[catalyst-hd234k]
Server = http://mirror.hactar.xyz/Vi0L0/catalyst-hd234k/$arch

Puis puis rendre les dépôts utilisables :

pacman-key --keyserver pgp.mit.edu --recv-keys 653C3094
pacman-key --lsign-key 653C3094
pacman -Syy

Installation

Si vous ne voulez pas compiler les paquets depuis AUR, vous pouvez utiliser le dépôt non-officiel cité ci-dessus, puis il ne reste plus qu'à installer les paquets :

pacman -Syu catalyst catalyst-utils
Note: Si pacman vous demande de supprimer le paquet libgl, vous pouvez répondre Oui sans crainte.

Configuration

Il faut charger le pilote fglrx

 modprobe fglrx

Rajouter un fichier catalyst.conf dans /etc/modules-load.d/ pour une prise en charge automatique au démarrage:

Fichier: /etc/modules-load.d/catalyst.conf
fglrx

Au niveau de X, ce pilote n'est pas détecté automatiquement, par conséquent il vous faut rajouter au minimum le fichier de configuration suivant dans /etc/X11/xorg.conf.d/, par exemple nommé 20-catalyst.conf:

Section "Device"
    Identifier  "Card0"
    Driver      "fglrx"
    VendorName  "ATI Technologies Inc"
    BusID       "PCI:1:0:0"
EndSection
Astuce: Le BusID correspond à la série de nombres sur la ligne de votre carte graphique obtenu par lspci (attention, pour X, il faut remplacer le point par deux points).
Attention: Si vous utilisiez auparavant le pilote libre, veillez à bien le désinstaller et vérifiez que le module radeon n'est plus utilisé au moyen de lsmod. S'il est encore présent, désactivez-le avant de tester X:
rmmod radeon

Dans ce cas, pensez à rajouter un radeon_blacklist.conf dans /etc/modprobe.d/ avec pour contenu:

blacklist radeon
Astuce: Bien que l'usage d'un xorg.conf soit à proscrire (car déprécié), si la manipulation précédente n'a pas donné satisfaction (X ne parvenant pas à configurer automatiquement tout le reste de votre installation), ATI fournit aticonfig pour modifier /etc/X11/xorg.conf. Pour découvrir toutes les options :
aticonfig --help

Créez un fichier xorg.conf vide:

touch /etc/X11/xorg.conf

Puis laissez aticonfig créer la majeure partie du fichier :

aticonfig --initial --input=/etc/X11/xorg.conf

Il faut vérifier le fichier créé. Notamment la présence dans la section "Screen" du paramètre "DefaultDepth 24", ainsi que dans la section "DRI" du paramètre "Mode 666". Sans cela vous obtiendrez un écran noir. Voici un exemple de fichier :

Section "ServerLayout"
   Identifier     "X.org Configured"
   Screen      0  "Screen0" 0 0
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Device"
    Identifier  "Card0"
    Driver      "fglrx"
    VendorName  "ATI Technologies Inc"
    BoardName   "Radeon Mobility X1400"
    BusID       "PCI:1:0:0"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    DefaultDepth	24
    SubSection "Display"
        Viewport   0 0
        Depth     24
    EndSubSection
EndSection

Section "DRI"
     Mode 0666
EndSection

Libre à vous ensuite de répartir les différentes sections dont X a besoin (aidez-vous des informations de /var/log/Xorg.0.log) dans autant de fichiers dans /etc/X11/xorg.conf.d, par exemple: 05-server.conf, 10-monitor.conf, 20-catalyst.conf 25-screen.conf 30-options.conf.

Double Écran (Dual Head / Dual Screen / Xinerama)

Préambule

Tout d'abord: il faut savoir qu'il n'y a pas de solution unique car chaque configuration est différente. Les étapes ci-dessous devront donc être adaptée à vos besoins. Il se peut que vous tâtonniez un peu. Il vous faut ABSOLUMENT sauvegarder votre /etc/X11/xorg.conf fonctionnel avant de commencer et être en mesure de le remettre en place en mode console.
  • Ici sera décrit l'installation de deux écran de tailles différentes sur une seule carte graphique avec deux sorties (DVI + HDMI) en configuration "BIG Desktop".
  • La solution Xinerama présente quelques inconvénients, notamment d'être incompatible avec XrandR. Pour cette raison, je ne pense pas qu'il faille l’utiliser, XrandR étant un must pour la configuration par la suite.
  • La solution Dual Head permet d'avoir deux instances différentes (une pour chaque écran). Cela peut être votre souhait mais vous ne pourrez pas passer des fenêtres d'un écran à l'autre. Si vous n'avez qu'une seule souris, il faudra définir la souris dans votre xorg pour les deux sessions de X dans la section Server Layout.

Doc ATI

ATI Catalyst Control Center

L'utilitaire graphique de configuration fournit par ATI est bien pratique et nous l'utiliserons au maximum. Pour le lancer, il suffit d'ouvrir une console et d'utiliser la commande :

kdesu amdcccle
Note: Bien sûr, il faut adapter si vous êtes sous GNOME ou un autre DE.
Attention: N'utiliser pas sudo directement avec un programme graphique. Sudo vous donne les droits administrateurs avec votre compte utilisateur alors que kdesu vous donne les droits administrateurs avec les variables root.

Installation

Ici, c'est facile mais important : assurez vous que votre matériel est bien branché, bien alimenté et de connaître les caractéristiques de vos écrans (dimensions / taux de rafraîchissement ...) Normalement les deux écrans sont reconnus au boot mais pas forcément identifiés surtout si vous n'aviez pas de fichier xorg et que vous utilisiez le hot-plugging.

La première étape est donc de les faire reconnaître correctement par votre DE / Xorg. Pour cela, il suffit de générer un fichier xorg de base pour vos deux écrans :

aticonfig --initial --desktop-setup=horizontal --overlay-on=1

ou

aticonfig --initial=dual-head --screen-layout=left
Note: overlay est important et vous permet d'avoir 1 pixel (ou plus) de recouvrement entre vos écrans.
Astuce: Pour les différentes options disponibles n'hésitez pas à taper aticonfig en console et vous aurez toutes les options dispos.

Voilà vous avez normalement un fichier de base que vous pouvez éditer pour ajouter les résolutions. C'est important de préciser la résolution de travail surtout si vous avez des écrans de tailles différentes. A ajouter dans la section "Screen"

SubSection "Display"
Depth 24
Modes "1200x800"
EndSubSection

Bien à partir de là, plutôt que d'éditer tout le xorg.conf à la main, on va le faire en mode graphique via le control center d'ati. Redémarrer X pour prendre en compte les bonnes résolutions et les deux écrans bien séparés.

Configuration

Ici, il vous suffit de lancer le centre de control d'ATI en root, d'aller dans le menu affichage et de choisir la façon dont vous voulez afficher votre écran (petite flèche du menu déroulant). Un dernier redémarrage de X et vous y êtes !

Avant de redémarrer, n'hésitez pas à vérifier la tête de votre nouveau xorg.conf. A ce niveau dans la sous-section "Display" de la section "Screen" vous devriez avoir une directive "Virtual" dont la résolution est la somme des résolutions des deux écrans. La section "Server Layout" vous dira tout.