I know this is a common topic, I myself have even helped others with ATI issues. Unfortunately now I find myself in the position of having ATI driver issues. The 12.1 driver is out, and I heard some issues with the screen flicker have been fixed. Ok, so I said I uninstall my current one, and get the new one.
So for uninstall I did:
sudo apt-get remove --purge fglrx fglrx_* fglrx-amdcccle* fglrx-dev*
And then I installed it normally by running the executable:
sh ./ati-driver-installer-11-10-x86.x86_64.run
The driver wouldn't install cause it was saying a current one is already there, so...like a dumb a*** I used --force
sh ./ati-driver-installer-11-10-x86.x86_64.run --force
This run through the installer apparently without issues.
Unfortunately while installing I realized I should have used the following commands:
sh ./ati-driver-installer-11-10-x86.x86_64.run --buildpkg Ubuntu/oneiric
sudo dpkg -i fglrx*.deb
Well, now I already run the force one, so I rebooted to see what the result is. After failed attempt to start xserver, I managed to log into the 2D fallback version.
Now if I try to run the installer directly I get a warning message:
A previous install of fglrx driver has been detected....
If I try to build the fglrx package with:
sh ./amd-driver-installer-12-1-x86.x86_64.run --buildpkg Ubuntu/oneiric
I get the error:
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
Using: Ubuntu 11.10; ATI HD4870;
For 64bit systems before doing anything.
Run each of these, one at the time, if getting any faults ignore it.
Remove your xorg.conf file
Re-install xorg
Configure xorg
Reboot:
After the reboot all the fglrx packages will be gone, you will be using default ones.
Download the newest ATI driver (current version is 12.1)
Once downloaded go to the file location and set it to run as executable
Use these steps to install
Once the driver is installed you need to start up a new xorg.conf file with this command
Reboot
The problem is due to a previous manual installation of the driver, that is without building a deb package, and an incomplete uninstall.
No fear!
Since the package building complains that
or, in other cases,
you can find alternatives to the library in the system, e.g.
and, if alternatives exist, backup the offending library (libraries)
Finally, create a symlink to the alternatives (in my case: sudo ln -s /usr/lib/x86_64-linux-gnu/libQtCore.so.4 sudo ln -s /usr/lib/x86_64-linux-gnu/libQtGui.so.4 )
Now package building should complete without throwing errors and so its installation.
It has also been reported that if you're trying a simple reinstall of the proprietary driver (e.g. after a kernel upgrade) it can be enough to move /usr/share/ati/lib64 to another backup location and then build the package in the documented way.