4K HDR HEVC HW transcoding is broken on i5-11600K (Rocket Lake)

Forum logs upload should be fixed. Forum provider virus checker broke :roll_eyes:

1 Like

No dice, I tried playing Tenet through my iPhone with the hardware tone mapping turned on and the same result, the transcoder drops down to using software and uses up 60% of my CPU as before. Image looks good though. I don’t see any obvious errors in my logs though. The logs seem to indicate it thinks it has hardware and lots of lines saying HEVC 10-bit test passed it seems. I did notice an error on install saying I need the beignet package installed, but I have the neo opencl packages installed instead as beignet doesn’t support Rocket Lake. But as I understand it, I don’t even need opencl as the new Gen12 graphics have tone mapping support built-in to the VAAPI drivers now?

Plex Media Server Logs_2021-04-14_18-13-56.zip (5.1 MB)

OHHH! I tried turning the tone mapping setting off again and I no longer get the corrupted video I did before. The colors are obviously messed up without the tone mapping, BUT I am no longer getting corrupted video as I did before, and its showing up with the (hw) tag now with barely any CPU usage. So a step in the right direction! Just need to fix the tone mapping to also use the hardware and we will be golden!

I’m in the same situation with an i5-11500. Running on Unraid though, but still Linux. Got to the (hw) working and it seems it’s working with tone mapping on non hdr (10 bit) content. But when it’s hdr 10-bit with tone mapping on it will just software decode.

The same situation happens in Emby though. So I wonder if it’s not some kind of ffmpeg or Linux specific issue.

I believe this is the same issue as here and some confusion as to why a second thread was created.

I posted my problem in that exact thread but was asked to create a new thread, so that is why this exists.

1 Like

Thanks a lot for these clarifications… I went through a clean up cycle, added the Intel PPA, added the packages you listed and vainfo reports correctly now:

root@ubuntu02:~# vainfo
error: XDG_RUNTIME_DIR not set in the environment.
error: can't connect to X server!
libva info: VA-API version 1.10.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.10 (libva 2.10.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 21.1.2 (67dbfde)
vainfo: Supported profile and entrypoints
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileNone                   : VAEntrypointStats
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointFEI
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointFEI
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointFEI
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointFEI
      VAProfileHEVCMain               : VAEntrypointEncSliceLP
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointEncSliceLP
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile1            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD
      VAProfileVP9Profile3            : VAEntrypointVLD
      VAProfileHEVCMain12             : VAEntrypointVLD
      VAProfileHEVCMain12             : VAEntrypointEncSlice
      VAProfileHEVCMain422_10         : VAEntrypointVLD
      VAProfileHEVCMain422_10         : VAEntrypointEncSlice
      VAProfileHEVCMain422_12         : VAEntrypointVLD
      VAProfileHEVCMain422_12         : VAEntrypointEncSlice
      VAProfileHEVCMain444            : VAEntrypointVLD
      VAProfileHEVCMain444            : VAEntrypointEncSliceLP
      VAProfileHEVCMain444_10         : VAEntrypointVLD
      VAProfileHEVCMain444_10         : VAEntrypointEncSliceLP
      VAProfileHEVCMain444_12         : VAEntrypointVLD
      VAProfileHEVCSccMain            : VAEntrypointVLD
      VAProfileHEVCSccMain            : VAEntrypointEncSliceLP
      VAProfileHEVCSccMain10          : VAEntrypointVLD
      VAProfileHEVCSccMain10          : VAEntrypointEncSliceLP
      VAProfileHEVCSccMain444         : VAEntrypointVLD
      VAProfileHEVCSccMain444         : VAEntrypointEncSliceLP
      VAProfileAV1Profile0            : VAEntrypointVLD
      VAProfileHEVCSccMain444_10      : VAEntrypointVLD
      VAProfileHEVCSccMain444_10      : VAEntrypointEncSliceLP

I haven’t tried the developer build yet - waiting for clonezilla to finish.

thanks @RoadRacer12, @ChuckPa

10700k here, same issue. Rolled back to v1.21.3.4046 and I’ve got HW tone mapping back. Using Linuxserver.io docker on Unraid.

I’m using the same version since I did a rollback a week ago. Strange is that today there’s an update for my Plex docker in Unraid, even though I’ve locked the docker to only use that version, not ā€œlatestā€ or ā€œstableā€ or something like that, but only that version.

What’s about that?

Still no 4K HDR HW transcoding with ā€œEnable HDR Tone Mappingā€ Checked ON

I’m running a newly built UNRAID 6.9.2 server with an Intel i7 10700 CPU. No GPU card. I’ve been trying to get the Quicksync iGPU transcoding to work with 4K HDR files.

iGPU HW transcoding works with 1080p Files
iGPU HW transcoding works with 4K HDR files, BUT WITH TONE MAPPING CHECKED OFF

iGPU HW transcoding FAILS to work with 4K HDR files, WITH TONE MAPPING CHECKED ON. In this situation, the transcoding falls back to the CPU and I get heavy CPU Usage.

The plex docker version is 1.22.2.4282.

Is there anything I can tweak to make this work, or is this still a PLEX issue?

Thank you.

for now I use linuxserver/plex:version-1.22.0.4163-d8c4875dd and disabled updates

Unfortunately, that is not an option for me as it results in corrupted video on my Rocket Lake iGPU. Hopefully they can get the HW HDR->SDR working on the Rocket Lake processors soon. For now, I am just using the latest with HW HDR->SDR turned off and dual media files. (1080p and 4K HDR files for each movie)

I use the same version in Unraid (set the version to ā€œ1.22.0.4163-d8c4875ddā€ in the version box), but since 3-4 days my docker in Unraid says there’s an update. Do you have the same? Or is it correct that there shall be an update, even though I’ve specified an exact version?

/Sƶder

That’s an interesting difference between our 11th gen systems. My system will transcode from 4K (with tone mapping off) so I don’t need additional 1080p files.

Are you having the 1080p files because that’s your normal transcoding target format? Could you explain the reasoning behind needing both?

I’m locked on 1.22.0-4163 until a new version is widely hailed as having fixed this problem… (someone get these plex devs some 11th gen hardware! :wink:

I keep both files right now so I can leave tone mapping off and not have the movie look like crap when streaming remotely. I’m sure you have noticed the colors are WAY off when tone mapping is off? Once HW tone mapping is working again, I won’t need the 1080p files anymore.

Plex team,
When can we expect a Plex server release for linux that reenables HW HDR->SDR transcode on Rocket Lake?

1.22.0.4163 does not work for me, HW HDR-SDR works but I get corrupted video as I posted an example frame grab above.

1.23.0.4320 also does not work for me, HW HDR-SDR does not work.

1.22.3.4392 also does not work for me, HW HDR-SDR does not work.

Thanks

2 Likes

Also Plex Team

When can we expect a new Plex version to use Quicksync/iGPU HW 4K HDR -->>SDR Transcode on a Intel 10700?

That’s being done in different threads and they’re tracking that, too.

@timstephens24 … could you post links to those threads here?

thanks in advance :slight_smile:

Check here for one: Linux Packaging - Developer's Sandbox - HDR tonemapping packaging support - #152 by timstephens24