I'm relatively new to Proxmox, so I may be missing something here, but I'm hoping someone might have some insight into what is going on. I have an HP Mini I run Proxmox on that hosts an Ubuntu Server 22.04 VM. I'd like to pass the integrated Intel HD 530 graphics card to this VM, to use QuickSync for transcoding in the VM. So far, I have updated my host's grub:
as well as added the vfio modules to /etc/modules:
From here, I've added the GPU as a PCI device to the VM in the PVE GUI, selecting 'All functions', 'ROM-Bar', and 'PCI Express'.
After rebooting the host, it does seem that it uses vfio for the card:
And the card does appear in the VM now as well, however, it seems to have no kernel drivers available or loaded:
Trying to load the driver with modprobe results in an error that it is not found:
At this point, I wonder if it may be something specific to the VM, as the hardware seems to be being found, but the drivers are not, though they are supposed to be included in the Linux kernel from my understanding. Before passthrough, the graphics card would load the driver properly on the Proxmox host, though it is using a different kernel version (5.15.108-1 on the host vs. 5.15.0-76 on the VM). Would anyone have any suggestions as to where to go from here?
Bash:
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt nox2apic"
GRUB_CMDLINE_LINUX=""
as well as added the vfio modules to /etc/modules:
Bash:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
From here, I've added the GPU as a PCI device to the VM in the PVE GUI, selecting 'All functions', 'ROM-Bar', and 'PCI Express'.
After rebooting the host, it does seem that it uses vfio for the card:
Bash:
# On host:
> lspci -v
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06) (prog-if 00 [VGA controller])
DeviceName: Onboard IGD
Subsystem: Hewlett-Packard Company HD Graphics 530
Flags: fast devsel, IRQ 16, IOMMU group 1
Memory at d0000000 (64-bit, non-prefetchable) [size=16M]
Memory at c0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 4000 [size=64]
Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [ac] MSI: Enable- Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Process Address Space ID (PASID)
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Kernel driver in use: vfio-pci
Kernel modules: i915
And the card does appear in the VM now as well, however, it seems to have no kernel drivers available or loaded:
Bash:
# On VM:
> lspci -v
01:00.0 VGA compatible controller: Intel Corporation HD Graphics 530 (rev 06) (prog-if 00 [VGA controller])
Subsystem: Hewlett-Packard Company HD Graphics 530
Physical Slot: 0
Flags: fast devsel, IRQ 10
Memory at fb000000 (64-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
I/O ports at 5000 [size=64]
Expansion ROM at fc000000 [disabled] [size=128K]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [ac] MSI: Enable- Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Null
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Trying to load the driver with modprobe results in an error that it is not found:
Bash:
> sudo modprobe i915
modprobe: FATAL: Module i915 not found in directory /lib/modules/5.15.0-76-generic
At this point, I wonder if it may be something specific to the VM, as the hardware seems to be being found, but the drivers are not, though they are supposed to be included in the Linux kernel from my understanding. Before passthrough, the graphics card would load the driver properly on the Proxmox host, though it is using a different kernel version (5.15.108-1 on the host vs. 5.15.0-76 on the VM). Would anyone have any suggestions as to where to go from here?
Last edited: