Problems with GPU Passthrough since 8.2

  • Like
Reactions: athurdent
can you maybe post the output of the command:

Code:
 grep '' /sys/kernel/iommu_groups/*/type
 grep '' /sys/kernel/iommu_groups/*/reserved_regions
? this is to check what type of iommu groups there are, and which should work with passthrough
 
  • Like
Reactions: athurdent
can you maybe post the output of the command:

Code:
 grep '' /sys/kernel/iommu_groups/*/type
 grep '' /sys/kernel/iommu_groups/*/reserved_regions
? this is to check what type of iommu groups there are, and which should work with passthrough

Thanks, here you go:

Code:
oot@epyc:~# uname -a
Linux epyc 6.8.4-3-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.4-3 (2024-05-02T11:55Z) x86_64 GNU/Linux

root@epyc:~# grep '' /sys/kernel/iommu_groups/*/type
/sys/kernel/iommu_groups/0/type:identity
/sys/kernel/iommu_groups/10/type:identity
/sys/kernel/iommu_groups/11/type:identity
/sys/kernel/iommu_groups/12/type:identity
/sys/kernel/iommu_groups/13/type:identity
/sys/kernel/iommu_groups/14/type:identity
/sys/kernel/iommu_groups/15/type:identity
/sys/kernel/iommu_groups/16/type:identity
/sys/kernel/iommu_groups/17/type:identity
/sys/kernel/iommu_groups/18/type:identity
/sys/kernel/iommu_groups/19/type:identity
/sys/kernel/iommu_groups/1/type:identity
/sys/kernel/iommu_groups/20/type:identity
/sys/kernel/iommu_groups/21/type:identity
/sys/kernel/iommu_groups/22/type:identity
/sys/kernel/iommu_groups/23/type:identity
/sys/kernel/iommu_groups/24/type:identity
/sys/kernel/iommu_groups/25/type:identity
/sys/kernel/iommu_groups/26/type:identity
/sys/kernel/iommu_groups/27/type:identity
/sys/kernel/iommu_groups/28/type:identity
/sys/kernel/iommu_groups/29/type:identity
/sys/kernel/iommu_groups/2/type:identity
/sys/kernel/iommu_groups/30/type:identity
/sys/kernel/iommu_groups/31/type:identity
/sys/kernel/iommu_groups/32/type:identity
/sys/kernel/iommu_groups/33/type:identity
/sys/kernel/iommu_groups/34/type:identity
/sys/kernel/iommu_groups/35/type:identity
/sys/kernel/iommu_groups/36/type:identity
/sys/kernel/iommu_groups/37/type:identity
/sys/kernel/iommu_groups/38/type:identity
/sys/kernel/iommu_groups/39/type:identity
/sys/kernel/iommu_groups/3/type:identity
/sys/kernel/iommu_groups/40/type:identity
/sys/kernel/iommu_groups/41/type:identity
/sys/kernel/iommu_groups/42/type:identity
/sys/kernel/iommu_groups/4/type:identity
/sys/kernel/iommu_groups/5/type:identity
/sys/kernel/iommu_groups/6/type:identity
/sys/kernel/iommu_groups/7/type:identity
/sys/kernel/iommu_groups/8/type:identity
/sys/kernel/iommu_groups/9/type:identity


root@epyc:~# grep '' /sys/kernel/iommu_groups/*/reserved_regions
/sys/kernel/iommu_groups/0/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/0/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/0/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/10/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/10/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/10/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/11/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/11/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/11/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/12/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/12/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/12/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/13/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/13/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/13/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/14/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/14/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/14/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/15/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/15/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/15/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/16/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/16/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/16/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/17/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/17/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/17/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/18/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/18/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/18/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/19/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/19/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/19/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/1/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/1/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/1/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/20/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/20/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/20/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/21/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/21/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/21/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/22/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/22/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/22/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/23/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/23/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/23/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/24/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/24/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/24/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/25/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/25/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/25/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/26/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/26/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/26/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/27/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/27/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/27/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/28/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/28/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/28/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/29/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/29/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/29/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/2/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/2/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/2/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/30/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/30/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/30/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/31/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/31/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/31/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/32/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/32/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/32/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/33/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/33/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/33/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/34/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/34/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/34/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/35/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/35/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/35/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/36/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/36/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/36/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/37/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/37/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/37/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/38/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/38/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/38/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/39/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/39/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/39/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/3/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/3/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/3/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/40/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/40/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/40/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/41/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/41/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/41/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/42/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/42/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/42/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/4/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/4/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/4/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/5/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/5/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/5/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/6/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/6/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/6/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/7/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/7/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/7/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/8/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/8/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/8/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
/sys/kernel/iommu_groups/9/reserved_regions:0x00000000fee00000 0x00000000feefffff msi
/sys/kernel/iommu_groups/9/reserved_regions:0x000000fd00000000 0x000000ffffffffff reserved
/sys/kernel/iommu_groups/9/reserved_regions:0x0000fffd00000000 0x0000ffffffffffff direct
 
