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

Hey,
I’m going to show you one way, how to install the OpenCL drivers / headers only.
In a relatively simple way.
After some back and forth, to get OpenCL on my Pop!OS computer running,
I’ve learned some pitfalls to be solved.

Disclaimer
The installation routine shown: does not correspond to the AMD procedure.
It bypasses some of the security / compatibility checks.
I do not accept any liability or guarantee for damage to: the system, hardware and/or software.
Use at your own risk.
With that said and out of the way, let’s begin.

Sources:
Radeon™ Software for Linux® Installation > Table of Content | readthedocs.io
Installing All Open / Pro Variant | readthedocs.io
opencl-optional-component | readthedocs.io
Informations about ROCm/ROCr readthedocs.io

Application-specific limitations of ROCm and Blender | developer.blender
ROCm Compatible Hardware | GitHub
Further instructions for installing ROCm | rocmdocs.amd

Table of content:

Scenario#1
Installation & Troubleshooting | Steps: 9
You don’t have tried / installed AMD drivers: (OPENCL ONLY)

Scenario#2
Uninstall Properly | Steps: 3
You have tried installing the AMD Drivers but somethings went wrong.

Scenario#3
Your system is un-bootable. | Steps: 3
Recover your System.

Compatibility:

Tested Hardware:
AMD RX580

Incompatible Hardware > for this Method:

  • RX 5000/6000 Series | These models may also be compatible with the latest drivers. Let me know if you succeeded.
  • Integrated Motherboard Graphics
  • Server Graphics
  • R5, R7 Series
  • HD Series
  • ATi Series / Legacy Graphics

Tested OS´s/Platforms: | by Contributor:
Pop!OS 20.04 LTS
Pop!OS 20.10 | Blenderis, Aisyk
Feren OS 2021.04

Tested Driver Versions: | by Contributor:
(Radeon Software for Linux Driver for Ubuntu)
18.04 → Revision: 20.30
18.04.5 → Revision: 20.40 | Blenderis
20.04.1 → Revision: 20.45 / 20.50 | Incompatible with <=> OS 20.04 and Blender dualhammers
20.04.2 → Revision: 21.10 | Blenderis

Tested on Blender: | by Contributor:
-Compatible with old drivers
2.82a | Blenderis
2.83.5 | Blenderis, Aisyk
2.90 Alpha
2.91.0 Alpha
No crashes or graphics errors in Cycles:
on latest driver version: (20.04.2 → Revision: 21.10)

Downloaded as archive/s from → Daily builds | builder.blender.org
2.92 Beta | Blenderis
2.93.0 Beta
3.0.0 Alpha

Thanks to all Contributors. :heart_decoration:

Guide

Scenario#1
You don’t have installed AMD drivers: (OpenCL ONLY)

1. Go to AMD Driver support
Download the Driver Tarball for your GPUfor Ubuntu Distributions.
OR
1.1 Get the Latest universal package | AMD.com (Radeon™ Software for Linux® version 21.10 for Ubuntu)
Please check the compatibility of your graphics card in the section: (Compatibility with the AMD Radeon ™ product family)

2. Extract the Tarball and open the new Folder
(amdgpu-pro-20.10-1048554-ubuntu-18.04) in my case.

3. Edit the (amdgpu-install file) for compatibility
Double-click on the amdgpu-install
- A text editor should open

  • Search for Ubuntu (Ctrl f)
    -add | pop to the case list
    - Once the new case has been added, press (Ctrl + s) to save the file and close the text editor.

  • Note: This step is the key which will add the operating system as a compatible distribution.
    CaseAbfrage

4. Right-click on an empty space. In the same folder where the file “amdgpu-install” is located->

  • Right Click → “Open in Terminal"
    Now you should have a terminal window with a path pointer, to your downloaded Driver Folder.

5. In the Terminal
Now the fun begins, including the installation process.

OS 20.04~20.10:

Driver Version:
20.04.2 → Revision: 21.10

  • AMD GPU
    ./amdgpu-install --no-dkms --opencl=legacy,pal

  • AMD GPU-Pro | mainly for PRO GPU variants.
    ./amdgpu-pro-install --no-dkms --opencl=pal,legacy

