Anyone have been able to HW transcode on an Intel NUC 11 (Iris Xe)?

sudo apt install linux-generic-hwe-20.04

And… that’s the trick. Thanks so much for your help. Reinstalling PMS afterwards and the card was properly detected. I included the same diagnostic points we ran through after updating the kernel for reference.

So, for anybody following along at home:

  1. Ubuntu 20.04 LTS with HWE (kernel 5.13+)
  2. Install Intel ICR stuff
  3. Install PMS
  4. profit

Clipped installer and diags below

root@davetv:/home/dave# apt-get install plexmediaserver
...
Setting up plexmediaserver (1.26.0.5715-8cf78dab3) ...
PlexMediaServer install:   Intel i915 Hardware: Found
PlexMediaServer install:   OpenCL:              Installed
PlexMediaServer install:   Intel Gmmlib:        Installed
PlexMediaServer install:   Intel IGC Core:      Installed
PlexMediaServer install:   Intel IGC OpenCL:    Installed
PlexMediaServer install:   Intel OpenCL:        Installed
PlexMediaServer install: PlexMediaServer-1.26.0.5715-8cf78dab3 - 

root@davetv:/home/dave# uname -a
Linux davetv 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
root@davetv:/home/dave# ls -la /dev/dri
total 0
drwxr-xr-x  3 root root       100 May 16 13:16 .
drwxr-xr-x 22 root root      4560 May 16 13:41 ..
drwxr-xr-x  2 root root        80 May 16 13:16 by-path
crw-rw----  1 root video 226,   0 May 16 13:16 card0
crw-rw----  1 root video 226, 128 May 16 13:16 renderD128

root@davetv:/home/dave# ls -la /sys/module/i915/drivers/pci:i915/
total 0
drwxr-xr-x  2 root root    0 May 16 13:16 .
drwxr-xr-x 33 root root    0 May 16 13:16 ..
lrwxrwxrwx  1 root root    0 May 16 13:41 0000:00:02.0 -> ../../../../devices/pci0000:00/0000:00:02.0
--w-------  1 root root 4096 May 16 13:41 bind
lrwxrwxrwx  1 root root    0 May 16 13:41 module -> ../../../../module/i915
--w-------  1 root root 4096 May 16 13:41 new_id
--w-------  1 root root 4096 May 16 13:41 remove_id
--w-------  1 root root 4096 May 16 13:16 uevent
--w-------  1 root root 4096 May 16 13:41 unbind

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# lshw -C Display
  *-display
       description: VGA compatible controller
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       logical name: /dev/fb0
       version: 01
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=i915 latency=0 mode=3440x1440 visual=truecolor xres=3440 yres=1440
       resources: iomemory:600-5ff iomemory:400-3ff irq:169 memory:603c000000-603cffffff memory:4000000000-400fffffff ioport:3000(size=64) memory:c0000-dffff memory:4010000000-4016ffffff memory:4020000000-40ffffffff

Now for the post-mortem?

How did you end up with a 5.4 kernel on such a new processor when HWE is installed by default ?

I just did a default installation with USB media built from ubuntu.com, and did the installation after putting the kid to bed. I probably wasn’t paying enough attention when I did the installation and just selected the first option in the installer.

¯\_(ツ)_/¯

Ah. Exhaustion-induced PEBKAC. :white_check_mark:

Glad you’re back up and running. :slight_smile:

Latest update seems to have broken HW Tone Mapping, possibly related to intel’s new compute runtime update ?

@Capitaine-Iglo

Which CPU, Distro & version ?

If Ubuntu 20.04 and CoffeeLake or higher – ICR versions 21.49.21786
If Ubuntu 22.04 and KabyLake or higher – ICR versions 21.49.21786

More details are needed please.

I’m using Linuxserver’s image on Docker, CPU is Intel Tiger Lake 1135G7
There is an issue opened on their side ( HDR Tone Mapping broken again · Issue #312 · linuxserver/docker-plex (github.com))

Maybe Intel’s newer update introduced some issues, gonna try to downgrade

The Plex docker image is locked at 21.49.21786.
I cannot speak to which version LinuxServer built theirs on.

Please ignore any Intel ICR updates. Only 21.49.21786 has been verified to work correctly.

Linuxserver’s maintainer says that they pull from Intel’s repo, probably the latest update available (HDR Tone Mapping broken again · Issue #312 · linuxserver/docker-plex · GitHub)

Downgrading to 21786 works, thanks

I looked at their github for the issue.

It looks like they now have pinned to 21.49.21786.

Yes, I’ve tried to rebuild their image and tone mapping works without having to downgrade.
Thanks !

@ChuckPa Any update on 22.04 with HW transcode?

Yep… I’ve had this in the forum a few days now.

Surprised nobody’s found it :frowning:

First package is here

Thanks Chuck - appreciate all your hard work!

Thanks alot… Much appreciated. Will get to it now. All my future post will be in the new post

@ChuckPa Check out this github issue:

Any chance of fixing this in Plex? How do we ask that they use the libigdgmm library that comes with the Intel driver?

@88fingerslukee

Intel changed the API. It affects all architectures where ICR is required, not just Tiger Lake & Alder Lake.

@88fingerslukee

This will become production status once approved by QA.
It will also be part of the docker release.

As explained by Engineering, the versions of Intel Compute Runtime are interchangeable when using OpenCL for tone mapping (which is how PMS performs tone mapping in hardware).

PMS is currently coded to use 21.49.21786.

The package I completed, ensures the necessary modules are installed.
I did a lot of rework in how packaging handles ICR on the different OS versions with the different CPUs.

My full development & preview thread is here. The bulk of the work addressed all versions of Ubuntu 21.04 and above. It also addressed the removal of Beignet from Ubuntu 22.04 for GeminiLake and below CPUs.

You can close your issue on GitHub.

Someone on Github at the intel repo seems to have found a hint to the issue

Hardware Accelerated Tonemapping for Tiger Lake broken after 21.49.21786 · Issue #488 · intel/compute-runtime · GitHub (last post of today by pwilma)