having a GPU using the radeon driver alongside a GPU using the amdgpu driver makes OpenCL applications unable to run at all (crashes GIMP, Darktable, Blender, LuxMark, LibreOffice Calc)
Brief summary of the problem:
This is an issue triggered by the AMDGPU-PRO OpenCL driver and related to DRM. This page said there was previously a DRM/AMDgpu
and a DRM/AMDgpu-pro
component on Bugzilla, but I only found a drm/amd
issue tracker here, I hope it's the right place or someone can transmit it to the right people. Also, the bug may be on an underlying component that is not part of AMDGPU-PRO package, like libdrm
itself.
As a game developer, I want to test games on multiples configurations, including multiple GPUs. Especially, I want to test games I develop on hardware with lower performances and less features than my usual one. For that purpose I just added to my computer an old Radeon HD 3650 alongside my usual R9 390X.
On the graphic side of things, both GPU works, but on the compute side of things, OpenCL application now badly crashes.
I'm using legacy “Orca” OpenCL stack on amdgpu-pro 20.20-1089974 on Ubuntu 20.04. Everything else than OpenCL thing is using stock Ubuntu 20.04 packages: no custom kernel, no amdgpu-pro dkms module, no amdgpu-pro drm, no amdgpu-pro glx, etc.
The R9 390X uses the amdgpu
driver while the HD 3650 uses the radeon
driver.
My first guess is that some code called by the OpenCL thing does not ignore AMD GPUs that do not use the amdgpu
kernel driver.
Crash logs:
This is what I get when I run clinfo
:
$ clinfo
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
Segmentation fault
Then I get this in dmesg
:
[ 5210.087695] clinfo[895940]: segfault at 20 ip 00007f808c140934 sp 00007ffe8d545bc8 error 4 in libdrm_amdgpu.so.1.0.0[7f808c13b000+7000]
[ 5210.087705] Code: c3 48 8d 0d 9e 1b 00 00 ba b7 00 00 00 48 8d 35 22 18 00 00 48 8d 3d b8 18 00 00 e8 76 ac ff ff 66 0f 1f 44 00 00 f3 0f 1e fa <48> 8b 47 20 c3 0f 1f 80 00 00 00 00 f3 0f 1e fa 85 f6 75 38 48 8b
This is what I get when I run gimp
:
$ gimp
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
gimp: fatal error: Segmentation fault
26 ../sysdeps/unix/sysv/linux/read.c: No such file or directory.
Then I get this in dmesg
:
[47621.356412] gimp-debug-tool[426737]: segfault at 0 ip 00007f282ccdbcba sp 00007ffc5515de90 error 4 in libc-2.31.so[7f282ccb5000+178000]
[47621.356419] Code: 41 54 45 31 e4 55 53 48 83 ec 28 48 89 74 24 08 85 c9 0f 85 e0 02 00 00 83 fa 01 0f 84 7f 01 00 00 83 fa 24 0f 87 76 01 00 00 <49> 0f be 45 00 49 8b 70 68 4c 89 eb 48 89 c1 f6 44 46 01 20 74 13
This is what I get when I run darktable-cltest
(I get similar crash and output with darkable
):
$ darktable-cltest
0.031988 [opencl_init] opencl related configuration options:
0.032003 [opencl_init]
0.032006 [opencl_init] opencl: 1
0.032013 [opencl_init] opencl_scheduling_profile: 'default'
0.032018 [opencl_init] opencl_library: ''
0.032025 [opencl_init] opencl_memory_requirement: 768
0.032032 [opencl_init] opencl_memory_headroom: 300
0.032037 [opencl_init] opencl_device_priority: '*/!0,*/*/*'
0.032043 [opencl_init] opencl_mandatory_timeout: 200
0.032049 [opencl_init] opencl_size_roundup: 16
0.032055 [opencl_init] opencl_async_pixelpipe: 0
0.032060 [opencl_init] opencl_synch_cache: false
0.032066 [opencl_init] opencl_number_event_handles: 25
0.032072 [opencl_init] opencl_micro_nap: 1000
0.032077 [opencl_init] opencl_use_pinned_memory: 0
0.032082 [opencl_init] opencl_use_cpu_devices: 0
0.032087 [opencl_init] opencl_avoid_atomics: 0
0.032092 [opencl_init]
0.032314 [opencl_init] found opencl runtime library 'libOpenCL'
0.032337 [opencl_init] opencl library 'libOpenCL' found on your system and loaded
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
[New LWP 623780]
[New LWP 623781]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f8d30f9dc6f in __GI___wait4 (pid=623799, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
27 ../sysdeps/unix/sysv/linux/wait4.c: No such file or directory.
warning: Currently logging to /mnt/tmpfs/darktable_bt_YEKLM0.txt. Turn the logging off and on to make the new setting effective.
#0 0x00007f8d30f9dc6f in __GI___wait4 (pid=623799, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
#1 0x00007f8d31208dc0 in () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#2 0x00007f8d30efe210 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007f8d310c0934 in amdgpu_get_marketing_name () at /opt/amdgpu/lib/x86_64-linux-gnu/libdrm_amdgpu.so.1
#4 0x00007f8d0b691f26 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#5 0x00007f8d0b6925df in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#6 0x00007f8d0b6953e1 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#7 0x00007f8d0b6b10e8 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#8 0x00007f8d0b7f3b1b in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#9 0x00007f8d0b6855c9 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#10 0x00007f8d0b68563f in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#11 0x00007f8d0b686543 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#12 0x00007f8d0b8a78dc in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#13 0x00007f8d0b8a9081 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#14 0x00007f8d0b8a9276 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#15 0x00007f8d0b65515e in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#16 0x00007f8d0b636705 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#17 0x00007f8d0dbb2b98 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#18 0x00007f8d0b6367c5 in clIcdGetPlatformIDsKHR () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#19 0x00007f8d1730fb44 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#20 0x00007f8d19ce9fb9 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#21 0x00007f8d1730fcac in clIcdGetPlatformIDsKHR () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#22 0x00007f8d291028d3 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so
#23 0x00007f8d291048a7 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so
#24 0x00007f8d30ea247f in __pthread_once_slow (once_control=0x7f8d293070d8, init_routine=0x7f8d291046e0) at pthread_once.c:116
#25 0x00007f8d29102ea1 in clGetPlatformIDs () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so
#26 0x00007f8d311f3369 in dt_opencl_init () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#27 0x00007f8d31173a95 in dt_init () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#28 0x000055d6f4d531c2 in ()
#29 0x00007f8d30edf0b3 in __libc_start_main (main=0x55d6f4d53100, argc=1, argv=0x7ffe7b6ecad8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe7b6ecac8) at ../csu/libc-start.c:308
#30 0x000055d6f4d5321e in ()
=========
Id Target Id Frame
* 1 Thread 0x7f8d2a3d5e80 (LWP 623774) "darktable-cltes" 0x00007f8d30f9dc6f in __GI___wait4 (pid=623799, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
2 Thread 0x7f8d2a347700 (LWP 623780) "gmain" 0x00007f8d30fcd96f in __GI___poll (fds=0x55d6f6010e60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
3 Thread 0x7f8d29b46700 (LWP 623781) "gdbus" 0x00007f8d30fcd96f in __GI___poll (fds=0x55d6f6079780, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
=========
Thread 3 (Thread 0x7f8d29b46700 (LWP 623781)):
#0 0x00007f8d30fcd96f in __GI___poll (fds=0x55d6f6079780, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
resultvar = 18446744073709551100
sc_cancel_oldtype = 0
#1 0x00007f8d30c1a1ae in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f8d30c1a533 in g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f8d30086eda in () at /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4 0x00007f8d30c43931 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007f8d30e99609 in start_thread (arg=<optimized out>) at pthread_create.c:477
ret = <optimized out>
pd = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140244266804992, 736041967988644550, 140730969235214, 140730969235215, 140730969235360, 140244266743936, -780071460420052282, -780086362939581754}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
#6 0x00007f8d30fda103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 2 (Thread 0x7f8d2a347700 (LWP 623780)):
#0 0x00007f8d30fcd96f in __GI___poll (fds=0x55d6f6010e60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
resultvar = 18446744073709551100
sc_cancel_oldtype = 0
#1 0x00007f8d30c1a1ae in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007f8d30c1a2e3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007f8d30c1a331 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007f8d30c43931 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007f8d30e99609 in start_thread (arg=<optimized out>) at pthread_create.c:477
ret = <optimized out>
pd = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140244275197696, 736041967988644550, 140730969234782, 140730969234783, 140730969234928, 140244275136640, -780065969841235258, -780086362939581754}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
#6 0x00007f8d30fda103 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 1 (Thread 0x7f8d2a3d5e80 (LWP 623774)):
#0 0x00007f8d30f9dc6f in __GI___wait4 (pid=623799, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
resultvar = 18446744073709551104
sc_cancel_oldtype = 0
#1 0x00007f8d31208dc0 in () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#2 0x00007f8d30efe210 in <signal handler called> () at /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007f8d310c0934 in amdgpu_get_marketing_name () at /opt/amdgpu/lib/x86_64-linux-gnu/libdrm_amdgpu.so.1
#4 0x00007f8d0b691f26 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#5 0x00007f8d0b6925df in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#6 0x00007f8d0b6953e1 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#7 0x00007f8d0b6b10e8 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#8 0x00007f8d0b7f3b1b in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#9 0x00007f8d0b6855c9 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#10 0x00007f8d0b68563f in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#11 0x00007f8d0b686543 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#12 0x00007f8d0b8a78dc in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#13 0x00007f8d0b8a9081 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#14 0x00007f8d0b8a9276 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#15 0x00007f8d0b65515e in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#16 0x00007f8d0b636705 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#17 0x00007f8d0dbb2b98 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#18 0x00007f8d0b6367c5 in clIcdGetPlatformIDsKHR () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so
#19 0x00007f8d1730fb44 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#20 0x00007f8d19ce9fb9 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#21 0x00007f8d1730fcac in clIcdGetPlatformIDsKHR () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so
#22 0x00007f8d291028d3 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so
#23 0x00007f8d291048a7 in () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so
#24 0x00007f8d30ea247f in __pthread_once_slow (once_control=0x7f8d293070d8, init_routine=0x7f8d291046e0) at pthread_once.c:116
_buffer = {__routine = 0x7f8d30ea24d0 <clear_once_control>, __arg = 0x7f8d293070d8, __canceltype = -166211056, __prev = 0x0}
val = <optimized out>
newval = <optimized out>
#25 0x00007f8d29102ea1 in clGetPlatformIDs () at /opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so
#26 0x00007f8d311f3369 in dt_opencl_init () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#27 0x00007f8d31173a95 in dt_init () at /usr/bin/../lib/x86_64-linux-gnu/darktable/libdarktable.so
#28 0x000055d6f4d531c2 in ()
#29 0x00007f8d30edf0b3 in __libc_start_main (main=0x55d6f4d53100, argc=1, argv=0x7ffe7b6ecad8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffe7b6ecac8) at ../csu/libc-start.c:308
result = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {94381718975200, 736041967988644550, 94381718974960, 140730969279184, 0, 0, -735770535113385274, -780086325248255290}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x1, 0x7ffe7b6ecad8}, data = {prev = 0x0, cleanup = 0x0, canceltype = 1}}}
not_first_call = <optimized out>
#30 0x000055d6f4d5321e in ()
[Inferior 1 (process 623774) detached]
backtrace written to /mnt/tmpfs/darktable_bt_YEKLM0.txt
Segmentation fault
Then I get this in dmesg
:
[58602.211877] darktable-cltes[569076]: segfault at 0 ip 0000000000000000 sp 00007ffc4271b9a8 error 14 in darktable-cltest[55877f0aa000+1000]
[58602.211893] Code: Bad RIP value.
This is what I get when I run luxmark
:
$ ./luxmark
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
./luxmark: line 12: 701062 Segmentation fault ./luxmark.bin "$@"
Then I get this in dmesg
:
[349008.562942] luxmark.bin[704547]: segfault at 20 ip 00007fec81fb8934 sp 00007ffdac9fa6f8 error 4 in libdrm_amdgpu.so.1.0.0[7fec81fb3000+7000]
[349008.562949] Code: c3 48 8d 0d 9e 1b 00 00 ba b7 00 00 00 48 8d 35 22 18 00 00 48 8d 3d b8 18 00 00 e8 76 ac ff ff 66 0f 1f 44 00 00 f3 0f 1e fa <48> 8b 47 20 c3 0f 1f 80 00 00 00 00 f3 0f 1e fa 85 f6 75 38 48 8b
This is what I get when I run blender
and open the Preferences window:
$ blender
Read prefs: /home/illwieckz/.config/blender/2.83/config/userpref.blend
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.
Writing: /tmp/blender.crash.txt
Segmentation fault
I get nothing in dmesg
but this is the content of blender.crash.txt
:
# Blender 2.83.0, Unknown revision
# backtrace
/usr/lib/blender/blender(BLI_system_backtrace+0x37) [0x55ce85900977]
/usr/lib/blender/blender(+0xf4db90) [0x55ce830e5b90]
/lib/x86_64-linux-gnu/libc.so.6(+0x46210) [0x7f8faa0fe210]
/opt/amdgpu/lib/x86_64-linux-gnu/libdrm_amdgpu.so.1(amdgpu_get_marketing_name+0x4) [0x7f8f8c190934]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(+0xcd1f26) [0x7f8e5b691f26]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(+0xcd25df) [0x7f8e5b6925df]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(+0xcd53e1) [0x7f8e5b6953e1]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(+0xcf10e8) [0x7f8e5b6b10e8]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(+0xe33b1b) [0x7f8e5b7f3b1b]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(+0xcc55c9) [0x7f8e5b6855c9]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(+0xcc563f) [0x7f8e5b68563f]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(+0xcc6543) [0x7f8e5b686543]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(+0xee78dc) [0x7f8e5b8a78dc]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(+0xee9081) [0x7f8e5b8a9081]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(+0xee9276) [0x7f8e5b8a9276]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(+0xc9515e) [0x7f8e5b65515e]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(+0xc76705) [0x7f8e5b636705]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(+0x31f2b98) [0x7f8e5dbb2b98]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl-orca64.so(clIcdGetPlatformIDsKHR+0x55) [0x7f8e5b6367c5]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so(+0xcbfb44) [0x7f8e6730fb44]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so(+0x3699fb9) [0x7f8e69ce9fb9]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libamdocl64.so(clIcdGetPlatformIDsKHR+0xcc) [0x7f8e6730fcac]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so.1(+0x28d3) [0x7f8fa03d28d3]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so.1(+0x48a7) [0x7f8fa03d48a7]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x1247f) [0x7f8fb119247f]
/opt/amdgpu-pro/lib/x86_64-linux-gnu/libOpenCL.so.1(clGetPlatformIDs+0x11) [0x7f8fa03d2ea1]
/usr/lib/blender/blender(_ZN3ccl18device_opencl_infoERNS_6vectorINS_10DeviceInfoENS_16GuardedAllocatorIS1_EEEE+0x4d) [0x55ce841a9f0d]
/usr/lib/blender/blender(_ZN3ccl6Device17available_devicesEj+0x768) [0x55ce8418a858]
/usr/lib/blender/blender(+0x1f79d47) [0x55ce84111d47]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x2a1227) [0x7f8fac4e9227]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyObject_MakeTpCall+0xa7) [0x7f8fac4e9697]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x73083) [0x7f8fac2bb083]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x8067) [0x7f8fac2c3467]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x7e0db) [0x7f8fac2c60db]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x2a192a) [0x7f8fac4e992a]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x72ffd) [0x7f8fac2baffd]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x8067) [0x7f8fac2c3467]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x7e0db) [0x7f8fac2c60db]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x2a192a) [0x7f8fac4e992a]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x72ffd) [0x7f8fac2baffd]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x8067) [0x7f8fac2c3467]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x7e0db) [0x7f8fac2c60db]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x2a192a) [0x7f8fac4e992a]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x72ffd) [0x7f8fac2baffd]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(_PyEval_EvalFrameDefault+0x8067) [0x7f8fac2c3467]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(+0x7e0db) [0x7f8fac2c60db]
/usr/lib/x86_64-linux-gnu/libpython3.8.so.1.0(PyVectorcall_Call+0x5c) [0x7f8fac4e93cc]
/usr/lib/blender/blender(+0x153b5cd) [0x55ce836d35cd]
/usr/lib/blender/blender(+0x14f5f22) [0x55ce8368df22]
/usr/lib/blender/blender(+0x155a161) [0x55ce836f2161]
/usr/lib/blender/blender(ED_region_panels_layout_ex+0x2d5) [0x55ce836f4705]
/usr/lib/blender/blender(+0x2d0921b) [0x55ce84ea121b]
/usr/lib/blender/blender(wm_draw_update+0x38d) [0x55ce833ab5cd]
/usr/lib/blender/blender(WM_main+0x30) [0x55ce833a9650]
/usr/lib/blender/blender(main+0x2c5) [0x55ce8308e3d5]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3) [0x7f8faa0df0b3]
/usr/lib/blender/blender(_start+0x2e) [0x55ce830e208e]
Hardware description:
- MOBO: Asus SABERTOOTH 990FX R2.0 (PCIe 2.0 compatible, no more)
- CPU: AMD FX-9590
- GPU0: AMD R9 390X (
Grenada XT
) - GPU1: AMD Radeon HD 3650 (
RV635
)
System information:
- Distro name and Version: Ubuntu
20.04
“Focal Fossa” - Kernel version:
5.4.0-39-generic
- AMD package version:
20.20-1089974
(OpenCL things only)
How to reproduce the issue:
- Plug an AMD GPU using the a
mdgpu
kernel driver in a computer running Ubuntu 20.04 - Make sure that GPU uses the
amdgpu
kernel module if bothamdgpu
andradeon
are supported,
you may have to add something like this to kernel command line:
radeon.cik_support=0 amdgpu.cik_support=1 amdgpu.si_support=1 radeon.si_support=0
- Plug another AMD GPU using the
radeon
kernel driver (noamdgpu
implementation) in the same computer - Download the AMDGPU-PRO
20.20-1089974
software collection:
https://www.amd.com/fr/support/graphics/amd-radeon-r9-series/amd-radeon-r9-300-series/amd-radeon-r9-390x#amd_support_driver_list - Install AMDGPU-PRO OpenCL packages:
./amdgpu-install --no-dkms --headless --opencl='pal,legacy'
- Run
clinfo
Attached files:
- An extensive summary of my system: basic.log
-
dmidecode
log: dmidecode.log -
glxinfo
logs: glxinfo.amdgpu.log, glxinfo.radeon.log -
lshw
log: lshw.log -
lspci -vvv -nn
log: lspci.vvvnn.log -
modinfo
logs: modinfo.amdgpu.log, modinfo.radeon.log - Xorg log: Xorg.0.log