Old Driver Version/s:
18.04 → Revision: 20.30,
18.04.5 → Revision: 20.40

  • AMD GPU
    ./amdgpu-install --no-dkms --opencl=legacy,pal --headless

  • AMD GPU-Pro | mainly for PRO GPU variants.
    ./amdgpu-pro-install --no-dkms --opencl=pal,legacy --headless

  • AMD GPU ROCm/ROCr | not fully supported by Blender
    ./amdgpu-install --no-dkms --opencl=rocm --headless

If a warning message like “Build Error 1” or similar is displayed, do not restart your system!
Follow Scenario 2 below, properly uninstall the AMD GPU drivers and start the installation process again.

Some explanation for the --Flags

  • –no-dkms
    This flag prevents a kernel rebuild and the installation of:
    amdgpu-pro-firmware and other DKMS packages.
    Note: POP!OS is incompatible with these drivers.
    DKMS Rebuilding leads to errors.
    This can/will result in a non-bootable OS.

6. Installation


As you can see there are some dependencies required for the installation.
As long as the package names do not contain references such as →
DKMS, Firmware, Vulkan or OpenGL.
You are ready to go. Press Y and confirm.

7. Check your installation in the terminal by typing: clinfo
If the installation was successful:
it should answer: number of devices: 1 or
(If you have more than one OpenCL compatible device it should output something >0.)

8. Reboot your System

9. Check Blender


If the result looks like the picture above:
Congratulations, you have just successfully installed AMD proprietary OpenCL on Linux!

TROUBLESHOOTING

If not: Blender and / or Clinfo do not show me compatible OpenCL devices:

  • It may be helpful or even necessary to install the following package manually:
    sudo apt install opencl-headers ocl-icd-libopencl1
    Thanks to Aisyk

  • Flat pack versions of Blender do not work properly with OpenCL.
    Thanks to Aisyk, Blenderis

  • It can be helpful to test one of the daily builds.
    They contain some hotfixes for new hardware and solve version problems.
    It is possible that the OpenCL hardware detection and / or other bugs have already been fixed with this version.

  • Note: sometimes you need to reinstall Blender or move it to another Place.
    (If Downloaded from Blender.org as Archive.)

  • If Blender fails to start, artifacts appear in eevvee or the Cycles kernel build is unsuccessful.
    Check whether you are using the following drivers: : 20.04.1 / Revision: 20.45 or 20.04.1 / 20.04.2 Revision: 20.50
    If this is the case: These versions are neither compatible with Blender nor with operating system versions <=> 20.04.

  • PPA’s
    When using PPAs like: “oibaf” or similar sources for Mesa driver packages.
    Make sure to uninstall them before installing OpenCL.
    As this can lead to conflicts or other problems.
    they can be reinstalled after a successful OpenCL installation.

  • When you come across this message:
    "ERROR: using --no-dkms with a pro install is invalid. Did you want to run the following instead amdgpu-install --no-dkms"
    You can try this Procedure thanks to: pzona
    OR
    Use the non-PRO installer, if your GPU is not a Pro variant.

Scenario#2
Uninstall correctly:
You tried to install AMD drivers but an error occurred.
OR
You can no longer perform a proper uninstall, but your operating system is bootable

1. go to your downloaded amd driver folder and open a terminal->
like in step 4 @ Scenario#1 and type:

  • ./amdgpu-pro-install --uninstall
  • ./amdgpu-install --uninstall

If you have already executed:

  • amdgpu-uninstall OR
  • amdgpu-pro-uninstall
    Result could be:
  • “The amdgpu driver is already installed or was not uninstalled correctly. Please fully uninstall the driver before proceeding with installation You can try running this install script with the --uninstall option to clean up the previous installation.”

1. Not a problem, just open a Terminal and Type:

  • OS 18.04~20.04:
    sudo apt install amdgpu-dkms libdrm-amdgpu-amdgpu1
    Thanks to Blenderis
    This will refresh the Dependency list. Especially the amdgpu-pro-pin.

  • OS 18.04
    sudo apt install amdgpu-dkms libdrm-amdgpu-amdgpu1 libdrm-amdgpu1libdrm2-amdgpu

