I found a number of issues while attempting to get fglrx packages for Catalyst 9.6 going on Debian/unstable amd64. As a work-around I made some modifications to the installer distributed by AMD (http://support.amd.com/us/gpudownload/linux/Pages/radeon_linux.aspx?type=2.4.1&product=2.4.1.3.36&lang=English).
Installation of the AMD packages requires pinning their versions in /etc/apt/preferences or module-assistant will try to upgrade them to the ones from Debian during installation. Package: fglrx-amdcccle Pin: version 8.62-1 Pin-Priority: 1001 Package: fglrx-driver Pin: version 8.62-1 Pin-Priority: 1001 Package: fglrx-driver-dev Pin: version 8.62-1 Pin-Priority: 1001 Package: fglrx-kernel-src Pin: version 8.62-1 Pin-Priority: 1001 I also have libdrm2 pinned as per Bug 521323 but that bug has since been closed. I have not tried to release this pin yet so I am including it just for completeness: # Debian Bug 521323. Note that this bug has been marked closed # as libdrm2 should work with ATI Catalyst 9.4. Package: libdrm2 Pin: release a=testing Pin-Priority: 1001 ATI's drivers are incompatible with 2.6.29 and above as far as I know so I pin the kernel back to 2.6.26. This is documented over in ATI Bugzilla (http://ati.cchtml.com/show_bug.cgi?id=1440). # ATI Bug 1440. Package: linux-image-2.6-amd64 Pin: version 2.6.26 Pin-Priority: 1001 The drivers also don't handle the latest X.Org X Server so I pin the core back to 1.4. This is documented over in ATI Bugzilla (http://ati.cchtml.com/show_bug.cgi?id=1423). # ATI Bug 1423. Package: xserver-xorg-core Pin: version 2:1.4.2 Pin-Priority: 1001 As you found there is a dependency on ia32-libs. This is tricky since this package is modified between stable and unstable to reflect a shift in how 32-bit libraries are handled in a 64-bit installation. Therefore installing ia32-libs from unstable won't work. Additionally the control center GUI wants the ia32-libs-gtk so I just pin that and I believe it has a dependency to include the older ia32-libs as well. Sadly this holds back gcc which is very annoying. # I need this package for the Catalyst Control Center Package: ia32-libs-gtk Pin: version 2.7 Pin-Priority: 1001 So with the four fglrx pins in place the ATI Catalyst 9.6 can be installed. With the libdrm2, linux-image-2.6-amd64, xserver-xorg-core and ia32-libs-gtk pins packages will downgrade to meet the dependencies of the driver. I have not tested all the intermediate releases between these pins and unstable so you may be able to move some of them further upstream. These work for me though. With the pinning and downgrades complete there are a few patches to be done to the installer itself. I bumped into the libfglrx_gamma.so.1 issue documented at http://wiki.cchtml.com/index.php/Ubuntu_Hardy_Installation_Guide#Fix_for_an_error: Adding the symlink as described got that fixed up. I also applied the patch as per ATI Bug 1518 from Jayen Ashar. I actually applied the patch to all of the dists under Debian, not just etch: # diff -r driver driver-patched/ Only in driver-patched/arch/x86_64/usr/X11R6/lib64: libfglrx_gamma.so.1 diff -r driver/packages/Debian/dists/etch/fglrx-driver.postrm driver-patched/packages/Debian/dists/etch/fglrx-driver.postrm 47a48,60 > # usage: undivert_libglx DIR > undivert_libglx () > { > dpkg-divert --remove --package fglrx-driver \ > --divert "$1/fglrx/diversions/libglx.so" \ > --rename "$1/xorg/modules/extensions/libglx.so" > > if [ -d "$1/fglrx/diversions" ]; then > rmdir "$1/fglrx/diversions" || true > rmdir "$1/fglrx" || true > fi > } > 106a120 > undivert_libglx /usr/lib diff -r driver/packages/Debian/dists/etch/fglrx-driver.preinst driver-patched/packages/Debian/dists/etch/fglrx-driver.preinst 57a58,69 > # usage: divert_libglx DIR > divert_libglx () > { > if [ ! -d "$1/fglrx/diversions" ]; then > mkdir -p "$1/fglrx/diversions" > fi > > dpkg-divert --add --package fglrx-driver \ > --divert "$1/fglrx/diversions/libglx.so" \ > --rename "$1/xorg/modules/extensions/libglx.so" > } > 86a99 > divert_libglx /usr/lib diff -r driver/packages/Debian/dists/experimental/fglrx-driver.postrm driver-patched/packages/Debian/dists/experimental/fglrx-driver.postrm 47a48,60 > # usage: undivert_libglx DIR > undivert_libglx () > { > dpkg-divert --remove --package fglrx-driver \ > --divert "$1/fglrx/diversions/libglx.so" \ > --rename "$1/xorg/modules/extensions/libglx.so" > > if [ -d "$1/fglrx/diversions" ]; then > rmdir "$1/fglrx/diversions" || true > rmdir "$1/fglrx" || true > fi > } > 106a120 > undivert_libglx /usr/lib diff -r driver/packages/Debian/dists/experimental/fglrx-driver.preinst driver-patched/packages/Debian/dists/experimental/fglrx-driver.preinst 57a58,69 > # usage: divert_libglx DIR > divert_libglx () > { > if [ ! -d "$1/fglrx/diversions" ]; then > mkdir -p "$1/fglrx/diversions" > fi > > dpkg-divert --add --package fglrx-driver \ > --divert "$1/fglrx/diversions/libglx.so" \ > --rename "$1/xorg/modules/extensions/libglx.so" > } > 86a99 > divert_libglx /usr/lib diff -r driver/packages/Debian/dists/lenny/fglrx-driver.postrm driver-patched/packages/Debian/dists/lenny/fglrx-driver.postrm 47a48,60 > # usage: undivert_libglx DIR > undivert_libglx () > { > dpkg-divert --remove --package fglrx-driver \ > --divert "$1/fglrx/diversions/libglx.so" \ > --rename "$1/xorg/modules/extensions/libglx.so" > > if [ -d "$1/fglrx/diversions" ]; then > rmdir "$1/fglrx/diversions" || true > rmdir "$1/fglrx" || true > fi > } > 106a120 > undivert_libglx /usr/lib diff -r driver/packages/Debian/dists/lenny/fglrx-driver.preinst driver-patched/packages/Debian/dists/lenny/fglrx-driver.preinst 57a58,69 > # usage: divert_libglx DIR > divert_libglx () > { > if [ ! -d "$1/fglrx/diversions" ]; then > mkdir -p "$1/fglrx/diversions" > fi > > dpkg-divert --add --package fglrx-driver \ > --divert "$1/fglrx/diversions/libglx.so" \ > --rename "$1/xorg/modules/extensions/libglx.so" > } > 86a99 > divert_libglx /usr/lib diff -r driver/packages/Debian/dists/sid/fglrx-driver.postrm driver-patched/packages/Debian/dists/sid/fglrx-driver.postrm 47a48,60 > # usage: undivert_libglx DIR > undivert_libglx () > { > dpkg-divert --remove --package fglrx-driver \ > --divert "$1/fglrx/diversions/libglx.so" \ > --rename "$1/xorg/modules/extensions/libglx.so" > > if [ -d "$1/fglrx/diversions" ]; then > rmdir "$1/fglrx/diversions" || true > rmdir "$1/fglrx" || true > fi > } > 106a120 > undivert_libglx /usr/lib diff -r driver/packages/Debian/dists/sid/fglrx-driver.preinst driver-patched/packages/Debian/dists/sid/fglrx-driver.preinst 57a58,69 > # usage: divert_libglx DIR > divert_libglx () > { > if [ ! -d "$1/fglrx/diversions" ]; then > mkdir -p "$1/fglrx/diversions" > fi > > dpkg-divert --add --package fglrx-driver \ > --divert "$1/fglrx/diversions/libglx.so" \ > --rename "$1/xorg/modules/extensions/libglx.so" > } > 86a99 > divert_libglx /usr/lib So while the Debian fglrx packages are preferable maybe something can be learned from this work-around. Perhaps adding these dependencies to the Debian fglrx packages would help as would the patches to the code. Maybe the patches should be rolled into the git repository at http://www.phorogit.com/ but I don't know who to contact to get that done. Let me know if you have any problems with these step as I did them all at once and may have left something out of the description. I hope it helps. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org