Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VM Passthrough issues

Featured Replies

i have used this VM for a long time headless with only an SSD passthrough this has worked as a charm, recently i added a gpu and a usb controller, but i cant get them to work. it is a very strange issues and i get different results everytime i boot the machine. sometimes i get a very distorted unreadable screen on my connected monitor. sometimes the GPU seems fine but then it appears it can't find the SSD to boot. and i have gotten it to work for about 2 seconds with SSD and GPU but it froze on the login screen of windows.

 

the logs give this error.

2021-08-10T14:21:02.337897Z qemu-system-x86_64: vfio_err_notifier_handler(0000:03:00.0) Unrecoverable error detected. Please collect any data possible and then kill the guest

  • Author

qQsnPC8YJu.thumb.png.ac210f438f873b61c2539ad37c0ff7d5.pngzbcbZPas0d.png.7a09dcd2e2636352465d05ac95428241.png

  • Author

anyone ? 

  • 3 weeks later...
  • Author

This is still an issue, is there anyone who has an idea of what im doing wrong?

Post xml or better diagnostics file.

  • Author

Ghost Thank you for your reply !

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm'>
  <name>X-Wing-Starfighter</name>
  <uuid>UNIQUEID-Replacement</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>16777216</memory>
  <currentMemory unit='KiB'>16777216</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>8</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='7'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='8'/>
    <vcpupin vcpu='4' cpuset='3'/>
    <vcpupin vcpu='5' cpuset='9'/>
    <vcpupin vcpu='6' cpuset='4'/>
    <vcpupin vcpu='7' cpuset='10'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-i440fx-5.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/f9c3bd64-dc88-5b1a-2354-300722ad457a_VARS-pure-efi.fd</nvram>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='none'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='4' threads='2'/>
    <cache mode='passthrough'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:b9:bb:b5'/>
      <source bridge='br0'/>
      <model type='virtio-net'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <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/nietaankomen/Asus.GT1030.2048.170424.rom'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </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='0x00' slot='0x05' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x0b05'/>
        <product id='0x19af'/>
      </source>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
</domain>


Here is the XML config

11 minutes ago, DrDirtyDevil said:

Here is the XML config

Try to replace this:

    <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/nietaankomen/Asus.GT1030.2048.170424.rom'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </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='0x00' slot='0x05' function='0x0'/>
    </hostdev>

 

With this:

    <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/nietaankomen/Asus.GT1030.2048.170424.rom'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' 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='0x00' slot='0x04' function='0x1'/>
    </hostdev>

 

Moreover, make sure that 'Asus.GT1030.2048.170424.rom' is dumped from your gpu (the physical gpu that you have in your hands), do not download from internet.

 

If it's still an issue I would change from i440fx to q35 machine type, but this requires a new vm template.

 

The error you posted is about your nvme disk: q35 is more indicated than i440fx for passthrough, so it's worth a try...Note that this will require (most probably) a new windows activation.

Edited by ghost82

  • Author

i changed the xml as per your request, i am now trying to dump the vbios with the help of spaceinvadors video. I'm still actively trying but for now it seems to have changed the error code from what it was before to: kernel: vfio-pci 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xf07f

EDIT: above error showed in the unraid logs when trying the script from spaceinvader aswell as when trying to boot the VM

Edited by DrDirtyDevil

  • Author

could this have something to do with a bios setting regarding the igpu and descrete gpu ? i know i have tried a few different settings for troubleshooting before.

This is a video from LTT showing the bios setting i changed it should start at 5:44: 

 

13 minutes ago, DrDirtyDevil said:

Invalid PCI ROM header signature: expecting 0xaa55, got 0xf07f

 

Looking around this error probably means a modded bios on the gpu.

Was your gpu bios modded?

Edited by ghost82

  • Author

Okay, well i am trying to dump the bios but it shows me the same error when trying to do that. should i change the xml back and try again?

 

Edited by DrDirtyDevil

Was your gpu bios modded?or did you buy it second hand?

  • Author

Not that i am aware, and it was a new card. so thats highly unlikely

  • Author

i just created the new template with Q35 to try again but it still shows the same error when trying to get the vbios.

 

