Ceci est une ancienne révision du document !
Installation des derniers pilotes propriétaires ATI pour toutes les versions d'Ubuntu
Tutoriel simplifié pour installer ATI Catalyst 8.3 ou plus récent disponible
Un moyen bien plus simple d'installer les pilotes propriétaires ati (si bien sûr votre carte graphique est supportée par cette version) est l'installation depuis les dépôts.
Cela installera une vieille version des pilotes ATI. Cette version n'est pas la meilleure, loin de là.
Pour une installation automatique à partir du site d'ATI, allez voir envy. Attention, envy est expérimental et est instable sur Feisty (7.04)
Je vous conseille de marquer cette partie sur un papier, car après une de ces mises à jour, vous démarrerez sur la console. Vous ne pourrez donc pas allez sur internet convenablement, lors de l'installation
Si vous voulez installer une autre version des pilotes, un changement du numéro de version devrait suffire, mais gardez à l'esprit que ce n'est pas sûr !
Cette méthode est pour les cartes graphiques Radeon et FireGL sous Ubuntu Edgy (6.10), Feisty (7.04) et Gutsy (7.10)
Procédure d'installation
Voici la procédure à suivre pour une installation sûre et fiable :
Explication : Les commandes qui suivent utilisent dpkg et apt-get, l'utilisation de synaptic (par exemple) en même temps, empêche donc certaines de ces commandes de s'exécuter…
Installation automatique à partir des pilotes binaires.
- Supprimer les pilotes graphiques éventuels, utilisez cette commande dans un terminal :
sudo apt-get remove fglrx*
- Assurez-vous d'avoir les dépôts universe et multiverse.
- Mise à jour du système
sudo apt-get update && sudo apt-get upgrade
- Installation des dépendances
sudo apt-get install module-assistant build-essential dkms sudo apt-get install fakeroot dh-make debconf libstdc++5 gcc-3.4-base linux-headers-$(uname -r) sudo apt-get install cdbs
- Téléchargez la dernière version du pilote sur le site d'Ati : http://ati.amd.com/support/driver.html.
Ici on trouvera la beta pour l'opengl4.0 http://support.amd.com/us/kbarticles/Pages/Catalyst-OpenGL-preview-driver.aspx
- Placez-vous dans le répertoire où se trouve le fichier que vous avez téléchargé.
- Installation des librairies adéquates :
chmod +x ati-driver-installer-*-*-x86.x86_64.run sudo ./ati-driver-installer-*-*-x86.x86_64.run
Suivre les instructions du Setup ATI. Essayer l'installation des pilotes en mode automatique.
Création et installation des paquets fglrx a partir des pilotes binaires.
Instalation des dépandances :
sudo apt-get install libqtgui4
Création des paquets :
sudo sh ./ati-driver-installer-*-*-x86.x86_64.run --buildpkg Ubuntu
si ce n'est pas le cas :
Pour Natty :
sudo sh ./ati-driver-installer-*-*-x86.x86_64.run --buildpkg Ubuntu/natty
Pour Hardy :
sudo sh ./ati-driver-installer-*-*-x86.x86_64.run --buildpkg Ubuntu/hardy
Pour Karmic :
sudo sh ./ati-driver-installer-*-*-x86.x86_64.run --buildpkg Ubuntu/karmic
Pour les version antérieur :
gutsy
par feisty
si vous êtes sous Ubuntu 6.10 "Edgy" vous pouvez utiliser edgy
dans les lignes ci-dessous, valable pour les pilotes inférieurs aux 8.1
sudo ./ati-driver-installer-*-*-x86.x86_64.run --buildpkg Ubuntu/feisty
Cas des noyaux "Temps Réel" (ex : Ubuntu Studio) :
Il faut aller modifier deux fichiers, avant compilation, sous peine d'avoir un package fglrx-kernel-source_8.*-0ubuntu1_i386.deb inutilisable par absence de fichier fglrx.ko (non généré).
Et sans erreur lors de la compilation s'il vous plait
Suivre les étapes suivantes :
Extraire les codes source et se positionner dans le répertoire build_mod :
sh ./ati-driver-installer-*-*-x86.x86_64.run --extract fglrx cd fglrx/common/lib/modules/fglrx/build_mod
Modifier le fichier drm_compat.h
remplacer la ligne :
#define MODULE_LICENSE(x)
par la ligne :
#define MODULE_LICENSE("GPL")
Modifier le fichier firegl_public.c :
remplacer la ligne :
MODULE_LICENSE("Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY");
par la ligne :
MODULE_LICENSE("GPL");
Remonter dans le répertoire fglrx et lancer la compilation (remplacer hardy par le nom de votre distribution si différente) :
./packages/Ubuntu/ati-packager.sh --buildpkg hardy
Voilà, les packages *.deb sont disponibles dans le répertoire père de fglrx.
Installation des paquets :
Théoriquement dans le fichier ou vous avez lancer ati.run, vous devriez vous retrouver avec les paquets suivants :
1 | xorg-driver-fglrx_*.deb |
2 | xorg-driver-fglrx-dev_*.deb |
3 | fglrx-kernel-source_*.deb |
4 | fglrx-amdcccle_*.deb |
Dans le cas où il arriverait que les paquets xorg viennent a manquer. Référer vous plutôt a l'installation des pilotes propriétaires ATI depuis les dépôts
Vous pouvez donc ouvrir un nouveau terminal et entrez ceci :
sudo dpkg -i *.deb
Voilà le pilote est installé ! Il faut maintenant configurer Xorg pour qu'il utilise le pilote !
Erreur dans l'installation des paquets fglrx a partir des pilotes binaires.
/ Le drivers propriétaire fglrx se compilant il se peut que le 1er package ne s'installe pas avec dans les logs la ligne suivante pour comprendre ce qui s'est passé
/var/lib/dkms/fglrx/<version>/build/ for more information.
il y a un fichier make.log vous expliquant ce qui s'est passé Dans mon cas, j'avais un message du style
implicit declaration of function ‘compat_alloc_user_space’
La solution consiste à modifier un fichier des sources kernel en y ajoutant une fonction manquante à l'avant dernière ligne
/usr/src/linux-headers-`uname -r`/arch/x86/include/asm/compat.h
static inline void __user *compat_alloc_user_space(unsigned long len) { struct pt_regs *regs = task_pt_regs(current); return (void __user *)regs->sp - len; }
Source:http://ubuntuforums.org/showthread.php?p=9870037
On installe ensuite les packages dpkg -i fglrx_*fglrx-amdccle* fglrx-modaliases* Puis la commande aticonfig –initial -f
Il reste un detail important. Vu que les packages fglrx portent les mêmes noms que sur le repository il faut empêcher leur mise à jour
echo "fglrx hold" | dpkg --set-selections echo "fglrx-amdcccle hold" | dpkg --set-selections echo "fglrx-modaliases hold" | dpkg --set-selections
- Compilation du module fglrx pour le kernel ⇒ Cette étape doit être réalisée à chaque mise à jour du noyau, jusqu'au pilote Catalyst 7.11 (fglrx 8.44).
Suppression du module précédemment compilé s'il existe (s'il n'existe pas, un message vous le dira)
sudo rm /usr/src/fglrx-kernel*.deb
Compilation du module
cd /usr/src sudo module-assistant build,install fglrx-kernel sudo depmod -a
Configuration de Xorg
Automatiquement
Faites simplement (commande importante) :
sudo aticonfig --initial -f
Puis seulement dans certains cas cartes graphiques :
sudo aticonfig --overlay-type=Xv
Manuellement
sinon, l'ancienne méthode :
Éditez le fichier /etc/X11/xorg.conf
Dans la section Device, modifiez la ligne Driver en remplaçant "ati" ou autre par "fglrx", et ajoutez les 2 lignes Option en dessous, comme suit :
PS : Pour connaître le BUS PCI, taper lspci | grep ATI dans un terminal.
Section "Device" Identifier "ATI Technologies Inc RC410 [Radeon Xpress 200M]" Driver "fglrx" Option "VideoOverlay" "on" Option "OpenGLOverlay" "off" BusID "PCI:1:5:0" EndSection
Après avoir configuré le pilote, redémarrez.
Activation de Compiz - Pilotes 8.43.1 et suivants
(confirmer cette information avec la dernière version du pilote) Compiz n'est d'ailleurs pas encore vraiment totalement fonctionnel avec cette version du pilote (vidéos non fluides avec compiz actif, défilement des pages dans firefox saccadé, …), mais ce pilote est quand même un début encourageant pour l'intégration du fonctionnement de AIGLX dans les pilotes Ati propriétaires.
Activation du composite
Le composite est requis pour l'utilisation de Compiz
- Ouvrez le fichier /etc/X11/xorg.conf
- Ensuite, activez le Composite
Ajoutez à la fin du fichier
Section "Extensions" Option "Composite" "enable" EndSection
- Activation de AIGLX
Dans la section "ServerLayout", ajoutez :
Option "AIGLX" "true"
- Puis sauvegardez
- Pour terminer, redémarrez votre ordinateur.
- Pour vérifier que le pilote est bien installé, utilisez la commande "fglrxinfo". Vous devriez obtenir un résultat ressemblant à ceci.
display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: ATI Radeon Xpress Series OpenGL version string: 2.0.6958 (8.42.3)
Si vous avez un truc qui parle de Mesa à la place, l'installation est ratée …
Vous pouvez également exécuter la commande glxgears ou fgl_glxgears et regarder combien de fps vous obtenez.
Activation de compiz
Compiz est bloqué sur le pilote ati propriétaire par défaut dans Ubuntu 7.10 "Gutsy", il va donc falloir le déverrouiller, cette partie vous indique comment faire !
Ouvrez un terminal et tapez :
echo SKIP_CHECKS=yes > ~/.config/compiz/compiz-manager
ensuite lancez Compiz Fusion comme expliqué dans la page le concernant.
Je précise tout-de-même que compiz ne marche pas encore du tout parfaitement avec ce pilote, il marche même moins bien qu'avec l'ancienne méthode avec Xgl et le pilote des dépôts
Le fichier peut se trouver aussi dans /etc/xdg/compiz/compiz-manager
Accélération 3D absente pour carte non Hd sous 'jaunty'
Ceci n'est pas une solution officielle : et elle reste à être testée. Pour Utilisateur averti.
Nous allons patcher la version des pilotes ATI catalyst 9.3, compatible carte non hd, pour avoir la 3D sous ubuntu jaunty - ( avec kernel 2.6.29.X ).
- Télécharger la version 9.3 des pilotes ATI :
- Télécharger le patch : FGLRX-2.6.29-9.2-5.diff
- Extraire les pilotes (pour appliquer le patch) en exécutant :
./ati-driver-installer-9-3-x86.x86_64.run --extract
- Copier le patch dans le répertoire crée : fglrx-install.xv5671
- Patcher :
patch -p1 < FGLRX-2.6.29-9.2-5.diff
- Installer les pilote :
./ati-installer.sh 8.593 --install
- Redémarrer.
- (Normalement vous verrez le module fglrx se charger correctement.)
- Activer les effets composite , par exemple grace à apt://fusion-icon
Il peut il y avoir des messages d'erreur :
[fglrx:firegl_find_any_map] *ERROR* Invalid map handle!
Quand le patch sera 'stable' il serait intéressant de recréer un run et de le poster, oui ce sont des pilotes propriétaires, mais vous pouvez aider ATI et la communauté.
Si l'accélération 3D est toujours absente (#1)
Si vous n'avez toujours pas d'accélération 3D, éditez le fichier /etc/modules
Votre fichier doit ressembler à ça :
# /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. lp mousedev psmouse fglrx
Ci-dessus, fglrx est à la fin de la liste des modules à charger au démarrage de la machine. Si vous voulez bénéf icier de l'accélération 3D, mettez fglrx au début de la liste comme ceci :
# /etc/modules: kernel modules to load at boot time. # # This file contains the names of kernel modules that should be loaded # at boot time, one per line. Lines beginning with "#" are ignored. fglrx lp mousedev psmouse
Redémarrez afin d'apprécier les performances de glxgears et fgl_glxgears.
Si l'accélération 3D est toujours absente (#2)
Avec les dernières versions des pilotes, il y a un conflit avec le pilote fglrx des linux-restricted-modules.
Il suffit de désactiver le module "fglrx", pour cela éditez le fichier /etc/default/linux-restricted-modules-common
Votre fichier doit ressembler à ça :
# This file is sourced from the linux-restricted-modules-common init # script and is used to disable the link-on-boot feature, one module # at a time. This can be useful if you want to use hand-compiled # versions of one or more modules, but keep linux-restricted-modules # installed on your system, or just to disable modules you don't use # and speed up your boot process by a second or two. # # Use a space-separated list of modules you wish to not have linked # on boot. The following example shows a (condensed) list of all # modules shipped in the linux-restricted-modules packages: # # DISABLED_MODULES="ath_hal fc fglrx ltm nv" # # Note that disabling "fc" disables all fcdsl drivers, "ltm" disables # ltmodem and ltserial, and "nv" disables the three nvidia drivers. # You can also name each module individually, if you prefer a subset. DISABLED_MODULES=""
Mettez fglrx et nvidia entre les guillemets, comme ceci :
# This file is sourced from the linux-restricted-modules-common init # script and is used to disable the link-on-boot feature, one module # at a time. This can be useful if you want to use hand-compiled # versions of one or more modules, but keep linux-restricted-modules # installed on your system, or just to disable modules you don't use # and speed up your boot process by a second or two. # # Use a space-separated list of modules you wish to not have linked # on boot. The following example shows a (condensed) list of all # modules shipped in the linux-restricted-modules packages: # # DISABLED_MODULES="ath_hal fc fglrx ltm nv" # # Note that disabling "fc" disables all fcdsl drivers, "ltm" disables # ltmodem and ltserial, and "nv" disables the three nvidia drivers. # You can also name each module individually, if you prefer a subset. DISABLED_MODULES="fglrx nvidia"
Puis sauvegarder les changements et redémarrer votre machine (et non un simple reboot du serveur X) pour prendre en compte les modifications. Normalement, la solution #3 ne vous est plus nécessaire
Si l'accélération 3D est toujours absente (#3)
Si les dépôts multiverse sont activés !
–ETAPE 1–
A l'aide de Synaptic rechercher fglrx
Désélectionnez tous les paquets linux-restricted-modules-X.X.XX-XX-XXX
Puis appliquez les changements.
–ETAPE 2–
A l'aide de Synaptic rechercher linux-restricted-modules-386 (Remplacez 386 par l'architecture de votre ordinateur)
Selectionnez le paquet linux-restricted-modules-386 (Remplacez 386 par l'architecture de votre ordinateur)
Puis appliquez les changements.
–ETAPE 3–
Fermez les fenêtres et redémarrez l'ordinateur
Si l'accélération 3D est toujours absente (#4)
Problème détecté dans Hardy, notamment lors du passage de Gutsy à Hardy.
Il faut éditer le fichier /etc/modprobe.d/blacklist-restricted
gksudo gedit /etc/modprobe.d/blacklist-restricted
et mettre un # devant : blacklist fglrx
# This file is used to disable restricted drivers #blacklist fglrx
Ensuite, redémarrez
Désinstallation des pilotes
Si les performances de ce nouveau pilote ne vous conviennent pas, vous pouvez le désinstaller proprement et récupérer l'accélération 3D avec le pilote libre radeon.
Pour cela, il suffit de taper quelques commandes :
Tout d'abord on désinstalle tous les paquets deb fglrx installés :
sudo mv /etc/xdg/compiz/compiz-manager.ubuntu /etc/xdg/compiz/compiz-manager
puis désinstallez fglrx*
Ensuite on utilise le script de désinstallation des pilotes ati pour tout remettre comme avant l'installation de ces derniers :
sudo sh /usr/share/ati/fglrx-uninstall.sh #si vous avez des pilotes = ou > à la version 8.42.3
sudo sh /usr/share/fglrx/fglrx-uninstall.sh #si vous avez des pilotes un peu plus anciens.
Puis suivez ce qui vous concerne :
Si l'on passe au pilote propriétaire des dépôts
Tapez ensuite les commandes :
sudo apt-get install xorg-driver-fglrx sudo aticonfig --initial sudo aticonfig --overlay-type=Xv
Si l'on passe au pilote libre
On modifie le fichier /etc/X11/xorg.conf et on remplace "fglrx" par "radeon".
On redémarre l'interface graphique grâce au raccourci crtl+alt+backspace
On vérifie si l'accélération 3D est activée :
glxinfo | grep direct
Si "direct rendering : yes" s'affiche, c'est tout bon.
Si ce n'est pas le cas, il se peut qu'il manque simplement un lien, effacé par le script de désinstallation des pilotes ATI ; pour le recréer, il vous suffit de taper la commande qui suit :
sudo ln -s /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1
Redémarrez l'interface graphique à l'aide du raccourci ctrl+alt+backspace.
On contrôle à nouveau l'accélération 3D.
Si ça ne fonctionne toujours pas, la librairie libGL.so.1.2 a peut-être été remplacée lors de l'installation des pilotes ATI propriétaires et n'a pas été restaurée comme il se doit.
Pour cela, récupérez le fichier sur un système qui utilise les pilotes libres radeon (de la même version que vous) et sur lequel fglrx n'a pas été installé, la mettre sur votre bureau et remplacez la librairie qui pose problème comme suit :
sudo mv /usr/lib/libGL.so.1.2 /usr/lib/libGL.so.1.2.old && cp Desktop/libGL.so.1.2 /usr/lib/
Redémarrez l'interface graphique à l'aide du raccourci ctrl+alt+backspace. On contrôle une dernière fois l'accélération 3D. Cette fois-ci, tout devrait fonctionner correctement.