Installing AMDGPU drivers on Dell M7710 with AMD W5170m and running OpenCL without AMDGPU-PRO

I lost password for one of encrypted folders recently, but I remembered approximate "charset" of it and just wanted to try to bruteforce it. I have a W5170m GPU in my laptop, but since it is GCN 1.0 card - I had troubles adding OpenCL support necessary for any tool to bruteforce hashes on GPU. Below are steps to get it up and running.

First - I needed to get open-source amdgpu driver to work instead of radeon. My card is GCN 1.0 and 4.11 kernel has enabled use of amdgpu driver for these cards IF radeon driver is blacklisted. Blacklisting it in /etc/modprobe.d/blacklist did not do it for me. Finally after adding modprobe.blacklist=radeon to grub config disabled radeon driver.

But now my system would freeze without any errors. Turned out I had to disable amdgpu's DPM by also adding amdgpu.dpm=0 into grub config.

Once I was able to run desktop with amdgpu, I had to enable OpenCL somehow. Official way is to install proprietary driver from AMD - AMDGPU-PRO. I downloaded 17.10 version only to find that kernel 4.11 is not supported by installed (nor 4.10 and I think 4.9 is also out of luck.) So the only option seems to be available is to downgrade to 4.8 kernel and custom compile it to enable amdgpu driver for GCN 1.0 cards.

Thankfully I stumbled upon forum post describing how to load OpenCL libraries without actually using AMDGPU-PRO drivers -

The easiest way to unpack all the pieces is to:

  • run installer sudo ./amdgpu-pro-install --compute (we will uninstall it later - do not reboot until you uninstall it)
  • save following folders from uninstalling by renaming them:
    • sudo cp -r /etc/OpenCL /etc/OpenCL.bak
    • sudo cp -r /opt/amdgpu-pro /opt/amdgpu
  • uninstall AMDGPU-PRO - sudo amdgpu-pro-uninstall
  • Restore saved OpenCL folder from step #2: sudo mv /etc/OpenCL.bak /etc/OpenCL

Now you have all libraries to run OpenCL app. The easiest way to test is to install clinfo tool and run like this: LD_LIBRARY_PATH=/opt/amdgpu/lib/x86_64-linux-gnu/ clinfo

You should get long diagnostic output. If everything looks alright - now you can run your favorite OpenCL application on your AMD card!