Jump to content

lntel IGD passthrough - I7-8700 - Gigabyte Z370 Gaming 7


WashingtonMatt

Recommended Posts

New unRAIDer here. I've got macOS up and running beautifully with a Radeon RX560 gpu, but I've been struggling all week to get the on-board graphics (Intel UHD Graphics 630) passthrough working with Windows 10. I think I just need a little push over the top and everything will come together perfectly.

 

Windows 10 VM starts fine with VNC, but fails to boot with IGD passthrough and hangs with one CPU at 100%. I found that if I set the RX560 as the initial display output device in the Gigabyte MB BIOS, then Windows 10 VM will boot with no display output. Connect via RDP and see a video device in device manager, but windows crashes when installing intel uhd 630 driver.

 

Should IGD passthrough be possible with my hardware?

 

current syslinux per suggestion in this post 

append pcie_acs_override=downstream vfio-pci.ids=8086:a2f0 modprobe.blacklist=i2c_i801,i2c_smbussnd_hda_intel video=efifb:off,vesa:off initrd=/bzroot

 

M/B: Gigabyte Technology Co., Ltd. - Z370 AORUS Gaming 7
CPU: Intel® Core™ i7-8700 CPU @ 3.20GHz
HVM: Enabled
IOMMU: Enabled
Cache: 384 kB, 1536 kB, 12288 kB
Memory: 32 GB (max. installable capacity 64 GB)
Network: bond0: fault-tolerance (active-backup), mtu 1500 
 eth0: not connected
 eth1: 1000 Mb/s, full duplex, mtu 1500
Kernel: Linux 4.14.49-unRAID x86_64
<domain type='kvm'>
  <name>Windows 10</name>
  <uuid>92eab3db-38ad-1b97-20da-93de30dafc4f</uuid>
  <description>Windows 10</description>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='7'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='8'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.11'>hvm</type>
  </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'>
    <topology sockets='1' cores='2' threads='2'/>
  </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>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/cylon-11/vdisk1.img'/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/Windows.iso'/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <boot order='2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/virtio-win-0.1.141-1.iso'/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <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='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:8e:b9:b3'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' 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='0x00' slot='0x02' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </hostdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </memballoon>
  </devices>
