GPU passthrough Win11 - AMD RX5500XT & Core i9 10900

Maybe you can check if your Ubuntu VM (which I think you installed before) works better?

The ubuntu doesn't even launch anything on the monitors... maybe there's a config needed in the VM file too to make it work? (appart from the PCI that I already passed through)
 
The ubuntu doesn't even launch anything on the monitors... maybe there's a config needed in the VM file too to make it work? (appart from the PCI that I already passed through)
No it should just work (if vendor-reset is working and device_specific was activated). No errors on the integrated graphics display or the system logs?
 
No it should just work (if vendor-reset is working and device_specific was activated). No errors on the integrated graphics display or the system logs?

Sorry for the delay in the update.
Ubuntu works fine with GP passthrough but as windows....when the VM is powered off,

it won't come up again (on the monitor) despite vendor-reset being installed.
log on monitor says: mtd device must be supplied (device name is empty), sometimes the log stops as: "snd_hda_intel 0000:00:1b.0: no codecs found!".

Restarting proxmox solves it but it's no sustainable.

Can I expect improvement on this? Any parameter missing?

Edit: Suspending the machine works perfectly.

Edit2: Hybernate does not work either, that the message:

Resuming suspended VM
activating and using 'local:100/vm-100-state-suspend-2022-11-08.raw' as vmstate
kvm: ../hw/pci/pci.c:1541: pci_irq_handler: Assertion `0 <= irq_num && irq_num < PCI_NUM_PINS' failed.
TASK ERROR: start failed: QEMU exited with code 1
 
Last edited:
Have you check for some modification on rom ? Couple do that for amd card. For all Quadro lineup, all is quite fine and direct plug and play.. if you want to upgrade and don't get any issues.
 
Sorry for the delay in the update.
Ubuntu works fine with GP passthrough but as windows....when the VM is powered off,
Are you sure vendor-reset is working? What is the output of journalctl -b 0 | grep reset, after starting the VM?
I believe that the Linux drivers are better at handling a GPU that is not fully reset than the Windows drivers. That can be fixed by vendor-reset.
it won't come up again (on the monitor) despite vendor-reset being installed.
It needs to be loaded (/etc/modules or modprobe) and activated (device_specific reset_method) as well.
log on monitor says: mtd device must be supplied (device name is empty), sometimes the log stops as: "snd_hda_intel 0000:00:1b.0: no codecs found!".
I think those are generic and harmless errors.
Restarting proxmox solves it but it's no sustainable.
Can I expect improvement on this? Any parameter missing?
Check if vendor-reset is actually doing something (see above), because it should fix this.
 
Sorry to revive a semi-old thread, especially as my first post, but it seemed to be as close to my situation as I can find. I've been searching for a solution to my issue all day. Hoping that @leesteken is able to guide me since you helped @siulman so far.

I have a Radeon RX 5500 XT - which is a Sonnet eGPU Puck - connected via Thunderbolt 3. The host is an HP Elite Mini 600 G9 with an i7 and 32GB of RAM. I'm 99% sure I have passthrough actually working - all the IOMMU checks line up with what I've read in the thread above, and elsewhere. In fact, the GPU actually worked once in the Windows 10 VM. But since then, I get a "Code 43" error in Windows. I also tried Ubuntu and got some display output the first time, but nothing since then. I'm also pretty sure this is related to the vendor-reset situation. Sometimes if I unplug the eGPU from the Thunderbolt cable, I can get some activity from it in the VM. I'm just not sure what else to try, although I'm relatively inexperienced in Linux and Proxmox, but can usually find my way around with help from Google.

Here's the information I think is relevant to helping me out here. Please let me know if there's anything else you need to know. I'm really hoping to get this at least semi-functional. Any help that can be provided would be greatly appreciated!

I'm on Proxmox 7.3-6 with the 5.19 kernel.

/etc/default/grub - Part of the GRUB_CMDLINE_LINUX_DEFAULT is Intel iGPU passthrough for Plex transcoding in an LXC.
Code:
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1 iommu=pt kvm.ignore_msrs=1"
GRUB_CMDLINE_LINUX=""

VM.conf
Code:
agent: 1
args: -acpitable file=/usr/slic/slic_table
balloon: 0
bios: ovmf
boot: order=scsi0;ide2
cores: 12
cpu: host
efidisk0: SSD2:110/vm-110-disk-0.qcow2,efitype=4m,pre-enrolled-keys=1,size=528K
hostpci0: 0000:0a:00,pcie=1,rombar=0
ide2: none,media=cdrom
machine: pc-q35-7.0
memory: 16384
meta: creation-qemu=7.1.0,ctime=1673898377
name: Windows
net0: virtio=3E:ED:7E:AE:16:BD,bridge=vmbr0
numa: 0
ostype: win10
scsi0: SSD2:110/vm-110-disk-2.qcow2,cache=writeback,discard=on,iothread=1,size=1T,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=8c850248-1dc4-4b2e-9d9b-634144de2472
sockets: 1
vga: none
vmgenid: 1738711b-0ea9-44c1-ae4e-af3dc77b1458

journalctl -b 0 | grep reset once VM is booted.
Code:
Feb 10 21:19:46 AmtrickPVE QEMU[36146]: kvm: vfio: Cannot reset device 0000:0a:00.1, no available reset mechanism.
Feb 10 21:19:46 AmtrickPVE QEMU[36146]: kvm: vfio: Cannot reset device 0000:0a:00.1, no available reset mechanism.
Feb 10 21:19:46 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing pre-reset
Feb 10 21:19:46 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing reset
Feb 10 21:19:46 AmtrickPVE kernel: vendor-reset-drm: atomfirmware: bios_scratch_reg_offset initialized to 4c
Feb 10 21:19:47 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: bus reset disabled? yes
Feb 10 21:19:47 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: begin psp mode 1 reset
Feb 10 21:19:48 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: mode1 reset succeeded
Feb 10 21:19:58 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: timed out waiting for PSP bootloader to respond after reset
Feb 10 21:19:58 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: failed to reset device
Feb 10 21:19:58 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing post-reset
Feb 10 21:19:58 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: reset result = 0
Feb 10 21:20:08 AmtrickPVE qmeventd[944]: read: Connection reset by peer
Feb 10 21:20:08 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing pre-reset
Feb 10 21:20:08 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing reset
Feb 10 21:20:08 AmtrickPVE kernel: vendor-reset-drm: atomfirmware: bios_scratch_reg_offset initialized to 4c
Feb 10 21:20:09 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: bus reset disabled? yes
Feb 10 21:20:09 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: begin psp mode 1 reset
Feb 10 21:20:10 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: mode1 reset succeeded
Feb 10 21:20:21 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: timed out waiting for PSP bootloader to respond after reset
Feb 10 21:20:21 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: failed to reset device
Feb 10 21:20:21 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing post-reset
Feb 10 21:20:21 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: reset result = 0
Feb 10 21:20:21 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing pre-reset
Feb 10 21:20:21 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing reset
Feb 10 21:20:21 AmtrickPVE kernel: vendor-reset-drm: atomfirmware: bios_scratch_reg_offset initialized to 4c
Feb 10 21:20:21 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: bus reset disabled? yes
Feb 10 21:20:21 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: begin psp mode 1 reset
Feb 10 21:20:22 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: mode1 reset succeeded
Feb 10 21:20:33 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: timed out waiting for PSP bootloader to respond after reset
Feb 10 21:20:33 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: failed to reset device
Feb 10 21:20:33 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing post-reset
Feb 10 21:20:33 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: reset result = 0
Feb 10 21:20:35 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing pre-reset
Feb 10 21:20:35 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing reset
Feb 10 21:20:35 AmtrickPVE kernel: vendor-reset-drm: atomfirmware: bios_scratch_reg_offset initialized to 4c
Feb 10 21:20:36 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: bus reset disabled? yes
Feb 10 21:20:36 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: begin psp mode 1 reset
Feb 10 21:20:37 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: mode1 reset succeeded
Feb 10 21:20:48 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: timed out waiting for PSP bootloader to respond after reset
Feb 10 21:20:48 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: failed to reset device
Feb 10 21:20:48 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing post-reset
Feb 10 21:20:48 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: reset result = 0
Feb 10 21:20:48 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing pre-reset
Feb 10 21:20:48 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing reset
Feb 10 21:20:48 AmtrickPVE kernel: vendor-reset-drm: atomfirmware: bios_scratch_reg_offset initialized to 4c
Feb 10 21:20:48 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: bus reset disabled? yes
Feb 10 21:20:48 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: begin psp mode 1 reset
Feb 10 21:20:49 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: mode1 reset succeeded
Feb 10 21:21:00 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: timed out waiting for PSP bootloader to respond after reset
Feb 10 21:21:00 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: failed to reset device
Feb 10 21:21:00 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: performing post-reset
Feb 10 21:21:00 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: reset result = 0
 
Last edited:
Feb 10 21:19:58 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: failed to reset device ... Feb 10 21:20:21 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: bus reset disabled? yes Feb 10 21:20:21 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: begin psp mode 1 reset Feb 10 21:20:22 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: mode1 reset succeeded Feb 10 21:20:33 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: timed out waiting for PSP bootloader to respond after reset Feb 10 21:20:33 AmtrickPVE kernel: vfio-pci 0000:0a:00.0: AMD_NAVI14: failed to reset device
Looks like vendor-reset cannot reset the GPU connected via Thunderbolt. Maybe ask them?
Search for passthrough with Thunderbolt, which is probably even more complex that normal. I have not yet read about anyone having success with passthrough of the Thunderbolt controller and hot-plugging devices into a VM.
Or don't use vendor-reset and power-cycle the GPU manually once the VM has started? This is normally not possible but yours is an external device that I assume can be unplugged.

EDIT: A separate thread about your Thunderbolt GPU passthrough issues might attract more knowledge people than replying to this fizzled out thread.
 
Last edited:
Looks like vendor-reset cannot reset the GPU connected via Thunderbolt. Maybe ask them?
Search for passthrough with Thunderbolt, which is probably even more complex that normal. I have not yet read about anyone having success with passthrough of the Thunderbolt controller and hot-plugging devices into a VM.
Or don't use vendor-reset and power-cycle the GPU manually once the VM has started? This is normally not possible but yours is an external device that I assume can be unplugged.

EDIT: A separate thread about your Thunderbolt GPU passthrough issues might attract more knowledge people than replying to this fizzled out thread.
Thank you for your response. I'm gonna post the issue on GitHub first and see if any traction happens over there. If not, I'll bounce back here with a new thread.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!