I've been bashing my head against the wall with this one for days now.
I have a Dell Optiplex 3070 SFF:
i5-9500 (Intel UHD 630 Integrated GPU)
8G RAM (To be upgraded if i can get this to work)
512G SSD
System boots using UEFI, VT-d enabled
I started off using this guide: https://3os.org/infrastructure/proxmox/gpu-passthrough/igpu-passthrough-to-vm/
I am having no success getting this to work. It seems like others have been able to achieve this, but for some reason I seem to be unable.
Any suggestions would be appreciated...
/etc/default/grub
/etc/modules
Update Grub/initramfs
Reboot
Verify IOMMU is enabled:
dmesg | grep -e DMAR -e IOMMU
PCI address of the iGPU
lspci -nnv |grep VGA
Windows 11 VM Config
/etc/pve/local/qemu-server/100.conf
When I start the Windows 11 Guest, I get this in the syslog, and no signal on the monitor:
When I check dmesg:
I have a Dell Optiplex 3070 SFF:
i5-9500 (Intel UHD 630 Integrated GPU)
8G RAM (To be upgraded if i can get this to work)
512G SSD
System boots using UEFI, VT-d enabled
I started off using this guide: https://3os.org/infrastructure/proxmox/gpu-passthrough/igpu-passthrough-to-vm/
I am having no success getting this to work. It seems like others have been able to achieve this, but for some reason I seem to be unable.
Any suggestions would be appreciated...
/etc/default/grub
Code:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt initcall_blacklist=sysfb_init
modprobe_blacklist=snd_hda_intel,snd_hda_codec_hdmi,i915"
/etc/modules
Code:
# vfio modules for pci-e passthrough
vfio
vfio_iommu_type1
vfio_pci
#vfio_virqfd # not needed on kernel 6.2 or newer
Update Grub/initramfs
Code:
update-grub
update-initramfs -u -k all
Reboot
Verify IOMMU is enabled:
dmesg | grep -e DMAR -e IOMMU
Code:
[ 0.011354] ACPI: DMAR 0x00000000B9119598 0000A8 (v01 INTEL EDK2 00000002 01000013)
[ 0.011387] ACPI: Reserving DMAR table memory at [mem 0xb9119598-0xb911963f]
[ 0.030554] DMAR: IOMMU enabled
[ 0.085681] DMAR: Host address width 39
[ 0.085683] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[ 0.085694] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap 1c0000c40660462 ecap 19e2ff0505e
[ 0.085697] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[ 0.085700] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da
[ 0.085702] DMAR: RMRR base: 0x000000b9017000 end: 0x000000b9036fff
[ 0.085704] DMAR: RMRR base: 0x000000bd000000 end: 0x000000bf7fffff
[ 0.085706] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1
[ 0.085707] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[ 0.085709] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 0.089100] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 0.320857] DMAR: No ATSR found
[ 0.320858] DMAR: No SATC found
[ 0.320859] DMAR: IOMMU feature fl1gp_support inconsistent
[ 0.320861] DMAR: IOMMU feature pgsel_inv inconsistent
[ 0.320862] DMAR: IOMMU feature nwfs inconsistent
[ 0.320862] DMAR: IOMMU feature pasid inconsistent
[ 0.320863] DMAR: IOMMU feature eafs inconsistent
[ 0.320864] DMAR: IOMMU feature prs inconsistent
[ 0.320865] DMAR: IOMMU feature nest inconsistent
[ 0.320866] DMAR: IOMMU feature mts inconsistent
[ 0.320866] DMAR: IOMMU feature sc_support inconsistent
[ 0.320867] DMAR: IOMMU feature dev_iotlb_support inconsistent
[ 0.320868] DMAR: dmar0: Using Queued invalidation
[ 0.320871] DMAR: dmar1: Using Queued invalidation
[ 0.321383] DMAR: Intel(R) Virtualization Technology for Directed I/O
PCI address of the iGPU
lspci -nnv |grep VGA
Code:
00:02.0 VGA compatible controller [0300]: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630] [8086:3e92] (prog-if 00 [VGA controller])
Windows 11 VM Config
/etc/pve/local/qemu-server/100.conf
Code:
agent: 1
bios: ovmf
boot: order=virtio0;ide0;ide2;net0
cores: 6
cpu: host
efidisk0: local-lvm:vm-100-disk-0,efitype=4m,pre-enrolled-keys=1,size=4M
hostpci0: 0000:00:02,pcie=1
ide0: local:iso/virtio-win-0.1.240.iso,media=cdrom,size=612812K
ide2: local:iso/Win11_23H2_English_x64v2.iso,media=cdrom,size=6653034K
machine: pc-q35-8.1
memory: 4096
meta: creation-qemu=8.1.2,ctime=1703451032
name: moon
net0: virtio=BC:24:11:88:E3:15,bridge=vmbr0
numa: 0
ostype: win11
scsihw: virtio-scsi-single
smbios1: uuid=f2b89c31-bf80-4ae0-8340-c5771b353a5a
sockets: 1
tags: Windows
tpmstate0: local-lvm:vm-100-disk-1,size=4M,version=v2.0
vga: none
virtio0: local-lvm:vm-100-disk-2,cache=writethrough,discard=on,iothread=1,size=128G
vmgenid: 887c5927-bc86-42a4-a313-93ce716490af
When I start the Windows 11 Guest, I get this in the syslog, and no signal on the monitor:
Code:
Dec 25 13:31:32 dell pvedaemon[4502]: start VM 100: UPID:dell:00001196:0001BA2F:6589F4B4:qmstart:100:root@pam:
Dec 25 13:31:32 dell systemd[1]: Started 100.scope.
Dec 25 13:31:32 dell kernel: tap100i0: entered promiscuous mode
Dec 25 13:31:32 dell kernel: vmbr0: port 2(tap100i0) entered blocking state
Dec 25 13:31:32 dell kernel: vmbr0: port 2(tap100i0) entered disabled state
Dec 25 13:31:32 dell kernel: tap100i0: entered allmulticast mode
Dec 25 13:31:32 dell kernel: vmbr0: port 2(tap100i0) entered blocking state
Dec 25 13:31:32 dell kernel: vmbr0: port 2(tap100i0) entered forwarding state
Dec 25 13:31:33 dell pvedaemon[938]: <root@pam> end task UPID:dell:00001196:0001BA2F:6589F4B4:qmstart:100:root@pam: OK
Dec 25 13:31:34 dell QEMU[4524]: kvm: vfio-pci: Cannot read device rom at 0000:00:02.0
Dec 25 13:31:34 dell QEMU[4524]: Device option ROM contents are probably invalid (check dmesg).
Dec 25 13:31:34 dell QEMU[4524]: Skip option ROM probe with rombar=0, or load from file with romfile=
Dec 25 13:31:34 dell kernel: vfio-pci 0000:00:02.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
When I check dmesg:
Code:
[ 0.000000] Linux version 6.5.11-4-pve (fgruenbichler@yuna) (gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT_DYNAMIC PMX 6.5.11-4 (2023-11-20T10:19Z) ()
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.5.11-4-pve root=/dev/mapper/pve-root ro quiet intel_iommu=on iommu=pt initcall_blacklist=sysfb_init modprobe_blacklist=snd_hda_intel,snd_hda_codec_hdmi,i915
[ 66.482966] snd_hda_intel 0000:00:1f.3: couldn't bind with audio component
[ 66.576087] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC3234: line_outs=1 (0x1b/0x0/0x0/0x0/0x0) type:line
[ 66.576091] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=1 (0x14/0x0/0x0/0x0/0x0)
[ 66.576093] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 66.576095] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0
[ 66.576096] snd_hda_codec_realtek hdaudioC0D0: inputs:
[ 66.576097] snd_hda_codec_realtek hdaudioC0D0: Headset Mic=0x19
[ 66.576098] snd_hda_codec_realtek hdaudioC0D0: Headphone Mic=0x1a
[ 66.662524] snd_hda_codec_hdmi hdaudioC0D2: No i915 binding for Intel HDMI/DP codec
[ 66.663027] hdaudio hdaudioC0D2: Unable to configure, disabling
[ 66.663213] input: HDA Intel PCH Headphone Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input8
[ 66.663249] input: HDA Intel PCH Front Line Out as /devices/pci0000:00/0000:00:1f.3/sound/card0/input9
[ 236.369939] tap100i0: entered promiscuous mode
[ 236.382989] vmbr0: port 2(tap100i0) entered blocking state
[ 236.382992] vmbr0: port 2(tap100i0) entered disabled state
[ 236.383005] tap100i0: entered allmulticast mode
[ 236.383059] vmbr0: port 2(tap100i0) entered blocking state
[ 236.383060] vmbr0: port 2(tap100i0) entered forwarding state
[ 238.411013] vfio-pci 0000:00:02.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff
[ 1115.973568] tap100i0: left allmulticast mode
[ 1115.973583] vmbr0: port 2(tap100i0) entered disabled state
[ 1132.696507] tap100i0: entered promiscuous mode
[ 1132.709608] vmbr0: port 2(tap100i0) entered blocking state
[ 1132.709612] vmbr0: port 2(tap100i0) entered disabled state
[ 1132.709625] tap100i0: entered allmulticast mode
[ 1132.709680] vmbr0: port 2(tap100i0) entered blocking state
[ 1132.709682] vmbr0: port 2(tap100i0) entered forwarding state
[ 1134.666010] vfio-pci 0000:00:02.0: Invalid PCI ROM header signature: expecting 0xaa55, got 0xffff