Building proprietary ATI fglrx driver on Debian Lenny x86_64
Random August 25th, 2008
To build the ATI proprietary driver (version 8.8, being reported as 8.522) on Debian Lenny 2.6.26-1-amd64 (probably the same for testing/unstable) on x86_64 I ran into 2 subtle problems which requried a little tricking to get the driver compiled and loaded. The following issues apply only to the x86_64 version of linux.
The first issue is a library problem with a very misleading description .
shell# sh /home/random/ati-driver-installer-8-8-x86.x86_64.run --buildpkg Debian/testing
... build fails with library libXext.so.6 missing ...
The solution is to install the ia32-libs, which contain the correct libs for ia32. Building with the above command work fine afterwards. Then it was possible to install the packages
shell# dpkg -i fglrx-amdcccle_8.522-1_amd64.deb fglrx-driver_8.522-1_amd64.deb fglrx-kernel-src_8.522-1_amd64.deb
The second issue happened during loading of the kernel module after building, installing and loading it with
shell# m-a build fglrx
shell# dpkg -i /usr/src/fglrx-kernel-2.6.26-1-amd64_8.522-1+2.6.26-3_amd64.deb
shell# modprobe fglrx
fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel.
fglrx: Unknown symbol flush_tlb_page
The patch is basically to remove the defined(__SMP__) from a preprocessor rule (this is not my patch, please see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=485605 for details).
-#if defined(__x86_64__) && defined(__SMP__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))
+#if defined(__x86_64__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))
After applying the patch, rebuilding the packages, recreating the module, installing the resulting kernel-module package and loading the kernel module everything worked like a charm. Of course you need to correctly configure the driver for your X server.
- Category: Bits & Bytes S-Tags: Linux
- Comments(4)
Hi, I have a debian lenny x86_64 and have the same problem to install the ati driver. But there is no ia32-libs in my sources. If I press apt-cache search ia32-libs comes nothing. Where can I get this library?
Thanks
Just check your /etc/apt/sources.list, I simply use my local debain mirror (ftp://ftp.at.debian.org), it’s in the main section.
See the debian package search:
http://packages.debian.org/search?keywords=ia32-libs&searchon=names&suite=all§ion=all
Maybe apt-cache is configured incorrectly. Try to use just apt or aptitude.
That is me again.
I think that the problem is that my initial configuration was an i386 and then I got the package “linux-image-amd64”. Maybe that is different from install an 64 architecture at the beginning. But I have similar problems as posted in this site. See that
ldd /usr/bin/amdcccle
libICE.so.6 => not found
libSM.so.6 => not found
libXext.so.6 => not found
libX11.so.6 => not found
libfontconfig.so.1 => not found
libXi.so.6 => not found
libXrandr.so.2 => not found
libfreetype.so.6 => not found
libXcursor.so.1 => not found
libXrender.so.1 => not found
libXext.so.6 => not found
and I have all this files in /usr/lib/
Thanks any way.
Please can you paste here index of your source.list file.I have the same problem with searching ia32-libs package.No in default repository.
Thanks.