Just to double check, so we should be running 20.04 with the 5.4.0-107 kernel? I just did a fresh install and an apt update to make sure i have the right one for testing.
Thanks!
Just to double check, so we should be running 20.04 with the 5.4.0-107 kernel? I just did a fresh install and an apt update to make sure i have the right one for testing.
Thanks!
The 5.4 kernel is fine. I use 5.4 for production on my PMS server
I am using the HWE version of 20.04, which is currently on kernel 5.13.x and that works fine as well.
Cool, i have an 11xxx series proc so i wanted to make sure i’m using the correct kernel and have all the right packages so i’ve been going through the last few pages of message on this thread.
Thanks!
Hey Chuck… just wanted to ask - with Ubuntu 22.04 LTS literally being around the corner (I think the release is tomorrow), have you guys done any testing with that yet and does hardware encoding work there?
While I have you… and this goes to everyone in this thread: Does Fedora (server) have the same hw enconding/transcoding issues as Ubuntu?
Cheers!
Done some testing on it.
Doing some work. ![]()
Make certain you’re still using ICR ver 21.49.21786.
I have a packaging change in the works (waiting on QA approval) and Engineering has their work in process now.
So, late to the discussion. I’m also on ubuntu 20.04, with a nuc11pahi70001.
CPU is 11th Gen Intel(R) Core™ i7-1165G7 @ 2.80GHz. It’s supposedly got an Iris XE “GPU” in it.
PMS installer is not detecting a GPU. Not sure if I need to override this in the configs or not. Anybody have any thoughts on this?
Thanks in advance!
Which distro & version are you using ?
The installer looks for the kernel to enumerate (show the existence of) the i915 interface.
Next, the transcoder looks for /dev/dri/renderD128.
Go look at /dev/dri. It should look like this:
[chuck@lizum ecpp.2016]$ ls -la /dev/dri
total 0
drwxr-xr-x 3 root root 140 May 13 15:48 ./
drwxr-xr-x 22 root root 5320 May 13 15:48 ../
drwxr-xr-x 2 root root 120 May 13 15:48 by-path/
crw-rw----+ 1 root render 226, 0 May 13 15:48 card0
crw-rw----+ 1 root render 226, 128 May 13 15:48 renderD128
[chuck@lizum ecpp.2017]$
On TigerLake, Ubuntu 20.04 and above, Intel Compute Runtime (all modules) version 21.49.21786 must be installed ( These replace the older Beignet/OpenCL and provide access to the QSV )
If the software is installed and the QSV is enumerated, make certain user plex is a member of the group which owns /dev/dri/renderD128.
(The installer will add ‘plex’ to the group for you)
Maybe that’s something that we can put in the official knowledge base, @ChuckPa? This page seems like a good place to put it (it seems a bit outdated anyway):
BTW: Ubuntu 22.04. experiments concluded?
Safe to upgrade?
Experiments concluded.
Safe to upgrade ?
– Not certain. AlderLake is bleeding edge and not there yet (kernel deficiencies)
– Don’t know about TigerLake.
I’m doing a big overhaul of the installer now.
I’m adding the logic to pair the processor WITH the Distro + Version.
I’m doing it because everyone has something slightly different.
The installer should be smart enough to tell you which specific changes you need to make / modules which are missing or need updating.
I’m running focal 20.04.
NAME="Ubuntu"
VERSION="20.04.4 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.4 LTS"
VERSION_ID="20.04"
I also have the ICR installed:
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
intel-gmmlib/now 21.3.3 amd64 [installed,local]
intel-igc-core/now 1.0.9441 amd64 [installed,local]
intel-igc-opencl/now 1.0.9441 amd64 [installed,local]
intel-level-zero-gpu/now 1.2.21786 amd64 [installed,local]
intel-microcode/focal-updates,focal-security,now 3.20210608.0ubuntu0.20.04.1 amd64 [installed,automatic]
intel-opencl-icd/now 21.49.21786 amd64 [installed,local]
libdrm-intel1/focal-updates,focal-security,now 2.4.107-8ubuntu1~20.04.2 amd64 [installed,automatic]
Plex version is 1.26.0.5715-8cf78dab3
I don’t have a /dev/dri folder at all. There’s no configuration in the bios specifically around the gpu either… I’m wondering if I need to flash the bios to enable support or something.
If you don’t have /dev/dri, please also confirm you don’t have QSV hardware transcoding ?
Also, which specific CPU are you using? Some Intel CPUs don’t have the ASIC.
Being honest, I have no idea how to validate the QSV question. The CPU is an 1165G7 (tiger lake).
From the link you provided.
Intel® Quick Sync Video - Yes
To validate if its being enumerated:
[chuck@lizum ~.2003]$ ls -la /sys/module/i915/drivers/pci:i915/
total 0
drwxr-xr-x 2 root root 0 May 13 15:48 ./
drwxr-xr-x 40 root root 0 May 13 15:48 ../
lrwxrwxrwx 1 root root 0 May 15 12:01 0000:00:02.0 -> ../../../../devices/pci0000:00/0000:00:02.0/
--w------- 1 root root 4096 May 15 12:01 bind
lrwxrwxrwx 1 root root 0 May 14 00:17 module -> ../../../../module/i915/
--w------- 1 root root 4096 May 15 12:01 new_id
--w------- 1 root root 4096 May 15 12:01 remove_id
--w------- 1 root root 4096 May 13 15:48 uevent
--w------- 1 root root 4096 May 15 12:01 unbind
[chuck@lizum ~.2004]$
You’re looking for the PCI bus link which takes from the generic to the actual device.
Sincere thanks for the help here. I’m a little out of my depth.
Checking CPU info (as expected, 8 instances of this):
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 140
model name : 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
stepping : 1
microcode : 0x88
cpu MHz : 826.451
cache size : 12288 KB
physical id : 0
siblings : 8
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 27
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l2 invpcid_single cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid movdiri movdir64b avx512_vp2intersect md_clear flush_l1d arch_capabilities
bugs : spectre_v1 spectre_v2 spec_store_bypass swapgs
bogomips : 5606.40
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
And then looking for the QSV reference:
root@davetv:/home/dave# ls -la /sys/module/i915/drivers/pci\:i915
lrwxrwxrwx 1 root root 0 May 15 19:17 /sys/module/i915/drivers/pci:i915 -> ../../../bus/pci/drivers/i915
Please retype the command exactly as I posted it (with the trailing /)
It will follow the symlink and show the directory contents (which is what we want).
At this point, it does appear to be finding the i915.
With you not getting the QSV module enumerated, I suspect there’s either a board limitation preventing it or UEFI/BIOS turning it off. Check if you can
my bad, see below: I checked the bios, and there’s nothing relevant based on the docs. The graphics related elements I could find are IGD settings (minimum memory, aperture size), and a setting for Gaussian Mixture Models and Neural Networks Accelerator.
root@davetv:/home/dave# ls -la /sys/module/i915/drivers/pci:i915/
total 0
drwxr-xr-x 2 root root 0 May 15 20:22 .
drwxr-xr-x 31 root root 0 May 15 20:22 ..
--w------- 1 root root 4096 May 15 20:25 bind
lrwxrwxrwx 1 root root 0 May 15 20:25 module -> ../../../../module/i915
--w------- 1 root root 4096 May 15 20:25 new_id
--w------- 1 root root 4096 May 15 20:25 remove_id
--w------- 1 root root 4096 May 15 20:22 uevent
--w------- 1 root root 4096 May 15 20:25 unbind
[chuck@lizum ~.2004]$ sudo lshw -C Display
*-display
description: VGA compatible controller
product: Polaris 22 XT [Radeon RX Vega M GH]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci@0000:01:00.0
logical name: /dev/fb0
version: c0
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi vga_controller bus_master cap_list rom fb
configuration: depth=32 driver=amdgpu latency=0 mode=3840x2160 visual=truecolor xres=3840 yres=2160
resources: iomemory:200-1ff iomemory:210-20f irq:190 memory:2000000000-20ffffffff memory:2100000000-21001fffff ioport:e000(size=256) memory:db500000-db53ffff memory:c0000-dffff
*-display
description: Display controller
product: HD Graphics 630
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 04
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm bus_master cap_list
configuration: driver=i915 latency=0
resources: iomemory:2f0-2ef iomemory:2f0-2ef irq:188 memory:2ffe000000-2ffeffffff memory:2fa0000000-2fafffffff ioport:f000(size=64)
[chuck@lizum ~.2005]$ sudo lspci
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 05)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 05)
00:01.1 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x8) (rev 05)
00:01.2 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x4) (rev 05)
00:02.0 Display controller: Intel Corporation HD Graphics 630 (rev 04)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
00:14.0 USB controller: Intel Corporation 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller (rev 31)
00:14.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Thermal Subsystem (rev 31)
00:15.0 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #0 (rev 31)
00:15.1 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #1 (rev 31)
00:15.2 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO I2C Controller #2 (rev 31)
00:16.0 Communication controller: Intel Corporation 100 Series/C230 Series Chipset Family MEI Controller #1 (rev 31)
00:17.0 SATA controller: Intel Corporation HM170/QM170 Chipset SATA Controller [AHCI Mode] (rev 31)
00:1c.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #1 (rev f1)
00:1c.1 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #2 (rev f1)
00:1c.2 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #3 (rev f1)
00:1c.4 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #5 (rev f1)
00:1d.0 PCI bridge: Intel Corporation 100 Series/C230 Series Chipset Family PCI Express Root Port #9 (rev f1)
00:1e.0 Signal processing controller: Intel Corporation 100 Series/C230 Series Chipset Family Serial IO UART #0 (rev 31)
00:1f.0 ISA bridge: Intel Corporation HM175 Chipset LPC/eSPI Controller (rev 31)
00:1f.2 Memory controller: Intel Corporation 100 Series/C230 Series Chipset Family Power Management Controller (rev 31)
00:1f.3 Audio device: Intel Corporation CM238 HD Audio Controller (rev 31)
00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-LM (rev 31)
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Polaris 22 XT [Radeon RX Vega M GH] (rev c0)
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Polaris 22 HDMI Audio
02:00.0 USB controller: ASMedia Technology Inc. ASM2142 USB 3.1 Host Controller
03:00.0 SD Host controller: O2 Micro, Inc. SD/MMC Card Reader Controller (rev 01)
05:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
06:00.0 Network controller: Intel Corporation Wireless 8265 / 8275 (rev 78)
07:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
08:00.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
08:01.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
08:02.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
08:04.0 PCI bridge: Intel Corporation JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] (rev 02)
09:00.0 System peripheral: Intel Corporation JHL6540 Thunderbolt 3 NHI (C step) [Alpine Ridge 4C 2016] (rev 02)
0a:00.0 PCI bridge: Intel Corporation JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] (rev 02)
0b:01.0 PCI bridge: Intel Corporation JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] (rev 02)
0c:00.0 Ethernet controller: Aquantia Corp. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] (rev 02)
72:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983
[chuck@lizum ~.2006]$
See what you get with these commands. Even if no driver/support, it should show up on the PCI bus as an unclaimed device
which kernel version are you running? uname -a
@davetv:/home/dave# lshw -C Display
*-display UNCLAIMED
description: VGA compatible controller
product: Intel Corporation
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 01
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list
configuration: latency=0
resources: iomemory:600-5ff iomemory:400-3ff memory:603c000000-603cffffff memory:4000000000-400fffffff ioport:3000(size=64) memory:c0000-dffff memory:4010000000-4016ffffff memory:4020000000-40ffffffff
root@davetv:/home/dave# lspci
00:00.0 Host bridge: Intel Corporation Device 9a14 (rev 01)
00:02.0 VGA compatible controller: Intel Corporation Device 9a49 (rev 01)
00:07.0 PCI bridge: Intel Corporation Device 9a23 (rev 01)
00:07.3 PCI bridge: Intel Corporation Device 9a29 (rev 01)
00:08.0 System peripheral: Intel Corporation Device 9a11 (rev 01)
00:0d.0 USB controller: Intel Corporation Device 9a13 (rev 01)
00:0d.2 USB controller: Intel Corporation Device 9a1b (rev 01)
00:0d.3 USB controller: Intel Corporation Device 9a1d (rev 01)
00:14.0 USB controller: Intel Corporation Device a0ed (rev 20)
00:14.2 RAM memory: Intel Corporation Device a0ef (rev 20)
00:14.3 Network controller: Intel Corporation Device a0f0 (rev 20)
00:15.0 Serial bus controller [0c80]: Intel Corporation Device a0e8 (rev 20)
00:16.0 Communication controller: Intel Corporation Device a0e0 (rev 20)
00:17.0 SATA controller: Intel Corporation Device a0d3 (rev 20)
00:1c.0 PCI bridge: Intel Corporation Device a0bc (rev 20)
00:1c.6 PCI bridge: Intel Corporation Device a0be (rev 20)
00:1f.0 ISA bridge: Intel Corporation Device a082 (rev 20)
00:1f.3 Audio device: Intel Corporation Device a0c8 (rev 20)
00:1f.4 SMBus: Intel Corporation Device a0a3 (rev 20)
00:1f.5 Serial bus controller [0c80]: Intel Corporation Device a0a4 (rev 20)
57:00.0 SD Host controller: Genesys Logic, Inc Device 9755
58:00.0 Ethernet controller: Intel Corporation Device 15f3 (rev 03)
root@davetv:/home/dave# uname -a
Linux davetv 5.4.0-110-generic #124-Ubuntu SMP Thu Apr 14 19:46:19 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Update your kernel. 5.4 isn’t going to cut it. You need the HWE kernel.
I think HWE started at 5.8. 5.13 is current for LTS
[chuck@lizum ~.2006]$ uname -a
Linux lizum 5.13.0-41-generic #46~20.04.1-Ubuntu SMP Wed Apr 20 13:16:21 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
[chuck@lizum ~.2007]$
HWE = HardWare Enablement