Hardware HDR tonemapping still broken on 1.31.0.6654

There is clearly an initialization issue here.

I am not sure where to go with this.

We need another machine, on a different OS, with the same CPU to confirm if PMS or the OS

Feb 17, 2023 20:58:02.399 [0x1480b7ccdb38] DEBUG - Content-Length of /usr/lib/plexmediaserver/Resources/Plug-ins-ac8ee76c0/WebClient.bundle/Contents/Resources/static/b47e1e549516948eea36.woff2 is 74059 (of total: 74059).
Feb 17, 2023 20:58:02.401 [0x1480be1f6b38] DEBUG - Completed: [192.168.0.202:54666] 200 GET /web/static/b47e1e549516948eea36.woff2 (9 live) #a6 GZIP 2ms 74059 bytes (pipelined: 13)
Feb 17, 2023 20:58:02.406 [0x1480bc89db38] DEBUG - [Req#ab/Transcode] TPU: hardware transcoding: enabled, but no hardware decode accelerator found
Feb 17, 2023 20:58:02.409 [0x1480bc89db38] INFO - [Req#ab/Transcode] CodecManager: starting EAE at "/tmp/pms-5d9436f8-19e2-4d98-a5cb-d4eecab32255/EasyAudioEncoder"
Feb 17, 2023 20:58:02.409 [0x1480bc89db38] DEBUG - [Req#ab/Transcode/JobRunner] Job running: "/config/Library/Application Support/Plex Media Server/Codecs/EasyAudioEncoder-1847-linux-x86_64/EasyAudioEncoder/EasyAudioEncoder"
Feb 17, 2023 20:58:02.409 [0x1480bc89db38] DEBUG - [Req#ab/Transcode/JobRunner] In directory: "/tmp/pms-5d9436f8-19e2-4d98-a5cb-d4eecab32255/EasyAudioEncoder"
Feb 17, 2023 20:58:02.411 [0x1480bc89db38] DEBUG - [Req#ab/Transcode/JobRunner] Jobs: Starting child process with pid 375
Feb 17, 2023 20:58:02.414 [0x1480bc89db38] DEBUG - [Req#ab/Transcode] [Universal] Using local file path instead of URL: /media/library/movies/Nope (2022)/Nope.2022.IMAX.2160p.BluRay.REMUX.HEVC.DTS-HD.MA.TrueHD.7.1.Atmos-FGT.mkv
Feb 17, 2023 20:58:02.415 [0x1480bc89db38] DEBUG - [Req#ab/Transcode] TPU: hardware transcoding: final decoder: , final encoder: 
Feb 17, 2023 20:58:02.418 [0x1480bc89db38] DEBUG - [Req#ab/Transcode/JobRunner] Job running: EAE_ROOT=/tmp/pms-5d9436f8-19e2-4d98-a5cb-d4eecab32255/EasyAudioEncoder FFMPEG_EXTERNAL_LIBS='/config/Library/Application\ Support/Plex\ Media\ Server/Codecs/2584b51-4483-linux-x86_64/' X_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxx45b2-9b5b-b462e70c95bd "/usr/lib/plexmediaserver/Plex Transcoder" -codec:0 hevc -codec:1 truehd_eae -eae_prefix:1

Stupid question time.

In the same spirit as I’ve done with my VMware NUC, might you have a boot USB disk you can install Ubuntu 20.04.5 on?

Very interesting. Yes I do but it will have to wait until tomorrow, getting late. Since this is running in docker - it shouldn’t be any different from any other docker install despite being on Unraid right? I guess what I’m saying is - if it works in Ubuntu does it answer any questions about current situation?

Regarding subtitles, yes there are PGS subtitles in the file but they are not enabled - and does this really break HW HDR transcoding? Seems like it shouldn’t.

It’s not docker – it’s the OS / HW the docker is running on.

Remember, docker is fully dependent on the host OS where a VM is the entire Hardware virtualized (and you install the desired OS in it).

it’s definitely time to be creative.

You could also stop Plex, delete the contents of the ā€œDriversā€ directory and restart

It will download fresh Intel Compute Runtime (hardware transcoding and tone mapping) drivers

yours could be damaged

Just tried stopping plex, deleting the drivers directory, and restarting - still not working :neutral_face:

Download.

Add to other videos.

Play at 20 Mbps 1080p

Tomorrow , look at setting up a temporary Ubuntu USB HDD as comparative test

So yeah this one works with hardware transcoding! But looks like only an 8bit video - so fits with prior data that it’s specifically an HDR issue.

The pattern you see is ā€œunable to detect HEVC HDR capabilityā€ in J5005 ?

This is the famous HDR

Yep no HW transcoding of this one. I’ve attached log files.

Plex Media Server Logs_2023-02-17_22-51-25.zip (1.3 MB)

I can confirm the same issue running j4105 and UNRAID 6.11.5 with kernel 5.19.17.

This isn’t even my problem but I love these threads.

2 Likes

Thanks for the info - this points to it maybe being a problem with detection of this specific CPU? The J4105 and J5005 are essentially the same processor just with slightly different clock speeds.

Just chiming in with (I believe) the same issue on the same CPU, but not using Unraid.

CPU: Intel J5005 (Gemini Lake)
Linux 6.0.0-0.deb11.6-amd64 (Debian 11)
Docker running Plex Media Server 1.31.0.6654 (using hot.io image, also tried linuxserver.io image with same result).

Hardware transcoding works great for SDR content.
It switches to software when HDR tone mapping is needed, note that HW tone mapping did previously work for me on the same hardware.

With the LG Colors of Journey video above, transcoding 4K > 1080P (high) with tone mapping uses software. The same video after turning off tone mapping uses hardware.

If there’s anything I can do to help (looks like you were hoping to test on a similar but different system here) debug please let me know.

1 Like

Awesome - thank you for confirming! @ChuckPa does this confirm that it’s a PMS issue and not OS?

PLEASE STOP using 1.31.0.6654

We know this is flawed.

The development builds (Linked above in this thread), in all tested cases, fixes the known Nvidia problems.

The difference between the J4005 (Celeron) and J5005 (Pentium Silver) is UHD Graphics 600 vs UHD Graphics 605.

For those with Unraid – I wasted 3 days building unraid only to find it not liking my USB. I will have a different mfgr type tomorrow and will build again from scratch.

We do not have J/N 5005 CPU in the lab but DO have a J4005 and J4105.
I’ll get these powered up tomorrow (the lab is a couple hundred miles from me)

The machines I will test again were initially tested by myself.
I would not have added those NAS units to our Compatibility Guide if they failed HW transcoding and tone mapping.

I got the development build running you posted earlier (1.31.2.6715), but I’m still having the same issue. HW transcoding works for SDR content (or with tone-mapping disabled), kicks over to software with HDR with tone mapping enabled.

Could this be related to the driver issue mentioned here? My system reports it’s using ā€œbeignet-opencl-icd:amd64ā€.

@trollop_earthly_hassock

  1. Beignet is no longer used. PMS includes all libraries needed. We’ve completely migrated away from ā€œuser-installedā€ modules with exception of Nvidia GPU drivers.

  2. I need to see DEBUG logs which capture the start of the playback to see what PMS decided. Having the XML (<media> section ) is also of help.

  1. Ah I was never 100% sure about whether beignet was actually used anymore with this processor, good to know.

  2. Debug logs attached.

Computer/install specs below if they help at all:
Plex Server version: 1.31.2.6715-ac8ee76c0, from link in this thread. Installed using Docker based on/upgraded from Plex’s official docker image, running on top of a Debian 11 system. Processor: Intel J5005, 8GB RAM.

Enabled tone mapping in Plex server settings, restarted the Plex service inside the container. Played the LG Colors of Journey video from above posts on a Roku Ultra set to 720P 4mbps, it would not start, quit the app and tried again with the same result.

Also tried playing via the Plex macOS app (also set to 720P at 4mbps). Video does begin to play, but using only SW transcoding, and it isn’t fast enough to keep up.

In both cases, disabling tone mapping allows playback on both the Roku and Mac app using HW transcoding right up to 4K 20mbps smoothly with no issues.

Plex Media Server Logs_2023-02-22_12-45-21_R.zip (779.5 KB)

Video XML
<Media id="1" duration="115221" bitrate="53262" width="3840" height="2160" aspectRatio="1.78" audioChannels="2" audioCodec="aac" videoCodec="hevc" videoResolution="4k" container="mkv" videoFrameRate="60p" audioProfile="lc" videoProfile="main 10">
<Part accessible="1" exists="1" id="1" key="/library/parts/1/1676995206/file.mkv" duration="115221" file="/media/LG Colors of Journey/LG Colors of Journey HDR UHD 4K Demo.mkv" size="767185218" audioProfile="lc" container="mkv" deepAnalysisVersion="6" requiredBandwidths="63197,59593,58246,56149,55741,55741,55741,55741" videoProfile="main 10">
<Stream id="1" streamType="1" default="1" forced="1" codec="hevc" index="0" bitrate="53136" language="English" languageTag="en" languageCode="eng" bitDepth="10" chromaLocation="left" chromaSubsampling="4:2:0" codedHeight="2160" codedWidth="3840" colorPrimaries="bt2020" colorRange="tv" colorSpace="bt2020nc" colorTrc="smpte2084" frameRate="60.000" height="2160" level="156" profile="main 10" refFrames="1" requiredBandwidths="63071,59467,58121,56023,55621,55621,55621,55621" width="3840" displayTitle="4K HDR10 (HEVC Main 10)" extendedDisplayTitle="4K HDR10 (HEVC Main 10)"> </Stream>
<Stream id="2" streamType="2" selected="1" default="1" codec="aac" index="1" channels="2" bitrate="125" language="English" languageTag="en" languageCode="eng" profile="lc" requiredBandwidths="121,121,121,121,121,121,121,121" samplingRate="48000" displayTitle="English (AAC Stereo)" extendedDisplayTitle="English (AAC Stereo)"> </Stream>
</Part>
</Media>
1 Like

Thanks for chiming in - your issue is identical to mine on a different OS so this seems to confirm it’s an issue with PMS not recognizing the J5005 processor. Looking forward to what @ChuckPa can find in your log files.

@matthe6038 no problem.

In your case was HW tonemapping ever working? Most content I have is in SDR so I didn’t pick up on the problem until recently.

1.29.0 is the last working version