d.bech Posted January 12, 2016 Share Posted January 12, 2016 (edited) I recently installed unraid and a windows 10 VM. All was going fine. Stable good, performance. Then shortly after adding a new HDD to my array my GPU driver just stopped working with the following error: Windows has stopped this device because it has reported problems. (Code 43) What I've tried: - Removed all GPU drivers from the VM and reinstalled the latest from Nvidias website - Uninstalled the GPU from device manager and reinstalled - Created a fresh VM, still the same error. This makes we think I've messed up something in unRAID or my GPU is dead - Just tried a spare GPU and got the same results. (So I've tried a GTX970 and a GTX750ti) - Maybe its a plugin I've installed. I'll try disabling these. XML: <domain type='kvm' id='37' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>Windows 10</name> <uuid>fc8280c4-7269-a6dd-ebdf-41fd12e5cf5e</uuid> <description>Windows 10 64bit</description> <metadata> <vmtemplate name="Custom" icon="windows.png" os="windows"/> </metadata> <memory unit='KiB'>10485760</memory> <currentMemory unit='KiB'>10485760</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>4</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='1'/> <vcpupin vcpu='2' cpuset='2'/> <vcpupin vcpu='3' cpuset='3'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type> </os> <features> <acpi/> <apic/> <hyperv> <relaxed state='off'/> <vapic state='off'/> <spinlocks state='off'/> </hyperv> <kvm> <hidden state='on'/> </kvm> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='4' threads='1'/> </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/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/user/boot/Windows 10/vdisk1.img'/> <backingStore/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <alias name='virtio-disk2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/ISOs/Win10_1511_EnglishInternational_x64.iso'/> <backingStore/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <alias name='ide0-0-0'/> <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.112.iso'/> <backingStore/> <target dev='hdb' bus='ide'/> <readonly/> <alias name='ide0-0-1'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='usb' index='0' model='nec-xhci'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </controller> <controller type='pci' index='0' model='pci-root'> <alias name='pci.0'/> </controller> <controller type='ide' index='0'> <alias name='ide'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:ce:26:89'/> <source bridge='br0'/> <target dev='vnet0'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/0'/> <target port='0'/> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/0'> <source path='/dev/pts/0'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/Windows 10.org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x045e'/> <product id='0x02e6'/> <address bus='1' device='6'/> </source> <alias name='hostdev0'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x17a0'/> <product id='0x0303'/> <address bus='1' device='49'/> </source> <alias name='hostdev1'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc52b'/> <address bus='1' device='47'/> </source> <alias name='hostdev2'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x8087'/> <product id='0x07dc'/> <address bus='1' device='9'/> </source> <alias name='hostdev3'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <address bus='1' device='2'/> </source> <alias name='hostdev4'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <address bus='1' device='46'/> </source> <alias name='hostdev5'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <address bus='1' device='8'/> </source> <alias name='hostdev6'/> </hostdev> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </memballoon> </devices> <qemu:commandline> <qemu:arg value='-device'/> <qemu:arg value='ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=00:1b.0,bus=root.1,addr=01.0'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=01:00.1,bus=root.1,addr=00.1'/> </qemu:commandline> </domain> Anyone got any ideas? unraid-diagnostics-20160113-2100.zip Edited February 22, 2018 by d.bech It's not solved. Not sure why it was marked as such Quote Link to comment
saarg Posted January 12, 2016 Share Posted January 12, 2016 Post the xml of the vm and the diagnostics zip file from Tools --> diagnostics. Quote Link to comment
d.bech Posted January 13, 2016 Author Share Posted January 13, 2016 Post the xml of the vm and the diagnostics zip file from Tools --> diagnostics. Just attached them now. Quote Link to comment
guiper Posted January 13, 2016 Share Posted January 13, 2016 You need to disable the hyperv extensions, else Nvidia drivers detects it's a VM and returns error 43. Make sure you have the following section bellow and will be solved. <features> <acpi/> <apic/> <hyperv> <relaxed state='off'/> <vapic state='off'/> <spinlocks state='off'/> </hyperv> <kvm> <hidden state='on'/> </kvm> </features> Hopefully on Unraid 6.2 will be ways to override the nvidia detection and allow hyperv extensions to be enabled. Quote Link to comment
d.bech Posted January 13, 2016 Author Share Posted January 13, 2016 You need to disable the hyperv extensions, else Nvidia drivers detects it's a VM and returns error 43. Make sure you have the following section bellow and will be solved. <features> <acpi/> <apic/> <hyperv> <relaxed state='off'/> <vapic state='off'/> <spinlocks state='off'/> </hyperv> <kvm> <hidden state='on'/> </kvm> </features> Hopefully on Unraid 6.2 will be ways to override the nvidia detection and allow hyperv extensions to be enabled. Wicked I'll switch that over. Thanks a bunch man. Waiting for windows 10 to download ATM as I had the wrong language for the key I have Quote Link to comment
d.bech Posted January 16, 2016 Author Share Posted January 16, 2016 YUP! all working Quote Link to comment
d.bech Posted January 31, 2016 Author Share Posted January 31, 2016 You need to disable the hyperv extensions, else Nvidia drivers detects it's a VM and returns error 43. Make sure you have the following section bellow and will be solved. <features> <acpi/> <apic/> <hyperv> <relaxed state='off'/> <vapic state='off'/> <spinlocks state='off'/> </hyperv> <kvm> <hidden state='on'/> </kvm> </features> Hopefully on Unraid 6.2 will be ways to override the nvidia detection and allow hyperv extensions to be enabled. It all stopped working after the recent update. any ideas? XML <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>Windows 10</name> <uuid>fc8280c4-7269-a6dd-ebdf-41fd12e5cf5e</uuid> <description>Windows 10 64bit</description> <metadata> <vmtemplate name="Custom" icon="windows.png" os="windows"/> </metadata> <memory unit='KiB'>10485760</memory> <currentMemory unit='KiB'>10485760</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>4</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='1'/> <vcpupin vcpu='2' cpuset='2'/> <vcpupin vcpu='3' cpuset='3'/> </cputune> <os> <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type> </os> <features> <acpi/> <apic/> <hyperv> <relaxed state='off'/> <vapic state='off'/> <spinlocks state='off'/> </hyperv> <kvm> <hidden state='on'/> </kvm> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='4' threads='1'/> </cpu> <clock offset='localtime'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/user/boot/Windows 10/vdisk1.img'/> <target dev='hdb' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/ISOs/virtio-win-0.1.112.iso'/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <controller type='usb' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 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='0x03' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:ce:26:89'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </interface> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/Windows 10.org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x045e'/> <product id='0x02e6'/> </source> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x17a0'/> <product id='0x0303'/> </source> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc52b'/> </source> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x22d4'/> <product id='0x130c'/> </source> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x2109'/> <product id='0x2812'/> </source> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x2516'/> <product id='0x0017'/> </source> </hostdev> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </memballoon> </devices> <qemu:commandline> <qemu:arg value='-device'/> <qemu:arg value='ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=00:1b.0,bus=root.1,addr=01.0'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=01:00.1,bus=root.1,addr=00.1'/> </qemu:commandline> </domain> Quote Link to comment
charleslabri Posted February 4, 2016 Share Posted February 4, 2016 Yeah, not seeming to work here as well. Still getting (code 43). Using unRaid 6.1.7 Maybe Ill have to try this on a straight KVM box and see if it will work there. <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>RenderNode01</name> <uuid>fc945e3d-da04-083f-ece5-a0a553dd3cf7</uuid> <metadata> <vmtemplate name="Custom" icon="windows7.png" os="windows7"/> </metadata> <memory unit='KiB'>16777216</memory> <currentMemory unit='KiB'>8388608</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>8</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='1'/> <vcpupin vcpu='2' cpuset='2'/> <vcpupin vcpu='3' cpuset='3'/> <vcpupin vcpu='4' cpuset='4'/> <vcpupin vcpu='5' cpuset='5'/> <vcpupin vcpu='6' cpuset='6'/> <vcpupin vcpu='7' cpuset='7'/> </cputune> <os> <type arch='x86_64' machine='pc-q35-2.3'>hvm</type> </os> <features> <acpi/> <apic/> <hyperv> <relaxed state='off'/> <vapic state='off'/> <spinlocks state='off'/> </hyperv> <kvm> <hidden state='on'/> </kvm> </features> <cpu> <topology sockets='1' cores='8' threads='1'/> </cpu> <clock offset='localtime'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <timer name='hpet' present='no'/> </clock> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/qemu-system-x86_64</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/user/VirtualMachines/RenderNode01/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/ISO/Win7X64SP1.iso'/> <target dev='hda' bus='sata'/> <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/ISO/virtio-win-0.1.102.iso'/> <target dev='hdb' bus='sata'/> <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='0x02' slot='0x02' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <master startport='0'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0' multifunction='on'/> </controller> <controller type='sata' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </controller> <controller type='pci' index='0' model='pcie-root'/> <controller type='pci' index='1' model='dmi-to-pci-bridge'> <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/> </controller> <controller type='pci' index='2' model='pci-bridge'> <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:30:4f:88'/> <source bridge='virbr0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/> </interface> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/RenderNode01.org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='tablet' bus='usb'/> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0' keymap='en-us'> <listen type='address' address='0.0.0.0'/> </graphics> <video> <model type='vmvga' vram='16384' heads='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> </video> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x02' slot='0x05' function='0x0'/> </memballoon> </devices> <qemu:commandline> <qemu:arg value='-device'/> <qemu:arg value='ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=02:00.0,bus=pcie.0,multifunction=on'/> </qemu:commandline> </domain> Quote Link to comment
johnnykid Posted February 11, 2017 Share Posted February 11, 2017 Not working for me either, unfortunately. Getting error code 43 as well after installing the latest driver. - New Win10 VM - i7 860 - NVidia 970GTX <code> <domain type='kvm' id='3'> <name>Windows 10</name> <uuid>85f151db-b7af-258d-25aa-ef82025285b4</uuid> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/> </metadata> <memory unit='KiB'>12582912</memory> <currentMemory unit='KiB'>12582912</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>6</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='2'/> <vcpupin vcpu='2' cpuset='3'/> <vcpupin vcpu='3' cpuset='4'/> <vcpupin vcpu='4' cpuset='6'/> <vcpupin vcpu='5' cpuset='7'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-2.7'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram>/etc/libvirt/qemu/nvram/85f151db-b7af-258d-25aa-ef82025285b4_VARS-pure-efi.fd</nvram> </os> <features> <acpi/> <apic/> <hyperv> <relaxed state='off'/> <vapic state='off'/> <spinlocks state='off'/> </hyperv> <kvm> <hidden state='on'/> </kvm> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='3' threads='2'/> </cpu> <clock offset='localtime'> <timer name='rtc' tickpolicy='catchup'/> <timer name='pit' tickpolicy='delay'/> <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/cache/SSD/vdisks/Windows 10/vdisk1.img'/> <backingStore/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <alias name='virtio-disk2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/SSD/isos/Win10_1607_English_x64.iso'/> <backingStore/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <alias name='ide0-0-0'/> <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/SSD/isos/virtio-win-0.1.130.iso'/> <backingStore/> <target dev='hdb' bus='ide'/> <readonly/> <alias name='ide0-0-1'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <alias name='usb'/> <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'> <alias name='usb'/> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <alias name='usb'/> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'> <alias name='pci.0'/> </controller> <controller type='ide' index='0'> <alias name='ide'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:1b:da:f5'/> <source bridge='br0'/> <target dev='vnet0'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/1'/> <target port='0'/> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/1'> <source path='/dev/pts/1'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-3-Windows 10/org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='mouse' bus='ps2'> <alias name='input0'/> </input> <input type='keyboard' bus='ps2'> <alias name='input1'/> </input> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </source> <alias name='hostdev0'/> <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='0x06' slot='0x00' function='0x1'/> </source> <alias name='hostdev1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x0518'/> <product id='0x0001'/> <address bus='2' device='8'/> </source> <alias name='hostdev2'/> <address type='usb' bus='0' port='1'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x1532'/> <product id='0x0016'/> <address bus='2' device='10'/> </source> <alias name='hostdev3'/> <address type='usb' bus='0' port='2'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x1532'/> <product id='0x0203'/> <address bus='2' device='9'/> </source> <alias name='hostdev4'/> <address type='usb' bus='0' port='3'/> </hostdev> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </memballoon> </devices> <seclabel type='none' model='none'/> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel> </domain> </code> Quote Link to comment
JimJamUrUnraid Posted June 29, 2017 Share Posted June 29, 2017 This topic is marked as solved, but I just read through the posts and it doesn't seem like it has been resolved. I am currently having the same issues. The virtual machine can output video from my GTX 1080, but the resolution is insanely low and Windows says: Quote Windows has stopped this device because it has reported problems. (Code 43) Here is my setup: Unraid Version: 6.3.5 10 HDDs - 4 are connected through a pcie expansion card, the other 6 are connected directly to the motherboard Updated motherboard bios to most recent version Bios has vt-x enabled obviously for the vm to run Main GPU slot has a low end graphics card that the Unraid OS can use for output. EVGA GTX 1080 is in PCIE slot 3 - IOMMU group 26 all by its self: [10de:1b80] 03:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1) [10de:10f0] 03:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1) I had to put this line into my syslinux.cfg file to be able to boot the VM with the graphics card in passthrough mode: append vfio_iommu_type1.allow_unsafe_interrupts=1 initrd=/bzroot Onto the VM setups that I have tried: Windows 10 VM: Bios: OVMF Machine: tried Q35-2.7 & i440fx-2.7 Hyper-V: NO VirtIO: virtio-win-0.1.126.iso Windows 7 VM: Bios: Seabios Machine: tried Q35-2.7 & i440fx-2.7 Hyper-V: NO VirtIO: virtio-win-0.1.126.iso I uninstalled as many plugins as I could without crippling my home server. This is what is remaining as far as plugins: CA Appdata Backup/Restore CA Appdata Cleanup CA Fix Common Problems Community Applications CrashPlan CUPS Dynamix Cache Dirs Dynamix Schedules Dynamix SSD Trim Dynamix System Buttons Dynamix System Temp Plex Transmission Unassigned Devices Zoneminder I spent close to 6 hours working on this yesterday. I have also made an attempt or two at passing a vbios by manually modifying the XML, this did not seem to make a difference. As I was grinding on this yesterday, I did see an admin that claimed to have a 1080 working in passthrough. I can't remember who, maybe Jon? I would really appreciate some insight here. Windows 7 VM XML.txt Windows 10 VM XML.txt Quote Link to comment
Darksurf Posted June 29, 2017 Share Posted June 29, 2017 (edited) No issues here, working like a boss. reconfigure and also try a cold boot. Also, I can use hyper-v flags without any issue. currently using this machine for steam streaming to linux box. has a GTX1060 <domain type='kvm' id='2'> <name>Windows10</name> <uuid>cc651542-fab1-c9a3-b707-ae659594dfa4</uuid> <description>Windows10</description> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/> </metadata> <memory unit='KiB'>8388608</memory> <currentMemory unit='KiB'>8388608</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>8</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='1'/> <vcpupin vcpu='2' cpuset='2'/> <vcpupin vcpu='3' cpuset='3'/> <vcpupin vcpu='4' cpuset='8'/> <vcpupin vcpu='5' cpuset='9'/> <vcpupin vcpu='6' cpuset='10'/> <vcpupin vcpu='7' cpuset='11'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-2.7'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram>/etc/libvirt/qemu/nvram/cc651542-fab1-c9a3-b707-ae659594dfa4_VARS-pure-efi.fd</nvram> </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='4' 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/VMs/Windows10/vdisk1.img'/> <backingStore/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <alias name='virtio-disk2'/> <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/ZDRIVE/ISOs/Win10_1607_English_x64.iso'/> <backingStore/> <target dev='hda' bus='sata'/> <readonly/> <boot order='2'/> <alias name='sata0-0-0'/> <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/ZDRIVE/ISOs/virtio-win-0.1.126-2.iso'/> <backingStore/> <target dev='hdb' bus='sata'/> <readonly/> <alias name='sata0-0-1'/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='usb' index='0' model='ich9-ehci1'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/> </controller> <controller type='usb' index='0' model='ich9-uhci1'> <alias name='usb'/> <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'> <alias name='usb'/> <master startport='2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/> </controller> <controller type='usb' index='0' model='ich9-uhci3'> <alias name='usb'/> <master startport='4'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'> <alias name='pci.0'/> </controller> <controller type='sata' index='0'> <alias name='sata0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <controller type='virtio-serial' index='0'> <alias name='virtio-serial0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:c6:fd:4e'/> <source bridge='br0'/> <target dev='vnet0'/> <model type='virtio'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/1'/> <target port='0'/> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/1'> <source path='/dev/pts/1'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-2-Windows10/org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <input type='mouse' bus='ps2'> <alias name='input0'/> </input> <input type='keyboard' bus='ps2'> <alias name='input1'/> </input> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </source> <alias name='hostdev0'/> <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='0x06' slot='0x00' function='0x1'/> </source> <alias name='hostdev1'/> <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='0x00' slot='0x1b' function='0x0'/> </source> <alias name='hostdev2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/> </hostdev> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/> </memballoon> </devices> <seclabel type='none' model='none'/> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel> </domain> Edited June 29, 2017 by Darksurf Quote Link to comment
JimJamUrUnraid Posted June 29, 2017 Share Posted June 29, 2017 Wow, you have hyper-v enabled. strange, seems to go against everything on these forums.... I will have to go back to default and give that a try I guess. Do you happen to recall the Nvidia driver that you are using? Also I noticed the virtio drivers you are using have a -2 at the end, where is this version from, and do you think it could have an effect? (i.e virtio-win-0.1.126-2.iso) Quote Link to comment
Darksurf Posted June 29, 2017 Share Posted June 29, 2017 Yeah, hyper-v has no issues here. I have the latest graphics drivers installed and I even run the graphics card drivers geforce tool to update the drivers fairly often. YES virtio drivers for WIN10 is a big deal. use the latest. Quote Link to comment
JimJamUrUnraid Posted June 29, 2017 Share Posted June 29, 2017 Ok I tried with hyper-v enabled and there was no difference, still got error code 43. I have also now tried multiple driver versions with the hyper-v on state: nvidia v368.25, v372.9, v382.53 - these did not change anything, still getting error code 43. My virtio drivers appear to be the most recent, as I cannot source a virtio-win-0.1.126-2.iso as the typical download locations do list that version anywhere. So I guess I will stick with virtio-win-0.1.126.iso I'm at a stand still with this. Kinda sucks... Quote Link to comment
saarg Posted June 29, 2017 Share Posted June 29, 2017 Do you need the vbios you specify in the XML? I would start fresh. That means: 1. Download new iso from Microsoft. 2. New virtio drivers. 3. Follow the wiki on installing the vm with virtio drivers. 4. Do not use vnc at any time! 5. Use the win 10 VM template. Quote Link to comment
JimJamUrUnraid Posted June 29, 2017 Share Posted June 29, 2017 @saarg, The only reason I have the vbios is because it was said somewhere on the forums that it could help overcome the code 43 error. I can very easily remove it. I am downloading fresh Windows 10 right now. Also obtaining new virtio driver download. When I get home tonight I will try and run through the windows 10 install without ever using vnc. Unfortunately I can't run the install remotely while im at work without vnc. I'll let you know the results as soon as I can. Quote Link to comment
JimJamUrUnraid Posted June 29, 2017 Share Posted June 29, 2017 Ok im browsing over the wiki to install VMs and I come to this line: Quote For Windows 8/8.1, you can select either SeaBIOS or OVMF, but to assign a graphics device to OVMF, it must support UEFI. When it says "it must support UEFI", what is being referred to? the GPU is what I assume, but it could also be referring to the motherboard... Do these newer GPUs really have a UEFI bios? Thats crazy! Quote Link to comment
saarg Posted June 29, 2017 Share Posted June 29, 2017 55 minutes ago, JimJamUrUnraid said: Ok im browsing over the wiki to install VMs and I come to this line: When it says "it must support UEFI", what is being referred to? the GPU is what I assume, but it could also be referring to the motherboard... Do these newer GPUs really have a UEFI bios? Thats crazy! Your GPU supports UEFI for sure, so don't worry about it Quote Link to comment
JimJamUrUnraid Posted June 29, 2017 Share Posted June 29, 2017 (edited) Ok I'm installing. this is what I'm looking at. Haha. Just a note. It seems as though windows 10 installer would lock up at the windows 10 logo when using OVMF. Switching to seabios, I was in the installer with 10 seconds. Edited June 29, 2017 by JimJamUrUnraid Quote Link to comment
JimJamUrUnraid Posted June 30, 2017 Share Posted June 30, 2017 Ok it booted up. First thing I did was check device manager. Showing up as "Microsoft Basic Display Adapter" i have ave followed up through step 5. Are there certain steps I should follow now? Quote Link to comment
JimJamUrUnraid Posted June 30, 2017 Share Posted June 30, 2017 Ok I have had no luck even with never having the vm set to vnc, That didn't make much of a difference from what I can tell. After loading the proper nvidia drivers I was still met with the horrid code 43 error. Quote Link to comment
saarg Posted June 30, 2017 Share Posted June 30, 2017 You could also try to add the vbios again. @gridrunner has a collection of vbioses that you might you if it's the same memory size on your card. Quote Link to comment
SpaceInvaderOne Posted June 30, 2017 Share Posted June 30, 2017 (edited) Just having a quick look through your xml i see you are adding the rom file to the sound part of the gpu xml <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='0x02' slot='0x04' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x03' slot='0x00' function='0x1'/> </source> <rom file='/mnt/user/FamilyShare/evgaGTX1080.rom'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </hostdev> Try adding it like this to the graphics part. <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </source> <rom file='/mnt/user/FamilyShare/evgaGTX1080.rom'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x04' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x03' slot='0x00' function='0x1'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </hostdev> Also here is a 1080 vbios you can try too GTX1080FE.dump unfortunately, your problem could be due to your system not having correct interrupt support. Try updating the MB bios if there is a new bios. But that said I have had a board myself that the iommu only worked using an older bios. It seems they broke its function on an update. If you can get card working without using append vfio_iommu_type1.allow_unsafe_interrupts=1 initrd=/bzroot would be better as I seen a few people have this problem. Edited June 30, 2017 by gridrunner Quote Link to comment
hrv231 Posted February 21, 2018 Share Posted February 21, 2018 Can someone please help on this thread, it's been a while. I'm new to unRAID, move 8TB of stuff to unRAID system, converted my physical windows 10 into qemu to use it with unRAID, finally manage to passthrough my EVGA GTX 660 Ti and now I'm having the same problem as the rest of you with Code 43 on Windows 10. Quote Link to comment
d.bech Posted February 22, 2018 Author Share Posted February 22, 2018 I'm no longer using UNRAID as it wasn't really adequate for what I wanted to use it for. Since people are still active in this thread just @ me if anyone wants the initial post updated and I'll update it for you. Quote Link to comment
Recommended Posts
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.