Mise à jour des drivers ATI Radeon HD sous Linux (kernel 2.6.32-25)

\"CarteMise à jour : Nouveau pilote ATI Catalyst 10.10 pour Linux

Je ne suis visiblement pas le seul puisque les forums grouillent de posts à ce sujet : depuis la mise à jour du noyau linux vers sa version 2.6.32-25, le pilote propriétaire permettant de gérer les cartes ATI Radeon HD (4870 dans mon cas) ne semble plus fonctionner. J\’ai par exemple eu droit à ce message lors de mes tentatives de réinstallation du pilote Catalyst 10.9 :

DKMS part of installation failed. Please refer to /usr/share/ati/fglrx-install.log for details

Et des redémarrages qui aboutissaient soit sur un écran noir, soit sur un Linux capricieux et lent dès qu\’il fallait afficher le moindre élément graphique (page web par exemple)…

Je n\’en connais pas la raison mais j\’ai découvert ce matin une solution… fournie par AMD en personne. En effet, une version modifiée du pilote a été publiée il y a quelques jours à cette adresse :

http://support.amd.com/us/kbarticles/Pages/GPU83ATICatalystLinuxHotfix.aspx

Autant dire que ce n\’est pas simple à trouver (enfin moi, en tous cas, j\’ai cherché un moment!) d\’où le but de ce post.
Pour l\’installation rien de plus simple. Ouvrez le lien fourni précédemment et téléchargez le zip proposé. Puis dans le dossier dans lequel vous l\’avez enregistré :

$ unzip catalyst_10.9_linux_hotfix_sep27.zip
$ cd fglrx-8.771.2/
$ sudo sh ati-driver-installer-8.771.2-x86.x86_64.run

Et suivez les instructions. A priori, les options proposées par défaut n\’ont pas besoin d\’être changées.
Un redémarrage plus tard, vous devriez retrouver un Linux au top!

Mettre à jour la liste de boot de Grub 2

\"LinuxPour peu qu\’on ait un dual-boot géré par Grub 2, la liste des noyaux proposée au démarrage s\’allonge au fur et à mesure des nouvelles versions. Dans la version précédente de Grub, l\’édition du fichier /boot/grub/menu.lst permettait de personnaliser cette liste et en particulier de supprimer de l\’affichage les noyaux antérieurs pour ne garder par exemple que les deux derniers.

Grub 2, lui, génère automatiquement cette liste en fonction des versions du noyau présentes dans /boot. Du coup, pour s\’éviter une liste à rallonge au démarrage, la procédure est la suivante :

  1. Créez dans /boot un dossier old
    $ sudo mkdir /boot/old
    
  2. Déplacez les anciennes versions des noyaux pour ne garder que la dernière (celle fournie par uname -r), le memtest et éventuellement l\’avant-dernière version par sécurité. Dans la commande suivante, nous ne garderons que la dernière version du noyau et le memtest :
    $ sudo mv `find /boot -maxdepth 1 -type f ! -name *$( uname -r )* ! -name memtest*` /boot/old
    

    Petite explication : on déplace (mv) les fichiers trouvés (find) dans /boot en spécifiant :

    • -maxdepth 1 pour ne parcourir que /boot et pas les dossiers sous-jacents
    • -type f pour ne trouver que des fichiers (pas de dossier)

    On ajoute ensuite des ! -name qui permettent de tout sélectionner hormis le(s) fichier(s) déduit(s) du paramètre. On spécifie donc qu\’on exclu le memtest mais aussi tous les fichiers contenant dans leur nom la version courante du noyau (d\’où le *$( uname -r )*).

    Pour conserver par exemple la version 2.6.32-23 du noyau, il suffit de rajouter après le memtest* quelque chose comme ! -name *2.6.32-23*.

  3. Mettez à jour la configuration de Grub
    $ sudo update-grub
    

Un redémarrage devrait vous permettre d\’admirer le résultat! Il ne reste plus qu\’à mettre tout ceci dans un script et l\’exécuter quand nécessaire.