2
$\begingroup$

I recently installed an AMD graphics card in my machine (Radeon RX570 to be exact), which should be OpenCL 2.0 compatible according to AMD, but when I try to set my Cycles render device to OpenCL, I get the "no compatible GPUs found for path tracing" error. This is my first time using an AMD graphics card- are any additional drivers are required for OpenCL to work in Blender?

I am running Linux Mint 19.3. inxi -G returns:

  Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X] 
  driver: amdgpu v: 5.4.7.20.10 
  Display: x11 server: X.Org 1.20.5 driver: amdgpu,ati 
  unloaded: fbdev,modesetting,vesa 
  resolution: 1280x1024~60Hz, 1024x768~60Hz, 1920x1080~60Hz 
  OpenGL: renderer: Radeon RX 570 Series 
  v: 4.6.13594 Core Profile Context 20.10 ```
$\endgroup$
1
$\begingroup$

GPU rendering with OpenCL requires the proprietary AMD drivers on Linux. This is documented in Blender's manual:

AMD drivers are open source, except for the OpenCL support which is available as part of Pro drivers. Installing packages through your Linux distribution is usually best. AMD also provides graphics drivers for download on their website if you need the latest version.

AMD Drivers and Support Website

| improve this answer | |
$\endgroup$
  • $\begingroup$ Thanks. So, once I download that driver, the command is ./amdgpu-isntall --pro, yes? Do I need to do anything else? I'm still getting the error... (still kind of new to Linux and Blender) $\endgroup$ – Aidan F May 14 at 22:42
0
$\begingroup$

CYCLES_OPENCL_TEST env var

In my case with AMD 530 mobile I got it detected only after reading source (OpenCLInfo::get_usable_devices -> OpenCLInfo::device_supported) and finding CYCLES_OPENCL_TEST environment variable check:

$ CYCLES_OPENCL_TEST=1 ./blender --debug-cycles --log-level '-1'

Now go to Edit > Preferences > System > Cycles Render Devices > OpenCL

opencl_util.cpp:945 Enumerating devices for platform Clover.
opencl_util.cpp:983 Adding new device AMD ICELAND (DRM 3.35.0, 5.4.0-37-generic, LLVM 9.0.1).

Without this variable it was

opencl_util.cpp:995 Ignoring device AMD ICELAND ..., not officially supported yet.

Open question

What is VLOG(3) in OpenCLInfo::device_supported and how do I send it to stderr/stdout?

No proprietory drivers

Also , I didn't install proprietary drivers, just sudo apt install mesa-opencl-icd

OpenCL C 1.1 static error

And it doesn't work when I try to actually render anything with it. I guess the relevant line from the log is

error: OpenCL C version 1.1 does not support the 'static' storage class specifier

YMMV.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.