4. Folow Step 1 @ Scenario#2

3. Reboot your System

Beginn with step 1 @ Scenario#1

Scenario#3
Your system is un-bootable.

Note: this steps will solve a un-bootable OS. (if you have access to the Terminal.)
1. Press/Try (ALT F2)

2. In Terminal Type:

  • cd Downloads/amdgpu-pro-xx.xx-xxxx-ubuntu-xx.xx
    (Note: i assume your downloaded Driver Package is in the Downloads Folder. If not change it according to your path.)
    Please replace the “x” with the numbers of your Driver folder name.
    you can type ls to list the entities.

Once your Path matches the place where your downloaded Driver folder lies.
Type:

  • ./amdgpu-pro-install --uninstall
    ./amdgpu-install --uninstall

3. Reboot your System

(Note: once your system is bootable again)
Beginn with step 1 @ Scenario#1

Happy Linux rendering
-Tpal

Was it helpful / successful for you?

  • If not, please let me know your:
    -OS/Linux version + (kernel version optional)
    -GPU series / model
    -Driver edition + revsion number
    Error message/s (logs, images optional)

  • If you were successful with:
    -Driver version
    -GPU model / series
    -Kernel / Linux version
    I´ve marked as incompatible.
    Please let me know. Also what steps it will take, to make it work.
    This will help keep this guide updated.
    Thanks in regard.

  • Yes
  • No
0 voters
7 Likes

Great explanation. Also, new drivers, nice!
Did you check how’s the performance comparing to 19.50?

1 Like

Unfortunately I have no comparison for the latest drivers. This was my first attempt on PopOS.
However, since I had some pitfalls, I thought it wouldn’t hurt to document the solutions I´ve found.
So that others have a working solution.
Thanks for the kind words.
Glad if it helps someone.

2 Likes

I just wanted to provide some feedback since I am on PopOS 20.04.
Your instructions do not seem to apply. The --no-dkms does not work.

When running amdgpu-pro-install command:

ERROR: using --no-dkms with a pro install is invalid.
Did you want to run the following instead?
amdgpu-install --no-dkms

When running the ./amdgpu-install --opencl=legacy,pal --no-dkms --headless it seems to work better from an installation perspective.

./amdgpu-install --opencl=legacy,pal --no-dkms --headless
deb [ trusted=yes ] file:/var/opt/amdgpu-pro-local/ ./
Get:1 file:/var/opt/amdgpu-pro-local ./ InRelease
Ign:1 file:/var/opt/amdgpu-pro-local ./ InRelease
Get:2 file:/var/opt/amdgpu-pro-local ./ Release [816 B]
Get:2 file:/var/opt/amdgpu-pro-local ./ Release [816 B]
Get:3 file:/var/opt/amdgpu-pro-local ./ Release.gpg                                                                                       
Ign:3 file:/var/opt/amdgpu-pro-local ./ Release.gpg                                                                    
Hit:4 http://packages.microsoft.com/repos/vscode stable InRelease                                                      
Hit:5 http://apt.pop-os.org/proprietary focal InRelease                                                                
Hit:6 http://ppa.launchpad.net/system76/pop/ubuntu focal InRelease
Hit:7 http://us.archive.ubuntu.com/ubuntu focal InRelease
Hit:8 http://us.archive.ubuntu.com/ubuntu focal-security InRelease
Hit:9 http://us.archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:10 http://us.archive.ubuntu.com/ubuntu focal-backports InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Selected version '20.20-1089974' (localhost [all]) for 'amdgpu-pin'
The following packages were automatically installed and are no longer required:
  libomxil-bellagio-bin libomxil-bellagio0 libwayland-server0:i386
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  amdgpu-pin
0 upgraded, 1 newly installed, 0 to remove and 8 not upgraded.
Need to get 0 B/2,684 B of archives.
After this operation, 25.6 kB of additional disk space will be used.
Get:1 file:/var/opt/amdgpu-pro-local ./ amdgpu-pin 20.20-1089974 [2,684 B]
Selecting previously unselected package amdgpu-pin.
(Reading database ... 268523 files and directories currently installed.)
Preparing to unpack .../amdgpu-pin_20.20-1089974_all.deb ...
Unpacking amdgpu-pin (20.20-1089974) ...
Setting up amdgpu-pin (20.20-1089974) ...
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libomxil-bellagio-bin libomxil-bellagio0 libwayland-server0:i386
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  amdgpu-core amdgpu-pro-core libdrm-amdgpu-amdgpu1 libdrm-amdgpu-common libdrm2-amdgpu libopencl1-amdgpu-pro opencl-amdgpu-pro-comgr
The following NEW packages will be installed:
  amdgpu-core amdgpu-pro-core clinfo-amdgpu-pro libdrm-amdgpu-amdgpu1 libdrm-amdgpu-common libdrm2-amdgpu libopencl1-amdgpu-pro
  opencl-amdgpu-pro-comgr opencl-amdgpu-pro-icd opencl-orca-amdgpu-pro-icd
