Windows VM crashes after enabling passthrough for AMD 5700x

rihannsu

New Member
Aug 9, 2022
1
0
1
I am not quite sure where to start, I followed the following guide and did everything as instructed. Everything detailed in it as a sign things are ok came through.

it's recognizing the graphics card and setting up as q35, however when i boot it not only crashes the vm it also crashes proxmox.

https://pve.proxmox.com/wiki/Pci_passthrough

I'm using grub

here is the output of a few files
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Aug 9 12:52:10 HDT 2022 on pts/0
root@biggins:~# cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt pcie_acs_override=downstream"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"


root@biggins:~# cat /etc/pve/qemu-server/100.conf
bios: ovmf
boot: order=sata0;ide2;net0
cores: 15
efidisk0: MainNVME:vm-100-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:2f:00.0,pcie=1
ide2: local:iso/Win10_21H2_English_x64.iso,media=cdrom,size=5745798K
machine: pc-q35-6.2
memory: 16384
meta: creation-qemu=6.2.0,ctime=1660077443
name: Gaming
net0: e1000=32:B0:8B:A4:55:E5,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
sata0: MainNVME:vm-100-disk-1,size=500G
scsihw: virtio-scsi-pci
smbios1: uuid=2149d05d-9892-4b81-8218-4f8f56a31f16
sockets: 1

root@biggins:~# nano /etc/pve/qemu-server/100.conf
root@biggins:~# dmesg | grep -e DMAR -e IOMMU
[ 0.000000] Warning: PCIe ACS overrides enabled; This may allow non-IOMMU protected peer-to-peer DMA
[ 0.258749] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported
[ 0.260124] pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40
[ 0.260865] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
[ 3.814985] AMD-Vi: AMD IOMMUv2 loaded and initialized
tpmstate0: MainNVME:vm-100-disk-2,size=4M,version=v2.0
vmgenid: 5a82196e-14f1-496c-81d5-be86ca3d4784

# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
 
When starting a VM with PCI passthrough also crashes the host you GPU is usually in a IOMMU group with other devices like a disk controller or something similar. You can't passthrough single devices but only complete IOMMU groups. If there for example would be a disk controller in the same group as the GPU you would passthrough bothand the host would also loose the disk controller and PVe crashes as there are no disks anymore.
So please check your IOMMU groups first.