Como fazer o patch do fglrx para instalação no kernel 3.7rc7?

2

Para um bug eu preciso verificar se um bug ainda ocorre no kernel upstream 3.7rc7 e, como o bug está relacionado ao fglrx, também preciso instalar uma versão mais nova que funcione com o kernel 3.7. Como faço isso passo a passo?

    
por Gerhard Burger 02.12.2012 / 18:12

1 resposta

2

Eu tenho a minha resposta combinando posts diferentes nos fóruns do Ubuntu. Este guia usará a versão 12.10 do fglrx do site do ati. Todas essas etapas são feitas em um terminal. Este guia assume que você tem o kernel 3.7rc7 instalado seguindo os passos no link . Ele também assume que você está executando o Ubuntu 12.04, no entanto, as instruções para 12.10 são muito semelhantes.

  1. Crie um diretório temporário e acesse este diretório:

    mkdir ~/temp
    cd ~/temp
    
  2. Faça o download do driver do ati e do patch:

    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. Extraia o zip e torne o arquivo .run executável:

    unzip amd-driver-installer-catalyst-12.10-x86.x86_64.zip
    chmod +x amd-driver-installer-catalyst-12.10-x86.x86_64.run
    
  4. Extraia o arquivo .run no diretório ./src :

    ./amd-driver-installer-catalyst-12.10-x86.x86_64.run --extract ./src
    
  5. Vá para o diretório ./src e aplique o patch:

    cd ./src
    patch -Np1 --verbose < ../arch-fglrx-3.7.patch
    
  6. Agora construa os pacotes deb para 12.04 (precisas), estes irão para o diretório pai

    ./ati-installer.sh 9.002 --buildpkg Ubuntu/precise
    
  7. Vá para o diretório pai e instale os arquivos

    cd ../
    sudo dpkg -i *.deb
    

    Se você obtiver um erro sobre version.h e se a construção dos módulos dkms falhar, isso ocorre porque o arquivo version.h está perdido no kernel 3.7rc7. Para corrigir isso, faça

    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
    

    e remova e instale o fglrx novamente

    sudo apt-get remove "fglrx*"
    sudo dpkg -i *.deb
    
  8. Faça o backup do seu xorg.conf e gere um novo

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

Reinicie e deve funcionar!

    
por Gerhard Burger 02.12.2012 / 18:12