PDA

View Full Version : (Guide) Installing Fglrx + OpenCL + Pryit for AMD Video cards



staticn0de
2014-09-18, 10:08
Hi all,

I've seen a few posts now with people having issues getting their AMD card to work on 1.0.9. I've made a short guide on how to install Fglrx and all the other good stuff to run pyrit and oclhashcat under OpenCL.

Edit: I've also now written a post on how to use cal++ and the latest AMD (14.4.2) driver on Kali 1.0.9. Cal++ has shown itself to be much faster than OpenCL. It's harder to install but I've made some easy to follow step by steps. Use the guide https://forums.kali.org/showthread.php?22782-%28Guide%29-Fglrx-AMD-APP-SDK-Pyrit-Cal-for-AMD-Video-Cards for cal++ or alternatively continue with what's below if you want an easy performance boost with OpenCL. However, it's not as large as cal++.

This is the non-free AMD Catalyst driver. The following cards / series are supported by the (at time of writing) latest 14.4.2 driver in the Kali repo.

AMD Radeon R9 Series, AMD Radeon R7 Series, AMD Radeon HD 8000, AMD Radeon HD 7000, AMD Radeon HD 6000, and AMD Radeon HD 5000

For reference, I've written this on an older i2600k running an AMD Radeon HD 6970 which has Kali 1.0.9 installed.

1. Install and update Kali 1.0.9

apt-get update && apt-get upgrade && apt-get dist-upgrade

2. Install kali headers

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

3. Install the driver

apt-get install fglrx-driver fglrx-atieventsd fglrx-control

4. Build the xorg config file

aticonfig --initial

5. Reboot

shutdown -r now

6. fglrx will now be in the loaded modules

lsmod

7. Install a bunch of things we will need for later

apt-get install libpcap-dev python-dev libssl-dev

8. Download and start building pyrit

cd ~

svn checkout http://pyrit.googlecode.com/svn/trunk/ pyrit_svn

cd pyrit_svn/pyrit/

python setup.py build
python setup.py install

cd ../cpyrit_opencl


9. Install the OpenCL stuff we need

apt-get install amd-opencl-icd amd-opencl-dev

10. Build the OpenCL stuff for pyrit

python setup.py build
python setup.py install

11. Test pyrit and you should see your OpenCL device

pyrit list_cores

12. Benchmark it

pyrit benchmark

That's it. It's really that simple to use AMD cards with OpenCL.

staticn0de
2014-09-18, 10:16
I've also tested this with oclhashcat. You will receive an error about an unsupported video driver. It still works with the --force parameter.

tr00n3r
2014-09-23, 15:31
Hi,

OpenCL works without problems for me, CAL++ not :(
I have done some testing with Kali driver from Repo and Debian Sid (I have nothing to do and CAL++ is not working for me right now so...)

Card is PowerColor PCS+ R9 290X
http://www.tomshardware.com/reviews/powercolor-pcs-r9-290x-graphics-card-review,3803.html

pyrit benchmark_long - 3 times and took the best result (card only!)


Driver
Repo
SDK
PMKs/s


14.10.1006.1001
kali
v2.9-1.599.381
#1: 'OpenCL-Device 'Hawaii'': 97168.3 PMKs/s (RTT 1.8)


14.201.1006.1002
debian sid
v2.9-1.599.381
#1: 'OpenCL-Device 'Hawaii'': 101031.7 PMKs/s (RTT 1.8)


seems to me that the newer driver has a little bit more performance :)

staticn0de
2014-09-23, 19:14
Hi,

OpenCL works without problems for me, CAL++ not :(
I have done some testing with Kali driver from Repo and Debian Sid (I have nothing to do and CAL++ is not working for me right now so...)

Card is PowerColor PCS+ R9 290X
http://www.tomshardware.com/reviews/powercolor-pcs-r9-290x-graphics-card-review,3803.html

pyrit benchmark_long - 3 times and took the best result (card only!)


Driver
Repo
SDK
PMKs/s


14.10.1006.1001
kali
v2.9-1.599.381
#1: 'OpenCL-Device 'Hawaii'': 97168.3 PMKs/s (RTT 1.8)


14.201.1006.1002
debian sid
v2.9-1.599.381
#1: 'OpenCL-Device 'Hawaii'': 101031.7 PMKs/s (RTT 1.8)


seems to me that the newer driver has a little bit more performance :)

Thanks for posting your stats!

It's kind of sad that OpenCL cripples the power of a 290x to only just more than my couple of year old HD6970. I need to keep working on Cal++ for my 290x.

kali-86
2014-10-08, 14:09
excellent thread just installed this with no errors or problems good work :)

