Windows 10VM wont recognise GPU


____rex
Go to solution Solved by ghost82,

Recommended Posts

Hey guys, 

 

Not sure if I've come to the right place but I'm stumped! Still quite new to the unraid scene.

 

I have been trying to get my 2070 to passthrough to a Win10 VM. I initially had trouble as the gup was stuck in an IOMMU group with other devices. After watching a video by SpaceInvaderOne (this guys is a bloody legend btw!!!) ( youtu.be/qQiMMeVNw-o )  I managed to get my GPU into a group of its own and stop crashing the server when trying to assign it to a VM. To do this I had to enable ACS override downstream,multifunction

 

Now the VM boots and on the VM screen it appears that its assigned but when launching into the VM it doesn't register in device manager or task manager.

 

I could just be a potato doing something completely wrong but, cant figure it out for the life of me. Also, I did try moving the GPU into different PCI slots hoping that would be a simple fix. 

 

Any suggestions would be extremely appreciated! :) 

 

 

 

 

 

image.png

screenshot in VM .png

image.png

tank-diagnostics-20230426-1930.zip

Link to comment
  • Solution

There are several things that are wrong:

1. vfio configuration: it seems you changed the slot of the gpu, but vfio config is old and your gpu (multifunction) is not attached to vfio at boot

2. Your gpu is still in use by the host because BAR3 is assigned to efifb; just add 'video=efifb:off' to syslinux configuration

3. Your gpu is flagged as boot vga by the host: you need to pass a vbios in the vm configuration, otherwise it wont work, either dump it from your gpu (recommended) or download one from techpowerup and hex edit it (remove the nvidia nvflash header)

4. I would advice to make a new vm q35 type (not i440fx) + ovmf: q35 has better support for pcie passed through devices

5. I suggest to passthrough all the components of the gpu in the vm and not only the video part, i.e.:

02:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU106 [GeForce RTX 2070 Rev. A] [10de:1f07] (rev a1)
	Subsystem: Micro-Star International Co., Ltd. [MSI] TU106 [GeForce RTX 2070 Rev. A] [1462:3734]
	Kernel driver in use: vfio-pci
	Kernel modules: nvidia_drm, nvidia
02:00.1 Audio device [0403]: NVIDIA Corporation TU106 High Definition Audio Controller [10de:10f9] (rev a1)
	Subsystem: Micro-Star International Co., Ltd. [MSI] TU106 High Definition Audio Controller [1462:3734]
02:00.2 USB controller [0c03]: NVIDIA Corporation TU106 USB 3.1 Host Controller [10de:1ada] (rev a1)
	Subsystem: Micro-Star International Co., Ltd. [MSI] TU106 USB 3.1 Host Controller [1462:3734]
	Kernel driver in use: xhci_hcd
02:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU106 USB Type-C UCSI Controller [10de:1adb] (rev a1)
	Subsystem: Micro-Star International Co., Ltd. [MSI] TU106 USB Type-C UCSI Controller [1462:3734]

 

After you set the vm you need to switch to the xml view and set the gpu as a multifunction device for the target.

 

All of this is covered in the VM Engine (KVM) subforum.

Edited by ghost82
Link to comment
  • 2 weeks later...

Hey there, thanks heaps for taking the time to look a this. After some digging around and following your advise, I've finally managed to get it working! ❤️ (p.s. any advise on how to reduce lag on windows RDP, or is there a better program out there that can help with this? Not a huge bother but, If I can make things smoother that I'm all for it)

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.