Getting AMD Catalyst drivers working with the Linux desktop. The saga continues with a solution.

Screenshot of the Catalyst Control Centre.
Screenshot of the Catalyst Control Centre.

I had a hell of a time getting my Radeon HD6670 card to work with my Linux Mint 13 installation; eventually I tried the fglrx packages from the Linux Mint repositories instead of the drivers from the ATI website. The actual driver module will not compile and I will have to try and edit the source code to get the driver to compile.

I downloaded the drivers initially from the ATI website but they would not work.

[ john@3.2.0-2-486 ]
[ Jobs 0.PWD: ~/Downloads.bash 4.2.20. ] [ 3 ]
[ 14:51:53 ]
[ $ ]-> wget "http://www2.ati.com/drivers/linux/amd-driver-installer-12-1-x86.x86_64.run"
--2012-09-26 14:51:57--  http://www2.ati.com/drivers/linux/amd-driver-installer-12-1-x86.x86_64.run
Resolving www2.ati.com (www2.ati.com)... 68.232.45.78
Connecting to www2.ati.com (www2.ati.com)|68.232.45.78|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 106085279 (101M) [application/octet-stream]
Saving to: `amd-driver-installer-12-1-x86.x86_64.run'
 
100%[=====================================================================>] 106,085,279 1.33M/s   in 78s     
 
2012-09-26 14:53:15 (1.30 MB/s) - `amd-driver-installer-12-1-x86.x86_64.run' saved [106085279/106085279]

Then after installing the fglrx packages from the Linux Mint repositories I had no success; this is the error message I got when I loaded up Xorg. This is a snippet from the /var/log/Xorg.0.log.

[    38.653] (==) fglrx(0): NoDRI = NO
[    38.653] (==) fglrx(0): Capabilities: 0x00000000
[    38.653] (==) fglrx(0): CapabilitiesEx: 0x00000000
[    38.653] (==) fglrx(0): OpenGL ClientDriverName: "fglrx_dri.so"
[    38.653] (==) fglrx(0): UseFastTLS=0
[    38.653] (==) fglrx(0): BlockSignalsOnLock=1
[    38.653] (--) Depth 24 pixmap format is 32 bpp
[    38.653] (EE) fglrx(0): atiddxDriScreenInit failed, GPS not been initialized. 
[    38.653] (WW) fglrx(0): ***********************************************************
[    38.653] (WW) fglrx(0): * DRI initialization failed                               *
[    38.653] (WW) fglrx(0): * kernel module (fglrx.ko) may be missing or incompatible *
[    38.653] (WW) fglrx(0): * 2D and 3D acceleration disabled                         *
[    38.653] (WW) fglrx(0): ***********************************************************
[    38.658] (II) fglrx(0): FBADPhys: 0xf00000000 FBMappedSize: 0x10000000
[    38.829] (II) fglrx(0): FBMM initialized for area (0,0)-(1920,8191)
[    38.829] (II) fglrx(0): FBMM auto alloc for area (0,0)-(1920,1920) (front color buffer - assumption)
[    38.829] (II) fglrx(0): Largest offscreen area available: 1920 x 6271
[    38.831] (==) fglrx(0): Backing store disabled
[    38.831] (II) Loading extension FGLRXEXTENSION
[    38.831] (==) fglrx(0): DPMS enabled
[    38.831] (II) fglrx(0): Initialized in-driver Xinerama extension
[    38.831] (WW) fglrx(0): Textured Video not supported without DRI enabled.
[    38.831] (II) LoadModule: "glesx"

After visiting the /usr/src/fglrx-8.960 folder and trying to compile the driver source code manually; this is the error message I got.

