Passthrough issues


Go to solution Solved by ghost82,

Recommended Posts

I am at a loss and not sure how to proceed next, hoping one of the gurus can assist me :) I have tried many combinations all with no progress.

 

Trying to passthrough a evga GTX-1060 6gb to a windows 10 vm. Each time I destroy the disk and image, I've tried the following.

  • bios- vt-d, CMS, legacy, GPU primary
  • ACS Override
  • allow unsafe interrupts 
  • Hyper-V set to No
  • Separated IOMMU groups
  • Binded to VFIO
  • created vm with VNC first, whilst loading drivers
  • Tried dumping my own vbios and downloading various online
  • multifunction='on' after the vbios line in the xml
  • Changed all functions 0,1,2,& 3 to the same PCI slot
  • GPU 1 or 2 both don't work
  • connecting external monitor

 

Issue

Select VNC and the win10 vm boots. When I select the gpu and soundcard the vm seems to stop at this point in the log.

-device vfio-pci,host=0000:02:00.0,id=hostdev0,bus=pci.0,addr=0x8,romfile=/mnt/user/isos/graphicRoms/EVGA.GTX1060.6144.160722.rom \
-device vfio-pci,host=0000:02:00.1,id=hostdev1,bus=pci.0,addr=0x9 \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
char device redirected to /dev/pts/16 (label charserial0)

 

IOMMU

IOMMU group 14:			 	[10de:1c03] 01:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)
IOMMU group 15:			 	[10de:10f1] 01:00.1 Audio device: NVIDIA Corporation GP106 High Definition Audio Controller (rev a1)
IOMMU group 16:			 	[10de:1c03] 02:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)
IOMMU group 17:			 	[10de:10f1] 02:00.1 Audio device: NVIDIA Corporation GP106 High Definition Audio Controller (rev a1)

 

VFIO

Loading config from /boot/config/vfio-pci.cfg
BIND=0000:01:00.0|10de:1c03 0000:01:00.1|10de:10f1 0000:02:00.0|10de:1c03 0000:02:00.1|10de:10f1
---
Processing 0000:01:00.0 10de:1c03
Vendor:Device 10de:1c03 found at 0000:01:00.0

IOMMU group members (sans bridges):
/sys/bus/pci/devices/0000:01:00.0/iommu_group/devices/0000:01:00.0

Binding...
Successfully bound the device 10de:1c03 at 0000:01:00.0 to vfio-pci
---
Processing 0000:01:00.1 10de:10f1
Vendor:Device 10de:10f1 found at 0000:01:00.1

IOMMU group members (sans bridges):
/sys/bus/pci/devices/0000:01:00.1/iommu_group/devices/0000:01:00.1

Binding...
Successfully bound the device 10de:10f1 at 0000:01:00.1 to vfio-pci
---
Processing 0000:02:00.0 10de:1c03
Vendor:Device 10de:1c03 found at 0000:02:00.0

IOMMU group members (sans bridges):
/sys/bus/pci/devices/0000:02:00.0/iommu_group/devices/0000:02:00.0

Binding...
Successfully bound the device 10de:1c03 at 0000:02:00.0 to vfio-pci
---
Processing 0000:02:00.1 10de:10f1
Vendor:Device 10de:10f1 found at 0000:02:00.1

IOMMU group members (sans bridges):
/sys/bus/pci/devices/0000:02:00.1/iommu_group/devices/0000:02:00.1

Binding...
Successfully bound the device 10de:10f1 at 0000:02:00.1 to vfio-pci
---
vfio-pci binding complete

Devices listed in /sys/bus/pci/drivers/vfio-pci:
lrwxrwxrwx 1 root root    0 Jun 24 05:01 0000:01:00.0 -> ../../../../devices/pci0000:00/0000:00:01.0/0000:01:00.0
lrwxrwxrwx 1 root root    0 Jun 24 05:01 0000:01:00.1 -> ../../../../devices/pci0000:00/0000:00:01.0/0000:01:00.1
lrwxrwxrwx 1 root root    0 Jun 24 05:01 0000:02:00.0 -> ../../../../devices/pci0000:00/0000:00:01.1/0000:02:00.0
lrwxrwxrwx 1 root root    0 Jun 24 05:01 0000:02:00.1 -> ../../../../devices/pci0000:00/0000:00:01.1/0000:02:00.1

 

Specs

  • i9-10900
  • z590 aorus master
  • GTX-1060 6gb

 

 

 

tower-diagnostics-20220624-1854.zip

Edited by KeyBoardDabbler
Link to comment
  • Solution

Hi,

you need to:

1. setup the gpu as multifunction in the vm <-- to be done

2. it should be isolated (bound to vfio) <-- done

3. allow unsafe interrupts may be required in unraid <-- done

4. newest drivers should be installed <-- cannot say anything on this

5. modification to syslinux config may be required (es: video=efifb:off) <-- (to be done)

6. q35+ovmf should be preferred <-- give it a try

7. video rom should be dumped from your gpu and not downloaded somewhere <-- cannot say anything on this

 

Setup a q35+ovmf virtual machine with vnc, with all the advices above, enable remote desktop inside the vm, shutdown the vm, enable gpu passthrough, boot and connect directly to the vm with remote desktop with a second external device to install the drivers; look at the system devices for errors if it doesn't work.

Edited by ghost82
  • Thanks 1
Link to comment
7 hours ago, ghost82 said:

Setup a q35+ovmf virtual machine with vnc, with all the advices above, enable remote desktop inside the vm, shutdown the vm, enable gpu passthrough, boot and connect directly to the vm with remote desktop with a second external device to install the drivers; look at the system devices for errors if it doesn't work.

 

OMG you legend, it has worked straight away after i either added "video=efifb:off" or using a q35+ovmf virtual machine. What a relief, onto the next problem :D 

 

for future reference

  1. bios- vt-d, CMS, legacy, GPU primary
  2. ACS Override=both & allow unsafe interrupts=enabled, Separated IOMMU groups & Binded to VFIO

  3. Added "video=efifb:off" to the syslinux config.
  4. Created a win10 q35+ovmf virtual machine with vnc & Hyper-V set to No
  5. Installed "viostor" drivers during OS setup, updated windows, installed "virtio-win-gt" and confirmed remote desktop connection.
  6. Downloaded my own video rom dumped from the gpu using a SpaceInvaderOne script
  7. Added the GPU
  8. Then applied "multifunction='on'" after the vbios line in the xml, Changed all functions 0,1,2,& 3 to the same PCI slot

 

<hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/user/isos/vbios/gtx1060-6gb.rom'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x1'/>
    </hostdev>

 

 

 

 

  • Like 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.