0 upgraded, 10 newly installed, 0 to remove and 8 not upgraded.
Need to get 0 B/78.5 MB of archives.
After this operation, 326 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 file:/var/opt/amdgpu-pro-local ./ amdgpu-core 20.20-1089974 [2,212 B]
Get:2 file:/var/opt/amdgpu-pro-local ./ amdgpu-pro-core 20.20-1089974 [5,556 B]
Get:3 file:/var/opt/amdgpu-pro-local ./ libdrm2-amdgpu 1:2.4.100-1089974 [35.6 kB]
Get:4 file:/var/opt/amdgpu-pro-local ./ libdrm-amdgpu-common 1.0.0-1089974 [4,620 B]
Get:5 file:/var/opt/amdgpu-pro-local ./ libdrm-amdgpu-amdgpu1 1:2.4.100-1089974 [21.0 kB]
Get:6 file:/var/opt/amdgpu-pro-local ./ libopencl1-amdgpu-pro 20.20-1089974 [13.3 kB]
Get:7 file:/var/opt/amdgpu-pro-local ./ clinfo-amdgpu-pro 20.20-1089974 [149 kB]
Get:8 file:/var/opt/amdgpu-pro-local ./ opencl-amdgpu-pro-comgr 20.20-1089974 [27.5 MB]
Get:9 file:/var/opt/amdgpu-pro-local ./ opencl-amdgpu-pro-icd 20.20-1089974 [21.5 MB]
Get:10 file:/var/opt/amdgpu-pro-local ./ opencl-orca-amdgpu-pro-icd 20.20-1089974 [29.2 MB]
Selecting previously unselected package amdgpu-core.
(Reading database ... 268536 files and directories currently installed.)
Preparing to unpack .../0-amdgpu-core_20.20-1089974_all.deb ...
Unpacking amdgpu-core (20.20-1089974) ...
Selecting previously unselected package amdgpu-pro-core.
Preparing to unpack .../1-amdgpu-pro-core_20.20-1089974_all.deb ...
Unpacking amdgpu-pro-core (20.20-1089974) ...
Selecting previously unselected package libdrm2-amdgpu:amd64.
Preparing to unpack .../2-libdrm2-amdgpu_2.4.100-1089974_amd64.deb ...
Unpacking libdrm2-amdgpu:amd64 (1:2.4.100-1089974) ...
Selecting previously unselected package libdrm-amdgpu-common.
Preparing to unpack .../3-libdrm-amdgpu-common_1.0.0-1089974_all.deb ...
Unpacking libdrm-amdgpu-common (1.0.0-1089974) ...
Selecting previously unselected package libdrm-amdgpu-amdgpu1:amd64.
Preparing to unpack .../4-libdrm-amdgpu-amdgpu1_2.4.100-1089974_amd64.deb ...
Unpacking libdrm-amdgpu-amdgpu1:amd64 (1:2.4.100-1089974) ...
Selecting previously unselected package libopencl1-amdgpu-pro:amd64.
Preparing to unpack .../5-libopencl1-amdgpu-pro_20.20-1089974_amd64.deb ...
Unpacking libopencl1-amdgpu-pro:amd64 (20.20-1089974) ...
Selecting previously unselected package clinfo-amdgpu-pro.
Preparing to unpack .../6-clinfo-amdgpu-pro_20.20-1089974_amd64.deb ...
Unpacking clinfo-amdgpu-pro (20.20-1089974) ...
Selecting previously unselected package opencl-amdgpu-pro-comgr.
Preparing to unpack .../7-opencl-amdgpu-pro-comgr_20.20-1089974_amd64.deb ...
Unpacking opencl-amdgpu-pro-comgr (20.20-1089974) ...
Selecting previously unselected package opencl-amdgpu-pro-icd.
Preparing to unpack .../8-opencl-amdgpu-pro-icd_20.20-1089974_amd64.deb ...
Unpacking opencl-amdgpu-pro-icd (20.20-1089974) ...
Selecting previously unselected package opencl-orca-amdgpu-pro-icd:amd64.
Preparing to unpack .../9-opencl-orca-amdgpu-pro-icd_20.20-1089974_amd64.deb ...
Unpacking opencl-orca-amdgpu-pro-icd:amd64 (20.20-1089974) ...
Setting up amdgpu-core (20.20-1089974) ...
Setting up libdrm-amdgpu-common (1.0.0-1089974) ...
Setting up amdgpu-pro-core (20.20-1089974) ...
Setting up opencl-amdgpu-pro-comgr (20.20-1089974) ...
Setting up opencl-orca-amdgpu-pro-icd:amd64 (20.20-1089974) ...
Setting up opencl-amdgpu-pro-icd (20.20-1089974) ...
Setting up libdrm2-amdgpu:amd64 (1:2.4.100-1089974) ...
Setting up libdrm-amdgpu-amdgpu1:amd64 (1:2.4.100-1089974) ...
Setting up libopencl1-amdgpu-pro:amd64 (20.20-1089974) ...
Setting up clinfo-amdgpu-pro (20.20-1089974) ...
Processing triggers for libc-bin (2.31-0ubuntu9) ...