beddj
2015-12-28, 16:00
So first thank you, your tutorial got me farther than the hours i spent reading other, I finally got pyrit to actually "see" my GPU. Then when I bench mark i get this, any thoughts?
Pyrit 0.4.1-dev (svn r308) (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com
This code is distributed under the GNU General Public License v3+

Calibrating... Exception in thread OpenCL-Device 'Hawaii':
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 113, in run
self._testComputeFunction(101)
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 102, in _testComputeFunction
self.solve(Core.TV_ESSID, [Core.TV_PW] * i))):
SystemError: Failed to create command-queue (CL_OUT_OF_HOST_MEMORY)

Exception in thread CPU-Core (SSE2/AES):
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 110, in run
essid, pwlist = self.queue._gather(self.buffersize, timeout=0.5)
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 632, in _gather
self._check_cores()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 490, in _check_cores
raise SystemError("The core '%s' has died unexpectedly" % core)
SystemError: The core 'OpenCL-Device 'Hawaii'' has died unexpectedly
Exception in thread CPU-Core (SSE2/AES):
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 110, in run
essid, pwlist = self.queue._gather(self.buffersize, timeout=0.5)
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 632, in _gather
self._check_cores()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 490, in _check_cores
raise SystemError("The core '%s' has died unexpectedly" % core)
SystemError: The core 'OpenCL-Device 'Hawaii'' has died unexpectedly
Exception in thread CPU-Core (SSE2/AES):
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 110, in run
essid, pwlist = self.queue._gather(self.buffersize, timeout=0.5)
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 632, in _gather
self._check_cores()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 490, in _check_cores
raise SystemError("The core '%s' has died unexpectedly" % core)
SystemError: The core 'OpenCL-Device 'Hawaii'' has died unexpectedly

Exception in thread CPU-Core (SSE2/AES):
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 110, in run
essid, pwlist = self.queue._gather(self.buffersize, timeout=0.5)
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 632, in _gather
self._check_cores()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 490, in _check_cores
raise SystemError("The core '%s' has died unexpectedly" % core)
SystemError: The core 'OpenCL-Device 'Hawaii'' has died unexpectedly



Exception in thread CPU-Core (SSE2/AES):
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 110, in run
essid, pwlist = self.queue._gather(self.buffersize, timeout=0.5)
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 632, in _gather
self._check_cores()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 490, in _check_cores
raise SystemError("The core '%s' has died unexpectedly" % core)
SystemError: The core 'OpenCL-Device 'Hawaii'' has died unexpectedly

Traceback (most recent call last):
File "/usr/local/bin/pyrit", line 6, in <module>
pyrit_cli.Pyrit_CLI().initFromArgv()
File "/usr/local/lib/python2.7/dist-packages/pyrit_cli.py", line 117, in initFromArgv
func(self, **options)
File "/usr/local/lib/python2.7/dist-packages/pyrit_cli.py", line 1182, in benchmark
cp.enqueue('foo', ['barbarbar'] * 500)
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 564, in enqueue
self._check_cores()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 490, in _check_cores
raise SystemError("The core '%s' has died unexpectedly" % core)
SystemError: The core 'OpenCL-Device 'Hawaii'' has died unexpectedly

tr00n3r
2016-02-12, 20:10
hi,

will this work also on Kali 2.0 (sana) - I have changed my card to a HD7990 - so now I need pyrit to test :D

Jimbas
2016-02-24, 14:03
Hi there!

I just bought my new machine and the only image I found from the official source was the new Kali 2016.1.
I was unable to follow this or any other "how to" to install the amd drivers!

I think the proble is the sources, as this new Kali has a lot less.

Anyone have tried to install the cpiryt and opencl in this version? How?

Tks!!

a-bit
2016-03-01, 20:55
Hi all,

I've seen a few posts now with people having issues getting their AMD card to work on 1.0.9. I've made a short guide on how to install Fglrx and all the other good stuff to run pyrit and oclhashcat under OpenCL.

Edit: I've also now written a post on how to use cal++ and the latest AMD (14.4.2) driver on Kali 1.0.9. Cal++ has shown itself to be much faster than OpenCL. It's harder to install but I've made some easy to follow step by steps. Use the guide https://forums.kali.org/showthread.php?22782-%28Guide%29-Fglrx-AMD-APP-SDK-Pyrit-Cal-for-AMD-Video-Cards for cal++ or alternatively continue with what's below if you want an easy performance boost with OpenCL. However, it's not as large as cal++.

This is the non-free AMD Catalyst driver. The following cards / series are supported by the (at time of writing) latest 14.4.2 driver in the Kali repo.

