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

I’m getting it as well, but through a Proxmox container, instead of VM. Transcoding HDR content shoots CPU usage up past 180%, regardless of whether or not tone mapping is enabled. I just updated to the 5.11 Linux headers. I’d need to update Proxmox to v7 to get the latest headers, but haven’t been willing to see if that helps yet or not.

Also using Proxmox but as a VM with PCI pass through rather than a LXC. Was thinking of trying an LXC as it’s a layer closer to the host so you’ve saved me a job - guessing you’ve used a privileged container?

Nathan

Unprivileged. Took a lot of lxc.idmap configuring to get there, though.

I’m also running Plex in a VM w/ gpu passthrough on Proxmox and see that error too. I have not been able to figure out the cause.

Transcoding works initially, but it always starts failing within an hour with these errors. It spams dmesg logs for quite a while once it starts, even if plex is stopped.

CPU: i5-11400
Proxmox kernel: 5.13.19-2-pve
VM: Debian / 5.15.0-0.bpo.2-amd64
Plex media server: 1.25.6.5545

dmesg:

[ 2396.484977] i915 0000:00:10.0: [drm] Resetting vcs0 for CS error
[ 2396.510572] i915 0000:00:10.0: [drm] GPU HANG: ecode 12:4:0e767ccf
[ 2396.513766] i915 0000:00:10.0: [drm] Resetting vcs0 for CS error
[ 2396.539423] i915 0000:00:10.0: [drm] GPU HANG: ecode 12:4:0e767ccf
[ 2402.506927] i915 0000:00:10.0: [drm] Resetting vcs0 for preemption time out
[ 2402.534010] i915 0000:00:10.0: [drm] GPU HANG: ecode 12:4:488d9a8b

lspci in the vm:

00:10.0 VGA compatible controller: Intel Corporation Device 4c8b (rev 04)

I run plex in docker. This issue happens with the official plex image and the linuxserver image. I was hoping the linuxserver image might have fixed it since it pulls in the latest intel-compute-runtime package, but it did not appear to help.

Any response from the Plex team on this? Is it a regression since 1.24 or an issue with how Proxmox is passing through the iGPU?

Ever since I upgraded my Plex server from running on an old QNAP NAS with an i7-6700k to the new NUC 11 with the i5, my streaming users often run into an error message:

“The server is not powerful enough to convert this video for smooth playback. Try playing the original quality”.

How can the NUC11 i5 with the new integrated graphics be less powerful than the old 6700k? Is hardware encoding not working after all?

Folks,
You need to have ICR 21.49 installed for the -10xxx and -11xxx CPUs.

I’m waiting for word from Engineering about the AlderLake (-12xxx) CPUs.

The reason for ICR is because Intel made a hard, breaking, change with the -10xxx CPUs. The i965 interface doesn’t work anymore (by design)

What is ICR 21.49?

The pre-install script always says everything is fine on my end.

Intel Compute Runtime: Release 21.49.21786 · intel/compute-runtime · GitHub

The Plex installer checks to see if ICR is installed.

Snippet from Plex 1.25.7.5604 installer log (i5-10500T; Ubuntu 20.04):

PlexMediaServer install:   Intel i915 Hardware: Found
PlexMediaServer install:   Nvidia GPU card:     Not Found
PlexMediaServer install:  
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:
1 Like

Thanks. Yea, I have all that installed and the installer log looks exactly like this.

@cryptochrome

Details of the media being transcoded when this occurs would help.

  • The 11th Gen Rocket Lake and Tiger Lake require iHD for HW transcoding.
  • If HW transcoding and HW tonemapping, then Intel Compute Runtime v21.49 is required to be installed. This requirement is in order to leverage OpenCL with the Intel Xe GPU to perform the HDR —> SDR tonemapping.

I have “intel-media-va-driver-non-free” installed, alongside the compute runtime. Is that what you are referring to with “iHD”?

@cryptochrome Yes, iHD = intel-media-va-driver-non-free

Additionally, the VA-API drivers Plex employs are bundled with PMS. It will use these before it uses the system level VA-API drivers.

Testing of 11th Gen HW Transcoding & Tonemapping for 4K HEVC HDR10 → 1080p AVC SDR

Functional HW/OS/Software Configuration
  • Intel 11th Gen Tiger Lake i9-11900KB
  • Ubuntu Desktop 20.04.4 LTS
  • Intel Compute Runtime v21.49.21786
  • Plex Media Server v1.25.6.5577
Non-Functional HW/OS/Software Configuration: Scenario 01
  • Intel 11th Gen Tiger Lake i9-11900KB
  • Ubuntu Desktop 20.04.4 LTS
  • Intel Compute Runtime newer than v21.49.21786
  • Plex Media Server v1.25.6.5577
Non-Functional HW/OS/Software Configuration: Scenario 02
  • Intel 11th Gen Tiger Lake i9-11900KB
  • Daily Build Image of Ubuntu Desktop 22.04 LTS
  • Intel Compute Runtime v21.49.21786 and newer
  • Plex Media Server v1.25.6.5577
1 Like

I need to make some clarifications. ( Thanks @Achilles )

We have walked through the posts here and pooled our knowledge into this post.

  1. You do not need Intel Compute Runtime (ICR) if you are NOT performing HW tonemapping.

  2. If you want Intel HW tonemapping.
    – HW Tone mapping currently only supported and validated with Ubuntu 20.04
    – Intel Compute Runtime 21.49 is installed for CometLake and above.
    – Beignet & OpenCL is installed for KabyLake & CoffeeLake

  3. Delineation:
    – Intel -9xxx, and below, CPUs you can still use the i965 video driver if you so choose to address iHD driver regressions (VC-1 macroblocking… which Intel is now working on)
    – Intel -10xxx and above must use the iHD driver.

  4. Alpha testing of Ubuntu 22.04 – DOES NOT YET WORK with HW tone mapping.

3 Likes

Any idea if Ubuntu 21.10 works with an updated kernel?

21.anything doesn’t work.

You want 20.04.4 LTS and the kernel(s) which come with it.

Hi all, I just purchased a NUC11 PAHi5 (1135G7) and installed Ubuntu 20.04 Server. I’ll begin setting up Plex in a docker today so I just wanted to make sure that I understood the steps correctly:

  • Install Intel Compute Runtime 21.49
  • Install Plex Media Server `v1.25.6.5577

Is there anything else I need to do? Mind you that I have the default Ubuntu installation.

  • Do I have to update the GPU drivers and if so, to what? (intel-media-va-driver-non-free?)
  • Do I have to add the GPU to the docker and if so, is this correct? (–device=/dev/dri:/dev/dri)

Do I need to do anything else to get HW transcoding to work, did I miss something? Thanks for any help, just moving from my NAS to a dedicated server so everything is new.

Add

--device=/dev/dri:/dev/dri

Remember, the container still draws off the host.
You don’t need to update the Intel-media-driver. Plex provides that with the container.