Sep 6 15:30:46 Unraid-Thuis emhttpd: cmd: /usr/local/emhttp/plugins/user.scripts/startScript.sh /tmp/user.scripts/tmpScripts/Dump Vbios/script
Sep 6 15:30:46 Unraid-Thuis kernel: vfio-pci 0000:01:00.0: vfio_ecap_init: hiding ecap 0x19@0x900
Sep 6 15:30:46 Unraid-Thuis kernel: vfio-pci 0000:01:00.0: BAR 1: can't reserve [mem 0x4000000000-0x400fffffff 64bit pref]
Sep 6 15:30:46 Unraid-Thuis kernel: vfio-pci 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xf07f
Sep 6 15:30:47 Unraid-Thuis kernel: vfio-pci 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xf07f
Sep 6 15:30:57 Unraid-Thuis kernel: vfio-pci 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got

 

Edited by DrDirtyDevil

Ok, that notice shouldn't be harmful or a stopper.

Can you confirm you are using igpu as primary and you have the gpu in a slot other than the first?

 

If you have a bare windows installation you can dump the vbios with gpuz too.

  • Author

The gpu is in the primary slot but Ed in the videos says that that shouldn’t be a problem ? I will check the bios for the gpu settings but I’m pretty sure that I have the igpu as primary. And I can also boot the machine in bare metal windows from the passed through nvme ssd Let me get back to you 

6 minutes ago, DrDirtyDevil said:

And I can also boot the machine in bare metal windows from the passed through nvme ssd

Then dump the vbios with gpuz from windows

  • Author

I managed to dump vbios through gpuz and i attached that file but it still does not work, 

 

 these are the logs from unraid.

Sep 6 18:59:05 Unraid-Thuis kernel: br0: port 3(vnet1) entered forwarding state
Sep 6 18:59:06 Unraid-Thuis avahi-daemon[11582]: Joining mDNS multicast group on interface vnet1.IPv6 with address fe80::fc54:ff:fe4e:b7d9.
Sep 6 18:59:06 Unraid-Thuis avahi-daemon[11582]: New relevant interface vnet1.IPv6 for mDNS.
Sep 6 18:59:06 Unraid-Thuis avahi-daemon[11582]: Registering new address record for fe80::fc54:ff:fe4e:b7d9 on vnet1.*.
Sep 6 18:59:06 Unraid-Thuis kernel: vfio-pci 0000:01:00.0: vfio_ecap_init: hiding ecap 0x19@0x900
Sep 6 18:59:06 Unraid-Thuis kernel: vfio-pci 0000:01:00.0: BAR 1: can't reserve [mem 0x4000000000-0x400fffffff 64bit pref]
Sep 6 18:59:06 Unraid-Thuis kernel: vfio-pci 0000:01:00.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xf07f
Sep 6 18:59:06 Unraid-Thuis kernel: vfio-pci 0000:03:00.0: vfio_ecap_init: hiding ecap 0x19@0x300
Sep 6 18:59:06 Unraid-Thuis kernel: vfio-pci 0000:03:00.0: vfio_ecap_init: hiding ecap 0x1e@0x900
Sep 6 18:59:08 Unraid-Thuis kernel: vfio-pci 0000:05:00.0: vfio_ecap_init: hiding ecap 0x1e@0x154
Sep 6 18:59:10 Unraid-Thuis kernel: pcieport 0000:00:1b.0: AER: Uncorrected (Non-Fatal) error received: 0000:00:1b.0
Sep 6 18:59:10 Unraid-Thuis kernel: pcieport 0000:00:1b.0: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, (Receiver ID)
Sep 6 18:59:10 Unraid-Thuis kernel: pcieport 0000:00:1b.0: device [8086:43c4] error status/mask=00200000/00000000
Sep 6 18:59:10 Unraid-Thuis kernel: pcieport 0000:00:1b.0: [21] ACSViol (First)
Sep 6 18:59:10 Unraid-Thuis kernel: pcieport 0000:00:1b.0: AER: device recovery successful
Sep 6 18:59:11 Unraid-Thuis kernel: pcieport 0000:00:1c.0: AER: Uncorrected (Non-Fatal) error received: 0000:00:1c.0
Sep 6 18:59:11 Unraid-Thuis kernel: pcieport 0000:00:1c.0: PCIe Bus Error: severity=Uncorrected (Non-Fatal), type=Transaction Layer, (Requester ID)
Sep 6 18:59:11 Unraid-Thuis kernel: pcieport 0000:00:1c.0: device [8086:43bc] error status/mask=00100000/00000000
Sep 6 18:59:11 Unraid-Thuis kernel: pcieport 0000:00:1c.0: [20] UnsupReq (First)
Sep 6 18:59:11 Unraid-Thuis kernel: pcieport 0000:00:1c.0: AER: TLP Header: 34000000 04000010 00000000 00008830
Sep 6 18:59:11 Unraid-Thuis kernel: pcieport 0000:00:1c.0: AER: device recovery successful
Sep 6 18:59:17 Unraid-Thuis avahi-daemon[11582]: Interface vnet1.IPv6 no longer relevant for mDNS.
Sep 6 18:59:17 Unraid-Thuis avahi-daemon[11582]: Leaving mDNS multicast group on interface vnet1.IPv6 with address fe80::fc54:ff:fe4e:b7d9.
Sep 6 18:59:17 Unraid-Thuis kernel: br0: port 3(vnet1) entered disabled state
Sep 6 18:59:17 Unraid-Thuis kernel: device vnet1 left promiscuous mode
Sep 6 18:59:17 Unraid-Thuis kernel: br0: port 3(vnet1) entered disabled state
Sep 6 18:59:17 Unraid-Thuis avahi-daemon[11582]: Withdrawing address record for fe80::fc54:ff:fe4e:b7d9 on vnet1.
Sep 6 18:59:17 Unraid-Thuis kernel: usb 1-11: reset full-speed USB device number 4 using xhci_hcd
Sep 6 18:59:18 Unraid-Thuis kernel: hid-generic 0003:0B05:19AF.0008: hiddev96,hidraw0: USB HID v1.11 Device [AsusTek Computer Inc. AURA LED Controller] on usb-0000:00:14.0-11/input2
Sep 6 19:00:04 Unraid-Thuis root: error: /plugins/user.scripts/exec.php: wrong csrf_token

 

