如何修补 fglrx 以便在内核 3.7rc7 上安装?

如何修补 fglrx 以便在内核 3.7rc7 上安装?

对于一个错误,我需要检查上游内核 3.7rc7 上是否仍存在错误,并且由于该错误与 fglrx 有关,因此我还需要安装一个可与内核 3.7 配合使用的较新版本。我该如何一步一步地完成此操作?

答案1

我通过结合 ubuntuforums 上的不同帖子找到了答案。本指南将使用来自 ati 站点的 12.10 版 fglrx。所有这些步骤都在终端中完成。本指南假设您已按照以下步骤安装了内核 3.7rc7https://wiki.ubuntu.com/KernelMainlineBuilds。它还假设您正在运行 Ubuntu 12.04,但 12.10 的说明非常相似。

  1. 创建临时目录并转到该目录:

    mkdir ~/temp
    cd ~/temp
    
  2. 下载ati驱动程序和补丁:

    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. 解压 zip 文件并使.run文件可执行:

    unzip amd-driver-installer-catalyst-12.10-x86.x86_64.zip
    chmod +x amd-driver-installer-catalyst-12.10-x86.x86_64.run
    
  4. 解压目录.run中的文件./src

    ./amd-driver-installer-catalyst-12.10-x86.x86_64.run --extract ./src
    
  5. 进入./src目录并应用补丁:

    cd ./src
    patch -Np1 --verbose < ../arch-fglrx-3.7.patch
    
  6. 现在为 12.04 (precise) 构建 deb 包,这些包将进入父目录

    ./ati-installer.sh 9.002 --buildpkg Ubuntu/precise
    
  7. 进入父目录并安装文件

    cd ../
    sudo dpkg -i *.deb
    

    version.h如果您收到有关构建 dkms 模块失败的错误,这是因为文件 version.h 在内核 3.7rc7 中放错了位置。要修复此问题,请执行以下操作

    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
    

    删除并再次安装 fglrx

    sudo apt-get remove "fglrx*"
    sudo dpkg -i *.deb
    
  8. 备份你的 xorg.conf 并生成一个新的

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

重新启动它,它就可以工作了!

相关内容