Problem installing catalyst 13.1 in debian
#1
Hi Guys, Not long ago I changed to debian. And tried to install the drivers catalyst 13.1 but I got a lot of problems, there a lot of forums talking about that but seems that not worked for all, also in my Case.

look
this is the kernel I have

Code:
Linux The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) 3.7-trunk-686-pae #1 SMP Debian 3.7.2-0+kali5 i686 GNU/Linux

When I try to install the drivers using this :
Code:
./amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run
I got this in the error's log :
Code:
Check if system has the tools required for installation.
fglrx installation requires that the system have kernel headers.  /lib/modules/3.7-trunk-686-pae/build/include/linux/version.h cannot be found on this system.
One or more tools required for installation cannot be found on the system.

other page said that installing this will help
Code:
apt-get install fglrx-control fglrx-driver
But also nothing
I've been trying a lot of ways even like in ubuntu I used --force but in this case I only got a black screen after rebooting.

Does anyone have a way to do it right?

thnx
#2
apt-get install kernel-headers
#3
Already Did that

Code:
linux-headers-3.7-trunk-686-pae is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 270 not upgraded
but the problem is the same, is not able to install the drivers. I can use force also, but in other tries I did, where installed but oclhashcat was not launched.
#4
@eljolot did solve his problem (I helped him a little bit on hashcat irc 2-3 days ago) by checking/doing following steps (BTW: he told me he will post the solution here, but I don't see it so I will do - be warned that I don't remember each command very well, but it should be something like...):
- sudo amdconfig --uninstall
- sudo apt-get remove --purge amd* fglrx* # check if you don't remove anything you need, but this should be *kind of* save
- Ensure that .../include/linux/version.h is available (you need to have the kernel-headers as @radix pointed out)
- the installer is searching for /usr/src/linux-headers-$(uname -r)/build/include/linux/version.h ... If I remember well this file didn't exist but we used a symbolic link hack to point the "linux" directory to /usr/src/include/linux .... The command that we used may be (similar to) this one: sudo ln -s /usr/src/include/linux /usr/src/linux-headers-$(uname -r)/build/include/linux OR similar
- then @eljolot's distro used 3.7 kernel <- this kernel needs a little patch of a file in the installer, see: http://askubuntu.com/questions/224663/ho...nel-3-7rc7 (if the patch link - http://catalyst.apocalypsus.net/files/ar...-3.7.patch - doesn't work for you, use this one: https://docs.google.com/open?id=0B4VfWnV...2xnOC1TWlU OR https://raw.github.com/fcoambrozio/slack...-3.7.patch , also see: http://www.ubuntukiller.com/2013/03/how-...penCL-Well (Kali)-linux.html and http://henryhermawan.blogspot.com/2012/1...l-37x.html )
- BUT: don't build a deb package (not needed), but run the installer via "sudo ./ati-installer.sh 9.002 --install"
- installer should succeed (after the above patch) and then the installer will ask you for reboot -> reboot and see oclHashcat* working

Best

UPDATE: Check also @eljolot posts below, it seems that he has saved the console history etc... a nice step-by-step tutorial is still very welcome @eljolot. thx
#5
I didn't Forget to do it. I'm trying to clean out all We did, Cause I have two logs. One of the computer we were talking and the other where I was installing the drivers, and thats is confusing me a little bit.

Yes we did a symlink but the folder was /lib/modules/3.7-trunk-686-pae/build/include/linux/
#6
Sorry for the long waiting, I have some problems understanding what we do, also I tried to get help from the team working in The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) linux, and they said that they are not going to fix anything. they gave some commands to "fix" the problem but that commands are only the peak of iceberg.

Special thanks to philsmd Big Grin

Let's begin :3]

this tuto was made using a pc with linux, kernel:
Code:
Linux The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) 3.7-trunk-686-pae #1 SMP Debian 3.7.2-0+kali5 i686 GNU/Linux

1. lets see try to find out what you have installed by issuing following command

Code:
sudo dpkg --get-selection|grep -i fglrx

we should remove the drivers installed by the distro and try to do a clean install, at the ouput we shoul have someting like this:

Code:
fglrx-atieventsd
fglrx-control
fglrx-driver
fglrx-modules-dkms
glx-alternative-fglrx
libfglrx:i386
libfglrx-amdxba1:i386

then we should uninstall all using purge, we should write in the terminal something like this, if you have more, the add them:

Code:
apt-get remove fglrx-atieventsd fglrx-control fglrx-driver fglrx-modules-dkms glx-alternative-fglrx glx-alternative-fglrx libfglrx-amdxba1:i386