</domain>
2018-06-23 14:08:36.887+0000: starting up libvirt version: 4.0.0, qemu version: 2.11.1, hostname: unraid
LC_ALL=C PATH=/bin:/sbin:/usr/bin:/usr/sbin HOME=/ QEMU_AUDIO_DRV=none /usr/local/sbin/qemu -name guest=windows 10,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-3-windows 10/master-key.aes -machine pc-i440fx-2.11,accel=kvm,usb=off,dump-guest-core=off,mem-merge=off -cpu host,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff,hv_vendor_id=none -m 4096 -realtime mlock=off -smp 4,sockets=1,cores=2,threads=2 -uuid 92eab3db-38ad-1b97-20da-93de30dafc4f -display none -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-3-windows 10/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime -no-hpet -no-shutdown -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x7.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x7 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x7.0x1 -device ich9-usb-uhci3,masterbusrdev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -device vfio-pci,host=00:02.0,id=hostdev0,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -msg timestamp=on
2018-06-23 14:08:36.887+0000: Domain id=3 is tainted: high-privileges
2018-06-23 14:08:36.887+0000: Domain id=3 is tainted: host-cpu
2018-06-23T14:08:36.924970Z qemu-system-x86_64: -chardev pty,id=charserial0: char device redirected to /dev/pts/0 (label charserial0)
2018-06-23T14:08:45.320160Z qemu-system-x86_64: terminating on signal 15 from pid 3370 (/usr/sbin/libvirtd)
2018-06-23 14:08:45.720+0000: shutting down, reason=destroyed
IOMMU group 0:	[8086:3ec2] 00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
IOMMU group 1:	[8086:1901] 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 07)
IOMMU group 2:	[8086:3e92] 00:02.0 VGA compatible controller: Intel Corporation Device 3e92
IOMMU group 3:	[8086:1911] 00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
IOMMU group 4:	[8086:a2af] 00:14.0 USB controller: Intel Corporation 200 Series PCH USB 3.0 xHCI Controller
IOMMU group 5:	[8086:a2ba] 00:16.0 Communication controller: Intel Corporation 200 Series PCH CSME HECI #1
IOMMU group 6:	[8086:a282] 00:17.0 SATA controller: Intel Corporation 200 Series PCH SATA controller [AHCI mode]
IOMMU group 7:	[8086:a2e7] 00:1b.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #17 (rev f0)
IOMMU group 8:	[8086:a2e9] 00:1b.2 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #19 (rev f0)
IOMMU group 9:	[8086:a2eb] 00:1b.4 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #21 (rev f0)
IOMMU group 10:	[8086:a290] 00:1c.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #1 (rev f0)
IOMMU group 11:	[8086:a291] 00:1c.1 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #2 (rev f0)
IOMMU group 12:	[8086:a292] 00:1c.2 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #3 (rev f0)
IOMMU group 13:	[8086:a294] 00:1c.4 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #5 (rev f0)
IOMMU group 14:	[8086:a296] 00:1c.6 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #7 (rev f0)
IOMMU group 15:	[8086:a298] 00:1d.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #9 (rev f0)
IOMMU group 16:	[8086:a2c9] 00:1f.0 ISA bridge: Intel Corporation Device a2c9
[8086:a2a1] 00:1f.2 Memory controller: Intel Corporation 200 Series PCH PMC
[8086:a2f0] 00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
[8086:a2a3] 00:1f.4 SMBus: Intel Corporation 200 Series PCH SMBus Controller
IOMMU group 17:	[8086:15b8] 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V
IOMMU group 18:	[1002:67ff] 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 550 640SP / RX 560/560X] (rev cf)
[1002:aae0] 01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device aae0
IOMMU group 19:	[144d:a808] 04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981
IOMMU group 20:	[1969:e0b1] 07:00.0 Ethernet controller: Qualcomm Atheros Killer E2500 Gigabit Ethernet Controller (rev 10)
IOMMU group 21:	[1b21:2142] 08:00.0 USB controller: ASMedia Technology Inc. Device 2142
IOMMU group 22:	[1b21:2142] 09:00.0 USB controller: ASMedia Technology Inc. Device 2142
IOMMU group 23:	[144d:a808] 0a:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981
Jun 23 08:08:36 unraid kernel: vfio-pci 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
Jun 23 08:08:36 unraid kernel: br0: port 2(vnet0) entered blocking state
Jun 23 08:08:36 unraid kernel: br0: port 2(vnet0) entered disabled state
Jun 23 08:08:36 unraid kernel: device vnet0 entered promiscuous mode
Jun 23 08:08:36 unraid kernel: br0: port 2(vnet0) entered blocking state
Jun 23 08:08:36 unraid kernel: br0: port 2(vnet0) entered forwarding state
Jun 23 08:08:36 unraid kernel: vfio_ecap_init: 0000:00:02.0 hiding ecap 0x1b@0x100
Jun 23 08:08:37 unraid avahi-daemon[2227]: Joining mDNS multicast group on interface vnet0.IPv6 with address fe80::fc54:ff:fe8e:b9b3.
Jun 23 08:08:37 unraid avahi-daemon[2227]: New relevant interface vnet0.IPv6 for mDNS.
Jun 23 08:08:37 unraid avahi-daemon[2227]: Registering new address record for fe80::fc54:ff:fe8e:b9b3 on vnet0.*.
Jun 23 08:08:49 unraid avahi-daemon[2227]: Interface vnet0.IPv6 no longer relevant for mDNS.
Jun 23 08:08:49 unraid avahi-daemon[2227]: Leaving mDNS multicast group on interface vnet0.IPv6 with address fe80::fc54:ff:fe8e:b9b3.
Jun 23 08:08:49 unraid kernel: br0: port 2(vnet0) entered disabled state
Jun 23 08:08:49 unraid kernel: device vnet0 left promiscuous mode
Jun 23 08:08:49 unraid kernel: br0: port 2(vnet0) entered disabled state
Jun 23 08:08:49 unraid avahi-daemon[2227]: Withdrawing address record for fe80::fc54:ff:fe8e:b9b3 on vnet0.
Jun 23 08:08:49 unraid kernel: vfio-pci 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem

 

