web-dev-qa-db-fra.com

Comment patcher fglrx pour l’installation sur le noyau 3.7rc7?

Pour un bogue, je dois vérifier si un bogue existe toujours sur le noyau 3.7rc7 en amont. Etant donné que le bogue est lié à fglrx, je dois installer une version plus récente qui fonctionne avec le noyau 3.7. Comment est-ce que je fais ceci étape par étape?

2
Gerhard Burger

J'ai obtenu ma réponse en combinant différents messages sur les forums. Ce guide utilisera la version 12.10 de fglrx du site ATI. Toutes ces étapes sont effectuées dans un terminal. Ce guide suppose que le noyau 3.7rc7 est installé en suivant les étapes décrites dans https://wiki.ubuntu.com/KernelMainlineBuilds . Cela suppose également que vous utilisez Ubuntu 12.04, mais les instructions pour 12.10 sont très similaires.

  1. Créez un répertoire temporaire et allez dans ce répertoire:

    mkdir ~/temp
    cd ~/temp
    
  2. Téléchargez le pilote ATI et le correctif:

    wget http://www2.ATI.com/drivers/linux/AMD-driver-installer-catalyst-12.10-x86.x86_64.Zip
    wget http://catalyst.apocalypsus.net/files/Arch-fglrx-3.7.patch
    
  3. Extrayez le fichier Zip et rendez le fichier .run exécutable:

    unzip AMD-driver-installer-catalyst-12.10-x86.x86_64.Zip
    chmod +x AMD-driver-installer-catalyst-12.10-x86.x86_64.run
    
  4. Extrayez le fichier .run dans le répertoire ./src:

    ./AMD-driver-installer-catalyst-12.10-x86.x86_64.run --extract ./src
    
  5. Allez dans le répertoire ./src et appliquez le correctif:

    cd ./src
    patch -Np1 --verbose < ../Arch-fglrx-3.7.patch
    
  6. Maintenant, construisez les paquets deb pour 12.04 (précis), ils iront dans le répertoire parent

    ./ATI-installer.sh 9.002 --buildpkg Ubuntu/precise
    
  7. Allez dans le répertoire parent et installez les fichiers

    cd ../
    Sudo dpkg -i *.deb
    

    Si vous obtenez une erreur à propos de version.h et que la construction des modules dkms a échoué, cela est dû au fait que le fichier version.h est mal placé dans le noyau 3.7rc7. Pour résoudre ce problème

    ln -s /usr/src/linux-headers-3.7.0-030700rc7-generic/include/generated/uapi/linux/version.h /usr/src/linux-headers-3.7.0-030700rc7-generic/include/linux/version.h
    

    et retirez et réinstallez fglrx

    Sudo apt-get remove "fglrx*"
    Sudo dpkg -i *.deb
    
  8. Sauvegardez votre xorg.conf et générez-en un nouveau

    Sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
    Sudo aticonfig --initial -f
    

Redémarrez et ça devrait marcher!

2
Gerhard Burger