Win10 VM stopped working w/ Nvidia pass-through


Recommended Posts

I have a Windows 10 Pro v1903 VM running on my Unraid v6.7.2 server. - Passthrough was previously working headless w/ a DisplayPort dongle (remotely accessible via RDP or TeamViewer). However, when I attempted to run it like a traditional workstation (w/ a known working monitor, keyboard and mouse), I lost the ability to pass the GPU-through (resulting in BSOD boot-loops).

 

  • The system itself is running on a single EVGA GTX 1660 TI board. - No other GPU's are present, and integrated graphics is not an option w/ my CPU.
  • I have previously went through the process of exporting my vBIOS using GPU-Z and modifying it w/ a hex editor. - Passing either the modified version or the original file no longer helps.
  • Running DDU (and disabling auto-driver download) resolves the bootloop issue, but is only accessible via remote methods (mentioned above). - My monitor will remain black/blank. - Cannot successfully reinstall drivers.

 

As for the VM error log, I am seeing the following:

2019-07-27T19:34:57.873893Z qemu-system-x86_64: vfio_region_write(0000:27:00.0:region1+0x1210c8, 0x0,8) failed: Device or resource busy

 

VM XML Config.txt diagnostics-20190727-2004.zip

Link to comment

Just an update, I was able to successfully run the driver install after clearing out all of the Hyper-V lines in the VM XML config. However, I am now getting error code 43 in Device Manager. - Still no video output to my monitor though.

Edited by MarkRMonaco
Link to comment

Another update, I went into my motherboard's BIOS, and switched the boot mode from UEFI (only) to UEFI+Legacy. - This allowed the VM to boot up w/ video being output to the monitor. However, error code 43 is still present.

What I've done so far is:

  • Re-enable Hyper-V in the VM config.
  • Change the Unraid boot mode to from UEFI to what I am assuming is Legacy (under the "Flash" section).
  • I also removed the video card (and it's HD audio) device ID from the "vfio-pci.ids" section of my Flash config. 

No improvements. - Video output, but stuck at a 800x600 resolution.

Link to comment

Oddly enough, the problem resolved itself through several reboots (of the VM)...

 

I did remove the following code during one of the reboots, but it did not make any difference initially. Therefore, I am inclined to believe that it was purely coincidental.

    <kvm>
      <hidden state='on'/>
    </kvm>

 

Link to comment
13 hours ago, Tower_Of_Power said:

New to the game and trying to pass a Zotac 1660. hope i can get it working soon. you at least reassured me that it can be done

I don't think the OP posts in anyway "reassure" that it can be done. :)

 

Code 43 is Nvidia anti-consumer way (which is their MO) to force people into buying expensive Quadro cards to use in VMs. Once you understand that, (most of the) potential fixes will become rather obvious i.e. just hide any potential clues to the Nvidia driver that it is running in a VM.

  • If Hyper-V is on, it probably is in a VM ==> disable Hyper-V. Note: if you are going to disable / enable Hyper V, start a new template! Editing an existing template sometimes doesn't disable Hyper-V correctly - been there, done that.
  • If a card is loaded on a machine and then switched to a different machine without a proper reset then it's probably in a VM ==> boot host in legacy mode (so no option rom is loaded), vfio-pci stubbing / use a dedicated primary GPU for the host (so the passed-through GPU isn't loaded on the host), dumping vbios (so the card is reset properly)
  • Nvidia will update their drivers to wise up to workarounds ==> use older driver
  • Some cards just don't like some inexplicable things about the VM ==> boot VM in OVMF, use Q35 machine type (which has better PCIe support - note will need some additional manual xml lines to run in full PCIe x16 until the new qemu version in included in Unraid)

Those are the "TL;DR". For the longer read:

 

Edited by testdasi
  • Like 1
  • Upvote 1
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.