Hello,
I am trying to Passthrough my Intel UHD 630 iGPU to an Ubuntu 22.04 VM and configure Plex to use iGPU Hardware transcoding with a Docker container running on the Ubuntu 22.04 VM hosted on ProxMox.
My issue is Plex running on the Ubuntu 22.04 VM does not use Hardware Transcoding and CPU usage is still at 100% when transcoding. I am not sure how to proceed from here as it does look like the iGPU is passed through from the ProxMox host to the Ubuntu 22.04 VM but Plex within a docker container on the Ubuntu 22.04 VM does not use the iGPU for transcoding.
Here is what I have done, configs, & outputs. If you require any additional information, please let me know.
[ProxMox Host]
(nano /etc/default/grub)
~~~
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1"
GRUB_CMDLINE_LINUX=""
~~~
(nano /etc/modules)
~~~
# Modules required for PCI passthrough
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
# Modules required for Intel GVT
kvmgt
exngt
vfio-mdev
~~~
(dmesg | grep -e DMAR -e IOMMU)
~~~
[ 0.008395] ACPI: DMAR 0x00000000A357AE48 0000B0 (v01 INTEL KBL 00000001 INTL 00000001)
[ 0.008416] ACPI: Reserving DMAR table memory at [mem 0xa357ae48-0xa357aef7]
[ 0.075731] DMAR: IOMMU enabled
[ 0.200243] DMAR: Host address width 39
[ 0.200244] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[ 0.200248] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap 1c0000c40660462 ecap 19e2ff0505e
[ 0.200250] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[ 0.200253] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da
[ 0.200254] DMAR: RMRR base: 0x000000b0e93000 end: 0x000000b0eb2fff
[ 0.200256] DMAR: RMRR base: 0x000000b3800000 end: 0x000000b7ffffff
[ 0.200257] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1
[ 0.200258] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[ 0.200259] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 0.201716] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 0.408487] DMAR: [Firmware Bug]: RMRR entry for device 04:00.0 is broken - applying workaround
[ 0.408489] DMAR: No ATSR found
[ 0.408489] DMAR: No SATC found
[ 0.408490] DMAR: IOMMU feature fl1gp_support inconsistent
[ 0.408491] DMAR: IOMMU feature pgsel_inv inconsistent
[ 0.408492] DMAR: IOMMU feature nwfs inconsistent
[ 0.408493] DMAR: IOMMU feature pasid inconsistent
[ 0.408493] DMAR: IOMMU feature eafs inconsistent
[ 0.408494] DMAR: IOMMU feature prs inconsistent
[ 0.408494] DMAR: IOMMU feature nest inconsistent
[ 0.408495] DMAR: IOMMU feature mts inconsistent
[ 0.408495] DMAR: IOMMU feature sc_support inconsistent
[ 0.408496] DMAR: IOMMU feature dev_iotlb_support inconsistent
[ 0.408497] DMAR: dmar0: Using Queued invalidation
[ 0.408499] DMAR: dmar1: Using Queued invalidation
[ 0.410346] DMAR: Intel(R) Virtualization Technology for Directed I/O
~~~
(lspci -nnv | grep VGA)
~~~
00:02.0 VGA compatible controller [0300]: Intel Corporation CometLake-S GT2 [UHD Graphics 630] [8086:3e92] (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [GeForce RTX 3060 Ti] [10de:2486] (rev a1) (prog-if 00 [VGA controller])
~~~
[Ubuntu 22.04 VM]
(nano /etc/pve/qemu-server/100.conf)
~~~
boot: order=scsi0;net0
cores: 9
hostpci0: 0000:00:02.0,mdev=i915-GVTg_V5_4
memory: 25048
meta: creation-qemu=7.2.0,ctime=1684777342
name: Media-Manager
net0: virtio=76:73:20:1A:AE:8B,bridge=vmbr0
numa: 0
onboot: 1
ostype: l26
scsi0: local:100/vm-100-disk-0.qcow2,iothread=1,size=210G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=d7347d38-8fc0-4c9c-890e-c87d6f7bed9b
sockets: 1
vmgenid: 6e29d005-c7e5-4188-9e3f-f2de75fba3ae
~~~
(sudo lspci -nnv | grep VGA)
~~~
00:02.0 VGA compatible controller [0300]: Device [1234:1111] (rev 02) (prog-if 00 [VGA controller])00:10.0 VGA compatible controller [0300]: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630] [8086:3e92] (prog-if 00 [VGA controller])
~~~
(cd /dev/dri && ls -la)
~~~
total 0
drwxr-xr-x 3 root root 120 Jul 16 18:22 .
drwxr-xr-x 19 root root 4380 Jul 16 18:22 ..
drwxr-xr-x 2 root root 100 Jul 16 18:22 by-path
crw-rw----+ 1 root video 226, 0 Jul 16 18:22 card0
crw-rw----+ 1 root video 226, 1 Jul 16 18:22 card1
crw-rw----+ 1 root render 226, 128 Jul 16 18:22 renderD128
~~~
I am trying to Passthrough my Intel UHD 630 iGPU to an Ubuntu 22.04 VM and configure Plex to use iGPU Hardware transcoding with a Docker container running on the Ubuntu 22.04 VM hosted on ProxMox.
My issue is Plex running on the Ubuntu 22.04 VM does not use Hardware Transcoding and CPU usage is still at 100% when transcoding. I am not sure how to proceed from here as it does look like the iGPU is passed through from the ProxMox host to the Ubuntu 22.04 VM but Plex within a docker container on the Ubuntu 22.04 VM does not use the iGPU for transcoding.
Here is what I have done, configs, & outputs. If you require any additional information, please let me know.
[ProxMox Host]
(nano /etc/default/grub)
~~~
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on i915.enable_gvt=1"
GRUB_CMDLINE_LINUX=""
~~~
(nano /etc/modules)
~~~
# Modules required for PCI passthrough
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
# Modules required for Intel GVT
kvmgt
exngt
vfio-mdev
~~~
(dmesg | grep -e DMAR -e IOMMU)
~~~
[ 0.008395] ACPI: DMAR 0x00000000A357AE48 0000B0 (v01 INTEL KBL 00000001 INTL 00000001)
[ 0.008416] ACPI: Reserving DMAR table memory at [mem 0xa357ae48-0xa357aef7]
[ 0.075731] DMAR: IOMMU enabled
[ 0.200243] DMAR: Host address width 39
[ 0.200244] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[ 0.200248] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap 1c0000c40660462 ecap 19e2ff0505e
[ 0.200250] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[ 0.200253] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da
[ 0.200254] DMAR: RMRR base: 0x000000b0e93000 end: 0x000000b0eb2fff
[ 0.200256] DMAR: RMRR base: 0x000000b3800000 end: 0x000000b7ffffff
[ 0.200257] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1
[ 0.200258] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[ 0.200259] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
[ 0.201716] DMAR-IR: Enabled IRQ remapping in x2apic mode
[ 0.408487] DMAR: [Firmware Bug]: RMRR entry for device 04:00.0 is broken - applying workaround
[ 0.408489] DMAR: No ATSR found
[ 0.408489] DMAR: No SATC found
[ 0.408490] DMAR: IOMMU feature fl1gp_support inconsistent
[ 0.408491] DMAR: IOMMU feature pgsel_inv inconsistent
[ 0.408492] DMAR: IOMMU feature nwfs inconsistent
[ 0.408493] DMAR: IOMMU feature pasid inconsistent
[ 0.408493] DMAR: IOMMU feature eafs inconsistent
[ 0.408494] DMAR: IOMMU feature prs inconsistent
[ 0.408494] DMAR: IOMMU feature nest inconsistent
[ 0.408495] DMAR: IOMMU feature mts inconsistent
[ 0.408495] DMAR: IOMMU feature sc_support inconsistent
[ 0.408496] DMAR: IOMMU feature dev_iotlb_support inconsistent
[ 0.408497] DMAR: dmar0: Using Queued invalidation
[ 0.408499] DMAR: dmar1: Using Queued invalidation
[ 0.410346] DMAR: Intel(R) Virtualization Technology for Directed I/O
~~~
(lspci -nnv | grep VGA)
~~~
00:02.0 VGA compatible controller [0300]: Intel Corporation CometLake-S GT2 [UHD Graphics 630] [8086:3e92] (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA104 [GeForce RTX 3060 Ti] [10de:2486] (rev a1) (prog-if 00 [VGA controller])
~~~
[Ubuntu 22.04 VM]
(nano /etc/pve/qemu-server/100.conf)
~~~
boot: order=scsi0;net0
cores: 9
hostpci0: 0000:00:02.0,mdev=i915-GVTg_V5_4
memory: 25048
meta: creation-qemu=7.2.0,ctime=1684777342
name: Media-Manager
net0: virtio=76:73:20:1A:AE:8B,bridge=vmbr0
numa: 0
onboot: 1
ostype: l26
scsi0: local:100/vm-100-disk-0.qcow2,iothread=1,size=210G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=d7347d38-8fc0-4c9c-890e-c87d6f7bed9b
sockets: 1
vmgenid: 6e29d005-c7e5-4188-9e3f-f2de75fba3ae
~~~
(sudo lspci -nnv | grep VGA)
~~~
00:02.0 VGA compatible controller [0300]: Device [1234:1111] (rev 02) (prog-if 00 [VGA controller])00:10.0 VGA compatible controller [0300]: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630] [8086:3e92] (prog-if 00 [VGA controller])
~~~
(cd /dev/dri && ls -la)
~~~
total 0
drwxr-xr-x 3 root root 120 Jul 16 18:22 .
drwxr-xr-x 19 root root 4380 Jul 16 18:22 ..
drwxr-xr-x 2 root root 100 Jul 16 18:22 by-path
crw-rw----+ 1 root video 226, 0 Jul 16 18:22 card0
crw-rw----+ 1 root video 226, 1 Jul 16 18:22 card1
crw-rw----+ 1 root render 226, 128 Jul 16 18:22 renderD128
~~~