我知道这是一个常见的话题,我自己甚至还帮助过其他人解决 ATI 问题。不幸的是,现在我发现自己遇到了 ATI 驱动程序问题。12.1 驱动程序已经发布,我听说屏幕闪烁的一些问题已经修复。好的,所以我说我卸载了当前的驱动程序,然后获取新的驱动程序。
因此,对于卸载我执行以下操作:
sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*
然后我通过运行可执行文件正常安装它:
sh ./ati-driver-installer-11-10-x86.x86_64.run
驱动程序无法安装,因为它说当前驱动程序已经存在,所以...我像个傻瓜一样使用了 --force
sh ./ati-driver-installer-11-10-x86.x86_64.run --force
安装程序运行起来显然没有问题。
不幸的是,安装时我意识到我应该使用以下命令:
sh ./ati-driver-installer-11-10-x86.x86_64.run --buildpkg Ubuntu/oneiric
sudo dpkg -i fglrx*.deb
好吧,现在我已经运行了强制版本,所以我重新启动以查看结果。在尝试启动 xserver 失败后,我设法登录到 2D 后备版本。
现在,如果我尝试直接运行安装程序,我会收到一条警告消息:
A previous install of fglrx driver has been detected....
如果我尝试使用以下命令构建 fglrx 包:
sh ./amd-driver-installer-12-1-x86.x86_64.run --buildpkg Ubuntu/oneiric
我收到错误:
objdump: debian/fglrx/usr/lib/fglrx/alt_ld.so.conf: File truncated
objdump: debian/fglrx/usr/lib/fglrx/ld.so.conf: File format not recognized
objdump: debian/fglrx/usr/lib/pxpress/alt_ld.so.conf: File truncated
objdump: debian/fglrx/usr/lib/pxpress/ld.so.conf: File format not recognized
debian/rules override_dh_shlibdeps
make[1]: Entering directory `/tmp/fglrx.wV9uQm'
dh_shlibdeps -l/tmp/fglrx.wV9uQm/debian/fglrx/usr/lib/fglrx:/tmp/fglrx.wV9uQm/debian/fglrx/usr/lib32/fglrx -Xlib32
dpkg-shlibdeps: warning: debian/fglrx/usr/lib/fglrx/libAMDXvBA.so.1.0 contains an unresolvable reference to symbol dlsym: it's probably a plugin.
dpkg-shlibdeps: warning: 23 other similar warnings have been skipped (use -v to see them all).
dpkg-shlibdeps: warning: debian/fglrx/usr/lib/fglrx/bin/atieventsd contains an unresolvable reference to symbol XauFileName: it's probably a plugin.
dpkg-shlibdeps: warning: debian/fglrx/usr/lib/fglrx/libGL.so.1.2 contains an unresolvable reference to symbol XOpenDisplay: it's probably a plugin.
dpkg-shlibdeps: warning: 31 other similar warnings have been skipped (use -v to see them all).
dpkg-shlibdeps: error: no dependency information found for /usr/share/ati/lib64/libQtCore.so.4 (used by debian/fglrx/usr/lib/fglrx/bin/amdnotifyui).
dh_shlibdeps: dpkg-shlibdeps -Tdebian/fglrx.substvars debian/fglrx/usr/lib/fglrx/libaticalcl.so debian/fglrx/usr/lib/fglrx/dri/fglrx_dri.so debian/fglrx/usr/lib/fglrx/libatiuki.so.1.0 debian/fglrx/usr/lib/fglrx/bin/atieventsd debian/fglrx/usr/lib/fglrx/bin/amdnotifyui debian/fglrx/usr/lib/fglrx/bin/aticonfig debian/fglrx/usr/lib/fglrx/bin/atiode debian/fglrx/usr/lib/fglrx/bin/fgl_glxgears debian/fglrx/usr/lib/fglrx/bin/atiodcli debian/fglrx/usr/lib/fglrx/bin/fglrxinfo debian/fglrx/usr/lib/fglrx/libAMDXvBA.so.1.0 debian/fglrx/usr/lib/fglrx/libaticalrt.so debian/fglrx/usr/lib/fglrx/libatiadlxx.so debian/fglrx/usr/lib/fglrx/libOpenCL.so.1 debian/fglrx/usr/lib/fglrx/libXvBAW.so.1.0 debian/fglrx/usr/lib/fglrx/libGL.so.1.2 debian/fglrx/usr/lib/fglrx/libSlotMaximizerAg.so debian/fglrx/usr/lib/fglrx/libamdocl64.so debian/fglrx/usr/lib/fglrx/libaticaldd.so debian/fglrx/usr/lib/fglrx/xorg/modules/glesx.so debian/fglrx/usr/lib/fglrx/xorg/modules/extensions/libglx.so debian/fglrx/usr/lib/fglrx/xorg/modules/linux/libfglrxdrm.so debian/fglrx/usr/lib/fglrx/xorg/modules/amdxmm.so debian/fglrx/usr/lib/fglrx/xorg/modules/drivers/fglrx_drv.so debian/fglrx/usr/lib/fglrx/libSlotMaximizerBe.so debian/fglrx/usr/lib/fglrx/libfglrx_dm.so.1.0 returned exit code 2
make[1]: *** [override_dh_shlibdeps] Error 2
make[1]: Leaving directory `/tmp/fglrx.wV9uQm'
make: *** [binary-arch] Error 2
dpkg-buildpackage: error: debian/rules binary gave error exit status 2
Removing temporary directory: fglrx-install.Yubgiq
使用:Ubuntu 11.10;ATI HD4870;
答案1
sudo apt-get install ia32-libs
每次运行一个,如果出现任何故障请忽略它。
sudo sh /usr/share/ati/fglrx-uninstall.sh
sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*
删除你的xorg配置文件文件
sudo rm /etc/X11/xorg.conf
重新安装 xorg
sudo apt-get install --reinstall libgl1-mesa-glx:i386 libgl1-mesa-glx:amd64 libgl1-mesa-dri:i386 libgl1-mesa-dri:amd64 xserver-xorg-core
配置 xorg
sudo dpkg-reconfigure xserver-xorg
重启:
sudo reboot
重启后,所有 fglrx 包都将消失,您将使用默认包。
下载最新的 ATI 驱动程序(当前版本为 12.1)
wget http://www2.ati.com/drivers/linux/amd-driver-installer-12-1-x86.x86_64.run
下载后,转到文件位置并将其设置为可执行文件运行
cd /path_of_the_file
chmod 755 amd-driver-installer-12-1-x86.x86_64.run
使用以下步骤安装
sh ./amd-driver-installer-12-1-x86.x86_64.run --buildpkg Ubuntu/oneiric
sudo dpkg -i fglrx*.deb
安装驱动程序后,您需要使用此命令启动一个新的 xorg.conf 文件
sudo aticonfig --initial -f
重启
sudo reboot
答案2
问题是由于之前的手动的安装驱动程序,即没有构建 deb 包,并进行不完整的卸载。
不怕!
由于软件包构建抱怨
dpkg-shlibdeps: error: no dependency information found for /usr/share/ati/lib64/libQtCore.so.4 (used by debian/fglrx/usr/lib/fglrx/bin/amdnotifyui).
或者,在其他情况下,
dpkg-shlibdeps: error: no dependency information found for /lib64/libQtCore.so.4 (used by debian/fglrx/usr/lib/fglrx/bin/amdnotifyui).
您可以在系统中找到该库的替代品,例如
locate libQtCore.so.4
locate libQtGui.so.4
如果存在替代方案,则备份有问题的库(库)
sudo mv /lib64/libQtCore.so.4 /lib64/libQtCore.so.4.orig
sudo mv /lib64/libQtGui.so.4 /lib64/libQtGui.so.4.orig
最后,创建指向替代方案的符号链接(在我的情况下: sudo ln -s /usr/lib/x86_64-linux-gnu/libQtCore.so.4 sudo ln -s /usr/lib/x86_64-linux-gnu/libQtGui.so.4 )
现在包的构建应该可以完成,并且不会抛出错误。
据报道,如果您尝试简单地重新安装专有驱动程序(例如,在内核升级后),只需将 /usr/share/ati/lib64 移动到另一个备份位置,然后按照记录的方式构建软件包即可。