The clinfo ouput looks promising:
clinfo
Number of platforms 1
Platform Name AMD Accelerated Parallel Processing
Platform Vendor Advanced Micro Devices, Inc.
Platform Version OpenCL 2.1 AMD-APP (3110.6)
Platform Profile FULL_PROFILE
Platform Extensions cl_khr_icd cl_amd_event_callback cl_amd_offline_devices
Platform Host timer resolution 1ns
Platform Extensions function suffix AMD

  Platform Name                                   AMD Accelerated Parallel Processing
Number of devices                                 1
  Device Name                                     Ellesmere
  Device Vendor                                   Advanced Micro Devices, Inc.
  Device Vendor ID                                0x1002
  Device Version                                  OpenCL 1.2 AMD-APP (3110.6)
  Driver Version                                  3110.6
  Device OpenCL C Version                         OpenCL C 1.2 
  Device Type                                     GPU
  Device Board Name (AMD)                         Radeon RX 580 Series
  Device Topology (AMD)                           PCI-E, 01:00.0
  Device Profile                                  FULL_PROFILE
  Device Available                                Yes
  Compiler Available                              Yes
  Linker Available                                Yes
  Max compute units                               36
  SIMD per compute unit (AMD)                     4
  SIMD width (AMD)                                16
  SIMD instruction width (AMD)                    1
  Max clock frequency                             1340MHz
  Graphics IP (AMD)                               8.0
  Device Partition                                (core)
    Max number of sub-devices                     36
    Supported partition types                     None
    Supported affinity domains                    (n/a)
  Max work item dimensions                        3
  Max work item sizes                             1024x1024x1024
  Max work group size                             256
  Preferred work group size (AMD)                 256
  Max work group size (AMD)                       1024
  Preferred work group size multiple              64
  Wavefront width (AMD)                           64
  Preferred / native vector sizes                 
    char                                                 4 / 4       
    short                                                2 / 2       
    int                                                  1 / 1       
    long                                                 1 / 1       
    half                                                 1 / 1        (cl_khr_fp16)
    float                                                1 / 1       
    double                                               1 / 1        (cl_khr_fp64)
  Half-precision Floating-point support           (cl_khr_fp16)
    Denormals                                     No
    Infinity and NANs                             No
    Round to nearest                              No
    Round to zero                                 No
    Round to infinity                             No
    IEEE754-2008 fused multiply-add               No
    Support is emulated in software               No
  Single-precision Floating-point support         (core)
    Denormals                                     No
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 Yes
    Round to infinity                             Yes
    IEEE754-2008 fused multiply-add               Yes
    Support is emulated in software               No
    Correctly-rounded divide and sqrt operations  Yes
  Double-precision Floating-point support         (cl_khr_fp64)
    Denormals                                     Yes
    Infinity and NANs                             Yes
    Round to nearest                              Yes
    Round to zero                                 Yes
    Round to infinity                             Yes
    IEEE754-2008 fused multiply-add               Yes
    Support is emulated in software               No
  Address bits                                    64, Little-Endian
  Global memory size                              5700472832 (5.309GiB)
  Global free memory (AMD)                        5525436 (5.269GiB)
  Global memory channels (AMD)                    8
  Global memory banks per channel (AMD)           16
  Global memory bank width (AMD)                  256 bytes
  Error Correction support                        No
  Max memory allocation                           4244635648 (3.953GiB)
  Unified memory for Host and Device              No
  Minimum alignment for any data type             128 bytes
  Alignment of base address                       2048 bits (256 bytes)
  Global Memory cache type                        Read/Write
  Global Memory cache size                        16384 (16KiB)
  Global Memory cache line size                   64 bytes
  Image support                                   Yes
    Max number of samplers per kernel             16
    Max size for 1D images from buffer            134217728 pixels
    Max 1D or 2D image array size                 2048 images
    Base address alignment for 2D image buffers   256 bytes
    Pitch alignment for 2D image buffers          256 pixels
    Max 2D image size                             16384x16384 pixels
    Max 3D image size                             2048x2048x2048 pixels
    Max number of read image args                 128
    Max number of write image args                8
  Local memory type                               Local
  Local memory size                               32768 (32KiB)
  Local memory syze per CU (AMD)                  65536 (64KiB)
  Local memory banks (AMD)                        32
  Max number of constant args                     8
  Max constant buffer size                        4244635648 (3.953GiB)
  Preferred constant buffer size (AMD)            16384 (16KiB)
  Max size of kernel argument                     1024
  Queue properties                                
    Out-of-order execution                        No
    Profiling                                     Yes
  Prefer user sync for interop                    Yes
  Profiling timer resolution                      1ns
  Profiling timer offset since Epoch (AMD)        1593474493860674674ns (Mon Jun 29 19:48:13 2020)
  Execution capabilities                          
    Run OpenCL kernels                            Yes
    Run native kernels                            No
    Thread trace supported (AMD)                  Yes
    Number of async queues (AMD)                  2
    Max real-time compute queues (AMD)            0
    Max real-time compute units (AMD)             0
    SPIR versions                                 1.2
  printf() buffer size                            4194304 (4MiB)
  Built-in kernels                                (n/a)
  Device Extensions                               cl_khr_fp64 cl_amd_fp64 cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_3d_image_writes cl_khr_byte_addressable_store cl_khr_fp16 cl_khr_gl_sharing cl_amd_device_attribute_query cl_amd_vec3 cl_amd_printf cl_amd_media_ops cl_amd_media_ops2 cl_amd_popcnt cl_khr_image2d_from_buffer cl_amd_bus_addressable_memory cl_khr_spir cl_khr_gl_event 

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  No platform
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)   No platform
  clCreateContext(NULL, ...) [default]            No platform
  clCreateContext(NULL, ...) [other]              Success [AMD]
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  Success (1)
    Platform Name                                 AMD Accelerated Parallel Processing
    Device Name                                   Ellesmere
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  Success (1)
    Platform Name                                 AMD Accelerated Parallel Processing
    Device Name                                   Ellesmere
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  Success (1)
    Platform Name                                 AMD Accelerated Parallel Processing
    Device Name                                   Ellesmere

