Opencl-amd, opencl-nvidia and intel-compute-runtime are in conflict

Hi

I know this may be a special case, but wondering if anyone else had this issue and how they got around it?

I was trying to run an update just now and it was failing because of conflicts between 3 versions of OpenCL.

First was the hard break

looking for conflicting packages...
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: opencl-amd and opencl-nvidia are in conflict

When I uninstalled CUDA and nvidia-opencl (which I installed to do some CUDA work with an Nvidia GPU that is no longer in the system) it ran to a soft break saying.

opencl-amd and intel-compute-runtime are in conflict (opencl-driver). Remove intel-compute-runtime? [y/N] 

I type "y" and it proceeded to update.

Did something change? Because I have never had this before and I feel like the intel-compute thing is a kernel or system level install from a previous update because I have never installed an intel GPU. Could have all versions of OpenCL installed without conflict and swap in and out GPUs or use both any combination of GPUs before. Or is all OpenCL now unified?

I only ask because I have a workstation that I will probably be using dual GPU on at some point.

My garuda-inxi:

System:
Kernel: 6.1.9-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 12.2.1
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=9e7734ad-4c3a-4599-bf16-6f73c8b1b2b7 rw rootflags=subvol=@
quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
systemd.unified_cgroup_hierarchy=1 loglevel=3 ibt=off
Desktop: KDE Plasma v: 5.26.5 tk: Qt v: 5.15.8 info: latte-dock
wm: kwin_wayland vt: 2 dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Desktop System: Gigabyte product: X570 AORUS MASTER v: -CF
serial: <superuser required>
Mobo: Gigabyte model: X570 AORUS MASTER serial: <superuser required>
UEFI: American Megatrends LLC. v: F36e date: 05/12/2022
Battery:
Device-1: hidpp_battery_2 model: Logitech Wireless Mouse MX Master 3
serial: <filter> charge: 100% (should be ignored) rechargeable: yes
status: discharging
Device-2: hidpp_battery_3 model: Logitech Craft Advanced Keyboard
serial: <filter> charge: 55% (should be ignored) rechargeable: yes
status: discharging
CPU:
Info: model: AMD Ryzen 9 3950X bits: 64 type: MT MCP arch: Zen 2 gen: 3
level: v3 note: check built: 2020-22 process: TSMC n7 (7nm)
family: 0x17 (23) model-id: 0x71 (113) stepping: 0 microcode: 0x8701021
Topology: cpus: 1x cores: 16 tpc: 2 threads: 32 smt: enabled cache:
L1: 1024 KiB desc: d-16x32 KiB; i-16x32 KiB L2: 8 MiB desc: 16x512 KiB
L3: 64 MiB desc: 4x16 MiB
Speed (MHz): avg: 3705 high: 4228 min/max: 2200/4761 boost: enabled
scaling: driver: acpi-cpufreq governor: performance cores: 1: 3500 2: 4201
3: 4225 4: 4219 5: 3500 6: 4200 7: 4011 8: 3500 9: 3848 10: 3500 11: 3500
12: 3500 13: 3500 14: 3423 15: 3500 16: 3500 17: 3500 18: 3500 19: 3500
20: 3500 21: 3813 22: 4226 23: 4228 24: 3500 25: 3500 26: 3500 27: 3360
28: 3780 29: 3500 30: 3829 31: 4197 32: 3500 bogomips: 224021
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Vulnerabilities: <filter>
Graphics:
Device-1: Blackmagic Design DeckLink Quad HDMI Recorder driver: N/A pcie:
gen: 3 speed: 8 GT/s lanes: 4 link-max: lanes: 8 bus-ID: 04:00.0
chip-ID: bdbd:a14e class-ID: 0400
Device-2: AMD Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] vendor: Sapphire
driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm)
built: 2020-22 pcie: gen: 4 speed: 16 GT/s lanes: 16 ports:
active: HDMI-A-1 empty: DP-1,DP-2,DP-3 bus-ID: 0d:00.0 chip-ID: 1002:73bf
class-ID: 0300
Display: wayland server: X.org v: 1.21.1.7 with: Xwayland v: 22.1.7
compositor: kwin_wayland driver: X: loaded: amdgpu
unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi
gpu: amdgpu display-ID: 0
Monitor-1: HDMI-A-1 res: 3840x2160 size: N/A modes: N/A
API: OpenGL v: 4.6 Mesa 22.3.4 renderer: AMD Radeon RX 6900 XT (navi21
LLVM 15.0.7 DRM 3.49 6.1.9-zen1-1-zen) direct-render: Yes
Audio:
Device-1: Blackmagic Design DeckLink Quad HDMI Recorder driver: N/A pcie:
bus-ID: 3-6.3:13 gen: 3 chip-ID: b58e:9e84 speed: 8 GT/s class-ID: 0300
lanes: 4 serial: <filter> link-max: lanes: 8 bus-ID: 04:00.0
chip-ID: bdbd:a14e class-ID: 0400
Device-2: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel
pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 0d:00.1 chip-ID: 1002:ab28
class-ID: 0403
Device-3: AMD Starship/Matisse HD Audio vendor: Gigabyte
driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 0f:00.4 chip-ID: 1022:1487 class-ID: 0403
Device-4: Blue Microphones Yeti Stereo Microphone type: USB
driver: hid-generic,snd-usb-audio,usbhid
Sound API: ALSA v: k6.1.9-zen1-1-zen running: yes
Sound Interface: sndio v: N/A running: no
Sound Server-1: JACK v: 1.9.22 running: no
Sound Server-2: PulseAudio v: 16.1 running: yes
Sound Server-3: PipeWire v: 0.3.65 running: yes
Network:
Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel pcie: gen: 2
speed: 5 GT/s lanes: 1 bus-ID: 05:00.0 chip-ID: 8086:2723 class-ID: 0280
IF: wlp5s0 state: down mac: <filter>
Device-2: Intel I211 Gigabit Network vendor: Gigabyte driver: igb
v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: e000 bus-ID: 06:00.0
chip-ID: 8086:1539 class-ID: 0200
IF: enp6s0 state: down mac: <filter>
Device-3: Realtek RTL8125 2.5GbE vendor: Gigabyte driver: r8169 v: kernel
pcie: gen: 2 speed: 5 GT/s lanes: 1 port: d000 bus-ID: 07:00.0
chip-ID: 10ec:8125 class-ID: 0200
IF: enp7s0 state: up speed: 100 Mbps duplex: full mac: <filter>
IF-ID-1: ztksetuwxp state: unknown speed: 10 Mbps duplex: full
mac: <filter>
Bluetooth:
Device-1: Intel AX200 Bluetooth type: USB driver: btusb v: 0.8 bus-ID: 3-5:2
chip-ID: 8087:0029 class-ID: e001
Report: bt-adapter ID: hci0 rfk-id: 0 state: up address: <filter>
Drives:
Local Storage: total: 23.03 TiB used: 10.97 TiB (47.6%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
model: WDS100T1XHE-00AFY0 size: 931.51 GiB block-size: physical: 512 B
logical: 512 B speed: 63.2 Gb/s lanes: 4 type: SSD serial: <filter>
rev: 614600WD temp: 47.9 C
ID-2: /dev/sda maj-min: 8:0 vendor: Crucial model: CT2000MX500SSD1
size: 1.82 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: <filter> rev: 010 scheme: GPT
ID-3: /dev/sdb maj-min: 8:16 vendor: Crucial model: CT1000MX500SSD1
size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: <filter> rev: 010
ID-4: /dev/sdc maj-min: 8:32 vendor: Crucial model: CT1000MX500SSD1
size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: <filter> rev: 010
ID-5: /dev/sdd maj-min: 8:48 vendor: Samsung model: SSD 860 QVO 2TB
size: 1.82 TiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
type: SSD serial: <filter> rev: 1B6Q
ID-6: /dev/sde maj-min: 8:64 type: USB vendor: Seagate
model: ST332082 0AS ST3320820A size: 298.09 GiB block-size: physical: 512 B
logical: 512 B type: N/A serial: <filter> scheme: MBR
SMART Message: Unknown USB bridge. Flash drive/Unsupported enclosure?
ID-7: /dev/sdf maj-min: 8:80 type: USB vendor: Western Digital
model: WD80EDBZ-11B0ZA0 size: 7.28 TiB block-size: physical: 4096 B
logical: 512 B type: HDD rpm: 7200 serial: <filter> rev: 1031 scheme: GPT
ID-8: /dev/sdg maj-min: 8:96 type: USB vendor: Western Digital
model: WD20SDZW-11JJ8S0 size: 1.82 TiB block-size: physical: 512 B
logical: 512 B type: HDD rpm: 5400 serial: <filter> rev: 1021 scheme: GPT
ID-9: /dev/sdh maj-min: 8:112 type: USB vendor: Western Digital
model: WD80EMZZ-11B4FB0 size: 7.28 TiB block-size: physical: 4096 B
logical: 512 B type: HDD rpm: 5640 serial: <filter> rev: 1031 scheme: GPT
Partition:
ID-1: / raw-size: 1.82 TiB size: 1.82 TiB (100.00%) used: 1.66 TiB (91.2%)
fs: btrfs dev: /dev/sda2 maj-min: 8:2
ID-2: /boot/efi raw-size: 256 MiB size: 252 MiB (98.46%)
used: 594 KiB (0.2%) fs: vfat dev: /dev/sda1 maj-min: 8:1
ID-3: /home raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
used: 1.66 TiB (91.2%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
ID-4: /var/log raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
used: 1.66 TiB (91.2%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
ID-5: /var/tmp raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
used: 1.66 TiB (91.2%) fs: btrfs dev: /dev/sda2 maj-min: 8:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
ID-1: swap-1 type: zram size: 62.72 GiB used: 11.24 GiB (17.9%)
priority: 100 dev: /dev/zram0
Sensors:
System Temperatures: cpu: 67.0 C mobo: N/A gpu: amdgpu temp: 53.0 C
mem: 52.0 C
Fan Speeds (RPM): N/A gpu: amdgpu fan: 0
Info:
Processes: 843 Uptime: 10d 20h 22m wakeups: 1990 Memory: 62.72 GiB
used: 17.17 GiB (27.4%) Init: systemd v: 252 default: graphical
tool: systemctl Compilers: gcc: 12.2.1 clang: 15.0.7 Packages: 2938
pm: pacman pkgs: 2929 libs: 754 tools: gnome-software,octopi,pamac,paru
pm: flatpak pkgs: 0 pm: snap pkgs: 9 Shell: fish v: 3.6.0 default: Bash
v: 5.1.16 running-in: konsole inxi: 3.3.25
Garuda (2.6.14-1):
System install date:     2021-06-08
Last full system update: 2023-02-13 ↻
Is partially upgraded:   Yes
Relevant software:       timeshift NetworkManager mkinitcpio nvidia-dkms
Windows dual boot:       No/Undetected
Failed units:

Are you sure that you already had opencl-amd installed? It looks like a package update needed to pull in opencl-amd as a dependency, and that is where the conflicts came from.

Thanks for your reply and help.
I think it was already installed because I have the amf-amdgpu-pro and vulkan-amdgpu-pro drivers installed that are required by obs-studio-amf and davinci-resolve. Unless for some reason it was uninstalled by something else and I just didn't realise until this update?

I'm not sure, that's an odd one. I guess another possibility is there was a change to the package, such as something was added to the conflicts list which wasn't there before.

Interestingly, out of these three packages (opencl-amd, intel-compute-runtime, and opencl-nvidia) only opencl-amd has a conflicting package list.

pacman -Sii opencl-amd
Repository      : chaotic-aur
Name            : opencl-amd
Version         : 1:5.4.3-1
Description     : ROCr OpenCL stack, supports Vega 10 and later products - Legacy OpenCL stack
                  (Proprietary), supports legacy products older than Vega 10 - This package is intended to
                  work along with the free amdgpu stack.
Architecture    : x86_64
URL             : http://www.amd.com
Licenses        : custom:AMD
Groups          : None
Provides        : opencl-driver  rocm-core  hip  hip-dev  hip-doc  hip-samples  hsakmt-roct-dev  hsa-rocr
                  hsa-rocr-dev  rocminfo  hip-runtime-amd  rocm-device-libs  rocm-language-runtime
                  rocm-hip-runtime  rocm-ocl-icd  rocm-opencl  rocm-opencl-dev  rocm-opencl-runtime
                  rocm-clang-ocl  rocprofiler  roctracer  hsa-amd-aqlprofile  openmp-extras-runtime
                  rocm-cmake  rocm-utils  rocm-smi-lib
Depends On      : libdrm  ocl-icd  gcc-libs  numactl  ncurses5-compat-libs
Optional Deps   : clinfo
                  opencl-amd-dev
Required By     : comgr  composable-kernel  davinci-resolve  davinci-resolve-studio  hcxkeys
                  hip-runtime-amd  hipblas  hipcub  hipfft  hipmagma  hipsolver  hipsparse
                  hsa-amd-aqlprofile-bin  hsa-rocr  miopen-hip  python-pytorch-opt-rocm
                  python-pytorch-rocm  rccl  rocalution  rocblas  rocfft  rocm-clang-ocl
                  rocm-hip-libraries  rocm-hip-runtime  rocm-hip-sdk  rocm-language-runtime
                  rocm-ml-libraries  rocm-ml-sdk  rocm-opencl-runtime  rocm-opencl-sdk  rocm-smi-lib
                  rocminfo  rocprim  rocprofiler  rocrand  rocsolver  rocsparse  rocthrust  roctracer
                  virtualgl
Optional For    : arrayfire  cpu-x  cpu-x-git  gyroflow-git  ocl-icd
Conflicts With  : opencl-driver  rocm-core  hip  hip-dev  hip-doc  hip-samples  hsakmt-roct-dev  hsa-rocr
                  hsa-rocr-dev  rocminfo  hip-runtime-amd  rocm-device-libs  rocm-language-runtime
                  rocm-hip-runtime  rocm-ocl-icd  rocm-opencl  rocm-opencl-dev  rocm-opencl-runtime
                  rocm-clang-ocl  rocprofiler  roctracer  hsa-amd-aqlprofile  openmp-extras-runtime
                  rocm-cmake  rocm-utils  rocm-smi-lib
Replaces        : None
Download Size   : 92.96 MiB
Installed Size  : 262.48 MiB
Packager        : UFSCar HPC Builder <[email protected]>
Build Date      : Sun 12 Feb 2023 08:25:56 AM EST
MD5 Sum         : 05204871ce935a196986f2e55380dd31
SHA-256 Sum     : 438f7ca9fb92f1c1449c6c6395295cd22ec3de89145a77648d374e923f82c2b8
Signatures      : 3A40CB5E7E5CBC30

intel-compute-runtime , and opencl-nvidia both have "Conflicts With : None" and they are happy to be installed together:

sudo pacman -S intel-compute-runtime opencl-nvidia
[sudo] password for jeremy:
resolving dependencies...
looking for conflicting packages...

Packages (7) clang-15.0.7-1  compiler-rt-15.0.7-1  intel-graphics-compiler-1:1.0.12812.4-1
             intel-opencl-clang-15.0.0-1  spirv-llvm-translator-15.0.0.r10+g78ad93b9-1
             intel-compute-runtime-22.43.24595.30-1  opencl-nvidia-525.89.02-1

Total Download Size:    72.80 MiB
Total Installed Size:  392.20 MiB

:: Proceed with installation? [Y/n]

Only opencl-amd is a troublemaker, who cannot get along with others!

If opencl-amd was installed the whole time like you suggest, I have to guess there was an upstream decision to add all these packages to the conflicts list--probably to resolve some issues discovered on systems that had multiple opencl packages installed.

2 Likes

Yeah, it is really strange. After reading you reply, I copied what you did but for
pacman -Sii opencl-nvidia and
pacman -Sii intel-compute-runtime

and it seems like all three come with the opencl-driverpackage. It’s making me wonder if it being added to the conflicts list in opencl-amd is where the issue comes from. And then, the question is what is difference between the opencl-driver that opencl-amd provides and what is being provided or used by opencl-nvidia and intel-compute-runtime :thinking:. Super confusing.

Thanks again for your help and teaching me pacman -Sii I never knew that existed. So much to still to learn about pacman.

Hey, I maintain the opencl-amd package. I try occasionally to search issues about it on other forums than the AUR but Google sometimes picks it up after many days. ROCm has problems when installed together with other opencl packages (like opencl-mesa) which is why I added the opencl-driver to conflicts. After some discussion in the AUR comments I reverted the change so it should be fine now.

8 Likes

Welcome :slight_smile:

Thanks for your message and your effort.

4 Likes

Thanks for the feedback and for all your work maintaining the package. It has been a massive help to me and I am sure many others.

2 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.