techhit

Members
  • Posts

    13
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

techhit's Achievements

Newbie

Newbie (1/14)

1

Reputation

  1. I have found the fix to the problem. It had nothing to do with IOMMU groups (which I figured given that the first boot would always work). It's to do with AMD GPUs not resetting properly. Here's the fix: Here is some related information: https://www.nicksherlock.com/2020/11/working-around-the-amd-gpu-reset-bug-on-proxmox/ http://www.elaske.com/amd-passthrough-in-unraid/
  2. Hi, Yes, I've also tried not passing through 03:00.7 and 03:00.5. And then the error log complains about 03:00.2. And also, I have just tried passing through the GPU and HDMI audio 03:00.0 and 03:00.1 only, and same result. Here is the log where I pass through everything. This time I've changed the flash drive from the back to the front, so that's why it's on a different usb root hub. -device pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 \ -device pcie-root-port,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 \ -device pcie-root-port,port=0x8,chassis=6,id=pci.6,bus=pcie.0,multifunction=on,addr=0x1 \ -device pcie-root-port,port=0x9,chassis=7,id=pci.7,bus=pcie.0,addr=0x1.0x1 \ -device pcie-pci-bridge,id=pci.8,bus=pci.1,addr=0x0 \ -device pcie-root-port,port=0xa,chassis=9,id=pci.9,bus=pcie.0,addr=0x1.0x2 \ -device pcie-root-port,port=0xb,chassis=10,id=pci.10,bus=pcie.0,addr=0x1.0x3 \ -device pcie-root-port,port=0xc,chassis=11,id=pci.11,bus=pcie.0,addr=0x1.0x4 \ -device pcie-root-port,port=0xd,chassis=12,id=pci.12,bus=pcie.0,addr=0x1.0x5 \ -device qemu-xhci,p2=15,p3=15,id=usb,bus=pcie.0,addr=0x7 \ -device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x0 \ -blockdev '{"driver":"file","filename":"/mnt/user/domains/Emubox/vdisk1.img","node-name":"libvirt-2-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-2-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"raw","file":"libvirt-2-storage"}' \ -device virtio-blk-pci,bus=pci.4,addr=0x0,drive=libvirt-2-format,id=virtio-disk2,bootindex=1,write-cache=on \ -blockdev '{"driver":"file","filename":"/mnt/user/domains/Emubox/vdisk2.img","node-name":"libvirt-1-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \ -blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"qcow2","file":"libvirt-1-storage","backing":null}' \ -device virtio-blk-pci,bus=pci.5,addr=0x0,drive=libvirt-1-format,id=virtio-disk3,write-cache=on \ -netdev tap,fd=34,id=hostnet0 \ -device virtio-net,netdev=hostnet0,id=net0,mac=52:54:00:30:5c:b8,bus=pci.3,addr=0x0 \ -chardev pty,id=charserial0 \ -device isa-serial,chardev=charserial0,id=serial0 \ -chardev socket,id=charchannel0,fd=35,server,nowait \ -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 \ -device usb-tablet,id=input0,bus=usb.0,port=1 \ -device vfio-pci,host=0000:03:00.0,id=hostdev0,x-vga=on,bus=pci.6,multifunction=on,addr=0x0,romfile=/mnt/disk1/isos/Cezanne.rom \ -device vfio-pci,host=0000:03:00.1,id=hostdev1,bus=pci.6,addr=0x0.0x1 \ -device vfio-pci,host=0000:03:00.2,id=hostdev2,bus=pci.6,addr=0x0.0x2 \ -device vfio-pci,host=0000:03:00.3,id=hostdev3,bus=pci.6,addr=0x0.0x3 \ -device vfio-pci,host=0000:03:00.5,id=hostdev4,bus=pci.6,addr=0x0.0x5 \ -device vfio-pci,host=0000:03:00.7,id=hostdev5,bus=pci.6,addr=0x0.0x7 \ -device usb-host,hostbus=3,hostaddr=4,id=hostdev6,bus=usb.0,port=2 \ -device usb-host,hostbus=3,hostaddr=3,id=hostdev7,bus=usb.0,port=3 \ -sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ -msg timestamp=on 2021-10-30 00:55:14.273+0000: Domain id=3 is tainted: high-privileges 2021-10-30 00:55:14.273+0000: Domain id=3 is tainted: host-cpu char device redirected to /dev/pts/0 (label charserial0) 2021-10-30T00:56:16.768588Z qemu-system-x86_64: vfio: Unable to power on device, stuck in D3 2021-10-30T00:56:16.785683Z qemu-system-x86_64: vfio: Cannot reset device 0000:03:00.7, depends on group 15 which is not owned. 2021-10-30 00:56:47.351+0000: shutting down, reason=failed I'm really not sure what else I can do from here.
  3. If anyone can help that'd be appreciated. Below is my VM config XML. As per Space Invader's video above, I have changed the bus, and slot to be consistent for all the devices I'm passing through, as well as setting the multifunction='on' flag. <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm'> <name>Emubox</name> <uuid>ec1092b2-0329-59e6-65a1-2b4a2b8369fa</uuid> <description>Retro games</description> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="default.png" os="windows10"/> </metadata> <memory unit='KiB'>16777216</memory> <currentMemory unit='KiB'>16777216</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>6</vcpu> <cputune> <vcpupin vcpu='0' cpuset='2'/> <vcpupin vcpu='1' cpuset='3'/> <vcpupin vcpu='2' cpuset='4'/> <vcpupin vcpu='3' cpuset='5'/> <vcpupin vcpu='4' cpuset='8'/> <vcpupin vcpu='5' cpuset='9'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-q35-5.1'>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' migratable='on'> <topology sockets='1' dies='1' cores='3' threads='2'/> <cache mode='passthrough'/> <feature policy='require' name='topoext'/> </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/Emubox/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='writeback'/> <source file='/mnt/user/domains/Emubox/vdisk2.img'/> <target dev='hdd' bus='virtio'/> <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> </disk> <controller type='usb' index='0' model='qemu-xhci' ports='15'> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </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='0x10'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='2' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='2' port='0x11'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/> </controller> <controller type='pci' index='3' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='3' port='0x12'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/> </controller> <controller type='pci' index='4' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='4' port='0x13'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/> </controller> <controller type='pci' index='5' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='5' port='0x14'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/> </controller> <controller type='pci' index='6' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='6' port='0x8'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='7' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='7' port='0x9'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='pci' index='8' model='pcie-to-pci-bridge'> <model name='pcie-pci-bridge'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </controller> <controller type='pci' index='9' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='9' port='0xa'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='10' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='10' port='0xb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/> </controller> <controller type='pci' index='11' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='11' port='0xc'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/> </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:30:5c:b8'/> <source bridge='br0'/> <model type='virtio-net'/> <address type='pci' domain='0x0000' bus='0x03' 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='tablet' bus='usb'> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <hostdev mode='subsystem' type='pci' managed='yes' xvga='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </source> <rom file='/mnt/disk1/isos/Cezanne.rom'/> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0' multifunction='on'/> </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='0x06' slot='0x00' function='0x1'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x03' slot='0x00' function='0x2'/> </source> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x2'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x03' slot='0x00' function='0x5'/> </source> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x5'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x03' slot='0x00' function='0x7'/> </source> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x7'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x046d'/> <product id='0xc52b'/> </source> <address type='usb' bus='0' port='2'/> </hostdev> <memballoon model='none'/> </devices> <seclabel type='dynamic' model='dac' relabel='yes'/> </domain> Here is my IOMMU groups:
  4. Hi everyone I've got GPU passthrough working on a Window 10 VM, but after I shut it down and boot it back up (or restart the VM), it causes Unraid 100% cpu utilisation, and the VM never starts again. When I force stop the VM, and disable the GPU passthrough the problem goes away. But as soon as I switch back to GPU passthrough it locks up again. If I reboot my Unraid host, I can start up the VM without any problems. It's only on every subsequent restart of the VM. I have PCIe ACS Override=both, and I'm only passing through the GPU and HDMI Audio. Can someone please assist. vmlog.txt vmxml.txt
  5. I set the PCIe ACS Override to Both and just selected my GPU and HDMI audio device to bind.
  6. I got it going with GPU acceleration. I had to install the AMD APU driver from https://www.amd.com/en/support/apu/amd-ryzen-processors/amd-ryzen-9-mobile-processors-radeon-graphics/amd-ryzen-9-5900hx and select the "factory reset" option so that it would uninstall all previously installed display drivers. Now I have GPU acceleration working!!!! Gaming and 4K 60fps video playback is PERFECT! I'm so happy.
  7. Thanks. This worked for me, but the performance is pretty bad. I get dropped frames in youtube 4k video playback. This appears to be a non EFI bios, as I had to set the unraid startup flags to include "video=efifb:off". I had to set my VM to use SeaBIOS in order to get it working. Can I ask how you managed to dump the vBIOS? Also, I couldn't get HDMI audio working even though I've passed it through and the Windows VM can see the HDMI audio device.