However blender 2.83 installed with flatpak does not recognize any card.

Only blender 2.82a recognizes the card.

If somebody has any guidance on why that would be the case, I would be interested in understanding

1 Like

Hey, sorry for the late response. Also thanks for your feedback.

As far as i know, the Install File without pro can not install opencl.
Just the Pro Variant has included the Open CL Packages. (I’ve updated the Instructions, now it should work with the Pro version.)

If Blender still don’t recognize your Open Cl installation after reboot. Try to move the blender Folder to a different Location. This mostly helped me.

Edit: @Blenderis i’ve updated the Instructions. Thanks again, for this hint with the incompatible Command. i’ve mentioned you on the relevant spots. Hope thatś okay for you.

1 Like

@Tpal Thanks a lot for updating your instructions and integrating the feedback. Your post was useful in the first place so no worries at all.

1 Like

Thanks a bunch for sharing such a complete tutorial Tpal :slight_smile:
I went to AMD Driver support , but at arrival it’s obvious that the website assumes that you need this driver for Windows. How to choose the one for Linux Pop OS ?


Never mind, looks like I found it.
Unfortunately I also learned that my new laptop having only AMD Radeon Vega 6 doesn’t really qualify as Radeon Pro graphics, which is required to use the AMDPro driver :frowning:

