Hi All,
My goal:
Having Kodi up and running on my Proxmox server (HDMI output, HDMI sound, and hardware acceleration). Need to be able to passthrough GPU & Audio. The target would be to have it running on Debian 10 (best would be Libreelec but i was not able to make it run; i've stopped my investigations)
My Hardware:
Intel i5 7200 with Intel HD 920 integrated GPU on a Hystou mini computer.
BIOS American Trend / VT-d Enabled / VMX Enabled / AES Enabled
Note: According to the Proxmox guide test, this GPU IS NOT UEFI compatible
I've tried first my hardware with Windows 10 (alone) and Kodi. Everything ran well, with hardware acceleration OK (allowing 4K 30fps video rendering with low CPU consumption)
What i've done:
I've installed Proxmox (alone) & followed the official guide (https://pve.proxmox.com/wiki/Pci_passthrough) and many other solutions proposed around the net.
I've tried with 3 guest OS (Ubuntu, Win 10, Debian 10) and (i thing) all the possible options in Proxmox VMs (UEFI, SeaBios, q35 or not, etc...).
I've spend a lot of hours investigating, thinking previously that the issue was on the guest side with no result.
What i've observed:
- With Bios OVMF (UEFI):
My idea is that i have an issue with my GPU Passthrough in Proxmox.
My host parameters are listed here; i can give the guest parameters if needed.
It's strange that i have better result with UEFI Bios while my GPU seems not to be compatible.
May you help me there or give me advice in order to continue to test and find a solution.
Thanks in advance for your time.
My goal:
Having Kodi up and running on my Proxmox server (HDMI output, HDMI sound, and hardware acceleration). Need to be able to passthrough GPU & Audio. The target would be to have it running on Debian 10 (best would be Libreelec but i was not able to make it run; i've stopped my investigations)
My Hardware:
Intel i5 7200 with Intel HD 920 integrated GPU on a Hystou mini computer.
BIOS American Trend / VT-d Enabled / VMX Enabled / AES Enabled
Note: According to the Proxmox guide test, this GPU IS NOT UEFI compatible
I've tried first my hardware with Windows 10 (alone) and Kodi. Everything ran well, with hardware acceleration OK (allowing 4K 30fps video rendering with low CPU consumption)
What i've done:
I've installed Proxmox (alone) & followed the official guide (https://pve.proxmox.com/wiki/Pci_passthrough) and many other solutions proposed around the net.
I've tried with 3 guest OS (Ubuntu, Win 10, Debian 10) and (i thing) all the possible options in Proxmox VMs (UEFI, SeaBios, q35 or not, etc...).
I've spend a lot of hours investigating, thinking previously that the issue was on the guest side with no result.
proxmox-ve: 6.1-2 (running kernel: 5.3.18-2-pve)
pve-manager: 6.1-8 (running version: 6.1-8/806edfe1)
pve-kernel-helper: 6.1-7
pve-kernel-5.3: 6.1-5
pve-kernel-5.3.18-2-pve: 5.3.18-2
pve-kernel-5.3.10-1-pve: 5.3.10-1
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.0.3-pve1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.15-pve1
libpve-access-control: 6.0-6
libpve-apiclient-perl: 3.0-3
libpve-common-perl: 6.0-17
libpve-guest-common-perl: 3.0-5
libpve-http-server-perl: 3.0-5
libpve-storage-perl: 6.1-5
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 3.2.1-1
lxcfs: 3.0.3-pve60
novnc-pve: 1.1.0-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.1-3
pve-cluster: 6.1-4
pve-container: 3.0-22
pve-docs: 6.1-6
pve-edk2-firmware: 2.20200229-1
pve-firewall: 4.0-10
pve-firmware: 3.0-6
pve-ha-manager: 3.0-9
pve-i18n: 2.0-4
pve-qemu-kvm: 4.1.1-4
pve-xtermjs: 4.3.0-1
qemu-server: 6.1-7
smartmontools: 7.1-pve2
spiceterm: 3.1-1
vncterm: 1.6-1
zfsutils-linux: 0.8.3-pve1
cat /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifbff pcie_acs_override=downstream"
Note: "video=efifbff" is here to avoid this error: "drm:gen8_de_irq_handler [i915]] *ERROR* Fault errors on pipe A: 0x00000080"
cat /etc/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
IOMMU Group 0:
-e 00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers [8086:5904] (rev 02)
IOMMU Group 1:
-e 00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 620 [8086:5916] (rev 02)
IOMMU Group 10:
-e 01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 07)
IOMMU Group 11:
-e 02:00.0 Network controller [0280]: Broadcom Limited BCM43224 802.11a/b/g/n [14e4:4353] (rev 01)
IOMMU Group 2:
-e 00:08.0 System peripheral [0880]: Intel Corporation Skylake Gaussian Mixture Model [8086:1911]
IOMMU Group 3:
-e 00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller [8086:9d2f] (rev 21)
-e 00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-LP Thermal subsystem [8086:9d31] (rev 21)
IOMMU Group 4:
-e 00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-LP CSME HECI #1 [8086:9d3a] (rev 21)
IOMMU Group 5:
-e 00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] [8086:9d03] (rev 21)
IOMMU Group 6:
-e 00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI Express Root Port [8086:9d12] (rev f1)
IOMMU Group 7:
-e 00:1c.3 PCI bridge [0604]: Intel Corporation Device [8086:9d13] (rev f1)
IOMMU Group 8:
-e 00:1e.0 Signal processing controller [1180]: Intel Corporation Sunrise Point-LP Serial IO UART Controller #0 [8086:9d27] (rev 21)
-e 00:1e.4 SD Host controller [0805]: Intel Corporation Device [8086:9d2b] (rev 21)
-e 00:1e.6 SD Host controller [0805]: Intel Corporation Sunrise Point-LP Secure Digital IO Controller [8086:9d2d] (rev 21)
IOMMU Group 9:
-e 00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-LP LPC Controller [8086:9d58] (rev 21)
-e 00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-LP PMC [8086:9d21] (rev 21)
-e 00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d71] (rev 21)
-e 00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-LP SMBus [8086:9d23] (rev 21)
lspci -n -s 00:02.0
00:02.0 0300: 8086:5916 (rev 02)
lspci -n -s 00:1f.0
00:1f.0 0601: 8086:9d58 (rev 21)
lspci -n -s 00:1f.2
00:1f.2 0580: 8086:9d21 (rev 21)
lspci -n -s 00:1f.3
00:1f.3 0403: 8086:9d71 (rev 21)
lspci -n -s 00:1f.4
00:1f.4 0c05: 8086:9d23 (rev 21)
cat /etc/modprobe.d/vfio.conf
options vfio-pci ids=8086:5916,8086:9d58,8086:9d21,8086:9d71,8086:9d23
cat /etc/modprobe.d/blacklist.conf
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915
blacklist snd_soc_skl
blacklist i2c_i801
Graphic card IS NOT UEFI compatible (Tpye 0, not Type 3):
root@EkiHystou:~/rom-parser# ./rom-parser /tmp/image.rom
Valid ROM signature found @0h, PCIR offset 40h
PCIR: type 0 (x86 PC-AT), vendor: 8086, device: 0406, class: 030000
PCIR: revision 3, vendor revision: 0
Last image
pve-manager: 6.1-8 (running version: 6.1-8/806edfe1)
pve-kernel-helper: 6.1-7
pve-kernel-5.3: 6.1-5
pve-kernel-5.3.18-2-pve: 5.3.18-2
pve-kernel-5.3.10-1-pve: 5.3.10-1
ceph-fuse: 12.2.11+dfsg1-2.1+b1
corosync: 3.0.3-pve1
criu: 3.11-3
glusterfs-client: 5.5-3
ifupdown: 0.8.35+pve1
ksm-control-daemon: 1.3-1
libjs-extjs: 6.0.1-10
libknet1: 1.15-pve1
libpve-access-control: 6.0-6
libpve-apiclient-perl: 3.0-3
libpve-common-perl: 6.0-17
libpve-guest-common-perl: 3.0-5
libpve-http-server-perl: 3.0-5
libpve-storage-perl: 6.1-5
libqb0: 1.0.5-1
libspice-server1: 0.14.2-4~pve6+1
lvm2: 2.03.02-pve4
lxc-pve: 3.2.1-1
lxcfs: 3.0.3-pve60
novnc-pve: 1.1.0-1
proxmox-mini-journalreader: 1.1-1
proxmox-widget-toolkit: 2.1-3
pve-cluster: 6.1-4
pve-container: 3.0-22
pve-docs: 6.1-6
pve-edk2-firmware: 2.20200229-1
pve-firewall: 4.0-10
pve-firmware: 3.0-6
pve-ha-manager: 3.0-9
pve-i18n: 2.0-4
pve-qemu-kvm: 4.1.1-4
pve-xtermjs: 4.3.0-1
qemu-server: 6.1-7
smartmontools: 7.1-pve2
spiceterm: 3.1-1
vncterm: 1.6-1
zfsutils-linux: 0.8.3-pve1
cat /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on video=efifbff pcie_acs_override=downstream"
Note: "video=efifbff" is here to avoid this error: "drm:gen8_de_irq_handler [i915]] *ERROR* Fault errors on pipe A: 0x00000080"
cat /etc/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
IOMMU Group 0:
-e 00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers [8086:5904] (rev 02)
IOMMU Group 1:
-e 00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 620 [8086:5916] (rev 02)
IOMMU Group 10:
-e 01:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 07)
IOMMU Group 11:
-e 02:00.0 Network controller [0280]: Broadcom Limited BCM43224 802.11a/b/g/n [14e4:4353] (rev 01)
IOMMU Group 2:
-e 00:08.0 System peripheral [0880]: Intel Corporation Skylake Gaussian Mixture Model [8086:1911]
IOMMU Group 3:
-e 00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller [8086:9d2f] (rev 21)
-e 00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-LP Thermal subsystem [8086:9d31] (rev 21)
IOMMU Group 4:
-e 00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-LP CSME HECI #1 [8086:9d3a] (rev 21)
IOMMU Group 5:
-e 00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] [8086:9d03] (rev 21)
IOMMU Group 6:
-e 00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI Express Root Port [8086:9d12] (rev f1)
IOMMU Group 7:
-e 00:1c.3 PCI bridge [0604]: Intel Corporation Device [8086:9d13] (rev f1)
IOMMU Group 8:
-e 00:1e.0 Signal processing controller [1180]: Intel Corporation Sunrise Point-LP Serial IO UART Controller #0 [8086:9d27] (rev 21)
-e 00:1e.4 SD Host controller [0805]: Intel Corporation Device [8086:9d2b] (rev 21)
-e 00:1e.6 SD Host controller [0805]: Intel Corporation Sunrise Point-LP Secure Digital IO Controller [8086:9d2d] (rev 21)
IOMMU Group 9:
-e 00:1f.0 ISA bridge [0601]: Intel Corporation Sunrise Point-LP LPC Controller [8086:9d58] (rev 21)
-e 00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-LP PMC [8086:9d21] (rev 21)
-e 00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d71] (rev 21)
-e 00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-LP SMBus [8086:9d23] (rev 21)
lspci -n -s 00:02.0
00:02.0 0300: 8086:5916 (rev 02)
lspci -n -s 00:1f.0
00:1f.0 0601: 8086:9d58 (rev 21)
lspci -n -s 00:1f.2
00:1f.2 0580: 8086:9d21 (rev 21)
lspci -n -s 00:1f.3
00:1f.3 0403: 8086:9d71 (rev 21)
lspci -n -s 00:1f.4
00:1f.4 0c05: 8086:9d23 (rev 21)
cat /etc/modprobe.d/vfio.conf
options vfio-pci ids=8086:5916,8086:9d58,8086:9d21,8086:9d71,8086:9d23
cat /etc/modprobe.d/blacklist.conf
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist i915
blacklist snd_soc_skl
blacklist i2c_i801
Graphic card IS NOT UEFI compatible (Tpye 0, not Type 3):
root@EkiHystou:~/rom-parser# ./rom-parser /tmp/image.rom
Valid ROM signature found @0h, PCIR offset 40h
PCIR: type 0 (x86 PC-AT), vendor: 8086, device: 0406, class: 030000
PCIR: revision 3, vendor revision: 0
Last image
What i've observed:
- With Bios OVMF (UEFI):
- Ubuntu 18.04:
Kernel 5.3:
- Card GPU & audio seen with lspci
- Dmesg report 1 error: "i915 0000:02:00.0: Failed to initialize GPU, declaring it wedged!"
- Driver used is vmware and graphic card is always seen as llvmpipe in Ubuntu
- No error on XOrg, even if i force to use Intel Driver, DRI acceleration is enabled, etc...
- HDMI output works, HDMI sound works BUT the Intel card is not recognized and then no hardware acceleration (80% CPU for an HD movie...)
Kernel 5.5:
- Dmesg report 1 error: "Direct firmware load for sse with error -2". Very few documentation about it; not able to solve it
- Debian 10:
- Kernel 4.19:
- Dmesg report 1 fatal error: "[drm:gen8_reset_engines [i915]] *ERROR* rcs0: reset request timeout)"
- Need a kernel upgrade
- Kernel 5.3:
- Dmesg report 1 error: "i915 0000:02:00.0: Failed to initialize GPU, declaring it wedged!"
- Driver used is intel but DRI acceleration can not be enabled. Graphic card is seen in kodi as llvmpipe
- HDMI output works, HDMI sound works BUT the Intel card is not recognized and then no hardware acceleration
- Windows 10:
- Intel HD 920 is recognized; HD audio also; last drivers installed; no issue at all in the device manager (all activated, all running well, etc...)
- No issue in the "log" (windows journal log)
- HDMI can not be activated. Using Kodi, Intel card is recognized, acceleration is there, but HDMI is disabled....
With Bios Seabios:- Ubuntu 18.04:
- When i enable GPU passthrough, the VM starts but do not correctly boot (ping KO, SSH KO)
- Do not find anything in the log ("journalctl -o short-precise -k -b -1" do not give any info on the previous log), nothing in kern.log or syslog
- Debian 10:
- Same situation
- Windows 10:
- With a standard GPU and the GPU passthrough, i see the 2 cards in Windows, install Intel drivers, Intel 620 recognized, no issue in the device manager
- If i delete in the VM hardware the standard GPU, and leave the GPU passthrough alone, Windows do not boot, no ping, etc...
My idea is that i have an issue with my GPU Passthrough in Proxmox.
My host parameters are listed here; i can give the guest parameters if needed.
It's strange that i have better result with UEFI Bios while my GPU seems not to be compatible.
May you help me there or give me advice in order to continue to test and find a solution.
Thanks in advance for your time.
Last edited: