Intel UHD 770 Hardware Transcoding Not Working - AVHWDeviceContext Error

Server Version#: Version 1.42.2.10156
Player Version#: Version 4.147.1

Hi Plex Community,
Hardware transcoding fails on i5-13600K with UHD 770 despite correct configuration - getting “No matching devices found” errors
—————————————————-

Server Setup: Plex Pass

Server Version: Latest (using linuxserver/plex Docker)

Player Version: Web player (Firefox)

Hardware:

  • CPU: Intel Core i5-13600K (13th gen Raptor Lake)

  • iGPU: Intel UHD Graphics 770

  • Motherboard: ASUS TUF GAMING Z790-PLUS WIFI D4

  • RAM: 128GB DDR4

  • OS: Unraid 6.12.15

  • Container: linuxserver/plex (also tested with official plexinc/pms-docker)

Problem Description:

Hardware transcoding isn’t working despite Plex detecting the Intel UHD 770 GPU. When transcoding (especially HDR content), I get these errors in the logs:

[AVHWDeviceContext @ 0x14a0a6e17780] No matching devices found.

The GPU shows 0% utilization in intel_gpu_top while CPU cores hit 70%+ during transcodes, confirming it’s using software transcoding.

What I’ve verified:

  1. /dev/dri devices are present and accessible:
crw-rw-rw- 1 root video 226, 0 card0
crw-rw-rw- 1 root video 226, 128 renderD128
  1. Docker container has proper device mapping (--device=/dev/dri:/dev/dri)

  2. Container user is in video group (confirmed with docker exec plex id)

  3. Plex settings show:

    • ✓ Hardware acceleration enabled

    • ✓ Hardware-accelerated video encoding enabled

    • ✓ HDR tone mapping enabled (using mobius algorithm)

    • Hardware device: Intel Raptor Lake-S GT1 [UHD Graphics 770] detected

  4. Plex logs show it’s preparing the drivers:

Preparing driver icr for GPU Intel Raptor Lake-S GT1 [UHD Graphics 770]
Preparing driver imd for GPU Intel Raptor Lake-S GT1 [UHD Graphics 770]

But then fails with AVHWDeviceContext errors immediately after.

Tested configurations:

  • Both official Plex Docker and LinuxServer.io versions

  • HEVC encoding set to “Never”, “HEVC Sources Only”, and “Always”

  • Added DOCKER_MODS for OpenCL Intel support

  • Tried HardwareDevicePath environment variable

  • Different tone mapping algorithms

The
strange part is Plex clearly sees the GPU and tries to use it, but
something fails during the actual hardware initialization. Most of my
library is 4K HDR so hardware tone mapping is pretty critical for me.

Has anyone successfully gotten 13th gen Intel iGPUs working with hardware HDR transcoding in Docker? What am I missing here?

Plex Media Server Logs_2025-11-11_09-32-19.zip (3.8 MB)

DOCKER_MODS will interfere with HW transcoding. Remove them.

Thank you for the logs, I see:

Nov 11, 2025 09:24:28.472 [22715345890104] INFO - Preemptively preparing driver imd for GPU Intel Raptor Lake-S GT1 [UHD Graphics 770]
Nov 11, 2025 09:24:28.472 [22715345890104] DEBUG - [DriverDL/imd] Skipping download; already exists
Nov 11, 2025 09:24:28.472 [22715345890104] INFO - Preemptively preparing driver icr for GPU Intel Raptor Lake-S GT1 [UHD Graphics 770]
Nov 11, 2025 09:24:28.472 [22715345890104] DEBUG - [DriverDL/icr] Skipping download; already exists

PMS doesn’t see the hardware (not the right UID/GID & privilege)

Nov 11, 2025 09:26:01.079 [22715186490168] DEBUG - [Req#d55/Transcode] TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Nov 11, 2025 09:26:01.079 [22715186490168] DEBUG - [Req#d55/Transcode] [Universal] Using local file path instead of URL: /Umovies/........mkv
Nov 11, 2025 09:26:01.079 [22715186490168] DEBUG - [Req#d55/Transcode] TPU: hardware transcoding: final decoder: , final encoder: 
  1. Are you using the default UID / GID ?
  2. Are you running the container privileged ?
  3. When you get into the container command line,
ls -la /dev/dri
  1. see if the Plex user is a member of that group groups plex

Hi Chuck!

  1. Yes they are default PLEX_UID=99 & PLEX_GID=100

  2. No it is running as a normal Docker Container with the plexinc/pms-docker repo

root@ConnorsServer:~# docker exec -it Plex-Media-Server ls -la /dev/dri
total 0
drwxr-xr-x 2 root root 80 Nov 11 10:37 .
drwxr-xr-x 6 root root 360 Nov 11 10:37 ..
crw-rw-rw- 1 root video1 226, 0 Nov 11 10:37 card0
crw-rw-rw- 1 root video1 226, 128 Nov 11 10:37 renderD128

  1. root@ConnorsServer:~# groups plex
    groups: ‘plex’: no such user

Thank you!

This is a BAAAAAD time for my unraid box to be down. (old fart failing memory)

which username is ID = 99 ?

99 = nobody :slight_smile: or at least on my system

root@ConnorsServer:~# getent passwd 99
nobody:x:99:100:nobody:/:/bin/false
root@ConnorsServer:~#

groups nobody

Is it a member of video1 (non-privileged operation)

this is what it gave me:

root@ConnorsServer:~# groups nobody
nobody : users nobody
root@ConnorsServer:~# grep ‘^video1:’ /etc/group
root@ConnorsServer:~#

Stupid test time:

chmod 666 /dev/dri/card0
chmod 666 /dev/dri/renderD128

this will confirm if inside or outside the container

PS: I’m going to need somebody’s help getting my unraid box running again.
(nuc7 4x4 box). I bricked the USB hard

(Sorry for the badly formatted pictures)

Plex seems to believe that it is still using hardware transcoding, but in unraid i cannot see it using the igpu at all.

And here is an intel top:

it is very strange that unraid does not show that it is being used, but plex believes that it is and i did run the chmods before taking these pictures

Just got Unraid reloaded (7.2)
I’m about to see if I can import the existing pool/array

As soon as I get my container up, I’ll be able to help more.

I’m not surprised gpu_top not showing the utilization. It’s in a different Namespace (the container)

What does ‘top’ show?

PS: May I DM you about what plug-ins & tools to install ?

Awesome news thank you for the update!

Running top gives me this:
(while still testing with Interstellar @12Mbps 1080p)

And yes of course please DM me as I really would love to use Hardware Transcoding!

I was able to resolve it by doing this in order:

What I did was I uninstalled the intel plugin and the gpu stats plugin, updated from 6.12.15 → 7.2.0 (let that churn and work for 20 minutes) once it turned back on installed those plugins again (did not reboot) and I can see that the iGPU is working now.

Thank you for all of your help and troubleshooting Chuck.