I've seen somebody else post earlier about black screens with AMD cards, however I can't see anywhere where he posted how he resolved the issue.
I have the same issue with a Catalina VM which runs fine through VNC.
Passing through a USB controller and NVMe drive works fine.
However, when passing through GPU's:
1) AMD Radeon RX570, the boot screen shows up fine, then the Apple logo with progress bar. When it's about to switch to the login screen, well... the screen just goes black. The weird thing is when this happens, the fan on the GPU powers down too.
2) AMD Radeon RX5700 XT is very similar, however instead of going black the screen just seems to freeze just as you'd expect to see the login screen, i.e. still on the Apple logo with progress bar almost complete.
In both (the non-VNC) scenarios one CPU core seems to just sit on 100% until I force quit the VM. If it's relevant, I'm not trying to pass through sound from either GPU.
Both cards work perfectly fine with my Windows 10 VM. And the RX570 used to work fine with my old Mojave VM using SpaceInvaderOnes old Mojave installation guide.
Has anybody got any suggestions? I'll post XML's if requested.