flynn-grid-runner fglrx-8.960 # ./make.sh 
AMD kernel module generator version 2.1
./make.sh: line 390: [: too many arguments
./make.sh: line 396: [: too many arguments
doing Makefile based build for kernel 2.6.x and higher
rm -rf *.c *.h *.o *.ko *.a .??* *.symvers
make -C /lib/modules/3.4.0-rc2-bejiitas/build SUBDIRS=/usr/src/fglrx-8.960/2.6.x modules
make[1]: Entering directory `/usr/src/linux-headers-3.4.0-rc2-bejiitas'
  CC [M]  /usr/src/fglrx-8.960/2.6.x/firegl_public.o
/usr/src/fglrx-8.960/2.6.x/firegl_public.c: In function ‘kasInitExecutionLevels’:
/usr/src/fglrx-8.960/2.6.x/firegl_public.c:4184:5: error: ‘cpu_possible_map’ undeclared (first use in this function)
/usr/src/fglrx-8.960/2.6.x/firegl_public.c:4184:5: note: each undeclared identifier is reported only once for each function it appears in
/usr/src/fglrx-8.960/2.6.x/firegl_public.c:4184:5: warning: left-hand operand of comma expression has no effect [-Wunused-value]
make[2]: *** [/usr/src/fglrx-8.960/2.6.x/firegl_public.o] Error 1
make[1]: *** [_module_/usr/src/fglrx-8.960/2.6.x] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.4.0-rc2-bejiitas'
make: *** [kmod_build] Error 2
build failed with return value 2

Here I am searching for the cpu-possible_map variable and I did not find anything in the source folder.

flynn-grid-runner fglrx-8.960 # grep -R * "cpu_possible"
make.sh:echo "doing Makefile based build for kernel 2.6.x and higher" | tee -a $logfile
make.sh:cd 2.6.x
make.sh:echo 'This is a dummy file created to suppress this warning: could not find /lib/modules/fglrx/build_mod/2.6.x/.libfglrx_ip.a.cmd for /lib/modules/fglrx/build_mod/2.6.x/libfglrx_ip.a' > .lib${MODULE}_ip.a.cmd
make.sh:ln -s 2.6.x/${MODULE}${kmod_extension}
make.sh.log:doing Makefile based build for kernel 2.6.x and higher
make.sh.log:make -C /lib/modules/3.4.0-rc2-bejiitas/build SUBDIRS=/usr/src/fglrx-8.960/2.6.x modules
make.sh.log:  CC [M]  /usr/src/fglrx-8.960/2.6.x/firegl_public.o
make.sh.log:/usr/src/fglrx-8.960/2.6.x/firegl_public.c: In function ‘kasInitExecutionLevels’:
make.sh.log:/usr/src/fglrx-8.960/2.6.x/firegl_public.c:4184:5: error: ‘cpu_possible_map’ undeclared (first use in this function)
make.sh.log:/usr/src/fglrx-8.960/2.6.x/firegl_public.c:4184:5: note: each undeclared identifier is reported only once for each function it appears in
make.sh.log:/usr/src/fglrx-8.960/2.6.x/firegl_public.c:4184:5: warning: left-hand operand of comma expression has no effect [-Wunused-value]
make.sh.log:make[2]: *** [/usr/src/fglrx-8.960/2.6.x/firegl_public.o] Error 1
make.sh.log:make[1]: *** [_module_/usr/src/fglrx-8.960/2.6.x] Error 2
grep: cpu_possible: No such file or directory

This variable seems to be in another source file. I ended up using the SUSE Studio website to build a custom SUSE 12.1 ISO with the KDE 4 desktop and the fglrx drivers slipstreamed into the ISO. I am running that distribution right now and the desktop effects powered by my Radeon GPU are very fast indeed. So I can still run Linux after all; Windows 7 is nice but the Linux desktop does not require product activation and it is nice and sleek. Hacking on the driver source code to get the drivers working is not much fun. If I use the ATI Radeon drivers supplied with the Linux kernel; the display is all messed up and Xorg will crash. The proprietary drivers are the way to go if they will let you operate your computer. Now I am very happy indeed. As I wrote in this post: http://www.securitronlinux.com/bejiitaswrath/suse-studio-build-a-customized-suse-distribution-with-a-web-interface/ I wish that the Ubuntu distribution could be built in a web interface like SUSE Studio; maybe in the future.

No comments have been made. Use this form to start the conversation :)

Leave a Reply