Guide | Install AMD OpenCL on: Pop!OS & some Ubuntu Derivates | Linux, amdgpu, amdgpu-pro, rocm, rocr

Thanks, @Tpal. My Radeons are no-pro, but I’m running them with -pro drivers anyway. After reinstall the issue is gone. I think it was related to some Mesa package.

Shame that Blender does not work with either 20.45, or recent 21.10 AMD drivers.

Hey @Tpal

I wanted to report an evolution on my setup as I have upgraded and can run blender 2.92 successfully with OpenCL for my RX580.

OS: Pop’OS 20.10
Kernel: 5.11.0-7614
amdgpu: v21.10
blender: v2.92
GPU: AMD RX580 8GB
CPU: Intel Core i5-8600k

I tried the version 20.50 and that messed up my system pretty badly due to the kernel 5.11 and me experimenting with the amdgpu installer with DKMS - not fully surprised by the result.
I managed to install v21.10 by using ./amdgpu-install --no-dkms --opencl=legacy,pal

When I messed my install with 20.50, I rebooted and amdgpu was gone with other video driver resulting to the system falling back to a 1024x768 resolution.
After checking /etc/modprobe.d folder. After boot, I just loaded the module using sudo modprobe amdgpu and it worked. I also disabled the blacklist that I guess, came from my destructive testing with v20.50.

With regards to Blender v2.92, I tried the flatpak version but there is no amdgpu version integrated into flatpak so the available v2.92 on flatpak does not have amdgpu support.
From the packages, only v2.83.5 is available. I decided to compile blender which worked successfully for me by following this guide:
https://wiki.blender.org/wiki/Building_Blender/Linux/Ubuntu
Make sure to pull the right branch as blender 3.0 is now (as the time of this post) the master branch and very much in alpha version.

I just followed the documentation and can summarize it here:
sudo apt-get update
sudo apt-get install build-essential git subversion cmake libx11-dev libxxf86vm-dev libxcursor-dev libxi-dev libxrandr-dev libxinerama-dev libglew-dev

Then for version 2.92:

mkdir ~/blender-git
cd ~/blender-git
git clone -b v2.92.0 https://git.blender.org/blender.git

Download libraries - a must (I have tried building them but it is a waste of time):
mkdir ~/blender-git/lib
cd ~/blender-git/lib
svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/linux_centos7_x86_64

And finally:
cd ~/blender-git/blender
make update
make

I have now the ability to also test future builds which I had not really considered before.
I can launch v2.92 with OpenCL support on my RX580

2 Likes

It was really a shame.
But the good news: AMD has released a new driver.
That seems to work on 20.10 and newer GPUs.
The instructions are updated too (Scenario#1 step 1.1).
Thanks to Blenderis, for bringing this version to my attention.

the only thing left to watch out for:
This combination only seems to work correctly with Blender versions ≥= 2.92.

2 Likes

Thanks @Tpal.
I gave new drivers a try and I cannot get it working unfortunately. This time I followed the advice and installed non-PRO version.
I’m on Debian Bullseye (testing) fork, kernel 5.10.0-6, Blender 3.0 master.

./amdgpu-install --no-dkms --opencl=legacy,pal installs the drivers without an error, but Blender don’t see any OpenCL compute devices.

After this I did sudo apt install opencl-headers ocl-icd-libopencl1 and it also installed correctly, and again, without result.

Also when I try with -PRO variant like: ./amdgpu-pro-install --no-dkms --opencl=pal,legacy --headless I get ERROR: using --no-dkms with a pro install is invalid.

Hm, I have no experience with Debian.

the last Pro driver versions, kinda force a full installation: Vulcan, dkms rebuilds etc.
(Pzona has provided instructions on how to work around this behavior here .)
Maybe R VII needs the pro stack?! AMD does not provide any information about this.
Unfortunately, I don’t have this GPU for further testing.

But thanks for trying!

I will continue to monitor, what the problem might be.
But at some point, Google search is also limited.

Edit: What steps were taken to get the old drivers working?

That was my initial assumption, considering that this SKU is refitted enterprise Instinct card.

Initially I installed required packages for PRO 20.40 drivers manually. Detailes are in this post: Can't enable OpenCL for AMD RX 5700 XT on Linux

However, right now I installed non-PRO variant of 20.40 driver with ./amdgpu-install --no-dkms --opencl=legacy,pal --headless and it works.

Under Debian both 20.45 and 21.10 drivers don’t work with Radeon VII.
I’ll give Penoza’s idea a try, and report here.

1 Like

@Tpal Wanted to follow up on confirming my instructions work with Blender v2.93 - not very surprising but I thought I shared since I upgraded.

1 Like

@Tpal Summer 2021 update

Upgraded to Pop’OS 21.04
Upgrade AMDGPU drivers to 21.20

Blender v2.93 working with OpenCL fine.

Not explicitly, however I would use the release notes page which has direct links and it is easy to link multiple versions:

https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-21-20
https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-21-10
https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-20-50
https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-20-45
https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux-20-30

Command that worked

./amdgpu-pro-install -y --opencl=legacy,rocr

for my AMD 5600XT

  • PopOS 21.04 (most recent at the moment)
  • amdgpu-pro-21.30-1290604-ubuntu-20.04
  • Blender 2.93.2 (.tar archive from website)

Note the pal option is no longer supported.

And I did also follow another advice from help file doc/install-installing.html#installation-opencl-optional-component

sudo usermod -a -G render $LOGNAME

(not sure if it was really needed).

This post gave me hope. :slight_smile:

1 Like

Hello,
I used your command and Blender now detect the Radeon VII but i have some errors :

Des erreurs ont été rencontrées pendant l’exécution :
amdgpu-dkms
amdgpu
amdgpu-pro-rocr-opencl
amdgpu-pro
amdgpu-pro-lib32
E: Sub-process /usr/bin/dpkg returned an error code (1)

In Blender I can render in WP but sometimes freeze.
F12 render freeze often on the first tile !

Blender 2.93.4 (from archive)
drivers : amdgpu-pro-21.30-1290604-ubuntu-20.04
Radeon VII
Pop os 21.04

Good day, just reporting that the following worked for me:

OS: Pop!OS 21.04
Kernel: 5.13.0-7614-generic
Driver: amdgpu-pro-21.30-1290604-ubuntu-20.04
GPU: Radeon RX570 4GB

  1. Append |pop to OS list on line 147 of the amdgpu-install script
  2. Run ./amdgpu-install --no-dkms --opencl=legacy
  3. sudo modprobe amdgpu

Note:

  • Check for any AMD-related blacklist configuration files in /etc/modprobe.d. I had a blacklist-amd.conf lingering from previous troubleshooting steps that had me scratch my head for a bit, wondering why amdgpu would load manually but not automatically… : )
