Jump to content

Win 10 VM with Nvidia 2070 Super


Recommended Posts

Posted

Sorry to start. I  am new around here. I need some advice, at the moment i keep getting the following error when starting win10 vm with 2070 super pass through

 

Execution error

internal error: qemu unexpectedly closed the monitor: 2020-06-02T18:25:08.774188Z qemu-system-x86_64: -device vfio-pci,host=0000:08:00.0,id=hostdev0,bus=pci.0,multifunction=on,addr=0x5: vfio 0000:08:00.0: group 2 is not viable Please ensure all devices within the iommu_group are bound to their vfio bus driver.

 

i have edited the XML file as below 

 

     <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x08' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    </hostdev>

 

and the IOMMU Group 2 

 

IOMMU group 2:[1022:1452] 00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge

[1022:1453] 00:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe GPP Bridge

[10de:1e84] 08:00.0 VGA compatible controller: NVIDIA Corporation TU104 [GeForce RTX 2070 SUPER] (rev a1)

[10de:10f8] 08:00.1 Audio device: NVIDIA Corporation TU104 HD Audio Controller (rev a1)

[10de:1ad8] 08:00.2 USB controller: NVIDIA Corporation TU104 USB 3.1 Host Controller (rev a1)

[10de:1ad9] 08:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU104 USB Type-C UCSI Controller (rev a1)

 

I figure it is something to do with the USB controller and Serial Bus but have no idea how to rectify the problem

 

Any help would me much appericated 

Posted

You need to passthrough the entire IOMMU group. There is no way around that. If everything in that group is for the video card then you need to add the rest of the items to your passthrough. Make sure you are passing your gpu audio in as well as your sound card. If it automatically passes the rest of the group for you thats all you need to change. If not, first ensure IOMMU is enabled in bios. That might potentially fix your groups. I don't have experience with your gpu but mine has the GPU and GPU sound in their own groups by default. If this is not the case you will need to enable acs override.

Watch some spaceinvaderone videos on youtube, he covers all of this in his gpu passthrough to vm videos

Posted

Thank you Stu , I managed to break up the IOMMU with the ARCS override on the motherboard and spend hours watching Space Invader . Cheers for the reply 

 

  • 4 months later...
  • 3 years later...
Posted (edited)

having to redo a VM with a 2070 i'm here to clarify the things needed:

Lattest Unraid verion 6.12


Step 1 PCI Bind:

image.thumb.png.6c6cf7b5c5cda48456d6db74d7178d0c.png

 

image.png.b459836103ba57466882498bf9a0c0e1.png

 

I'm using VM overids your IOMMU groups may vary. You must pcie bind and pass the VGA, Audio, USB and Serial Devices of the 2070...

Step 2 xml edits for multifunction:

 

<hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x10' slot='0x00' function='0x0' multifunction='on'/>
      </source>
      <alias name='hostdev0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x10' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x1'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x10' slot='0x00' function='0x2'/>
      </source>
      <alias name='hostdev2'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x2'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x10' slot='0x00' function='0x3'/>
      </source>
      <alias name='hostdev3'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x3'/>
    </hostdev>


Note that by G-card is in pcie slot 10
Note the multifunction option is on, that all devices on in virtual pcie slot 3 with their function matching the virtual function.

 

This is required to pass a 2070/2080 nvdia gcard i'm also using machine type q7.2 with uefi(OVM)
image.thumb.png.fd4fc80b729b9572c4477bbb3fdb6b46.png

 

Please review:

 

other edits see 

 

Edited by bmartino1
fix xml mistake

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.

×
×
  • Create New...