unraid_kernel
unraid_kernel copied to clipboard
Help! Intel DG1 in Unraid
Great work. With your help, I am able to run DG1 in Unraid. But DG1 can not be used as transcoding device. It seems it requires Dynamic Kernel Module Support (DKMS)(https://github.com/intel-gpu/intel-gpu-i915-backports/issues/99#issuecomment-1620396358) . Is there anyway building DKMS in unraid kernel?
from what I can gather I dont think you need the dkms oot driver anymore but you do need the va drivers
Sorry, I am not familiar with va drivers. In Jellyfin, by running vainfo, I got this
Does it mean the va drivers works fine?
looks fine.... video encoder and decoder for mpeg2 and h264...... with h264 low power variant .... from the picture....
But when the Jellyfin use DG1 as transcoding device, it returns with errors.
more info:
root@Tower:~# lspci -k
00:00.0 Host bridge: Intel Corporation 8th Gen Core 4-core Desktop Processor Host Bridge/DRAM Registers [Coffee Lake S] (rev 08)
DeviceName: Onboard - Other
Subsystem: ASUSTeK Computer Inc. 8th Gen Core 4-core Desktop Processor Host Bridge/DRAM Registers [Coffee Lake S]
Kernel driver in use: skl_uncore
Kernel modules: ie31200_edac
00:14.0 USB controller: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller
DeviceName: Onboard - Other
Subsystem: ASUSTeK Computer Inc. 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller
Kernel driver in use: xhci_hcd
00:16.0 Communication controller: Intel Corporation 200 Series PCH CSME HECI #1
DeviceName: Onboard - Other
Subsystem: ASUSTeK Computer Inc. 200 Series PCH CSME HECI
Kernel driver in use: mei_me
Kernel modules: mei_me
00:17.0 SATA controller: Intel Corporation 200 Series PCH SATA controller [AHCI mode]
DeviceName: Onboard - SATA
Subsystem: ASUSTeK Computer Inc. 200 Series PCH SATA controller [AHCI mode]
Kernel driver in use: ahci
00:1b.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #19 (rev f0)
Subsystem: ASUSTeK Computer Inc. 200 Series PCH PCI Express Root Port
Kernel driver in use: pcieport
00:1b.4 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #21 (rev f0)
Kernel driver in use: pcieport
00:1c.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #3 (rev f0)
Subsystem: ASUSTeK Computer Inc. 200 Series PCH PCI Express Root Port
Kernel driver in use: pcieport
00:1c.4 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #5 (rev f0)
Subsystem: ASUSTeK Computer Inc. 200 Series PCH PCI Express Root Port
Kernel driver in use: pcieport
00:1d.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #9 (rev f0)
Subsystem: ASUSTeK Computer Inc. 200 Series PCH PCI Express Root Port
Kernel driver in use: pcieport
00:1f.0 ISA bridge: Intel Corporation Device a2cc
DeviceName: Onboard - Other
Subsystem: ASUSTeK Computer Inc. Device 8694
00:1f.2 Memory controller: Intel Corporation 200 Series/Z370 Chipset Family Power Management Controller
DeviceName: Onboard - Other
Subsystem: ASUSTeK Computer Inc. 200 Series/Z370 Chipset Family Power Management Controller
00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
DeviceName: Onboard - Sound
Subsystem: ASUSTeK Computer Inc. 200 Series PCH HD Audio
00:1f.4 SMBus: Intel Corporation 200 Series/Z370 Chipset Family SMBus Controller
DeviceName: Onboard - Other
Subsystem: ASUSTeK Computer Inc. 200 Series/Z370 Chipset Family SMBus Controller
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V
DeviceName: Onboard - Ethernet
Subsystem: ASUSTeK Computer Inc. Ethernet Connection (2) I219-V
Kernel driver in use: e1000e
Kernel modules: e1000e
02:00.0 Non-Volatile memory controller: Silicon Motion, Inc. SM2263EN/SM2263XT (DRAM-less) NVMe SSD Controllers (rev 03)
Subsystem: Silicon Motion, Inc. SM2263EN/SM2263XT SSD Controller
Kernel driver in use: nvme
Kernel modules: nvme
03:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9215 PCIe 2.0 x1 4-port SATA 6 Gb/s Controller (rev 11)
Subsystem: Marvell Technology Group Ltd. 88SE9215 PCIe 2.0 x1 4-port SATA 6 Gb/s Controller
Kernel driver in use: ahci
04:00.0 PCI bridge: Intel Corporation Device 4910
Subsystem: Intel Corporation Device 0000
Kernel driver in use: pcieport
05:01.0 PCI bridge: Intel Corporation Device 490f
Subsystem: Intel Corporation Device 490f
Kernel driver in use: pcieport
05:04.0 PCI bridge: Intel Corporation Device 490f
Subsystem: Intel Corporation Device 0000
Kernel driver in use: pcieport
05:05.0 PCI bridge: Intel Corporation Device 490f
Subsystem: Intel Corporation Device 0000
Kernel driver in use: pcieport
06:00.0 VGA compatible controller: Intel Corporation DG1 [Iris Xe Graphics] (rev 01)
Subsystem: Shenzhen Gunnir Technology Development Co., Ltd DG1 [Iris Xe Graphics]
Kernel driver in use: i915
Kernel modules: i915
07:00.0 Audio device: Intel Corporation Device 490d
Subsystem: Shenzhen Gunnir Technology Development Co., Ltd Device da10
08:00.0 Memory controller: Intel Corporation Device 490e
Kernel driver in use: intel_vsec
Kernel modules: intel_vsec
root@Tower:~# dmesg | grep -iE "guc|huc"
[ 116.414796] i915 0000:06:00.0: [drm] GT0: GuC firmware i915/dg1_guc_70.bin version 70.5.1
[ 116.414799] i915 0000:06:00.0: [drm] GT0: HuC firmware i915/dg1_huc.bin version 7.9.3
[ 116.420664] i915 0000:06:00.0: [drm] GT0: HuC: authenticated for all workloads
[ 116.421251] i915 0000:06:00.0: [drm] GT0: GUC: submission enabled
[ 116.421253] i915 0000:06:00.0: [drm] GT0: GUC: SLPC enabled
[ 116.421439] i915 0000:06:00.0: [drm] GT0: GUC: RC enabled
root@Tower:~# dmesg |grep i915
[ 116.377224] i915 0000:06:00.0: Force probing unsupported Device ID 4908, tainting kernel
[ 116.377903] i915 0000:06:00.0: vgaarb: deactivate vga console
[ 116.377922] i915 0000:06:00.0: [drm] Local memory IO size: 0x00000000fb800000
[ 116.377923] i915 0000:06:00.0: [drm] Local memory available: 0x00000000fb800000
[ 116.400845] i915 0000:06:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=io+mem:owns=none
[ 116.402938] i915 0000:06:00.0: [drm] Finished loading DMC firmware i915/dg1_dmc_ver2_02.bin (v2.2)
[ 116.414796] i915 0000:06:00.0: [drm] GT0: GuC firmware i915/dg1_guc_70.bin version 70.5.1
[ 116.414799] i915 0000:06:00.0: [drm] GT0: HuC firmware i915/dg1_huc.bin version 7.9.3
[ 116.420664] i915 0000:06:00.0: [drm] GT0: HuC: authenticated for all workloads
[ 116.421251] i915 0000:06:00.0: [drm] GT0: GUC: submission enabled
[ 116.421253] i915 0000:06:00.0: [drm] GT0: GUC: SLPC enabled
[ 116.421439] i915 0000:06:00.0: [drm] GT0: GUC: RC enabled
[ 116.460536] [drm] Initialized i915 1.6.0 20201103 for 0000:06:00.0 on minor 0
[ 116.486610] fbcon: i915drmfb (fb0) is primary device
[ 116.549154] i915 0000:06:00.0: [drm] fb0: i915drmfb frame buffer device
[ 116.589349] i915 0000:06:00.0: [drm] Unsupported device. GVT-g is disabled
[ 1320.904149] Modules linked in: xt_nat xt_tcpudp veth xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xfrm_user xfrm_algo iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 xt_addrtype br_netfilter xfs md_mod zfs(O) spl(O) tcp_diag inet_diag amdgpu mfd_core drm_suballoc_helper drm_exec gpu_sched amdxcp drm_ttm_helper kvmgt vfio_iommu_type1 vfio iommufd mdev mei_gsc i915 drm_buddy i2c_algo_bit drm_display_helper ttm drm_kms_helper drm intel_gtt agpgart nct6775 nct6775_core hwmon_vid ip6table_filter ip6_tables iptable_filter ip_tables x_tables efivarfs bridge stp llc bonding tls ipv6 btrfs intel_rapl_msr intel_rapl_common intel_tcc_cooling x86_pkg_temp_thermal intel_powerclamp coretemp kvm_intel raid6_pq xor kvm mei_pxp mei_hdcp pmt_telemetry pmt_class mxm_wmi wmi_bmof irqbypass polyval_clmulni polyval_generic aesni_intel crypto_simd i2c_i801 rapl intel_cstate i2c_smbus e1000e intel_uncore i2c_core mei_me nvme nvme_core intel_vsec mei video tpm_crb backlight tpm_tis tpm_tis_core acpi_pad
wow reading more and more about the DG1.... makes me think its a shit show... wow.....
I use 6.12.6 with the 6.7.0 kernel and Jellyfin's transcode with my A380 works just fine. I didn't have to do anything special.
If you use the lsio Jellyfin image, you need to add Docker mods, iirc. Using the official Jellyfin image should sovle your problems. hopefully.
he has DG1 .... its different from the rest of the arc cards...arc cards should work out of the box with all the kernels PS: curios if the new XE driver will work better... you need to force load the module tho....
Trying to run DG1 in Unraid is a nasty work. 1. Adjust BIOS configuration, then we can get a visual output. 2. Replace Linux kernel, then Unraid is able to recognize DG1. 3. (maybe) install intel-gpu-i915-backports, then we can use DG1 as transcoding device.
@thor2002ro Could you please help integrate 'intel-gpu-i915-backports' into the Unraid kernel? I have tried compiling it several times, but without success. It's definitely beyond my knowledge scope. I would be extremely grateful if you could lend a hand. Thank you very much!
I will try when I have some free time...
but will still be a shit show.... even with the backport driver you still need to modify every docker media-va for it to work...