WARNING!!!! after this you should have your installer downloaded, cause after rebooting you won't have graphics at all, just command line !!!!

download the version 13.1 catalyst from:

Code:
http://www2.ati.com/drivers/linux/amd-driver-installer-catalyst-13.1-linux-x86.x86_64.zip

uncompress it and then

Code:
sudo chmod +x amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run


Suggestion, download the file in /root then you won't have to be writing the full path were is it, you will save time.

Also, you have to download the patch for the .run file from:

Code:
https://docs.google.com/file/d/0B4VfWnVnFzi4a3R6N2xnOC1TWlU/edit?pli=1
Then we reboot, and if your computer is well configurated even only with the command line you should have internet cause we will need it.
The problem with this kernel is that the file "version.h" is not in the correct folder, the only will do a simbolic link. also you will need maybe other pc or write all this commands in a papper. I guess you're now in your command line the follow the next steps:

to avoid any problems we will check if we have the headers installed:

Code:
apt-get install linux-headers-$(uname -r)

If they are installed uninstall them and the reinstall(optional step)

Code:
apt-get remove --purge linux-headers-$(uname -r)

then again

Code:
apt-get install linux-headers-$(uname -r)

after the install of the headers we will try to locate were the "version.h" is located

Code:
locate version.h

in our case was located in

Code:
/usr/include/linux/version.h

the correct place should be(that was written in our logs file when tried to install, this folder can be other)

Code:
/lib/modules/3.7-trunk-686-pae/build/include/linux/

then in this step could be different from other versions, cause in the bug trackers of The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) linux said that the folder should be /usr/src/ but in our case was /lib/modules/ , we made the symlink with this commands:

Code:
ln -s /usr/include/linux/ /lib/modules/3.7-trunk-686-pae/build/include/linux/

At this moment all should work, and the drivers could be installed, if you want install them or keep working in the command line. I installed and rebooted to use graphics and work faster, then write in your command line:

Code:
./amd-driver-installer-catalyst-12.10-x86.x86_64.run

after installing, reboot, and the graphics should work. Hope you remember that we donwloaded the patch, now we will use it to patch the installer.
first we need to extract the .run installer where we consider necessary.

Code:
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~# ./amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run --extract ./src
Creating directory ./src
Verifying archive integrity... All good.
Uncompressing AMD Catalyst(TM) Proprietary Driver-9.012...............................
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~# cd ./src

then you should go where the file fglrx-3.7.patch was saved, and patch the file firegl_public.c located in the extracted .run file, in our case in the folder:

Code:
/root/src/common/lib/modules/fglrx/build_mod/

then

Code:
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~# cd ..
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~# patch -Np1 --verbose < fglrx-3.7.patch
Hmm...  Looks like a unified diff to me...
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- firegl_public.c    2012-12-26 14:53:14.843334069 +0700
|+++ firegl_public.c.new    2012-12-26 15:23:23.220996869 +0700
--------------------------
File to patch: /root/src/common/lib/modules/fglrx/build_mod/firegl_public.c    
Patching file /root/src/common/lib/modules/fglrx/build_mod/firegl_public.c using Plan A...
Hunk #1 succeeded at 3892.
Hunk #2 succeeded at 3926.
Hunk #3 succeeded at 3949.
Hunk #4 succeeded at 3962.
Hunk #5 succeeded at 4008.
Hunk #6 succeeded at 4047.
Hunk #7 succeeded at 4065.
Hunk #8 succeeded at 4090.
done
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~# cd ./src
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~/src# ./ati-installer.sh 9.002 --install

after that the drivers should be installed without any problem, then reboot your machine. and enjoy hashcat Big Grin
let's see a screenshot from my terminal. Big Grin

http://oi49.tinypic.com/212zsr4.jpg

any questions, ask us Big Grin
#7
Hi

after your instruction i got

AMD Catalyst(TM) Proprietary Driver Installer/Packager
=====================================================================
Detected configuration:
Architecture: x86_64 (64-bit)
X Server: X.Org 6.9 or later 64-bit
loki_setup: directory: (null)
/usr/bin/zenity: error while loading shared libraries: libGL.so.1: wrong ELF class: ELFCLASS32
#8
But your using The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) linux? I see in the error that is "zenity" that is other distro.

(06-09-2013, 03:28 PM)qpens8 Wrote: Hi

after your instruction i got

