[SOLVED] Help with GPU Passthrough with NVIDIA 1660 Super on Threadripper

argonzalez2023

New Member
Mar 18, 2023
2
0
1
Solved! I needed to patch the 1660 Super's rom to work with KVM.

Original Post:
I am having issues passing my 1660 super to any VM on my system. I currently have 2 GPUs on my board, the 1660 super in the main pci express slot and a 1550 super on another slot. When I pass the 1550 super, the VM starts and I see output on my monitor. However, when i pass the 1660 super, the monitor it's hooked to flashes and turns black.

System
AMD Threadripper 3960x
Gigabyte trx40 aorus pro
Nvidia 1660 Super - Main GPU
Nvidia 1650 Super - Secondary GPU

VM Config
bios: ovmf
boot: order=usb0
cores: 8
efidisk0: local-lvm:vm-102-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:21:00,pcie=1,x-vga=1 <- this is the 1660 Super
ide2: none,media=cdrom
machine: pc-q35-7.1
memory: 4096
meta: creation-qemu=7.1.0,ctime=1679125272
name: Unraid
net0: virtio=1E:73:A6:AE:C3:EC,bridge=vmbr0
numa: 0
ostype: win11
scsihw: virtio-scsi-single
smbios1: uuid=fb20ae6e-70ab-479c-8d55-cc4f269dc2b6
sockets: 1
usb0: host=7-4.2
vga: none
vmgenid: 75f0239b-b9b9-4408-8ec6-59ce12d0976b

dmesg | grep -i vfio
Bash:
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.15.74-1-pve root=/dev/mapper/pve-root ro quiet amd_iommu=on vfio_pci.disable_vga=1 initcall_blacklist=sysfb_init
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.15.74-1-pve root=/dev/mapper/pve-root ro quiet amd_iommu=on vfio_pci.disable_vga=1 initcall_blacklist=sysfb_init
[    7.494006] VFIO - User Level meta-driver version: 0.3
[    7.498727] vfio-pci 0000:21:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[    7.520133] vfio_pci: add [10de:21c4[ffffffff:ffffffff]] class 0x000000/00000000
[    7.564059] vfio_pci: add [10de:1aeb[ffffffff:ffffffff]] class 0x000000/00000000
[    7.564069] vfio_pci: add [10de:1aec[ffffffff:ffffffff]] class 0x000000/00000000
[    7.608049] vfio_pci: add [10de:1aed[ffffffff:ffffffff]] class 0x000000/00000000
[    7.608090] vfio-pci 0000:49:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=none
[    7.628178] vfio_pci: add [10de:2187[ffffffff:ffffffff]] class 0x000000/00000000
[    7.628206] vfio_pci: add [10de:1aeb[ffffffff:ffffffff]] class 0x000000/00000000
[    7.628215] vfio_pci: add [10de:1aec[ffffffff:ffffffff]] class 0x000000/00000000
[    7.628223] vfio_pci: add [10de:1aed[ffffffff:ffffffff]] class 0x000000/00000000
[   21.195803] vfio-pci 0000:48:00.1: Masking broken INTx support
[ 3376.890311] vfio-pci 0000:21:00.0: vfio_ecap_init: hiding ecap 0x1e@0x258
[ 3376.890342] vfio-pci 0000:21:00.0: vfio_ecap_init: hiding ecap 0x19@0x900
[ 3376.891921] vfio-pci 0000:21:00.0: No more image in the PCI ROM
[ 3380.507577] vfio-pci 0000:21:00.0: No more image in the PCI ROM
[ 3380.507652] vfio-pci 0000:21:00.0: No more image in the PCI ROM
 
Last edited:
Make sure to early bind the boot GPU (for which you already use initcall_blacklist=sysfb_init) to vfio-pci, otherwise Proxmox will still touch it before the VM starts. You can also put that on the kernel line with vfio_pci.ids=1234:5678,4321:8765 (except use the correct IDs).
 
Make sure to early bind the boot GPU (for which you already use initcall_blacklist=sysfb_init) to vfio-pci, otherwise Proxmox will still touch it before the VM starts. You can also put that on the kernel line with vfio_pci.ids=1234:5678,4321:8765 (except use the correct IDs).
This is the context of my /etc/modprobe.d/vfio.conf file
Bash:
/etc/modprobe.d/vfio.conf
options vfio-pci ids=10de:21c4,10de:1aeb,10de:1aec,10de:1aed,10de:2187,10de:1aeb,10de:1aec,10de:1aed disable_vga=1

To make sure, I also added these values to the kernel line as you stated, still the same issue.
Bash:
quiet amd_iommu=on vfio_pci.disable_vga=1 initcall_blacklist=sysfb_init vfio_pci.ids=10de:21c4,10de:1aeb,10de:1aec,10de:1aed,10de:2187,10de:1aeb,10de:1aec,10de:1aed

Still no go. When I start proxmox, i see the first two lines and then it stops. I'm assuming this is because im not allowing proxmox to use my main GPU. When I start my VM, the screen turns black and the monitor says no input.
 

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!