These are the logs of the VM trying to boot

 

2021-09-06T16:59:06.742810Z qemu-system-x86_64: -device vfio-pci,host=0000:01:00.0,id=hostdev0,bus=pci.3,addr=0x0,romfile=/mnt/nvme/isos/nietaankomen/nvidiagt1030.rom: Failed to mmap 0000:01:00.0 BAR 1. Performance may be slow
2021-09-06T16:59:10.439715Z qemu-system-x86_64: vfio_err_notifier_handler(0000:03:00.0) Unrecoverable error detected. Please collect any data possible and then kill the guest
2021-09-06T16:59:11.682936Z qemu-system-x86_64: vfio_err_notifier_handler(0000:04:00.0) Unrecoverable error detected. Please collect any data possible and then kill the guest

 

please note that i did not yet change the XML file you provided previously because i was not sure i needed to after changing to q35

  • Author

what i also dont understand is that it appears that during unraid boot the GPU seems to use the dedicated graphics anyway i can see the bootscreen. but i changed the primary display option in the bios to cpu only. there is no cable in the motherboard display outputs. only a hdmi to the dedicated GPU.

1 hour ago, DrDirtyDevil said:

i was not sure i needed to after changing to q35

yes you always need to put video and audio on the same bus, same slot, different function, in a multifunction device.

You need to change only the audio part, and add multifunction='on' in the target address of the video part.

 