1 Like

Here to report some more odd behavior :slight_smile:

My installation broke a couple days ago after upgrading my firmware. Checking my dpkg log, I realized this morning that my kernel was upgraded to 5.13.0-7614-generic (I usually try to skip this when updating many packages at once but I must have been careless).

Long story short, the whole system became unbootable with the drivers installed and I had to refresh my Pop installation. I currently have it working with:

Driver: 20.40
GPU: Radeon RX 5700 XT
Blender: 2.93.4
Kernel: 5.13.0-7614-generic

Not sure what ultimately got it back into a working state, but I would reiterate a point from the original post: ensure you have installed the opencl-headers ocl-icd-libopencl1 packages. It wasn’t until I did this that it started working again. Even then, it took a couple attempts so I’m not sure what made it finally work.

2 Likes

Thanks for this. Had to downgrade to amdgpu 20.40 to get this working on a Pop!_OS 21.04 installation I have running alongside my main Ubuntu 20.04 install. Also reiterate that opencl-headers ocl-icd-libopencl1 packages are necessary.

Somewhat bad news. AMD changed their Linux driver distribution method. For the version 21.40.1 AMD provides direct link to one small executable that is requesting the rest of the packages automatically over the network. Either this installer can be modified or Linux users of different distros than Ubuntu/RHEL will need to compile ROCm drivers from source.

The drivers are targeting enterprise so it is understandable that distro choice is limited, but with the upcoming ROCm in Blender this can end with a lot of troubles for Linux desktop users. Time will tell how this will play out.

On a side note. LLVM12 dropped in my repo. After upgrading I’m able to install AMDGPU drivers version 21.30 with the following command:

./amdgpu-install --no-dkms --opencl=rocr --headless

Notice “r” in rocr. The rocm with “m” doesn’t work. Also the script is trying to install dkms anyway. Luckily I don’t have kernel headers for the kernel I’m running and this step is skipped during driver install.
OpenCL rendering works.

1 Like

Using Pop_OS! 21.10 beta with 21.40.1 drivers

  1. nano /etc/os-release, set ID=ubuntu
  2. Install .deb from http://amd.com support for Ubuntu 20.04
  3. sudo amdgpu-install --usecase=graphics,multimedia,lrt --no-dkms
  4. sudo apt install opencl-headers
  5. revert 1) and reboot

Both latest Blender and Davinci Resolve detect and use the cards I have!

4 Likes

After some fiddling, I can get the driver installer for 21.40.1 completing its work on PopOS 21.10 with an RX580 only if I have the drivers for 21.20 installed manually first.

I am struggling to verify what is installed as the modinfo only reports a src version.

I strongly doubt I run the 21.40.1 version of amdgpu drivers.

Can somebody confirm their output for ‘modinfo amdgpu | grep -i version’ ?
For some reason, I only get the srcversion which does not help me.

https://lists.debian.org/debian-ai/2021/11/threads.html#00054
Check mails with AMD ROCm packaging.
If this endeavor succeeds it might ease installation process for average Debian user quite a lot.

1 Like

Thanks @silex for this pointer. Wouldn’t that mean it will only support recent AMD GPU architectures only though?

1 Like

That’s great news! Thanks for the mailing list, I’ll read it to the bottom.

@Blenderis new Rocm versions seem to support Polaris 11 cards as well.
(but maybe blender won´t work with it, right now.)

Maybe this is also an interesting test object for me later. :grinning:

1 Like