3

Card: RX 6700 XT

Ubuntu version: 20.04.2 LTS

Amdgpu version: 21.10

Problem: Running clinfo or sudo clinfo returns 1 platform, 0 devices. This problem is the same as the one mentioned here.

Installation method:

  1. Download and extract file from https://drivers.amd.com/drivers/linux/amdgpu-pro-21.10-1247438-ubuntu-20.04.tar.xz
  2. Run: ./amdgpu-pro-install -y --opencl=rocr --headless (also tried --opencl=legacy,rocr)
  3. Add user to render and video group
  4. Reboot
  5. clinfo or sudo clinfo returns this

I have also tested:

  • The regular amdgpu (./amdgpu-install), no luck.

  • EDIT: Also tried this: ./amdgpu-install -y --opencl=rocr --no-dkms, has this error when installing

  • EDIT: Tried downgrading kernel then installing with and without --headless option

  • At one point I added mesa-opencl-icd and clinfo worked but it didn't seem like it was even using the amdgpu drivers so I got rid of it (sorry because when I tried adding it again it didn't work for some reason). It shouldn't need that package anyway though...

  • Amdgpu pro + ROCm installed (EDIT: Just tested ROCm only, doesn't work)

  • The clinfo that comes with amdgpu-pro (/opt/amdgpu-pro/bin/clinfo)

  • Contacting AMD support (hehe)

Extra notes:

  • sudo radeontop cannot identify the device as an RX 6700 XT (i.e. "Unknown Radeon card. <= R500 won't work, new cards might.")
  • Interesting: in /opt/amdgpu/share/libdrm/amdgpu.ids there is a list of cards, ids and revision ids. However, there is no RX 6700 XT listed there. lspci shows that my card has the id of 73df (rev c5) and that is not listed in the file either. Maybe I should add it manually? Also all of the other 6000 series cards are there, just not the 6700 and 6700 XT.
  • Edit: Sometimes on kernel 5.8 dkms installs properly and other times it doesn't. Downgrading to 5.4 seems to install it consistently though, but then again OpenCL still doesn't work as mentioned above.
TurboSlayer
  • 63
  • 1
  • 7
  • Uninstall `amdgpu-pro`. There's no point and no benefit for regular users anyway. And the proprietary overlay doesn't support the current kernel branch. – ChanganAuto May 08 '21 at 11:37
  • Is there a way to get OpenCL working without it then? As the documentation states: "OpenCL is an optional component of the Pro variant and is installed only if it is specifically requested." As mentioned I've also tried it with the all open variant and I don't think it worked either. – TurboSlayer May 08 '21 at 12:45
  • Yes, there is, you can install that alone. Google it. – ChanganAuto May 08 '21 at 12:47
  • I'm not sure how to install OpenCL without the amdgpu-pro driver. ROCm seems to be the only sensible option but it apparently does not support navi products. Upon doing some research I found out that others are also having issues with getting 6000 series cards to work with OpenCL. However in their cases, their cards are detected but don't work - mine isn't even detected. – TurboSlayer May 08 '21 at 15:25

2 Answers2

3
I had the same problem (same card/os, clinfo returns 1 platform, 0 devices) with amdgpu-pro drivers installed, and in my case installing `mesa-opencl-icd` did fix the problem. I'd just reinstalled my OS, so had just the default mesa drivers (20.2.6) and amdgpu-pro (21.10) on it. Now it recognizes the card correctly, and seems to be using it. Might be worth another shot!

EDIT: Nope! It seemed to be working, but was using the mesa opencl drivers which didn't work for what I needed (no image support).

Through an awful lot more hair-tearing I found installing ROCm directly worked, alongside the kisak mesa drivers ppa.

See: https://rocmdocs.amd.com/en/latest/Installation_Guide/Installation-Guide.html

  • Yep, as mentioned mesa-opencl-icd worked only once for me but it didn't use the amdgpu drivers anyway. As for ROCm, I've tried installing it multiple times now. May I know which kernel you used to install it? – TurboSlayer May 14 '21 at 17:07
  • Ah, I see it only supports kernel 5.4 and 5.60-oem - I was using 5.8. I will give one of those a shot when I have time. Thanks for bringing this to my attention. – TurboSlayer May 15 '21 at 05:28
  • 1
    Thanks dude! You were right about ROCm. I didn't see the supported kernels so I assumed it was a device compatibility problem. I'm gonna post my own answer but feel free to make a new answer and I'll gladly accept it for you. – TurboSlayer May 15 '21 at 10:31
  • No worries! Glad I could help. I don't understand really why it worked to be honest, I thought ROCm should be installed with the amdgpu-pro drivers but not going to poke at it now that it's working :p. Not sure if this confuses things but I'm using kernel `5.8.0-53-generic`, so maybe the requirements aren't too strict. – Oisin Carroll May 17 '21 at 20:27
  • 1
    Yeah, it's a bit like how I could install amdgpu-pro sometimes on kernel 5.8 and sometimes it wouldn't work, but either way OpenCL wouldn't work. From the research I've done whilst trying to find the solution, I'm pretty sure you can't install both ROCm and Amdgpu-pro. It will break things if you do. – TurboSlayer May 18 '21 at 06:21
1

Solved! Credit to Oisin Carroll.

UPDATE: This problem has now been fixed by AMD. ROCm now supports kernel 5.8.0-48-generic.

Fix:

  1. Boot into kernel 5.6-oem (any one will do, I used 5.6.0-1056-oem).
  2. Follow guide here

If you get an error saying dependencies not met when following the guide:

  1. sudo apt install aptitude
  2. sudo aptitude install rocm-dkms
  3. Choose the 'N' option when it asks for it.
  4. Reboot
TurboSlayer
  • 63
  • 1
  • 7