Note that in i440fx you attach all the pci(e) devices to bus 0, in q35 you attach them to pcie-root-ports and you have buses different than 0 (attaching devices to bus 0 in q35 is like having "built-in" devices, and in most cases you don't want this).

 

If I were you I would check if bios is updated, then I would put in a different slot the gpu, I would connect the igpu to a monitor, I would set in bios igpu as primary, I would check the xml of the vm for the correct topology and then try to run...other than that I don't know what to do...

Edited by ghost82

  • Author

Ghost, thanks for you support! 

 

the xml part is way out of my comfort zone, first time even touching it. could you please assist with this part. 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm'>
  <name>X-Wing-Starfighter</name>
  <uuid>UUID</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>16777216</memory>
  <currentMemory unit='KiB'>16777216</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>8</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='7'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='8'/>
    <vcpupin vcpu='4' cpuset='3'/>
    <vcpupin vcpu='5' cpuset='9'/>
    <vcpupin vcpu='6' cpuset='4'/>
    <vcpupin vcpu='7' cpuset='10'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-5.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/3e8e1afa-5c43-d965-af87-d937d10f00b3_VARS-pure-efi.fd</nvram>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='none'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='4' threads='2'/>
    <cache mode='passthrough'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x8'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x9'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0xa'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0xb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0xc'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0xd'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/>
    </controller>
    <controller type='pci' index='7' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='7' port='0xe'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/>
    </controller>
    <controller type='pci' index='8' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='8' port='0xf'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:4e:b7:d9'/>
      <source bridge='br0'/>
      <model type='virtio-net'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <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/nietaankomen/nvidiagt1030.rom'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </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='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x0b05'/>
        <product id='0x19af'/>
      </source>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
</domain>

 

i will try all the other things you suggested. thanks again!

36 minutes ago, DrDirtyDevil said:

could you please assist with this part. 

Sure, no problem.

 

Replace this:

    <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/nietaankomen/nvidiagt1030.rom'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </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='0x0'/>
    </hostdev>

 

With this:

    <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/nietaankomen/nvidiagt1030.rom'/>
      <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='0x01' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x1'/>
    </hostdev>

 

In the host (unraid) the gpu is now at bus 0x01, slot 0x00 (see the <address> inside the <source> tag), with video with function 0x0 and audio with function 0x01, in the target (the vm) the gpu is at bus 0x03 and slot 0x00 (see the <address> before </hostdev>), with video with function 0x0 and audio with function 0x01.

 

If you will change the physical slot of the gpu the source address will change, so you will need to create again the vm and do these edits, or post again the xml if you have issues.

Edited by ghost82

  • Author

Thanks, I will try this tomorrow, thanks so much for your help ! 

  • Author

Okay, so long week has passed and here's what changed and what i tried.

 

i have upgraded the gpu to a 1050ti that a friend had lying around, for an upgrade and as an troubleshooting step.

i have since dumped that vbios with gpu-z and changed my vm template to use that card and its rom. 

the issue persisted so i started googling again.  i found this:

https://forums.unraid.net/topic/71371-resolved-primary-gpu-passthrough/

in the first post the answer has been wrote done at the bottum and i tried the 3 commands he suggested on the unraid command line.

 

the results are that this particular line of error has gone away: 

2021-09-06T16:59:06.742810Z qemu-system-x86_64: -device vfio-pci,host=0000:01:00.0,id=hostdev0,bus=pci.3,addr=0x0,romfile=/mnt/nvme/isos/nietaankomen/nvidiagt1030.rom: Failed to mmap 0000:01:00.0 BAR 1. Performance may be slow

 

but the 2 other lines still appear

2021-09-12T15:26:12.666245Z qemu-system-x86_64: vfio_err_notifier_handler(0000:03:00.0) Unrecoverable error detected. Please collect any data possible and then kill the guest
2021-09-12T15:26:13.917587Z qemu-system-x86_64: vfio_err_notifier_handler(0000:04:00.0) Unrecoverable error detected. Please collect any data possible and then kill the guest

 

now i did change the XML with the one you provided but it still doesn't work. i am now trying to connect a monitor to the igpu and i am going to check for a bios update. i will check back in later.

 

Update: i tried connecting a external monitor and i updated the bios but it does not appear to work, i also checked the pcie ports but i only have 2 and the secondary one is populated by an Sata host bus adapter. 

this is the motherboard i am using https://rog.asus.com/motherboards/rog-strix/rog-strix-b560-f-gaming-wifi-model/

Edited by DrDirtyDevil

  • 3 weeks later...
  • Author

Bump

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

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.