AMD Catalyst(TM) Proprietary Driver Installer/Packager
=====================================================================
Detected configuration:
Architecture: x86_64 (64-bit)
X Server: X.Org 6.9 or later 64-bit
loki_setup: directory: (null)
/usr/bin/zenity: error while loading shared libraries: libGL.so.1: wrong ELF class: ELFCLASS32
#9
(04-16-2013, 07:09 PM)eljolot Wrote: ...
At this moment all should work, and the drivers could be installed, if you want install them or keep working in the command line. I installed and rebooted to use graphics and work faster, then write in your command line:

Code:
./amd-driver-installer-catalyst-12.10-x86.x86_64.run

after installing, reboot, and the graphics should work. Hope you remember that we donwloaded the patch, now we will use it to patch the installer.
first we need to extract the .run installer where we consider necessary.

Code:
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~# ./amd-driver-installer-catalyst-13.1-linux-x86.x86_64.run --extract ./src
Creating directory ./src
Verifying archive integrity... All good.
Uncompressing AMD Catalyst(TM) Proprietary Driver-9.012...............................
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~# cd ./src

then you should go where the file fglrx-3.7.patch was saved, and patch the file firegl_public.c located in the extracted .run file, in our case in the folder:

Code:
/root/src/common/lib/modules/fglrx/build_mod/

then

Code:
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~# cd ..
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~# patch -Np1 --verbose < fglrx-3.7.patch
Hmm...  Looks like a unified diff to me...
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- firegl_public.c    2012-12-26 14:53:14.843334069 +0700
|+++ firegl_public.c.new    2012-12-26 15:23:23.220996869 +0700
--------------------------
File to patch: /root/src/common/lib/modules/fglrx/build_mod/firegl_public.c    
Patching file /root/src/common/lib/modules/fglrx/build_mod/firegl_public.c using Plan A...
Hunk #1 succeeded at 3892.
Hunk #2 succeeded at 3926.
Hunk #3 succeeded at 3949.
Hunk #4 succeeded at 3962.
Hunk #5 succeeded at 4008.
Hunk #6 succeeded at 4047.
Hunk #7 succeeded at 4065.
Hunk #8 succeeded at 4090.
done
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~# cd ./src
root@The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali):~/src# ./ati-installer.sh 9.002 --install

after that the drivers should be installed without any problem, then reboot your machine. and enjoy hashcat Big Grin
let's see a screenshot from my terminal. Big Grin

http://oi49.tinypic.com/212zsr4.jpg

any questions, ask us Big Grin

The last part is really kind of messy, not correct and inconsistent:
the patch does not work on the installer alone, but instead on of the actual code. So there is really no point to run the installer and then extract the source code from it, patch it, compile and install again. the first step is redundant and does not serve the purpose, since is just not really installing the correct version, actaully most likely not installing anything since the compilation fails.
Also using that approach if the installer did not check for previous installation and clean up left-overs you would have a mess of a patchwork drivers and unfinished opcode files.
also the patch you are using would only work for a very narrow kernel versions, instead the "official" and correct patches for debian and catalyst 13.1 are more then just one and are available here:
http://wiki.debian.org/Installing_ATI_fg...est_kernel
or you can also try the official packages here:
http://wiki.debian.org/ATIProprietary

Just my 2c.
#10
(07-07-2013, 09:40 PM)eljolot Wrote: But your using The-Distribution-Which-Does-Not-Handle-OpenCL-Well (Kali) linux? I see in the error that is "zenity" that is other distro.

(06-09-2013, 03:28 PM)qpens8 Wrote: Hi

after your instruction i got

AMD Catalyst(TM) Proprietary Driver Installer/Packager
=====================================================================
Detected configuration:
Architecture: x86_64 (64-bit)
X Server: X.Org 6.9 or later 64-bit
loki_setup: directory: (null)
/usr/bin/zenity: error while loading shared libraries: libGL.so.1: wrong ELF class: ELFCLASS32
The error could, but has most likely nothing to do with the different distro, it is just saying that the calling program (a 64bit one) is loading the wrong (a 32bit one) library.
Probably the just compiled 64bit library is not set or included into your environment, most likely because the patched code and installer script is not complete/tested and it is a work in progress or unfinished, so it would not modify your $LD_LIBRARY_PATH variable or /etc/ld.so.conf.d/ and possibly break something untill is tested and known to be stable.
Just include it yourself and it should work:
add a file with the .conf suffix in the /etc/ld.so.conf.d/ directory with the following two lines:
/usr/lib
/usr/lib64