[SOLVED] Single GPU Passthrough Performance Issues w/ 7.4 Upgrade

Apr 3, 2022
119
48
28
TL;DR - Disable Windows Features related to Virtualization.

I run Proxmox in a single GPU passthrough configuration with a Windows 11 workstation. Upgrade to 7.4 went smooth and everything worked... but I soon began to realize that the "end-user experience" on my workstation had degraded significantly. Everything just seemed to slower/laggy across the board. No errors in Proxmox or Windows pointing to any problems... just not the experience I had been used to.

NOTE: I understand that the "end-user experience" of this type of configuration will never match bare metal.

Hardware:
  • Intel Core i9-10850K 3.6 GHz 10-Core Processor
  • Asus ROG STRIX Z490-E GAMING ATX LGA1200 Motherboard
  • G.Skill Ripjaws V 64 GB (4 x 16 GB) DDR4-3600 CL16 Memory

Code:
IOMMU Group 0 00:00.0 Host bridge [0600]: Intel Corporation Device [8086:9b33] (rev 05)
IOMMU Group 1 00:01.0 PCI bridge [0604]: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) [8086:1901] (rev 05)
IOMMU Group 1 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:2489] (rev a1)
IOMMU Group 1 01:00.1 Audio device [0403]: NVIDIA Corporation GA104 High Definition Audio Controller [10de:228b] (rev a1)
IOMMU Group 2 00:02.0 Display controller [0380]: Intel Corporation CometLake-S GT2 [UHD Graphics 630] [8086:9bc5] (rev 05)
IOMMU Group 3 00:14.0 USB controller [0c03]: Intel Corporation Comet Lake USB 3.1 xHCI Host Controller [8086:06ed]
IOMMU Group 3 00:14.2 RAM memory [0500]: Intel Corporation Comet Lake PCH Shared SRAM [8086:06ef]
IOMMU Group 4 00:15.0 Serial bus controller [0c80]: Intel Corporation Comet Lake PCH Serial IO I2C Controller #0 [8086:06e8]
IOMMU Group 4 00:15.1 Serial bus controller [0c80]: Intel Corporation Comet Lake PCH Serial IO I2C Controller #1 [8086:06e9]
IOMMU Group 5 00:16.0 Communication controller [0780]: Intel Corporation Comet Lake HECI Controller [8086:06e0]
IOMMU Group 6 00:17.0 SATA controller [0106]: Intel Corporation Device [8086:06d2]
IOMMU Group 7 00:1b.0 PCI bridge [0604]: Intel Corporation Comet Lake PCI Express Root Port #17 [8086:06c0] (rev f0)
IOMMU Group 8 00:1b.4 PCI bridge [0604]: Intel Corporation Comet Lake PCI Express Root Port #21 [8086:06ac] (rev f0)
IOMMU Group 9 00:1c.0 PCI bridge [0604]: Intel Corporation Device [8086:06b8] (rev f0)
IOMMU Group 10 00:1c.4 PCI bridge [0604]: Intel Corporation Device [8086:06bc] (rev f0)
IOMMU Group 11 00:1c.5 PCI bridge [0604]: Intel Corporation Device [8086:06bd] (rev f0)
IOMMU Group 12 00:1c.6 PCI bridge [0604]: Intel Corporation Device [8086:06be] (rev f0)
IOMMU Group 13 00:1c.7 PCI bridge [0604]: Intel Corporation Device [8086:06bf] (rev f0)
IOMMU Group 14 00:1d.0 PCI bridge [0604]: Intel Corporation Comet Lake PCI Express Root Port #9 [8086:06b0] (rev f0)
IOMMU Group 15 00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:0685]
IOMMU Group 15 00:1f.4 SMBus [0c05]: Intel Corporation Comet Lake PCH SMBus Controller [8086:06a3]
IOMMU Group 15 00:1f.5 Serial bus controller [0c80]: Intel Corporation Comet Lake PCH SPI Controller [8086:06a4]
IOMMU Group 16 03:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 [144d:a808]
IOMMU Group 17 05:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I225-V [8086:15f3] (rev 02)
IOMMU Group 18 06:00.0 SATA controller [0106]: ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:0612] (rev 02)
IOMMU Group 19 07:00.0 USB controller [0c03]: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller [1912:0014] (rev 03)
IOMMU Group 20 08:00.0 USB controller [0c03]: Renesas Technology Corp. uPD720201 USB 3.0 Host Controller [1912:0014] (rev 03)
IOMMU Group 21 09:00.0 Non-Volatile memory controller [0108]: Phison Electronics Corporation E12 NVMe Controller [1987:5012] (rev 01)

root@pve:~# cat /proc/cmdline
initrd=\EFI\proxmox\5.15.104-1-pve\initrd.img-5.15.104-1-pve root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on iommu=pt initcall_blacklist=sysfb_init

root@pve:~# cat /etc/modprobe.d/vfio.conf
options vfio-pci ids=10de:2489,10de:228b,1987:5012,1912:0014,1b21:0612 disable_vga=1

root@pve:~# cat /etc/pve/qemu-server/100.conf
agent: 1
balloon: 0
bios: ovmf
boot: order=hostpci0
cores: 10
cpu: host
efidisk0: local-zfs:vm-100-disk-1,efitype=4m,pre-enrolled-keys=1,size=1M
hostpci0: 0000:09:00,pcie=1
hostpci1: 0000:01:00,pcie=1,x-vga=1,romfile=08G-P5-3663-KL.rom
hostpci2: 0000:08:00,pcie=1
hostpci3: 0000:07:00,pcie=1
hostpci4: 0000:06:00,pcie=1
machine: pc-q35-7.2
memory: 20480
meta: creation-qemu=6.1.1,ctime=1648601835
name: raven
net0: virtio=5E:42:11:7E:16:FA,bridge=vmbr0
numa: 0
onboot: 1
ostype: win11
scsihw: virtio-scsi-pci
smbios1: uuid=5d6ae88a-76b6-4ab0-8aac-9ae36dcb518c
sockets: 1
tablet: 0
tpmstate0: local-zfs:vm-100-disk-0,size=4M,version=v2.0
vga: none
vmgenid: f3f742fa-3520-452f-98d6-1c6c5fbb2fb5

So, I started researching general recommendations for Windows 11 VM performance on Proxmox and tried everything I found. And one of these made a big difference. I had the "Virtual Machine Platform" and "Windows Subsystem for Linux" features installed. Once I removed these and rebooted the VM... everything was back to "normal". (Maybe even better?) Just thought I would post this here in case anyone is experiencing similar problems.

Now for the real question!

I've had these features enabled since I started using this Proxomx setup. I honestly never used them, but they never caused me any issues. So, is it just that these features don't play well with the new version of Proxmox/Kernel? Or was I missing out on even more performance previously?
 
Hello ,
thanks for help with that. I try to resolve my problem with low performance gpu passthrough. After remove docker / WSL / Windows Sub for Linux / HyperV in Windows 10 my gpu performance run 3x better.

I really want know how to this virtualization staff reduce GPU performance !? if you have any information give me a feedback here

Proxmox 8.0.3 / HPZ420 / GTX 1660S

Best regards ,
Tomasz
 

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!