1 Like

No worries :slight_smile:
I have not found a solution yet. I am taking a break for now.
The GPU is AMD Radeon Vega 6 Graphics, from a Lenovo IdeaPad Flex 5 14" (2020), AMD Ryzen 4500u.
I’ll try to add more info about my issue later. Thanks in advance Tpal :slight_smile:

Wow, this is amazing! Thank you so much for sharing this valuable info! I appreciate the time you put into it :slight_smile:
I’ll look into this asap!
J.

1 Like

i get this particular error when trying to install the amdgpu pro following your guide

.

Thanks i am using an AMD Radeon HD 6470M with 1GB dedicated DDR3 video memory on a pop 20.04 os. i tried all, it still brings out the same error

its only the mesa,-opencl that worked. i hope all this errors doesn’t have to do with my os installation.
after installing the mesa opencl, how do i setup blender from here. Thanks very much

Thanks. after using step one and two and checked with clinfo command and i got this in the screenshot. does it mean the opencl is installed properly. if it is i can’t still get blender to see it.

@Tpal Just to update this thread following my upgrade to Pop’OS 20.10 and upgrade to amdgpu version 20.40.
Upgraded Pop’OS 20.10
Uninstall the amdgpu drivers (v20.30) according to your steps as I hit the message for previous version being installed
Install the amdgpu drivers (20.40)
Launch blender v2.83.5 with OpenCL support

I thought I would share if you want to update the tested version of amdgpu in your instructions.

1 Like

No change required to the steps. Just followed them and can confirm it works fine.

Thanks again for the original post.

1 Like

Hi !
In the road to install OpenCL render on my PopOS 20.10 with my RX5500XT, i’ve found your thread. Thanks for your informations !

But… it doesn’t work for my system, OpenCL isn’t selectionnable on Blender :confused:
My clinfo : aisyk@pop-os:~$ clinfoNumber of platforms 2 P - Pastebin.com

I’ve installed with this command :
./amdgpu-install --no-dkms --opencl=legacy,pal
AND tested with this : ./amdgpu-install --no-dkms --opencl=rocm

No errors reported everything is installed fine, reboot ok…

(and there is an little error on your paragraph " Some explanation for the --Flags " → –no-dksm you mean --no-dkms :wink: )

1 Like

Ok,

So i could have the OpenCL installed and i know why it don’t worked before.

2 things :

  • don’t install crappy flatpak applications (Blender 2.83.5 from deb repositories is functionnal)
  • and i installed this : sudo apt install opencl-headers ocl-icd-libopencl1
1 Like

Thanks for the tutorial!

I run Pop OS 20.10 and have downloaded the latest AMd drivers (amdgpu-pro-20.40-1147286-ubuntu-20.04) and the installation via /amdgpu-install --no-dkms --opencl=rocm goes without any issues.
But unfortunately, the clinfo still shows 0 devices, and the OpenCL is not visible to any apps, including Blender.

You try reinstalling the package ocl-icd-libopencl1:
sudo apt reinstall ocl-icd-libopencl1

1 Like

Thank you @YAFU but that hasn’t helped either :frowning: