Hi all. I have followed this guide for setting up my GPU passthrough and it is either locking up the VM or locking up the entire host when the VM boots. This happens on both MacOS VM as well as Windows VM. I really only tried the Windows VM just to see if
On MacOS VM, the VM just gets killed shortly after booting up and showing the Apple logo. On the Windows VM, it actually works and boots fine..... until I install the AMD drivers, which then cause the entire host computer to lock up. If I uninstall the AMD drivers, it works fine again, but obviously graphics performance sucks. What am I missing here?
System specs:
Supermicro X11-SPI-TF
Intel Xeon Silver 4210T (10c/20t)
224 GB ECC LRDIMM
ASpeed AST2500 BMC VGA
Gigabyte RX5500 XT OC 4G
Here are some outputs that I think are relevant:
On MacOS VM, the VM just gets killed shortly after booting up and showing the Apple logo. On the Windows VM, it actually works and boots fine..... until I install the AMD drivers, which then cause the entire host computer to lock up. If I uninstall the AMD drivers, it works fine again, but obviously graphics performance sucks. What am I missing here?
System specs:
Supermicro X11-SPI-TF
Intel Xeon Silver 4210T (10c/20t)
224 GB ECC LRDIMM
ASpeed AST2500 BMC VGA
Gigabyte RX5500 XT OC 4G
catroot@pve1:~# pveversion -v
proxmox-ve: 8.3.0 (running kernel: 6.8.12-8-pve)
pve-manager: 8.3.3 (running version: 8.3.3/f157a38b211595d6)
proxmox-kernel-helper: 8.1.0
proxmox-kernel-6.8: 6.8.12-8
proxmox-kernel-6.8.12-8-pve-signed: 6.8.12-8
proxmox-kernel-6.8.12-5-pve-signed: 6.8.12-5
proxmox-kernel-6.8.4-2-pve-signed: 6.8.4-2
ceph-fuse: 17.2.7-pve3
corosync: 3.1.7-pve3
criu: 3.17.1-2+deb12u1
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx11
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-5
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.1
libproxmox-backup-qemu0: 1.5.1
libproxmox-rs-perl: 0.3.4
libpve-access-control: 8.2.0
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.10
libpve-cluster-perl: 8.0.10
libpve-common-perl: 8.2.9
libpve-guest-common-perl: 5.1.6
libpve-http-server-perl: 5.2.0
libpve-network-perl: 0.10.0
libpve-rs-perl: 0.9.1
libpve-storage-perl: 8.3.3
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.5.0-1
proxmox-backup-client: 3.3.2-1
proxmox-backup-file-restore: 3.3.2-2
proxmox-firewall: 0.6.0
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.3.1
proxmox-mini-journalreader: 1.4.0
proxmox-offline-mirror-helper: 0.6.7
proxmox-widget-toolkit: 4.3.4
pve-cluster: 8.0.10
pve-container: 5.2.3
pve-docs: 8.3.1
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.2
pve-firewall: 5.1.0
pve-firmware: 3.14-3
pve-ha-manager: 4.0.6
pve-i18n: 3.3.3
pve-qemu-kvm: 9.0.2-5
pve-xtermjs: 5.3.0-3
qemu-server: 8.3.7
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.7-pve1
proxmox-ve: 8.3.0 (running kernel: 6.8.12-8-pve)
pve-manager: 8.3.3 (running version: 8.3.3/f157a38b211595d6)
proxmox-kernel-helper: 8.1.0
proxmox-kernel-6.8: 6.8.12-8
proxmox-kernel-6.8.12-8-pve-signed: 6.8.12-8
proxmox-kernel-6.8.12-5-pve-signed: 6.8.12-5
proxmox-kernel-6.8.4-2-pve-signed: 6.8.4-2
ceph-fuse: 17.2.7-pve3
corosync: 3.1.7-pve3
criu: 3.17.1-2+deb12u1
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx11
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-5
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.1
libproxmox-backup-qemu0: 1.5.1
libproxmox-rs-perl: 0.3.4
libpve-access-control: 8.2.0
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.10
libpve-cluster-perl: 8.0.10
libpve-common-perl: 8.2.9
libpve-guest-common-perl: 5.1.6
libpve-http-server-perl: 5.2.0
libpve-network-perl: 0.10.0
libpve-rs-perl: 0.9.1
libpve-storage-perl: 8.3.3
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.5.0-1
proxmox-backup-client: 3.3.2-1
proxmox-backup-file-restore: 3.3.2-2
proxmox-firewall: 0.6.0
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.3.1
proxmox-mini-journalreader: 1.4.0
proxmox-offline-mirror-helper: 0.6.7
proxmox-widget-toolkit: 4.3.4
pve-cluster: 8.0.10
pve-container: 5.2.3
pve-docs: 8.3.1
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.2
pve-firewall: 5.1.0
pve-firmware: 3.14-3
pve-ha-manager: 4.0.6
pve-i18n: 3.3.3
pve-qemu-kvm: 9.0.2-5
pve-xtermjs: 5.3.0-3
qemu-server: 8.3.7
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.7-pve1
Here are some outputs that I think are relevant:
Code:
root@pve1:~# cat /etc/default/grub | grep GRUB_CMDLINE_LINUX_DEFAULT
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt nomodeset"
root@pve1:~# dmesg | grep -E DMAR
[ 0.018785] ACPI: DMAR 0x000000006D311108 000148 (v01 SUPERM SMCI--MB 00000001 INTL 20091
013)
[ 0.018842] ACPI: Reserving DMAR table memory at [mem 0x6d311108-0x6d31124f]
[ 0.600029] DMAR: IOMMU enabled
[ 1.470096] DMAR: Host address width 46
[ 1.470097] DMAR: DRHD base: 0x000000c5ffc000 flags: 0x0
[ 1.470111] DMAR: dmar0: reg_base_addr c5ffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[ 1.470115] DMAR: DRHD base: 0x000000e0ffc000 flags: 0x0
[ 1.470120] DMAR: dmar1: reg_base_addr e0ffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[ 1.470122] DMAR: DRHD base: 0x000000fbffc000 flags: 0x0
[ 1.470126] DMAR: dmar2: reg_base_addr fbffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[ 1.470128] DMAR: DRHD base: 0x000000aaffc000 flags: 0x1
[ 1.470132] DMAR: dmar3: reg_base_addr aaffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[ 1.470134] DMAR: RMRR base: 0x0000006f3f6000 end: 0x0000006f406fff
[ 1.470138] DMAR: ATSR flags: 0x0
[ 1.470141] DMAR: RHSA base: 0x000000aaffc000 proximity domain: 0x0
[ 1.470143] DMAR: RHSA base: 0x000000c5ffc000 proximity domain: 0x0
[ 1.470144] DMAR: RHSA base: 0x000000e0ffc000 proximity domain: 0x0
[ 1.470146] DMAR: RHSA base: 0x000000fbffc000 proximity domain: 0x0
[ 1.470148] DMAR-IR: IOAPIC id 12 under DRHD base 0xfbffc000 IOMMU 2
[ 1.470150] DMAR-IR: IOAPIC id 11 under DRHD base 0xe0ffc000 IOMMU 1
[ 1.470152] DMAR-IR: IOAPIC id 10 under DRHD base 0xc5ffc000 IOMMU 0
[ 1.470153] DMAR-IR: IOAPIC id 8 under DRHD base 0xaaffc000 IOMMU 3
[ 1.470155] DMAR-IR: IOAPIC id 9 under DRHD base 0xaaffc000 IOMMU 3
[ 1.470156] DMAR-IR: HPET id 0 under DRHD base 0xaaffc000
[ 1.470158] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remap
ping.
[ 1.471238] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 2.153979] DMAR: No SATC found
[ 2.153982] DMAR: dmar2: Using Queued invalidation
[ 2.153989] DMAR: dmar1: Using Queued invalidation
[ 2.153991] DMAR: dmar0: Using Queued invalidation
[ 2.153994] DMAR: dmar3: Using Queued invalidation
[ 2.159552] DMAR: Intel(R) Virtualization Technology for Directed I/O
[ 0.018785] ACPI: DMAR 0x000000006D311108 000148 (v01 SUPERM SMCI--MB 00000001 INTL 20091
013)
[ 0.018842] ACPI: Reserving DMAR table memory at [mem 0x6d311108-0x6d31124f]
[ 0.600029] DMAR: IOMMU enabled
[ 1.470096] DMAR: Host address width 46
[ 1.470097] DMAR: DRHD base: 0x000000c5ffc000 flags: 0x0
[ 1.470111] DMAR: dmar0: reg_base_addr c5ffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[ 1.470115] DMAR: DRHD base: 0x000000e0ffc000 flags: 0x0
[ 1.470120] DMAR: dmar1: reg_base_addr e0ffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[ 1.470122] DMAR: DRHD base: 0x000000fbffc000 flags: 0x0
[ 1.470126] DMAR: dmar2: reg_base_addr fbffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[ 1.470128] DMAR: DRHD base: 0x000000aaffc000 flags: 0x1
[ 1.470132] DMAR: dmar3: reg_base_addr aaffc000 ver 1:0 cap 8d2078c106f0466 ecap f020df
[ 1.470134] DMAR: RMRR base: 0x0000006f3f6000 end: 0x0000006f406fff
[ 1.470138] DMAR: ATSR flags: 0x0
[ 1.470141] DMAR: RHSA base: 0x000000aaffc000 proximity domain: 0x0
[ 1.470143] DMAR: RHSA base: 0x000000c5ffc000 proximity domain: 0x0
[ 1.470144] DMAR: RHSA base: 0x000000e0ffc000 proximity domain: 0x0
[ 1.470146] DMAR: RHSA base: 0x000000fbffc000 proximity domain: 0x0
[ 1.470148] DMAR-IR: IOAPIC id 12 under DRHD base 0xfbffc000 IOMMU 2
[ 1.470150] DMAR-IR: IOAPIC id 11 under DRHD base 0xe0ffc000 IOMMU 1
[ 1.470152] DMAR-IR: IOAPIC id 10 under DRHD base 0xc5ffc000 IOMMU 0
[ 1.470153] DMAR-IR: IOAPIC id 8 under DRHD base 0xaaffc000 IOMMU 3
[ 1.470155] DMAR-IR: IOAPIC id 9 under DRHD base 0xaaffc000 IOMMU 3
[ 1.470156] DMAR-IR: HPET id 0 under DRHD base 0xaaffc000
[ 1.470158] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remap
ping.
[ 1.471238] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 2.153979] DMAR: No SATC found
[ 2.153982] DMAR: dmar2: Using Queued invalidation
[ 2.153989] DMAR: dmar1: Using Queued invalidation
[ 2.153991] DMAR: dmar0: Using Queued invalidation
[ 2.153994] DMAR: dmar3: Using Queued invalidation
[ 2.159552] DMAR: Intel(R) Virtualization Technology for Directed I/O
Code:
root@pve1:~# dmesg | grep -e IOMMU
[ 0.599898] DMAR: IOMMU enabled
[ 1.471154] DMAR-IR: IOAPIC id 12 under DRHD base 0xfbffc000 IOMMU 2
[ 1.471156] DMAR-IR: IOAPIC id 11 under DRHD base 0xe0ffc000 IOMMU 1
[ 1.471158] DMAR-IR: IOAPIC id 10 under DRHD base 0xc5ffc000 IOMMU 0
[ 1.471159] DMAR-IR: IOAPIC id 8 under DRHD base 0xaaffc000 IOMMU 3
[ 1.471161] DMAR-IR: IOAPIC id 9 under DRHD base 0xaaffc000 IOMMU 3
Code:
[ 5.643629] vfio_pci: add [1002:1479[ffffffff:ffffffff]] class 0x000000/00000000
root@pve1:~# dmesg | grep -i vfio
[ 5.538938] VFIO - User Level meta-driver version: 0.3
[ 5.547771] vfio-pci 0000:67:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes
=io+mem:owns=none
[ 5.548012] vfio_pci: add [1002:7340[ffffffff:ffffffff]] class 0x000000/00000000
[ 5.643586] vfio_pci: add [1002:ab38[ffffffff:ffffffff]] class 0x000000/00000000
[ 5.643618] vfio_pci: add [1002:1478[ffffffff:ffffffff]] class 0x000000/00000000
[ 5.643629] vfio_pci: add [1002:1479[ffffffff:ffffffff]] class 0x000000/00000000
Code:
root@pve1:~# dmesg | grep "remapping"
[ 1.471164] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remap
ping.
[ 1.472246] DMAR-IR: Enabled IRQ remapping in x2apic mode
Code:
root@pve1:~# lspci -nn | grep "AMD"
65:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Upstream Port o
f PCI Express Switch [1002:1478] (rev c5)
66:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Downstream Port
of PCI Express Switch [1002:1479]
67:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 14 [Ra
deon RX 5500/5500M / Pro 5500M] [1002:7340] (rev c5)
67:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 HDMI Audio [1002
:ab38]
Code:
root@pve1:~# dmesg | grep "vendor_reset"
[ 5.563920] vendor_reset: loading out-of-tree module taints kernel.
[ 5.563925] vendor_reset: module verification failed: signature and/or required key missi
ng - tainting kernel
[ 5.585777] vendor_reset_hook: installed
root@pve1:~# cat /etc/modprobe.d/pve-blacklist.conf
# This file contains a list of modules which are not supported by Proxmox VE
# nvidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701
blacklist nvidiafb
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
blacklist snd_hda_codec_hdmi
blacklist snd_hda_intel
blacklist snd_hda_codec
blacklist snd_hda_core
blacklist radeon
blacklist amdgpu
# This file contains a list of modules which are not supported by Proxmox VE
# nvidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701
blacklist nvidiafb
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
blacklist snd_hda_codec_hdmi
blacklist snd_hda_intel
blacklist snd_hda_codec
blacklist snd_hda_core
blacklist radeon
blacklist amdgpu
Code:
root@pve1:~# cat /etc/modprobe.d/vfio.conf
options vfio-pci ids=1002:7340,1002:ab38,1002:1478,1002:1479
softdep radeon pre: vfio-pci
softdep amdgpu pre: vfio-pci
Last edited: