r/VFIO•
AVINIDE

Radeon Software does not launch on a Windows 10 guest

SOLVED: Had to disable Above 4G Decoding in BIOS

As in the title, Radeon Software (nor DirectX apps) doesn't turn on in a Windows virtual machine (QEMU) with a single GPU Pass-through. I've managed to install the drivers, I can set a high refresh rate on my screen - everything seems to work great, except that one thing which is quite important for gaming purposes. That issue however is exclusive to AMD, when passing through an Nvidia GPU everything works, including games (tried R6S).
I'm clueless what could be at fault as I can't find any driver logs to find a problem.
One thing which might be worth mentioning is that whenever I unbind an EFI Framebuffer, I either get Segmentation Fault, or an error with echo saying something about missing name (can't find it in the logs as I did this yesterday), on Nvidia side unbinding a framebuffer went without problems. EDIT: Forgot to mention, I already have Hyper-V enabled.

Specs:
CPU: Intel Core i5-9600K
GPU: Sapphire Radeon RX 580 4GB
Motherboard: ASUS TUF Z370-Pro
OS: Arch Linux
Kernel: 5.12.15-zen1-1-zen
WM: GNOME 40
Guest OS: Windows 10 Pro 21H1

Virsh config: https://pastebin.com/ES1z9z3t
Start script: https://pastebin.com/diwcxfSS
Stop script: https://pastebin.com/pPNxyWJ3

PCI IOMMU Groups: https://pastebin.com/SfeKJAkW

Posted Jul 17, 2021, 1:01 PM UTC · edited

138
[deleted]•

You don’t need to unbind the frame buffer for AMD, that’s why you get that error. I’ve also had the same issues with the driver software before. What fixed it for me was pretty convoluted though.

I first installed the pro drivers, then used DDU to fully uninstall all drivers, then installed the driver software I wanted.

1
AVINIDEOP•

I’m trying right now to install Pro drivers, however a setup exe appears in a task manager, and after a few seconds it disappears. What’s interesting is that’s the same issue I have with installed drivers, as well as with a setup exe I’ve used yesterday for a regular driver package. EDIT: Could Hyper-V be an issue?

1
AVINIDEOP•

Fixed it, had to disable Above 4G Decoding

1
urmamasllama•

What mitigation method are you using for the reset bug? Background: I haven't done single gpu but I have done dynamic rebind for dri prime with my vega 56. I stopped because it was a crapshoot on if it would segfault after being used.

Also I personally have to use the error 43 mitigation. I don't think I've tried to install drivers without it. But without it enabled you lose access to freesync

1
AVINIDEOP•

Apparently I didn't have any reset bugs, disabled "Above 4G Decoding" in BIOS and it solved my problem.

2
AVINIDEOP•

What reset bug?

1
urmamasllama•

If you boot with your 580 loading up the host desktop you might have never noticed because that's one way to get around it. All gcn cards and rdna1 can't do a proper pcie reset which you need to properly swap between guest and host

1
AVINIDEOP•

I've used this and nothing has changed, drivers load correctly - no errors, however Radeon Software still doesn't launch.

Also tried this with and without the patch mentioned above, however it also doesn't fix my issue.

1