Link to comment
  • 4 months later...
On 6/23/2018 at 9:16 AM, WashingtonMatt said:

New unRAIDer here. I've got macOS up and running beautifully with a Radeon RX560 gpu, but I've been struggling all week to get the on-board graphics (Intel UHD Graphics 630) passthrough working with Windows 10. I think I just need a little push over the top and everything will come together perfectly.

 

Windows 10 VM starts fine with VNC, but fails to boot with IGD passthrough and hangs with one CPU at 100%. I found that if I set the RX560 as the initial display output device in the Gigabyte MB BIOS, then Windows 10 VM will boot with no display output. Connect via RDP and see a video device in device manager, but windows crashes when installing intel uhd 630 driver.

 

Should IGD passthrough be possible with my hardware?

 

current syslinux per suggestion in this post 

append pcie_acs_override=downstream vfio-pci.ids=8086:a2f0 modprobe.blacklist=i2c_i801,i2c_smbussnd_hda_intel video=efifb:off,vesa:off initrd=/bzroot

 

M/B: Gigabyte Technology Co., Ltd. - Z370 AORUS Gaming 7
CPU: Intel® Core™ i7-8700 CPU @ 3.20GHz
HVM: Enabled
IOMMU: Enabled
Cache: 384 kB, 1536 kB, 12288 kB
Memory: 32 GB (max. installable capacity 64 GB)
Network: bond0: fault-tolerance (active-backup), mtu 1500 
 eth0: not connected
 eth1: 1000 Mb/s, full duplex, mtu 1500
Kernel: Linux 4.14.49-unRAID x86_64

<domain type='kvm'>
  <name>Windows 10</name>
  <uuid>92eab3db-38ad-1b97-20da-93de30dafc4f</uuid>
  <description>Windows 10</description>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/>
  </metadata>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='7'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='8'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.11'>hvm</type>
  </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'>
    <topology sockets='1' cores='2' threads='2'/>
  </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>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/cylon-11/vdisk1.img'/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/Windows.iso'/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <boot order='2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/virtio-win-0.1.141-1.iso'/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <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='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:8e:b9:b3'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' 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='0x00' slot='0x02' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </hostdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </memballoon>
  </devices>
</domain>

2018-06-23 14:08:36.887+0000: starting up libvirt version: 4.0.0, qemu version: 2.11.1, hostname: unraid
LC_ALL=C PATH=/bin:/sbin:/usr/bin:/usr/sbin HOME=/ QEMU_AUDIO_DRV=none /usr/local/sbin/qemu -name guest=windows 10,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-3-windows 10/master-key.aes -machine pc-i440fx-2.11,accel=kvm,usb=off,dump-guest-core=off,mem-merge=off -cpu host,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff,hv_vendor_id=none -m 4096 -realtime mlock=off -smp 4,sockets=1,cores=2,threads=2 -uuid 92eab3db-38ad-1b97-20da-93de30dafc4f -display none -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-3-windows 10/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=localtime -no-hpet -no-shutdown -boot strict=on -device ich9-usb-ehci1,id=usb,bus=pci.0,addr=0x7.0x7 -device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pci.0,multifunction=on,addr=0x7 -device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pci.0,addr=0x7.0x1 -device ich9-usb-uhci3,masterbusrdev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -device vfio-pci,host=00:02.0,id=hostdev0,bus=pci.0,addr=0x2 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x6 -msg timestamp=on
2018-06-23 14:08:36.887+0000: Domain id=3 is tainted: high-privileges
2018-06-23 14:08:36.887+0000: Domain id=3 is tainted: host-cpu
2018-06-23T14:08:36.924970Z qemu-system-x86_64: -chardev pty,id=charserial0: char device redirected to /dev/pts/0 (label charserial0)
2018-06-23T14:08:45.320160Z qemu-system-x86_64: terminating on signal 15 from pid 3370 (/usr/sbin/libvirtd)
2018-06-23 14:08:45.720+0000: shutting down, reason=destroyed

