May 23May 23 On 5/21/2026 at 6:54 AM, sixkittens said:I recommend unbinding the GPU from VFIO, and testing again. Not sure how you got it to work before, but binding to VFIO (for me anyway) causes the GPU to get stuck in the wrong power state and there's no video output as a result.I intend to look further into what might be causing the lockup when bound, but I don't know enough about how these things work to have a good starting point.I have added a ROM that I dumped myself from GPU-Z, and updated to 7.3.0, which has a newer kernel, so it may yet prevent the lockups when restarting the vm.I gave up and conceded. Spent a few 100 and built a seperate gaming rig on an x3d cpu which is a blessing in disguise so far: hugely better performance than my gaming vm, no more annoying anti-cheat/VM issues (I can finally play Space Marine 2 yay) and way lower idle power consumption on the unraid server as the 9070xt (and usb3 pci card which i could also take out) saved me 30w idle power.
May 25May 25 Meanwhile I have been on 7.3.0 for a few days, shutting my VM down each night without the system hanging once so far. Hopefully the trend continues. I did have to enable CPU migration to prevent instability issues I was having but this seems to be exclusive to Linux VM's.
June 1Jun 1 On 5/25/2026 at 11:36 AM, sixkittens said:Meanwhile I have been on 7.3.0 for a few days, shutting my VM down each night without the system hanging once so far. Hopefully the trend continues. I did have to enable CPU migration to prevent instability issues I was having but this seems to be exclusive to Linux VM's.Hi @sixkittens , just wondering how you got it resolved.. I am still having issue with my gpu passthrough, when I boot up the VM the screen just goes black and then thats it. If I go to my VM Manager page on my other deveices then it will just freeze.What can I provide on here to get some assistance to hopefully get this working?Edit: Current GPU is RX9070 Edited June 1Jun 1 by P3ANUT added gpu
June 1Jun 1 1 hour ago, P3ANUT said:Hi @sixkittens , just wondering how you got it resolved.. I am still having issue with my gpu passthrough, when I boot up the VM the screen just goes black and then thats it. If I go to my VM Manager page on my other deveices then it will just freeze.What can I provide on here to get some assistance to hopefully get this working?Edit: Current GPU is RX9070Make sure that you do not have the GPU or sound device bound to VFIO at boot, this seems to invariably cause the GPU to lock up (I have no idea why). Then try to boot your VM and if you still get no video, check the VM log by clicking the VM's icon and selecting from the drop-down menu. The log should tell you if there are errors preventing video output.
June 5Jun 5 On 6/1/2026 at 7:56 PM, sixkittens said:Make sure that you do not have the GPU or sound device bound to VFIO at boot, this seems to invariably cause the GPU to lock up (I have no idea why). Then try to boot your VM and if you still get no video, check the VM log by clicking the VM's icon and selecting from the drop-down menu. The log should tell you if there are errors preventing video output.Sorry for the delayed reply, been very busy with work over the last few days.I am unable to access the VM manager page and hence I can't see what is the error message. Let me find a way to perhaps output the logs somewhere.Update: After I tried extracting the logs with script, when I open the logs file, the file was empty... Edited June 6Jun 6 by P3ANUT
June 7Jun 7 On 6/6/2026 at 1:49 AM, P3ANUT said:Sorry for the delayed reply, been very busy with work over the last few days.I am unable to access the VM manager page and hence I can't see what is the error message. Let me find a way to perhaps output the logs somewhere.Update: After I tried extracting the logs with script, when I open the logs file, the file was empty...It sounds like you might be having a different issue to what is discussed here if you are unable to open the VM page in the Unraid UI. Have you tried rebooting your server?
June 7Jun 7 2 hours ago, sixkittens said:It sounds like you might be having a different issue to what is discussed here if you are unable to open the VM page in the Unraid UI. Have you tried rebooting your server?I would not be able to normally shutdown my server when it happens... the unraid reboot would fail. But if I were to run some script to manaully unbind my gpu before turning on my VM then I wouldn't run into this issue
June 9Jun 9 On 6/7/2026 at 3:28 PM, P3ANUT said:I would not be able to normally shutdown my server when it happens... the unraid reboot would fail. But if I were to run some script to manaully unbind my gpu before turning on my VM then I wouldn't run into this issueOkay then, what version of Unraid are you running? These lockups seem to no longer occur on Unraid 7.3.
June 10Jun 10 On 6/9/2026 at 9:38 AM, sixkittens said:Okay then, what version of Unraid are you running? These lockups seem to no longer occur on Unraid 7.3.Currently already on Unraid 7.3.1
July 11Jul 11 27 minutes ago, Rick Sanchez said:Has anyone got this working with bare unraid yet?Since the 7.3.0 release I have not had any problems, and I am unsure what I am doing differently, so I'll just post everything for people to compare with.Card: Gigabyte 9070 XTPCIe ACS Override: OffVFIO: Unbound (binding the GPU gives no video out and an error in the VM log)GPU ROM: Dumped from GPU-ZXML:<?xml version='1.0' encoding='UTF-8'?> <domain type='kvm'> <name>Fedora</name> <uuid>851b1c62-07b7-c1e4-f711-93edc56634ec</uuid> <description>Q35</description> <metadata> <vmtemplate xmlns="http://unraid" name="Fedora" icon="fedora.png" os="fedora" webui="" storage="default" iconold="fedora.png"/> </metadata> <memory unit='KiB'>33554432</memory> <currentMemory unit='KiB'>33554432</currentMemory> <memoryBacking> <nosharepages/> <source type='memfd'/> <access mode='shared'/> </memoryBacking> <vcpu placement='static'>28</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'/> <vcpupin vcpu='8' cpuset='8'/> <vcpupin vcpu='9' cpuset='9'/> <vcpupin vcpu='10' cpuset='10'/> <vcpupin vcpu='11' cpuset='11'/> <vcpupin vcpu='12' cpuset='12'/> <vcpupin vcpu='13' cpuset='13'/> <vcpupin vcpu='14' cpuset='14'/> <vcpupin vcpu='15' cpuset='15'/> <vcpupin vcpu='16' cpuset='16'/> <vcpupin vcpu='17' cpuset='17'/> <vcpupin vcpu='18' cpuset='18'/> <vcpupin vcpu='19' cpuset='19'/> <vcpupin vcpu='20' cpuset='20'/> <vcpupin vcpu='21' cpuset='21'/> <vcpupin vcpu='22' cpuset='22'/> <vcpupin vcpu='23' cpuset='23'/> <vcpupin vcpu='24' cpuset='24'/> <vcpupin vcpu='25' cpuset='25'/> <vcpupin vcpu='26' cpuset='26'/> <vcpupin vcpu='27' cpuset='27'/> </cputune> <os> <type arch='x86_64' machine='pc-q35-9.2'>hvm</type> <loader readonly='yes' type='pflash' format='raw'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram format='raw'>/etc/libvirt/qemu/nvram/851b1c62-07b7-c1e4-f711-93edc56634ec_VARS-pure-efi.fd</nvram> <smbios mode='host'/> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough' check='none' migratable='on'> <topology sockets='1' dies='1' clusters='1' cores='14' threads='2'/> <cache mode='passthrough'/> <maxphysaddr mode='passthrough' limit='39'/> <feature policy='disable' name='hypervisor'/> </cpu> <clock offset='utc'> <timer name='hpet' present='no'/> <timer name='hypervclock' 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' discard='unmap'/> <source file='/mnt/user/domains/Fedora/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <serial>vdisk1</serial> <boot order='1'/> <address type='pci' domain='0x0000' bus='0x0b' slot='0x00' function='0x0'/> </disk> <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='0x8'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='2' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='2' port='0x9'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='pci' index='3' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='3' port='0xa'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='4' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='4' port='0xb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/> </controller> <controller type='pci' index='5' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='5' port='0xc'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/> </controller> <controller type='pci' index='6' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='6' port='0xd'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x5'/> </controller> <controller type='pci' index='7' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='7' port='0xe'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x6'/> </controller> <controller type='pci' index='8' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='8' port='0xf'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x7'/> </controller> <controller type='pci' index='9' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='9' port='0x10'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='10' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='10' port='0x11'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/> </controller> <controller type='pci' index='11' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='11' port='0x12'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/> </controller> <controller type='pci' index='12' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='12' port='0x13'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/> </controller> <controller type='pci' index='13' 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='14' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='14' port='0x14'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/> </controller> <controller type='pci' index='15' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='15' port='0x15'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x09' slot='0x00' function='0x0'/> </controller> <controller type='sata' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </controller> <controller type='usb' index='0' model='qemu-xhci' ports='15'> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </controller> <controller type='scsi' index='0' model='virtio-scsi'> <address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/> </controller> <filesystem type='mount' accessmode='passthrough'> <driver type='virtiofs' queue='1024'/> <binary path='/usr/libexec/virtiofsd' xattr='on'> <cache mode='always'/> <sandbox mode='chroot'/> </binary> <source dir='/mnt/user/Documents'/> <target dir='Documents'/> <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </filesystem> <filesystem type='mount' accessmode='passthrough'> <driver type='virtiofs' queue='1024'/> <binary path='/usr/libexec/virtiofsd' xattr='on'> <cache mode='always'/> <sandbox mode='chroot'/> </binary> <source dir='/mnt/user/Files'/> <target dir='Files'/> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/> </filesystem> <filesystem type='mount' accessmode='passthrough'> <driver type='virtiofs' queue='1024'/> <binary path='/usr/libexec/virtiofsd' xattr='on'> <cache mode='always'/> <sandbox mode='chroot'/> </binary> <source dir='/mnt/user/Games'/> <target dir='Games'/> <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/> </filesystem> <filesystem type='mount' accessmode='passthrough'> <driver type='virtiofs' queue='1024'/> <binary path='/usr/libexec/virtiofsd' xattr='on'> <cache mode='always'/> <sandbox mode='chroot'/> </binary> <source dir='/mnt/user/GamesFast'/> <target dir='GamesFast'/> <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/> </filesystem> <filesystem type='mount' accessmode='passthrough'> <driver type='virtiofs' queue='1024'/> <binary path='/usr/libexec/virtiofsd' xattr='on'> <cache mode='always'/> <sandbox mode='chroot'/> </binary> <source dir='/mnt/user/isos'/> <target dir='isos'/> <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/> </filesystem> <filesystem type='mount' accessmode='passthrough'> <driver type='virtiofs' queue='1024'/> <binary path='/usr/libexec/virtiofsd' xattr='on'> <cache mode='always'/> <sandbox mode='chroot'/> </binary> <source dir='/mnt/user/Media'/> <target dir='Media'/> <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/> </filesystem> <interface type='bridge'> <mac address='52:54:00:c3:ef:b7'/> <source bridge='br0'/> <model type='virtio-net'/> <address type='pci' domain='0x0000' bus='0x0a' 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='mouse' bus='ps2'/> <input type='keyboard' bus='ps2'/> <audio id='1' type='none'/> <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/isos/vbios/Navi 48.rom'/> <address type='pci' domain='0x0000' bus='0x07' 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='0x07' slot='0x00' function='0x1'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x00' slot='0x1f' function='0x3'/> </source> <address type='pci' domain='0x0000' bus='0x0d' slot='0x01' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x00' slot='0x14' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x0d' slot='0x02' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x00' slot='0x14' function='0x3'/> </source> <address type='pci' domain='0x0000' bus='0x0c' slot='0x00' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x00' slot='0x1f' function='0x5'/> </source> <address type='pci' domain='0x0000' bus='0x0d' slot='0x03' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='scsi' managed='no'> <source> <adapter name='scsi_host5'/> <address bus='0' target='0' unit='0'/> </source> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </hostdev> <watchdog model='itco' action='reset'/> <memballoon model='none'/> </devices> </domain> Note that for a Linux VM CPU migratable must be turned on for 7.3.0+ as a bug causes the VM to kernel panic if it is turned off. As far as I am aware this issue does not affect Windows VM's.There are a couple of tweaks in there that allow me to play games with EAC, since I don't have a separate gaming PC, and manual passthrough for a BD-RW drive. The EAC tweaks I'm using are Linux-specific, Windows VM's require a different setup thanks to Hyper-V (though admittedly I haven't tested if these changes still work for Windows). To help parse what is what, here are the manual edits I make:<domain type='kvm'> ... <os> ... <!--Passthrough SMBIOS info from motherboard - Required for EAC--> <smbios mode='host'/> <os/> <!--Migratable on is required on some kernels to prevent kernel panic--> <cpu mode='host-passthrough' check='none' migratable='off'> ... <!--Prevent VFIO_MAP_DMA failed error--> <maxphysaddr mode='passthrough' limit='39'/> <!--Hide hypervisor - Required for Marvel Rivals anti-cheat--> <feature policy='disable' name='hypervisor'/> </cpu> ... <devices> ... <!--Optical drive passthrough - set scsi mode to virtio-scsi--> <controller type='scsi' index='0' model='virtio-scsi'> <address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/> </controller> ... <hostdev mode='subsystem' type='scsi' managed='no'> <source> <adapter name='scsi_host5'/> <address bus='0' target='0' unit='0'/> </source> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </hostdev> </devices> ... </domain>I also use a couple of custom scripts to allow the VM to boot from the power button, but those should not affect the GPU reset issue.Given that I am running a Linux VM my experience with the reset bug has been slightly different, I would get the system lockups if I tried to restart the VM, but this would only happen in about one in four attempts, rather than every time. Still, I hope that what I have posted here is able to help someone.
Tuesday at 03:32 PM2 days Author Thank you for your feedback! I've got Ubuntu working but I need Windows 11 as wellThank you
Yesterday at 09:57 AM1 day Stumbled on this, maybe it can help someone - https://gist.github.com/PhialsBasement/c34e908352bd2e8a49197edc70df2d94Probably not usable 1:1, but concepts should carry over (it also has some Windows guest specific stuff that may be of use).I had bunch stability issues, locked in D3, VM (and host) crashes etc for a long time, but seems to be working now with following settings (or maybe it just fixed itself with 7.3 and/or its kernel upgrade).My (seemingly) working setup (PowerColor Reaper 9070 XT, Asus Pro WS X570-ACE, Unraid 7.3.2, running Bazzite VM). VM start, shutdown, restart etc seems to work both inside the VM and from Unraid.Not sure that exactly all of this is necessary, but can't be bothered to test it all out (not going to touch a working setup for now). If anyone sees unnecessary stuff, feel free to respond.Boot parameters (first 3 are togglable options in Unraid /Settings/BootParameters, last one I added as a custom parameter) :initcall_blacklist=sysfb_initpci=noaerpcie_aspm=offiommu=ptNo pcie_acs_override or binding it to vfio at boot.I also run this user script before first start of VM (snippets compiled from the scripts in the link above).#!/bin/bash set -uo pipefail VGA=$(lspci -D -d 1002:7550 | awk '{print $1}') # Lock GPU in D0 BEFORE unbinding amdgpu echo 0 > /sys/bus/pci/devices/$VGA/d3cold_allowed echo "on" > /sys/bus/pci/devices/$VGA/power/control # Unbind amdgpu echo "$VGA" > /sys/bus/pci/devices/$VGA/driver/unbind 2>/dev/null || true sleep 1 # Resize BAR2 to 8 MB (Navi 48 requirement) echo 3 > /sys/bus/pci/devices/$VGA/resource2_resize sleep 1 # Force D0 setpci -s "${VGA#0000:}" CAP_PM+4.w=0x0000 2>/dev/null || true sleep 1 # Bind amdgpu BY PCI ADDRESS (modprobe alone does nothing) modprobe amdgpu 2>/dev/null || true echo "$VGA" > /sys/bus/pci/drivers/amdgpu/bind 2>/dev/null || true sleep 3To find arguments for VGA line (1002:7550).for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/}; n=${n%%/*} printf 'IOMMU Group %s ' "$n"; lspci -nns "${d##*/}" done | sort -VVM xml has no special configurations (no GPU BIOS specified or anything) just passed through GPU (with multifunction=on) & it's audio part. Edited yesterday at 10:13 AM1 day by k11su
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.