GPU Pass-through hang with Win 10 VM


smick

Recommended Posts

I'm into my second month with UnRaid and I love it but my setup always seems to have issues with VM pass through. have a Ryzen processor and a new Asus GT 1030 Fanless GPU I'm trying to pass through to a Windows 10 VM. It works fine with VNC.

 

UnRaid 6.8.0

 

CPU:        AMD RYZEN 7 2700 8-Core 3.2 GHz
Mobo:      MSI B450 TOMAHAWK MAX
RAM:        Corsair Vengeance LPX 16GB (2x8GB) DDR4 DRAM 3000MHz C15
GPU:         ASUS GT 1030 2GB GDDR5
Storage:    SAMSUNG 970 EVO M.2 2280 500GB PCIe Gen3 Cache

                 3x6GB WD Red Drives

 

 

- I have downloaded the bios from Techpowerup and deleted the header per Spaceinvader One's "How to easily passthough a Nvidia GPU as primary without dumping your own vbios! in KVM unRAID".

 

- The GPU is in its own IOMMU group.

 

After setting everything up the VM appears to start successfully but there is no video. Stopping the VM requires a force stop so is something hanging.?

 

Diagnostics are attached. 

 

Any ideas appreciated. TIA.

 

 

myunraid-diagnostics-20200105-1626.zip

 

 

Edited by smick
clarity
Link to comment

Are you sure you downloaded the correct vbios file specific to your exact GPU?

The vbios file has to be specific to the exact same card (brand + model + revision).

It's not uncommon for certain cards to not have the vbios available on Techpowerup, and no, the vbios files typically canNOT be cross-used.

 

If you are not sure, start with no vbios instead (and if all else fails, dump your own vbios). No vbios is better than wrong vbios.

 

Now if you are sure the vbios is correct (or start from a no-vbios state) then try this.

Make sure you do not skip / workaround anything because you think it doesn't matter / didn't work / whatever.

  • Boot Unraid in legacy mode.
  • Start a new VM template, set everything up just like the old template but have Hyper-V = Yes.
    • Do NOT tick start VM box.
    • Save template (the VM should not start automatically after saving since you did not tick the start VM box!)
  • Now edit the template in xml mode, replace everything between <hyperv> and </hyperv> with this 
        <hyperv>
          <relaxed state='on'/>
          <vapic state='on'/>
          <spinlocks state='on' retries='8191'/>
          <vpindex state='on'/>
          <synic state='on'/>
          <stimer state='on'/>
          <reset state='on'/>
          <vendor_id state='on' value='0123456789ab'/>
          <frequencies state='on'/>
        </hyperv>
        <kvm>
          <hidden state='on'/>
        </kvm>
  • Start the VM and keep your fingers crossed.

 

If it still doesn't work then you probably need to borrow a cheap GPU to boot Unraid and dump your own vbios.

It's even better if you can buy a cheap GPU for Unraid to boot with.

Edited by testdasi
Link to comment

Testdasi! Thank you so much for pointing me in the right direction. My issue was a look-alike card from the same manufacturer with a different part number. I had to use GPUZ to dump my bios and it worked after that. I did this on another computer in Windows. This was necessary for me because with my cheap HD-5450 GPU in the primary (must be primary per Spaceinvader) I could not get the new GPU in its own IOMMU group even with PCIe ACS override. Therefore I couldn't start it before dumping the bios. But Windows did do the trick so THANK YOU THANK YOU! Unraid ROCKS!!! On to the Mac VM.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.