AMD Radeon R9 Series, AMD Radeon R7 Series, AMD Radeon HD 8000, AMD Radeon HD 7000, AMD Radeon HD 6000, and AMD Radeon HD 5000

For reference, I've written this on an older i2600k running an AMD Radeon HD 6970 which has Kali 1.0.9 installed.

1. Install and update Kali 1.0.9

apt-get update && apt-get upgrade && apt-get dist-upgrade

2. Install kali headers

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

3. Install the driver

apt-get install fglrx-driver fglrx-atieventsd fglrx-control

4. Build the xorg config file

aticonfig --initial

5. Reboot

shutdown -r now

6. fglrx will now be in the loaded modules

lsmod

7. Install a bunch of things we will need for later

apt-get install libpcap-dev python-dev libssl-dev

8. Download and start building pyrit

cd ~

svn checkout http://pyrit.googlecode.com/svn/trunk/ pyrit_svn

cd pyrit_svn/pyrit/

python setup.py build
python setup.py install

cd ../cpyrit_opencl


9. Install the OpenCL stuff we need

apt-get install amd-opencl-icd amd-opencl-dev

10. Build the OpenCL stuff for pyrit

python setup.py build
python setup.py install

11. Test pyrit and you should see your OpenCL device

pyrit list_cores

12. Benchmark it

pyrit benchmark

That's it. It's really that simple to use AMD cards with OpenCL.


Reading package lists... Done
Building dependency tree
Reading state information... Done
Package fglrx-driver is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'fglrx-driver' has no installation candidate
E: Unable to locate package fglrx-atieventsd
E: Unable to locate package fglrx-control

a-bit
2016-03-01, 21:40
http://unix.stackexchange.com/questions/222661/how-to-install-amd-catalyst-15-7-fglrx-15-20-1046-on-kali-2-0-sana

This link above really helps if you are struggling to get AMD driver working with Kali 2.0

a-bit
2016-03-03, 20:37
root@kali:~/pyrit_svn/cpyrit_opencl# pyrit benchmark
Pyrit 0.4.1-dev (svn r308) (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com
This code is distributed under the GNU General Public License v3+

Calibrating... Exception in thread OpenCL-Device 'Hawaii':
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 113, in run
self._testComputeFunction(101)
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 102, in _testComputeFunction
self.solve(Core.TV_ESSID, [Core.TV_PW] * i))):
SystemError: Failed to create command-queue (CL_OUT_OF_HOST_MEMORY)

Exception in thread CPU-Core (SSE2/AES):
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 110, in run
essid, pwlist = self.queue._gather(self.buffersize, timeout=0.5)
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 632, in _gather
self._check_cores()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 490, in _check_cores
raise SystemError("The core '%s' has died unexpectedly" % core)
SystemError: The core 'OpenCL-Device 'Hawaii'' has died unexpectedly
Exception in thread CPU-Core (SSE2/AES):
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 110, in run
essid, pwlist = self.queue._gather(self.buffersize, timeout=0.5)
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 632, in _gather
self._check_cores()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 490, in _check_cores
raise SystemError("The core '%s' has died unexpectedly" % core)
SystemError: The core 'OpenCL-Device 'Hawaii'' has died unexpectedly

Exception in thread CPU-Core (SSE2/AES):
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 110, in run
essid, pwlist = self.queue._gather(self.buffersize, timeout=0.5)
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 632, in _gather
self._check_cores()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 490, in _check_cores
raise SystemError("The core '%s' has died unexpectedly" % core)
SystemError: The core 'OpenCL-Device 'Hawaii'' has died unexpectedly


Traceback (most recent call last):
File "/usr/local/bin/pyrit", line 6, in <module>
pyrit_cli.Pyrit_CLI().initFromArgv()
File "/usr/local/lib/python2.7/dist-packages/pyrit_cli.py", line 117, in initFromArgv
func(self, **options)
File "/usr/local/lib/python2.7/dist-packages/pyrit_cli.py", line 1182, in benchmark
cp.enqueue('foo', ['barbarbar'] * 500)
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 564, in enqueue
self._check_cores()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/cpyrit.py", line 490, in _check_cores
raise SystemError("The core '%s' has died unexpectedly" % core)
SystemError: The core 'OpenCL-Device 'Hawaii'' has died unexpectedly
root@kali:~/pyrit_svn/cpyrit_opencl#




What does this mean, why is my GPU core dying? I worked hard to get this far, dropped out of hoping CALPP would work so reverted to trying to use OPENCL and, i have got as far as this. Any ideas?