Hello,
First post to the forums, but have been running Unraid for 3 years and have decent Linux experience.
Thanks to everyone that came before me with GPU passthrough Q&A's - your time has been incredibly helpful over the last few years.
I've recently run into a problem with GPU passthrough after swapping out my old NVIDIA RTX A2000 workstation GPU with a new RTX A4500.
I managed to get GPU passthrough working on the A2000 when installing it about 1 year ago, after 4 days of trial and error.
It's been several days since swapping in the A4500 and still no luck with getting GPU passthrough working properly.
More specifically: When I boot up the Windows 11 VM I'm passing the GPU through to, my screen just goes black. It switches to black from the static blue GRUB menu that was displayed during PC boot, which tells me something is going on.
I've watched every SpaceInvader video on the subject of GPU passthrough, and gone through what must be dozens of forums posts trying to find a solution. Below is what I've tried so far and has not worked:
1) Ensured all virtualisation settings are enabled in motherboard BIOS (I know everything is set correctly due to A2000 working previously)
2) Appending "video=efifb:off", "earlymodules=vfio-pci", "vesafb:off" and "gfxpayload=text" to Unraid syslinux boot parameters
3) Four different VBIOS options: (1) None, (2) Personally created using SpaceInvader User Script, (3) from TechPowerup, (4) TechPowerup with NVIDIA headers removed using hex edit
4) Attempted 3 different Windows 11 installation types: (1) Booting into existing OS install that I used with A2000, (2) New vanilla OS install using image from MS website, (3) Custom NTLite OS install with preloaded NVIDIA drivers
5) Binding NVIDIA graphics and audio parts to VFIO (both parts were already in same IOMMU group by default)
6) Edit VM XML to ensure virtual NVIDIA graphics and audio counterparts are on same bus and slot, but have different functions '0x0' & '0x1' (also to append multifunction='on')
7) Make sure I'm connecting screen to GPU using an HDMI cable (not Displayport, which I had problems with before) - Note: As my GPU only has Displayport output ports, I'm using a DP -> HDMI adapter.
8 ) Switch around the different physical GPU display output ports being used (in case video output was only being sent to select ports)
9) Tried both Q35-7.1 and i440fx-7.1 machine types
10) Installed Windows 11 VM via Unraid/noVNC, then installed a VNC Service (TightVNC) and configured it to start on Windows boot. I then passed through the GPU to VM and tried to connect to the VNC Service from another computer. Either it doesn't connect ("Host is down") or it does connect and I just see a black screen.
11) Tried not passing through the NVIDIA audio component (09:00.01) to see if this was causing the issue.
12) Connected 2 different PC screens (both Displayport and HDMI interfaces).
13) After installing Windows 11 VM using VNC, uninstalled the Virtio/RedHat display driver.
14) Disabled "Above 4G Decode" and "Resizable BAR" in motherboard BIOS.
15) Attempted PoP!_OS Linux VM installation with pre-installed NVIDIA drivers to see if Windows 11 or drivers were the issue (still got black screen).
16) Tried using PCIe ACS Override ("Both") and then binding NVIDIA graphics & audio at VFIO.
17) Booted Windows-To-Go (Windows 11 Live USB) and dumped my GPU VBIOS using GPU-Z. This VBIOS was identical to the above mentioned TechPowerup VBIOS, but this step at least confirmed that the GPU is working (image rendered to screen, GPU-Z recognised GPU).
Additionally, when I physically swapped the cards I forgot to uncheck "Autostart VM" and so on first Unraid boot-up I mistakenly started the Windows 11 VM with a custom A2000 VBIOS on the new A4500 card. I don't know if this might have bricked the card, and have not been able to find much info on this topic. The new A4500 card is definitely on/running when I turn the PC on and it renders the BIOS menu so I think it's not bricked.
I'm running out of options and don't know what do try next. The A4500 was released at a similar time to the A2000 and are part of the same family of GPUs. I'm confused as to why I can't get this new card working. It really shouldn't be this difficult to get GPU passthrough working, I can see this being a technical hurdle too large for the majority of the Unraid potential market. I've spent more time on GPU passthrough than building my server and installing Unraid itself.
Anyway, enough complaining. PLEASE HELP!! 🙂
Attached/below are 5 files showing my Windows 11 VM config (UI & XML) along with logs after starting up when the screen goes black. Also posted a snippet from my IOMMU groups showing NVIDIA graphics and audio counterparts.