Having issues with GPUs

As of writing, I have got Ubuntu 21.10 with Linux 5.14.16 running on my Unmatched, with a CPU clock speed of 1.4GHz. It runs perfectly fine with an old ATI 5570 1GB, until trying to run anything with Vulkan or OpenGL ES above version 3.0.

So, I tried using a Radeon VII which actually worked! But the USB devices - including the mouse and keyboard - would cut out at random. Launching any sort of game - even Doom using the GZDoom engine - results in all USB devices to disconnect, reconnect 5 seconds later, then instantly disconnect over and over again. It ran without issue headless, but that defeats the purpose. I don’t have this GPU on hand anymore as it has been sold.

The 3rd GPU tested was a AMD Radeon Pro WX3100 4GB. No luck: It will boot, with evidence from the serial terminal and the fact I can SSH into it, but nothing comes up on the monitor. dmesg doesn’t show anything about detecting the GPU, neither does lspci or `lshw’. Tried it on my main PC running Arch Linux to see if is faulty. It booted just fine with video output.

The previous one is an unusual GPU, so I thought to try an AMD RX 550 2GB instead. That is sure to work! To my surprise, no. The outcome was exactly same as the Radeon Pro WX3100. No video output, booted as if it was headless. Again, nothing in dmesg, lspci or lshw indicates a GPU is detected.

Things I have tried so far to get the the RX 550 working:

  • Install Linux firmware.
  • Add U_BOOT_PARAMETERS="ro quiet radeon.si_support=0 radeon.cik_support=0 amdgpu.si_support=1 amdgpu.cik_support=1 amdgpu.dc=1 amdgpu.dpm=1 amdgpu.modeset=1 amdgpu.ppfeaturemask=0xffffffff" to /etc/default/u-boot, then running u-boot-update.
  • Boot with kernel version that Ubuntu 21.10 provides.
  • Add blacklist radeon to /etc/modprobe.d/blacklist.conf.

Log of dmesg here.

Not sure on what else to try to get the RX 550 working. I would be grateful for any help on this issue.

There is a known issue that the keyboard and mouse will stop working randomly and is listed in the Freedom U-SDK release notes. The easiest fix action is to physically disconnect and reconnect the device when that happens. It has also been noted that the top left USB port (when viewed with the motherboard laying flat) is the most stable with most people having less or no issues with that port. I currently have a wireless mouse keyboard combo plugged into it for stable mouse and keyboard control.

I am currently using a WX3100 in my build and it has worked with Ubuntu 21.04 and Ubuntu 21.10 without needing any additional set up. Have you tried doing a fresh install of Ubuntu since your attempted use of the RX550 or WX3100? Another possibility is maybe an issue with the newer kernel, I am using the 5.13.0-1004-generic kernel installed from the repos.

There is another thread with a successful report of getting a rx550 working.
https://forums.sifive.com/t/ubuntu-amdgpu-drivers/4935/15
Apparently it just required building a different driver.

To be clear, I needed to build my own driver only to get Vulkan to work, as Debian doesn’t have a mesa-vulkan-drivers package for RISC-V.

Apart from that the RX550 (specifically, an Asrock Radeon RX550 2G) works out of the box with SiFive’s 5.13.9 kernel and Debian’s mesa linux-firmware packages. I didn’t have to do anything special like override kernel command-line parameters. It does hang for 20 seconds before an image comes up, I reported this here: "rcu_sched self-detected stall on CPU" during boot.

@cavemanol Tried a fresh install of Ubuntu 21.10 on the SD card with the SSD removed. The issue persists. Had another look at U_BOOT_PARAMETERS and changed it to just ro quiet amdgpu.dc=0, which didn’t improve anything either.

@vmedea I also compiled the mesa drivers for the same reason when I had the Radeon VII. With the RX 550, I used meson build/ -Dprefix=/usr -Ddri-drivers=auto -Dgallium-drivers=auto -Dvulkan-drivers=auto just to see if would help.

Have you made sure it’s not something simple like an underpowered PSU?

I am using a 750W PSU.

There are patches under review (not approved yet) for U-Boot and kernel regarding PCIe. You might want to try these (might also improve keyboard & mouse situation).

[PING][PATCH v3] pci: Work around PCIe link training failures
https://lists.denx.de/pipermail/u-boot/2022-January/470786.html

[PATCH v2] pci: Work around ASMedia ASM2824 PCIe link training failures

I have been using RX550, RX570, Radeon HD 6450, but not via Ubuntu. 99% it works fine, sometimes things get broken upstream, but that’s not RISC-V specific and usually fixed relatively fast.

I highly advice to file a ticket for Ubuntu (arch: riscv64) and also share a ticket link here as the issue might be distro specific.

Forgot to mention a few things:

  • Vulkan works, have tested that on FUSDK some time ago runnig various examples. Tested on RX570.
  • Newer AMD GPUs (e.g. RDNA) will not work until someone implements FPU kernel mode IIRC. There is a ticket for that somewhere.

Recently upgraded from the Samsung U24E590D to the Gigabyte M28U and the RX 550 is now working! The issue appears to actually lie in the old monitor as I did get weird errors about invalid EDID in dmesg when using it with my main rig, but I don’t see that with the new monitor. I’ll try the WX3100 at some point.