September 16, 20214 yr I was having this issue on a previous VM which was working fine but ended up after a few days with the gaming experience becoming completely unplayable. So I decided to create an entirely new VM this morning and make sure everything was 100% configured and on point before testing it. I followed Space Invader's videos on setting up a VM with GPU passthrough enabled. I also followed his 3 video series on tuning the server for ultimate performance. I have all my docker containers update. I have Windows 10 version 21H1 (OS Build 19043.1237). My GPU driver was installed (clean install) directly from Nvidia during setup. Like I said, I followed Space Invader's videos entirely as I have previously except now I cannot game at all without my VM shutting down as soon as I enter a match (Overwatch). I just replaced my previous R5 2600x with an R9 5900x - but the issue is the same. I thought maybe the issue was related to CPU core pinning and isolation. So I isolated 4 core and 4 threads specifically for the VM and restarted unraid and the VM. But the result is the same with the VM stopping as soon as the game logs in past the game menu. Also there is no warning. Screens go completely black like the system shut off, but tower is still on and Unraid is still accessible via my phone and browser. I booted back up and grabbed the syslogs. I've attached them here. Also fwiw, I have R9 5900x, 64GB DDR4 ram @ 3200Mhz, Asus B450M-A motherboard, 3 x 8TB HDD's (one of which, is no longer showing up despite me checking the plugs but hopefully unrelated? still see shares but no parity drive - this has been ongoing since CPU replacement, whereas crashing issue has existed prior to this even), MSI Gaming X 1080Ti, Corsair 750W PSU. All help greatly appreciated. VM XML: <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm' id='2'> <name>Gaming VM</name> <uuid>8dc5cdb3-d52a-dfda-b9df-0ee2b3c0d879</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'>8</vcpu> <cputune> <vcpupin vcpu='0' cpuset='1'/> <vcpupin vcpu='1' cpuset='13'/> <vcpupin vcpu='2' cpuset='2'/> <vcpupin vcpu='3' cpuset='14'/> <vcpupin vcpu='4' cpuset='3'/> <vcpupin vcpu='5' cpuset='15'/> <vcpupin vcpu='6' cpuset='4'/> <vcpupin vcpu='7' cpuset='16'/> </cputune> <resource> <partition>/machine</partition> </resource> <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/8dc5cdb3-d52a-dfda-b9df-0ee2b3c0d879_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' migratable='on'> <topology sockets='1' dies='1' cores='4' 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/Gaming VM/vdisk1.img' index='3'/> <backingStore/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <alias name='virtio-disk2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <source file='/mnt/user/isos/Win10_21H1_English_x64.iso' index='2'/> <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.190-1.iso' index='1'/> <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='qemu-xhci' ports='15'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </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='0x04' function='0x0'/> </controller> <controller type='pci' index='0' model='pci-root'> <alias name='pci.0'/> </controller> <interface type='bridge'> <mac address='52:54:00:51:77:93'/> <source bridge='br0'/> <target dev='vnet0'/> <model type='virtio-net'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </interface> <serial type='pty'> <source path='/dev/pts/0'/> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> <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/domain-2-Gaming VM/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='tablet' bus='usb'> <alias name='input0'/> <address type='usb' bus='0' port='1'/> </input> <input type='mouse' bus='ps2'> <alias name='input1'/> </input> <input type='keyboard' bus='ps2'> <alias name='input2'/> </input> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x08' slot='0x00' function='0x0'/> </source> <alias name='hostdev0'/> <rom file='/mnt/user/system/roms/MSI.GTX1080Ti.vbios1.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='0x08' slot='0x00' function='0x1'/> </source> <alias name='hostdev1'/> <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='0x0a' slot='0x00' function='0x4'/> </source> <alias name='hostdev2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x046d'/> <product id='0xc539'/> <address bus='1' device='2'/> </source> <alias name='hostdev3'/> <address type='usb' bus='0' port='2'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x0951'/> <product id='0x16b7'/> <address bus='3' device='5'/> </source> <alias name='hostdev4'/> <address type='usb' bus='0' port='3'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x0a12'/> <product id='0x0001'/> <address bus='1' device='3'/> </source> <alias name='hostdev5'/> <address type='usb' bus='0' port='4'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x1038'/> <product id='0x12b3'/> <address bus='3' device='3'/> </source> <alias name='hostdev6'/> <address type='usb' bus='0' port='5'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x1b1c'/> <product id='0x0c13'/> <address bus='1' device='4'/> </source> <alias name='hostdev7'/> <address type='usb' bus='0' port='6'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x1b3f'/> <product id='0x2008'/> <address bus='3' device='6'/> </source> <alias name='hostdev8'/> <address type='usb' bus='0' port='7'/> </hostdev> <hostdev mode='subsystem' type='usb' managed='no'> <source> <vendor id='0x26e0'/> <product id='0x3c13'/> <address bus='3' device='4'/> </source> <alias name='hostdev9'/> <address type='usb' bus='0' port='8'/> </hostdev> <memballoon model='none'/> </devices> <seclabel type='dynamic' model='dac' relabel='yes'> <label>+0:+100</label> <imagelabel>+0:+100</imagelabel> </seclabel> </domain> syslog Edited September 16, 20214 yr by itz4blitz clarification
September 16, 20214 yr Author Just an update, I opened the VM log and then from my VM entered in game. It crashed shortly after entering a match. This was the error log: qemu-system-x86_64: hw/usb/host-libusb.c:838: usb_host_ep_update: Assertion `udev->altsetting[i] < conf->interface[i].num_altsetting' failed. 2021-09-16 18:53:40.232+0000: shutting down, reason=crashed
September 18, 20214 yr Author Update: I got some advice from @fmp4m that my GPU may have not been stubbed properly. After a bit of searching, I came across this great thread: ** VIDEO GUIDE - How to Easily Dump a vBIOS from any GPU directly from the Server for passthrough - VM Engine (KVM) - Unraid I followed this guide. When I went to actually dump the vBIOS my Unraid would actually crash. I did a bit more research - and I also came across this video: After I followed the above video, I then returned back to the vBIOS script and it had no issues dumping the vBIOS. I booted up (after having to remove some of the missing USB devices from my VM's XML), got into Overwatch and was seeing 250 FPS Edited September 18, 20214 yr by itz4blitz
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.