IOMMU group 0:	[8086:3ec2] 00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
IOMMU group 1:	[8086:1901] 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 07)
IOMMU group 2:	[8086:3e92] 00:02.0 VGA compatible controller: Intel Corporation Device 3e92
IOMMU group 3:	[8086:1911] 00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
IOMMU group 4:	[8086:a2af] 00:14.0 USB controller: Intel Corporation 200 Series PCH USB 3.0 xHCI Controller
IOMMU group 5:	[8086:a2ba] 00:16.0 Communication controller: Intel Corporation 200 Series PCH CSME HECI #1
IOMMU group 6:	[8086:a282] 00:17.0 SATA controller: Intel Corporation 200 Series PCH SATA controller [AHCI mode]
IOMMU group 7:	[8086:a2e7] 00:1b.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #17 (rev f0)
IOMMU group 8:	[8086:a2e9] 00:1b.2 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #19 (rev f0)
IOMMU group 9:	[8086:a2eb] 00:1b.4 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #21 (rev f0)
IOMMU group 10:	[8086:a290] 00:1c.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #1 (rev f0)
IOMMU group 11:	[8086:a291] 00:1c.1 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #2 (rev f0)
IOMMU group 12:	[8086:a292] 00:1c.2 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #3 (rev f0)
IOMMU group 13:	[8086:a294] 00:1c.4 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #5 (rev f0)
IOMMU group 14:	[8086:a296] 00:1c.6 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #7 (rev f0)
IOMMU group 15:	[8086:a298] 00:1d.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #9 (rev f0)
IOMMU group 16:	[8086:a2c9] 00:1f.0 ISA bridge: Intel Corporation Device a2c9
[8086:a2a1] 00:1f.2 Memory controller: Intel Corporation 200 Series PCH PMC
[8086:a2f0] 00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
[8086:a2a3] 00:1f.4 SMBus: Intel Corporation 200 Series PCH SMBus Controller
IOMMU group 17:	[8086:15b8] 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V
IOMMU group 18:	[1002:67ff] 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 550 640SP / RX 560/560X] (rev cf)
[1002:aae0] 01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device aae0
IOMMU group 19:	[144d:a808] 04:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981
IOMMU group 20:	[1969:e0b1] 07:00.0 Ethernet controller: Qualcomm Atheros Killer E2500 Gigabit Ethernet Controller (rev 10)
IOMMU group 21:	[1b21:2142] 08:00.0 USB controller: ASMedia Technology Inc. Device 2142
IOMMU group 22:	[1b21:2142] 09:00.0 USB controller: ASMedia Technology Inc. Device 2142
IOMMU group 23:	[144d:a808] 0a:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981

Jun 23 08:08:36 unraid kernel: vfio-pci 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
Jun 23 08:08:36 unraid kernel: br0: port 2(vnet0) entered blocking state
Jun 23 08:08:36 unraid kernel: br0: port 2(vnet0) entered disabled state
Jun 23 08:08:36 unraid kernel: device vnet0 entered promiscuous mode
Jun 23 08:08:36 unraid kernel: br0: port 2(vnet0) entered blocking state
Jun 23 08:08:36 unraid kernel: br0: port 2(vnet0) entered forwarding state
Jun 23 08:08:36 unraid kernel: vfio_ecap_init: 0000:00:02.0 hiding ecap 0x1b@0x100
Jun 23 08:08:37 unraid avahi-daemon[2227]: Joining mDNS multicast group on interface vnet0.IPv6 with address fe80::fc54:ff:fe8e:b9b3.
Jun 23 08:08:37 unraid avahi-daemon[2227]: New relevant interface vnet0.IPv6 for mDNS.
Jun 23 08:08:37 unraid avahi-daemon[2227]: Registering new address record for fe80::fc54:ff:fe8e:b9b3 on vnet0.*.
Jun 23 08:08:49 unraid avahi-daemon[2227]: Interface vnet0.IPv6 no longer relevant for mDNS.
Jun 23 08:08:49 unraid avahi-daemon[2227]: Leaving mDNS multicast group on interface vnet0.IPv6 with address fe80::fc54:ff:fe8e:b9b3.
Jun 23 08:08:49 unraid kernel: br0: port 2(vnet0) entered disabled state
Jun 23 08:08:49 unraid kernel: device vnet0 left promiscuous mode
Jun 23 08:08:49 unraid kernel: br0: port 2(vnet0) entered disabled state
Jun 23 08:08:49 unraid avahi-daemon[2227]: Withdrawing address record for fe80::fc54:ff:fe8e:b9b3 on vnet0.
Jun 23 08:08:49 unraid kernel: vfio-pci 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem

 

