sec787 Posted August 11, 2019 Share Posted August 11, 2019 (edited) Hi Unraiders, I have been struggling with getting my msi rx580 oc to passthrough to my VM windows 10 PC. I read through the boards to get the best configuration, esp since my GPU supports UEFI, it appears. When switching from VNC, to my RX580 for video and sound, my screen goes dark, forcing my to reboot the system to get my monitor back. It appears I shouldnt need 2 GPUs to accomplish passthough. I downloaded the rom for the RX580 from techpowerup. Also switched on/off hyperv and used with no rom. Any ideas what I am missing here? I attached my VM config below: thanks for the help, I really like unraid thus far. <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm'> <name>Windows 10</name> <uuid>6aac5c3a-afe7-691f-a9a7-ebe5b1e298f9</uuid> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/> </metadata> <memory unit='KiB'>8912896</memory> <currentMemory unit='KiB'>8912896</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>8</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='8'/> <vcpupin vcpu='2' cpuset='1'/> <vcpupin vcpu='3' cpuset='9'/> <vcpupin vcpu='4' cpuset='2'/> <vcpupin vcpu='5' cpuset='10'/> <vcpupin vcpu='6' cpuset='3'/> <vcpupin vcpu='7' cpuset='11'/> </cputune> <os> <type arch='x86_64' machine='pc-i440fx-3.1'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram>/etc/libvirt/qemu/nvram/6aac5c3a-afe7-691f-a9a7-ebe5b1e298f9_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='8' 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/local/sbin/qemu</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/user/domains/Windows 10/vdisk1.img'/> <target dev='hdc' 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/Windows/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.160-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='0x03' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:d5:11:01'/> <source bridge='br0'/> <model type='virtio'/> <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='tablet' bus='usb'> <address type='usb' bus='0' port='2'/> </input> <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='0x07' slot='0x00' function='0x0'/> </source> <rom file='/mnt/user/isos/MSI.RX580.8192.180503.rom'/> <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='0x07' slot='0x00' function='0x1'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x046d'/> <product id='0xc52b'/> </source> <address type='usb' bus='0' port='1'/> </hostdev> <memballoon model='none'/> </devices> </domain> Edited August 12, 2019 by sec787 spelling Quote Link to comment
nug Posted August 12, 2019 Share Posted August 12, 2019 I'll be keeping an eye on this post. I've just purchased a RX570 and having the same issue. I've had some luck with Linux VMs but not Windows. Quote Link to comment
sec787 Posted August 12, 2019 Author Share Posted August 12, 2019 (edited) to add more to my post system detail wise, see attached. Virtualization and IOMMU are enabled on the host. Unraid v6.7.2 Also rx580 is in it's own IOMMU group (group 15) after executing and getting the black screen, looking at the error logs I get the below: Any ideas are appreciated, I hope to get a second set of eyes to see whats wrong. -smp 8,sockets=1,cores=8,threads=1 \ -uuid 971af8ca-7c25-7726-8801-e1f472669fca \ -display none \ -no-user-config \ -nodefaults \ -chardev socket,id=charmonitor,fd=26,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,masterbus=usb.0,firstport=4,bus=pci.0,addr=0x7.0x2 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x3 \ -drive 'file=/mnt/user/domains/Windows 10/vdisk1.img,format=raw,if=none,id=drive-virtio-disk2,cache=writeback' \ -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk2,id=virtio-disk2,bootindex=1,write-cache=on \ -drive file=/mnt/user/isos/Windows/Windows.iso,format=raw,if=none,id=drive-ide0-0-0,readonly=on \ -device ide-cd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=2 \ -drive file=/mnt/user/isos/virtio-win-0.1.160-1.iso,format=raw,if=none,id=drive-ide0-0-1,readonly=on \ -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1 \ -netdev tap,fd=29,id=hostnet0,vhost=on,vhostfd=31 \ -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:e6:4a:3b,bus=pci.0,addr=0x2 \ -chardev pty,id=charserial0 \ -device isa-serial,chardev=charserial0,id=serial0 \ -chardev socket,id=charchannel0,fd=32,server,nowait \ -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 \ -device vfio-pci,host=07:00.0,id=hostdev0,bus=pci.0,addr=0x5 \ -device vfio-pci,host=07:00.1,id=hostdev1,bus=pci.0,addr=0x6 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ -msg timestamp=on 2019-08-12 05:11:31.809+0000: Domain id=1 is tainted: high-privileges 2019-08-12 05:11:31.809+0000: Domain id=1 is tainted: host-cpu char device redirected to /dev/pts/2 (label charserial0) 2019-08-12T05:11:33.030178Z qemu-system-x86_64: -device vfio-pci,host=07:00.0,id=hostdev0,bus=pci.0,addr=0x5: Failed to mmap 0000:07:00.0 BAR 0. Performance may be slow 2019-08-12T05:11:34.260795Z qemu-system-x86_64: vfio: Unable to power on device, stuck in D3 2019-08-12T05:11:34.260897Z qemu-system-x86_64: vfio: Unable to power on device, stuck in D3 2019-08-12T05:11:35.945454Z qemu-system-x86_64: vfio_err_notifier_handler(0000:07:00.0) Unrecoverable error detected. Please collect any data possible and then kill the guest 2019-08-12T05:11:36.193449Z qemu-system-x86_64: vfio_err_notifier_handler(0000:07:00.1) Unrecoverable error detected. Please collect any data possible and then kill the guest Edited August 12, 2019 by sec787 more info Quote Link to comment
bastl Posted August 12, 2019 Share Posted August 12, 2019 1 hour ago, sec787 said: Unable to power on device, stuck in D3 Also known as AMD reset bug. Some people with 5xx or the vega cards have that issue. If you search the forums you will find a couple reports. The card is only able to initialise once and can't be reset. Only a server reboot fixes this in most cases. Some people reported to not passthrough the audio part of the card works, for others using Q35 fixes it and for some it worked with passing through a GPU BIOS for this card. Another guy reported booting unraid in legacy mode vs uefi worked for him. Unfortunately there isn't a one click solution. 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.