I have a system where there is no graphics in the cpu, only the pci-e gpu add in card. I am having problems successfully using the gpu with a VM. I am hoping I have missing something silly, and someone here can point me in the right direction. (If there is any required but missing information below please let me know.)
The system boots to the kernel selection menu immediately after posting. Once it starts loading the kernel the display goes black and I do not see the rest of the booting process nor the console. I only get to see the kernel selection that is it. I understand this is expected behaviour. I also understand I loose the ability to access the local console. That said the monitor does not turn off (monitor stays awake), just all black. Now with the proxmox GUI accessable I go and start the VM. When I do so there is a very quick flicker on the monitor, then the monitor turns off. From this point forward the monitor will not stay on with the VM running or not.
- I am not sure if I have fully disabled proxmox from using this gpu which may be causing this issue?
- Other forums I have read through suggest I need to specify a modified GPU ROM file. (I have the unmodified GPU's rom file thanks to GPU-Z if required.)
- I have tried specifying the GPU with and without primary gpu options with the same results.
Proxmox version: 7.3-3
Kernel: 5.15.74-1-pve
System Specs:
- Intel Core i5-9400f
- Gigabyte B360m Aorus
- Zotac GTX-970 (ids=10de:13c2,10de:0fbb)
- Booting proxmox with UEFI
System Configs below....
cat /etc/kernel/cmdline
root=ZFS=rpool/ROOT/pve-1 boot=zfs quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction video=efifbff vfio_pci.ids=10de:13c2,10de:0fbb nofb nomodeset video=vesafbff initcall_blacklist=sysfb_init
cat /etc/modules
# /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
cat /etc/modprobe.d/iommu_unsafe_interrupts.conf
options vfio_iommu_type1 allow_unsafe_interrupts=1
cat /etc/modprobe.d/kvm.conf
options kvm ignore_msrs=1
cat /etc/modprobe.d/blacklist.conf
blacklist radeon
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
cat /etc/modprobe.d/iommu_unsafe_interrupts.conf
options vfio_iommu_type1 allow_unsafe_interrupts=1
cat /etc/modprobe.d/kvm.conf
options kvm ignore_msrs=1
cat /etc/modprobe.d/pve-blacklist.conf
# This file contains a list of modules which are not supported by Proxmox VE
# nidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701
blacklist nvidiafb
cat /etc/modprobe.d/vfio.conf
options vfio-pci ids=10de:13c2,10de:0fbb disable_vga=1
cat /etc/pve/nodes/omega/qemu-server/50000.conf
#WinDOZE 11 64Bit
#
#- QEMU agent installed
#- All VirtIO drivers installed
#- NVidia GTX970 Drivers installed w/NVidia_Experience
agent: 1
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=NV43FIX,kvm=off'
bios: ovmf
boot: order=ide2;virtio0
cores: 4
cpu: host,hidden=1,flags=+pcid
efidisk0: local-zfs:vm-50000-disk-0,efitype=4m,pre-enrolled-keys=1,size=1M
hostpci0: 0000:01:00,pcie=1
ide2: none,media=cdrom
machine: pc-q35-7.0
memory: 4096
meta: creation-qemu=7.0.0,ctime=1665791723
name: Windoze11
net0: virtio=DA:96:34:F6:A1:09,bridge=vmbr2,firewall=1
numa: 0
ostype: win11
scsihw: virtio-scsi-single
smbios1: uuid=84566f99-dc35-4531-a053-da2f36ab045d
sockets: 1
tpmstate0: local-zfs:vm-50000-disk-1,size=1M,version=v2.0
usb0: host=413c:2501,usb3=1
vga: none
virtio0: local-zfs:vm-50000-disk-2,size=120G
vmgenid: a1dd0f77-5e94-47a4-a3da-fd091136282e
for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*}; printf 'IOMMU group %s ' "$n"; lspci -nnks "${d##*/}"; done
#
IOMMU group 0 00:00.0 Host bridge [0600]: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers [8086:3ec2] (rev 07)
DeviceName: Onboard - Other
Subsystem: Gigabyte Technology Co., Ltd 8th Gen Core Processor Host Bridge/DRAM Registers [1458:5000]
Kernel driver in use: skl_uncore
Kernel modules: ie31200_edac
IOMMU group 1 00:01.0 PCI bridge [0604]: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) [8086:1901] (rev 07)
Kernel driver in use: pcieport
IOMMU group 2 00:12.0 Signal processing controller [1180]: Intel Corporation Cannon Lake PCH Thermal Controller [8086:a379] (rev 10)
DeviceName: Onboard - Other
Subsystem: Gigabyte Technology Co., Ltd Cannon Lake PCH Thermal Controller [1458:8888]
Kernel driver in use: intel_pch_thermal
Kernel modules: intel_pch_thermal
IOMMU group 3 00:14.0 USB controller [0c03]: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller [8086:a36d] (rev 10)
DeviceName: Onboard - Other
Subsystem: Gigabyte Technology Co., Ltd Cannon Lake PCH USB 3.1 xHCI Host Controller [1458:5007]
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
IOMMU group 3 00:14.2 RAM memory [0500]: Intel Corporation Cannon Lake PCH Shared SRAM [8086:a36f] (rev 10)
DeviceName: Onboard - Other
Subsystem: Intel Corporation Cannon Lake PCH Shared SRAM [8086:7270]
IOMMU group 4 00:16.0 Communication controller [0780]: Intel Corporation Cannon Lake PCH HECI Controller [8086:a360] (rev 10)
DeviceName: Onboard - Other
Subsystem: Gigabyte Technology Co., Ltd Cannon Lake PCH HECI Controller [1458:1c3a]
Kernel driver in use: mei_me
Kernel modules: mei_me
IOMMU group 5 00:17.0 SATA controller [0106]: Intel Corporation Cannon Lake PCH SATA AHCI Controller [8086:a352] (rev 10)
DeviceName: Onboard - SATA
Subsystem: Gigabyte Technology Co., Ltd Cannon Lake PCH SATA AHCI Controller [1458:b005]
Kernel driver in use: ahci
Kernel modules: ahci
IOMMU group 6 00:1d.0 PCI bridge [0604]: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 [8086:a330] (rev f0)
Kernel driver in use: pcieport
IOMMU group 7 00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:a308] (rev 10)
DeviceName: Onboard - Other
Subsystem: Gigabyte Technology Co., Ltd Device [1458:5001]
IOMMU group 7 00:1f.3 Audio device [0403]: Intel Corporation Cannon Lake PCH cAVS [8086:a348] (rev 10)
DeviceName: Onboard - Sound
Subsystem: Gigabyte Technology Co., Ltd Cannon Lake PCH cAVS [1458:a182]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_sof_pci_intel_cnl
IOMMU group 7 00:1f.4 SMBus [0c05]: Intel Corporation Cannon Lake PCH SMBus Controller [8086:a323] (rev 10)
DeviceName: Onboard - Other
Subsystem: Gigabyte Technology Co., Ltd Cannon Lake PCH SMBus Controller [1458:5001]
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
IOMMU group 7 00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller [8086:a324] (rev 10)
DeviceName: Onboard - Other
Subsystem: Intel Corporation Cannon Lake PCH SPI Controller [8086:7270]
IOMMU group 7 00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (7) I219-V [8086:15bc] (rev 10)
DeviceName: Onboard - Ethernet
Subsystem: Gigabyte Technology Co., Ltd Ethernet Connection (7) I219-V [1458:e000]
Kernel driver in use: e1000e
Kernel modules: e1000e
IOMMU group 8 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204 [GeForce GTX 970] [10de:13c2] (rev a1)
Subsystem: ZOTAC International (MCO) Ltd. GM204 [GeForce GTX 970] [19da:1366]
Kernel driver in use: vfio-pci
Kernel modules: nvidiafb, nouveau
IOMMU group 9 01:00.1 Audio device [0403]: NVIDIA Corporation GM204 High Definition Audio Controller [10de:0fbb] (rev a1)
Subsystem: ZOTAC International (MCO) Ltd. GM204 High Definition Audio Controller [19da:1366]
Kernel driver in use: vfio-pci
Kernel modules: snd_hda_intel
lspci -n -s 01:00
01:00.0 0300: 10de:13c2 (rev a1)
01:00.1 0403: 10de:0fbb (rev a1)
The system boots to the kernel selection menu immediately after posting. Once it starts loading the kernel the display goes black and I do not see the rest of the booting process nor the console. I only get to see the kernel selection that is it. I understand this is expected behaviour. I also understand I loose the ability to access the local console. That said the monitor does not turn off (monitor stays awake), just all black. Now with the proxmox GUI accessable I go and start the VM. When I do so there is a very quick flicker on the monitor, then the monitor turns off. From this point forward the monitor will not stay on with the VM running or not.
- I am not sure if I have fully disabled proxmox from using this gpu which may be causing this issue?
- Other forums I have read through suggest I need to specify a modified GPU ROM file. (I have the unmodified GPU's rom file thanks to GPU-Z if required.)
- I have tried specifying the GPU with and without primary gpu options with the same results.
Proxmox version: 7.3-3
Kernel: 5.15.74-1-pve
System Specs:
- Intel Core i5-9400f
- Gigabyte B360m Aorus
- Zotac GTX-970 (ids=10de:13c2,10de:0fbb)
- Booting proxmox with UEFI
System Configs below....
cat /etc/kernel/cmdline
root=ZFS=rpool/ROOT/pve-1 boot=zfs quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction video=efifbff vfio_pci.ids=10de:13c2,10de:0fbb nofb nomodeset video=vesafbff initcall_blacklist=sysfb_init
cat /etc/modules
# /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
cat /etc/modprobe.d/iommu_unsafe_interrupts.conf
options vfio_iommu_type1 allow_unsafe_interrupts=1
cat /etc/modprobe.d/kvm.conf
options kvm ignore_msrs=1
cat /etc/modprobe.d/blacklist.conf
blacklist radeon
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
cat /etc/modprobe.d/iommu_unsafe_interrupts.conf
options vfio_iommu_type1 allow_unsafe_interrupts=1
cat /etc/modprobe.d/kvm.conf
options kvm ignore_msrs=1
cat /etc/modprobe.d/pve-blacklist.conf
# This file contains a list of modules which are not supported by Proxmox VE
# nidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701
blacklist nvidiafb
cat /etc/modprobe.d/vfio.conf
options vfio-pci ids=10de:13c2,10de:0fbb disable_vga=1
cat /etc/pve/nodes/omega/qemu-server/50000.conf
#WinDOZE 11 64Bit
#
#- QEMU agent installed
#- All VirtIO drivers installed
#- NVidia GTX970 Drivers installed w/NVidia_Experience
agent: 1
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=NV43FIX,kvm=off'
bios: ovmf
boot: order=ide2;virtio0
cores: 4
cpu: host,hidden=1,flags=+pcid
efidisk0: local-zfs:vm-50000-disk-0,efitype=4m,pre-enrolled-keys=1,size=1M
hostpci0: 0000:01:00,pcie=1
ide2: none,media=cdrom
machine: pc-q35-7.0
memory: 4096
meta: creation-qemu=7.0.0,ctime=1665791723
name: Windoze11
net0: virtio=DA:96:34:F6:A1:09,bridge=vmbr2,firewall=1
numa: 0
ostype: win11
scsihw: virtio-scsi-single
smbios1: uuid=84566f99-dc35-4531-a053-da2f36ab045d
sockets: 1
tpmstate0: local-zfs:vm-50000-disk-1,size=1M,version=v2.0
usb0: host=413c:2501,usb3=1
vga: none
virtio0: local-zfs:vm-50000-disk-2,size=120G
vmgenid: a1dd0f77-5e94-47a4-a3da-fd091136282e
for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*}; printf 'IOMMU group %s ' "$n"; lspci -nnks "${d##*/}"; done
#
IOMMU group 0 00:00.0 Host bridge [0600]: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers [8086:3ec2] (rev 07)
DeviceName: Onboard - Other
Subsystem: Gigabyte Technology Co., Ltd 8th Gen Core Processor Host Bridge/DRAM Registers [1458:5000]
Kernel driver in use: skl_uncore
Kernel modules: ie31200_edac
IOMMU group 1 00:01.0 PCI bridge [0604]: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) [8086:1901] (rev 07)
Kernel driver in use: pcieport
IOMMU group 2 00:12.0 Signal processing controller [1180]: Intel Corporation Cannon Lake PCH Thermal Controller [8086:a379] (rev 10)
DeviceName: Onboard - Other
Subsystem: Gigabyte Technology Co., Ltd Cannon Lake PCH Thermal Controller [1458:8888]
Kernel driver in use: intel_pch_thermal
Kernel modules: intel_pch_thermal
IOMMU group 3 00:14.0 USB controller [0c03]: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller [8086:a36d] (rev 10)
DeviceName: Onboard - Other
Subsystem: Gigabyte Technology Co., Ltd Cannon Lake PCH USB 3.1 xHCI Host Controller [1458:5007]
Kernel driver in use: xhci_hcd
Kernel modules: xhci_pci
IOMMU group 3 00:14.2 RAM memory [0500]: Intel Corporation Cannon Lake PCH Shared SRAM [8086:a36f] (rev 10)
DeviceName: Onboard - Other
Subsystem: Intel Corporation Cannon Lake PCH Shared SRAM [8086:7270]
IOMMU group 4 00:16.0 Communication controller [0780]: Intel Corporation Cannon Lake PCH HECI Controller [8086:a360] (rev 10)
DeviceName: Onboard - Other
Subsystem: Gigabyte Technology Co., Ltd Cannon Lake PCH HECI Controller [1458:1c3a]
Kernel driver in use: mei_me
Kernel modules: mei_me
IOMMU group 5 00:17.0 SATA controller [0106]: Intel Corporation Cannon Lake PCH SATA AHCI Controller [8086:a352] (rev 10)
DeviceName: Onboard - SATA
Subsystem: Gigabyte Technology Co., Ltd Cannon Lake PCH SATA AHCI Controller [1458:b005]
Kernel driver in use: ahci
Kernel modules: ahci
IOMMU group 6 00:1d.0 PCI bridge [0604]: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 [8086:a330] (rev f0)
Kernel driver in use: pcieport
IOMMU group 7 00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:a308] (rev 10)
DeviceName: Onboard - Other
Subsystem: Gigabyte Technology Co., Ltd Device [1458:5001]
IOMMU group 7 00:1f.3 Audio device [0403]: Intel Corporation Cannon Lake PCH cAVS [8086:a348] (rev 10)
DeviceName: Onboard - Sound
Subsystem: Gigabyte Technology Co., Ltd Cannon Lake PCH cAVS [1458:a182]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_sof_pci_intel_cnl
IOMMU group 7 00:1f.4 SMBus [0c05]: Intel Corporation Cannon Lake PCH SMBus Controller [8086:a323] (rev 10)
DeviceName: Onboard - Other
Subsystem: Gigabyte Technology Co., Ltd Cannon Lake PCH SMBus Controller [1458:5001]
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
IOMMU group 7 00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller [8086:a324] (rev 10)
DeviceName: Onboard - Other
Subsystem: Intel Corporation Cannon Lake PCH SPI Controller [8086:7270]
IOMMU group 7 00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (7) I219-V [8086:15bc] (rev 10)
DeviceName: Onboard - Ethernet
Subsystem: Gigabyte Technology Co., Ltd Ethernet Connection (7) I219-V [1458:e000]
Kernel driver in use: e1000e
Kernel modules: e1000e
IOMMU group 8 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM204 [GeForce GTX 970] [10de:13c2] (rev a1)
Subsystem: ZOTAC International (MCO) Ltd. GM204 [GeForce GTX 970] [19da:1366]
Kernel driver in use: vfio-pci
Kernel modules: nvidiafb, nouveau
IOMMU group 9 01:00.1 Audio device [0403]: NVIDIA Corporation GM204 High Definition Audio Controller [10de:0fbb] (rev a1)
Subsystem: ZOTAC International (MCO) Ltd. GM204 High Definition Audio Controller [19da:1366]
Kernel driver in use: vfio-pci
Kernel modules: snd_hda_intel
lspci -n -s 01:00
01:00.0 0300: 10de:13c2 (rev a1)
01:00.1 0403: 10de:0fbb (rev a1)