Hi WashingtonMatt.  I'm curious if you were able to get your issue resolved but in the end I googled this thread while searching for solutions with passing through RX560 on the z370 Gaming 7 motherboard in Unraid. I could hardly believe that you actually have an almost identical setup and had it working with OSX with GPU passthrough.  Thus far I am not getting any luck with any combination. I was even thinning of dumping the vbios but I am not sure it would make any difference. So my setup is probably similar to what you started with, e.i. with the 560 installed in the first PCIE slot as secondary video card and the integrated Intel HD 630 is enabled in the UEFI as primary video. With the ACS override on, Windows 10 won't recognize the card at all and just reports it a basic VGA adapter. Installing AMD drivers in device manager just hangs Windows. Also, without the ACS override I cannot get the RX 560 to show up in an isolated IOMMU group at all (tried to move it around the motherboard and disabling the integrated graphics to no avail). I do have the current BIOS from Gigabyte which is F10 released in September and the previous version didn't work any better in that respect. I would guess that at the time you had it working you had an older version of the BIOS. I wonder if it had different IOMMU groupings. To be honest I actually intend to use the RX 560 for OSX but I thought I first would get it to work on Windows and then start tinkering with OSX. I should mention I am completely new to Unraid and KVM. BTW, I also have a cheap NVIDIA GT 1030 so maybe I will attempt setting that one for Windows. Other than that I don't see any other possible issues with my hardware: 

- Z370 AORUS Gaming 7 

- i7-3700

- 32GB Corsair RAM

- Samsung EVO NVMe M.2 500GB SSD for VMs

- 750W Corsair PS

 

Link to comment

I'm still on unRAID 6.5.3 and my motherboard BIOS is F6. I upgraded the BIOS to F6 at some point without issue.

 

With my current configuration I've given the iGPU to Plex which is awesome as it takes the load off the server. I'm also running 2 VM with GPU passthrough, and some other VMs and dockers. I've had no issues with the RX560. It "just works" with macOS, and works great with Windows 10 as well. My other GPU is an old Radeon 2400 xt. Works great for now, but I plan on swapping it for another RX560 at some point.

 

As far as the win 10 install goes, try installing windows without the GPU passthrough first, enable Remote Desktop, then passthrough the GPU and install the driver. I don't recall exactly what I did, but I don't recall any cursing or crazy tweaks. 

 

At this point I've been unsuccessful getting audio in macOS. It otherwise seems to work perfectly. I did a clean install of Mojave and it works great too, easy install, but no audio. Every few weeks I try to tackle the audio, but I'm still over my head on that. Follow the spaceinvader tutorial, it works. 

Link to comment

thanks for the update and your reply. I didn't have time to try anything in the last week, but I will check what BIOS version I am running and see if that will do the trick. I have tried three different clean Windows 10 installs without pass through, and then installed the drivers after. The one difference is that I never tried RDP and used either VNC or NoMachine. I supposed native RDP may yield different results. I will also take a closer look at your VM XML and see if there are any other differences. This weekend I am planning to also try a Mojave install to see if I have any better lack with OSX. 

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...