I had problems for several days trying to pass through my GPU (while other devices were easily passed) with a black screen. Very frustrating.
The solution seemed to be related to how Proxmox was being booted. Once I switched from standard booting to UEFI booting (in mobo BIOS), the GPU passed through just fine. (Also, the GPU must be bootable with UEFI–––and most recently made GPUs are UEFI bootable.) Further, you need to adjust your blacklist for your GPU (see Spoiler; if the file is changed, remember to run "update-initramfs -u -k all").
I also found suggestions to adjust the /etc/modprobe.d/vfio.conf file; see next Spoiler.
Some other issues to watch in the VM config file are using "bios: ovmf", "machine: q35", and remembering to change "vga: vmware" to "vga: none" along with the usual "hostpci0: xx:00,pcie=1,x-vga=1".
If a rom file is required, it needs to be placed in folder "/usr/share/kvm/myGPU.rom" and then change the VM config file to something like "hostpci0: xx:00,pcie=1,x-vga=1,romfile=myGPU.rom".
The solution seemed to be related to how Proxmox was being booted. Once I switched from standard booting to UEFI booting (in mobo BIOS), the GPU passed through just fine. (Also, the GPU must be bootable with UEFI–––and most recently made GPUs are UEFI bootable.) Further, you need to adjust your blacklist for your GPU (see Spoiler; if the file is changed, remember to run "update-initramfs -u -k all").
blacklist amdgpu
blacklist snd_hda_intel
blacklist xhci_hcd
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
blacklist snd_hda_intel
blacklist xhci_hcd
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
I also found suggestions to adjust the /etc/modprobe.d/vfio.conf file; see next Spoiler.
options vfio-pci ids=1002:687f,1002:aaf8
(using " disable_vga=1" after above declaration, seemed not to be necessary)
options vfio_iommu_type1 allow_unsafe_interrupts=1
(using " disable_vga=1" after above declaration, seemed not to be necessary)
options vfio_iommu_type1 allow_unsafe_interrupts=1
Some other issues to watch in the VM config file are using "bios: ovmf", "machine: q35", and remembering to change "vga: vmware" to "vga: none" along with the usual "hostpci0: xx:00,pcie=1,x-vga=1".
If a rom file is required, it needs to be placed in folder "/usr/share/kvm/myGPU.rom" and then change the VM config file to something like "hostpci0: xx:00,pcie=1,x-vga=1,romfile=myGPU.rom".
Last edited: