I run Windows Server 2016 Datacenter as my host machine and use Hyper-V DDA to passthrough my AMD RX 5700 XT to a Windows 10 gaming VM. I primarily chose the AMD card because of the all too well known Code 43 issue that NVIDIA cards have because of VM detection built into the driver. I can’t hide VM detection with Hyper-V like you can with Linux or ESXi.
My RX 5700 XT was working great with AMD Radeon drivers up to version 20.4.2. The very next driver (20.5.1) however resulted in a black screen during driver install and a mostly black screen with some pixelation after a reboot. All mainstream Radeon drivers I’ve tried since then up to version 20.11.2 have had the same issue. The only solution thus far was to revert back to 20.4.2
New developments:
Upon testing this issue further this evening I can confirm that upgrading to the “Radeon Pro 20.Q4” drivers released on 11/03/2020 are working correctly with GPU passthrough (at least on my setup). So I finally have a working driver newer than the 20.4.2 release from way back in May. I tested this in Cyberpunk 2077 and achieved the same performance I had with the older 20.4.2 drivers.
Observations:
AMD does not appear to be actively blocking you from installing drivers newer than 20.4.2 in a VM. In fact, all of the newer drivers I tested seemed to install completely, it’s just that you would end up with a black screen/pixelation after the install finished.
Multiple people have noted that employing the same workarounds for the NVIDIA Code 43 issues seemed to work with the new AMD mainstream drivers. In other words, hiding the fact that you are running in a VM during the driver install.
Looking through the release notes from the last working driver (20.4.2) and the first newer driver that results in the issue sheds light on something I believe is the root cause of the problem. Take a look at this excerpt from the 20.5.1 driver release: " Brand new AMD Link Xinput Emulation driver (AMDXE), which will improve compatibility with current and future games. This gets installed the first time game streaming starts with AMD Link and will appear as a new Xbox 360 controller in Device Manager."
In the 20.4.2 driver, AMD Link didn’t work for me at all. I’m unsure if it was working correctly for others on bare metal, but I can confirm it was a no go in a passthrough setup. I find it more than a little bit coincidental that the very next driver to release that had significant AMD Link changes is the same driver that began having these GPU passthrough blank screen issues. The next observation lends some more credence to this.
The current Radeon Pro 20.Q4 drivers do not have AMD Link functionality (anywhere that I could find anyway) and sure enough, they work without issue. I can’t be certain that it is the new AMD Link updates introduced in the 20.5.1 drivers and beyond that broke GPU passthrough, but so far it seems like a safe assumption to make.
Hardware/OS tested on:
Microsoft Windows Server 2016 Datacenter as the host using DDA for GPU passthrough to VMs.
ASrock Fatal1ty X399 Professional Gaming motherboard (BIOS version 3.80).
FYI, I posted this on r/VFIO & r/AMD about a week ago but it didn’t seem to get much traction and it sounds like at least a few of you good people have stumbled upon my post over there looking for answers. Posting it here as well as a quick PSA for something to try.
since i replaced my motherboard my guest OS did not run any amd drivers even the older one. i posted more information here. i’m super frustrated that my gpu passthrough is not working anymore
Sounds like you may need to go through your BIOS and re-enable all the IOMMU / SVM options, since you changed your motherboard, none of those settings would have persisted through the replacement.
Hey all, just to add here, if you switch to Q35 chipset, the newer drivers should not blackscreen your machine. You could also try to hide the fact that this is a virtual machine and/or specify a vendor id under hyperv features.
I’m having the same issues when trying to pass through my Ryzen 4750G iGPU to a W10 VM. It works fine (albeit at a low refresh rate) before installing AMD drivers, but as soon as I install them, I get a pixelated mess and/or black screen, and only the mouse cursor is responsive and visible. Unfortunately I cannot install the “Pro” drivers since they don’t support the iGPU in the Renoir APUs.