Return to

Issue upgrading from old amd gpu to new amd gpu

I’ve been running a Ubuntu 18.04 system for a while with an old single slot AMD Radeon HD 7750 (cape verde) gpu. The tiny single slot is necessary as it’s crammed in among other PCIe devices. I recently tried to connect a 3rd monitor and no luck. Apparently it requires active display adapters for anything more than 2 displays. I have dozens of display adapters, none active. Rather than spend $30 on yet another display adapter I figured I’ll just get the cheapest single slot GPU of a more current architecture. The HD 7750 occasionally has issues with random stuff due to being ancient (like more than 2 displays), I figure 8yrs of use is good enough.

Enter the Radeon Pro WX 2100 from ebay for $40.
I figured, I already have the driver installed, should be plug and play. Oh how naive. Won’t boot, I get a kernel panic. Of course it’s never that easy.

Booted to a windows disk just for sanity check, booted right up with the WX 2100, recognized it and had no issues. So gpu works.

Tried to boot to a Ubuntu 18.04.5 live USB with the WX 2100 in the system. Nope. Won’t boot. Flashes “AMD-VI completion wait loop” and then just sits at a blank purple ubuntu screen forever. To me, this makes no sense. The Live USB should have worked. I thought maybe some boot flags in grub on the system drive may have messed things up but they shouldn’t impact the live USB at all, right?

I know theres something weird about AMD gpu drivers for linux, theres Radeon drivers vs AMDGPU drivers? I don’t totally understand the difference.
Looks like i am using the “Radeon” drivers.

Is this the correct procedure?
-Boot to a live USB with the old gpu installed
-delete the drivers from the system disk?
-Install new gpu, boot to live USB
-install new drivers to system disk?

System info
asrock b450m pro4 (bios v4.20 AMD AGESA Combo-AM4 PI
ryzen 9 3900x
64gb ram
wd sn750 pcie boot drive
Ubuntu 18.04.5
radeon hd 7750 / Radeon pro wx 2100

Only noteworthy quirk I can think of is the gpu is installed in a chipset pcie 2.0 slot, all cpu pcie 3.0 slots are occupied with nvme drives. The HD 7750 didn’t seem to care one bit.

You may try EFI boot mode.
Also, here are the proprietary drivers, though the open-source ones should work as well. Why aren’t you running
Ubuntu 20.04?

I’m booting in uefi mode, not legacy.

I guess my issue is, how can I not even boot to a live USB with the radeon pro wx 2100 installed in the system? Any boot flags or driver issues will reside on the system drive not the live USB. Yet I’m getting the same issue/error. I suppose there could be some setting in bios that’s incompatible? Though if it were at the bios level, one would expect a windows 10 drive wouldn’t boot either then. (I’m not dual booting, I physically swapped SSD’s just to test)

I’m still running 18.04 because 20.04 caused issues with some programs I need. Namely a lot of python 2.7 stuff.

I’m not doing anything with vm’s or pass through but I wonder if this gpu just won’t tolerate being in the last chipset slot? See below

Alright, solved it. I am indeed booting in uefi mode. It turns out it was the pcie slot. Can’t put the radeon wx 2100 in the last slot which comes from the chipset. Seems like a seriously dumb bios bug that shouldn’t exist. I wonder if this issue persists on b550, or x570?

1 Like

Does any system support using a GPU as the main when it goes through the chipset in the unix-like world? I would imagine that would be a kernel option that you could pass at boot time.

And the difference between the radeon driver and admgpu driver has to deal with if your hardware is the GCN generation or newer. GNC 1.1 and default to the radeon driver, anything after GCN1.1 defaults to AMDGPU.

Either way, they are built into the kernel and you do not need to do anything. If you are running the proprietary driver for some reason, you may fair better to uninstall it.

That WX card is actually from the GCN gen 4 group which puts it in line with the RX480s which means that the card actually uses the ADMGPU driver by default.