ok so every group where there is a region that is marked as 'direct' is not eligible for passthrough. sadly seem to be all groups in your case...

is there maybe a bios option to change some iommu settings?
 
ok so every group where there is a region that is marked as 'direct' is not eligible for passthrough. sadly seem to be all groups in your case...

is there maybe a bios option to change some iommu settings?

Not much to do there I think?

Screenshot 2024-05-15 at 10.05.46.png
 
at least in the images you posted i could not see an option that would relax that.. what kind of system is it? (mainboard/cpu/etc. )
 
  • Like
Reactions: athurdent
I you are referring to
Code:
Firmware has requested this device have a 1:1 IOMMU mapping, rejecting configuring the device without a 1:1 mapping. Contact your platform vendor.
this has been happening on all 6.8 kernels for me, when trying to pass through a NIC, also the on-board ones of my M11SDV-8C-LN4F.
Kernel 6.5 is fine.
Just wanted to let you know: Exact same problem for me, same motherboard with SOC. Trying to pass through an x16 PCI-E slot to HBA. Only Kernel 6.5 is working. I'll investigate further at the weekend. If there is anything I can supply (Logs, IOMMU groups, BIOS settings), let me know.
 
Last edited:
  • Like
Reactions: athurdent
i too am watching with bated breath! I have a HPE DL380p, reserved memory desabled in bios, follwowed every tutorial i can possibly find and still no joy. My HBA SAS controller is on Group 50 with 2x direct lines and 1 msi line when I show reserved regions.
 
I did try to revert back and it is still broken, but I was messing with vm settings so I wonder if I messed up something else in an attempt to get it working.
using this as hypervisor
Code:
CPU(s) 64 x Intel(R) Xeon(R) CPU E5-2683 v4 @ 2.10GHz (2 Sockets)
Kernel Version Linux 6.8.4-2-pve (2024-04-10T17:36Z)
Boot Mode Legacy BIOS
Manager Version pve-manager/8.2.2/9355359cd7afbae4

Supermicro MB: X10DRI-T4+
Attempting to pass Tesla T4 to vm.

started getting kvm: ../hw/pci/pci.c:1637: pci_irq_handler: Assertion `0 <= irq_num && irq_num < PCI_NUM_PINS' failed. and now even with 6.8.4-2-pve I am still getting this error. Debian cloudinit VM running Debain 12.
 
I'm having the exact same problem and mine is also very similar, except that it uses the EPYC 3201 SoC:
https://www.supermicro.com/en/products/motherboard/M11SDV-8CT-LN4F. Rolling back to the previous kernel fixed it for me. I really don't want this to be the permanent solution!!
I have contacted Supermicro support, I suggest everyone with a similar board does the same. They say they do not support Proxmox, but then again, looking at the above reserved regions output, that bug has been there for earlier kernels, too. I just never caused a problem because there was not enforcement around it, I guess.
 
I have contacted Supermicro support, I suggest everyone with a similar board does the same. They say they do not support Proxmox, but then again, looking at the above reserved regions output, that bug has been there for earlier kernels, too. I just never caused a problem because there was not enforcement around it, I guess.
Will do. I just looked at the IPMI info to see if I could get my S/N from there but it's not populated. I'll have to crack open the server chassis to get at it physically.
 
I signed up to also report I updated to 8.2 and AMD 6600XT passthrough broke and I couldn't fix!

I've rolled back to 8.1 (https://enterprise.proxmox.com/iso/), haven't done passthrough just yet, still reading up and researching. But my system was running fine until I updated.

Intel 14th Gen i5 CPU & MSI Z790 Edge TI MoBo.
 
I signed up to also report I updated to 8.2 and AMD 6600XT passthrough broke and I couldn't fix!
This could be the generic kernel 6.8 does not work for some systems issue(s), or a same problem I (and some other people on the Internet) had with amdgpu driver (with a RX570) crash that leaves the GPU in an unusable state (even with passthrough an a vendor-reset). The later can be worked around by blacklisting amdgpu (or early binding to vfio-pci with a softdep) and the GPU works fine with Linux VMs that run another kernel version.
I've rolled back to 8.1 (https://enterprise.proxmox.com/iso/), haven't done passthrough just yet, still reading up and researching.
Do you remember crash logs from the amdgpu driver in your journalctl, while the host kept on working fine?
 
Hi :)

I wound back to 8.1 (https://enterprise.proxmox.com/iso/) and everything seems to be working fine. I have not updated my fresh 8.1 install.

Just thought I'd share my experience and anyone else finding this thread with the same issue, I trust there is a fix for you here ;-)

Thankyou to Proxmox community - Generally find the fix by searching without asking :-D
 
Last edited:
Just thought I'd share my experience and anyone else finding this thread with the same issue, I trust there is a fix for you here ;-)
Thanks but there is no fix since it is already broken in vanilla Linux kernel 6.8. I just wanted to provide you with a work-around in case your problem was the same (which it still might be).
 

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!