Getting hardware accelerated HDR tonemapping in Fedora

Server Version#: 1.32.7.7621

Greetings and hello ChuckPa:
I seek your wisdom.
i7-8700k on bare metal here. I am aware that Fedora / Redhat / RPM users are not a priority. I saw the forum post saying the engineering team’s efforts are static in this realm. A prior forum post said that if Fedora users want to get hardware accelerated HDR tonemapping, the user has to compile beignet from source. I am trying to do that on Fedora 39. Is there a way someone can provide a guide on what to have configured in order for cmake to work? Can the engineering team provide any guidance on the proper environmental variables? Attached is a screenshot showing the output after running ‘cmake .’ It’s a vanilla Fedora installation and all the dependencies I installed (dnf install llvm-devel clang-devel libdrm-devel, etc.) are in the default locations like /usr/include/ and /usr/lib64.

@michaeljh7

The Beignet effort is long-since static because Intel withdrew it.

In its place, they promote Intel Compute Runtime (ICR) which Plex ships with PMS.

It’s been my understanding that ICR and the IMD (Intel Media Driver) (( or i965 )) will work on KabyLake Refresh CPUs such as yours just like they do on botk KabyLake (my) and CoffeeLake CPUs. The only known issues are with GeminiLake (Boxton) CPUs.

Do you have some DEBUG logs for me which show the tonemapping failure you have ?

Have you tried with and without setting VaapiDriver="i965" ?

I thank you for sharing the Beignet + Intel Compute Runtime situation. I wasn’t aware it was largely determined by Intel’s software development.

I had not tried adding VaapiDriver=“i965” prior. After doing so, there is no change: back to CPU = 99% usage.

Attached is a debug log snippet. Would my Preferences.xml be of any use?
Apr 03 2024 18 47 49 349.txt (39.9 KB)

@michaeljh7

There are some serious issues with the machine.

Apr 03, 2024 18:47:49.627 [140686733093688] Debug — [Req#8b1/Transcode] Codecs: testing hevc (decoder) with hwdevice vaapi
Apr 03, 2024 18:47:49.627 [140686733093688] Debug — [Req#8b1/Transcode] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD128' (CoffeeLake-S GT2 [UHD Graphics 630])
Apr 03, 2024 18:47:49.627 [140686733093688] Debug — [Req#8b1/Transcode] Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: I/O error
Apr 03, 2024 18:47:49.627 [140686733093688] Debug — [Req#8b1/Transcode] Could not create hardware context for hevc
Apr 03, 2024 18:47:49.628 [140686733093688] Debug — [Req#8b1/Transcode] Codecs: testing hevc (decoder) with hwdevice vaapi
Apr 03, 2024 18:47:49.629 [140686733093688] Debug — [Req#8b1/Transcode] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD128' (CoffeeLake-S GT2 [UHD Graphics 630])
Apr 03, 2024 18:47:49.629 [140686733093688] Debug — [Req#8b1/Transcode] Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: I/O error
Apr 03, 2024 18:47:49.629 [140686733093688] Debug — [Req#8b1/Transcode] Could not create hardware context for hevc

The CPU does have the capability. It is being enumerated into the filesystem for PMS to see it yet it cannot pass the HEVC decode test

I would like to request, using Plex/web as the player (take Android out of the picture):

  1. Retest using 1080p H.264 input
  2. Retest using 1080p HEVC input
  3. Stop Plex
  4. Delete the codecs from the “Codecs” directory ( KEEP the .device_id file)
  5. Start Plex
  6. Retest the 1080p above (both)
  7. Retest using your input HEVC file
  8. Download the logs ZIP file

I will arrange for Private if you wish as I want to see the entire test

Here’s a new log dump.

  1. 1080p H264 was played
  2. 1080p HEVC was played
  3. plex was stopped
  4. the contents of the codecs folder minus ‘.device_id’ was deleted
  5. plex service was started
  6. the log collecting started
  7. 1080p H264 content was played on desktop client
  8. 1080p HEVC content was played on desktop client
  9. 4K HEVC Dolby Vision content was played on desktop client
  10. I stopped the log collecting and made this file.

If I can provide any insight talking one-on-one, I’m open to it.
Apr 04 2024 12 55 44 057.txt (176.6 KB)

@michaeljh7

I had requested Plex/web (the web browser)

Apr 04, 2024 18:10:46.515 [139900320611128] DEBUG - [Req#23d64] [Now] User is ChuckPA (ID: 1)
Apr 04, 2024 18:10:46.515 [139900320611128] DEBUG - [Req#23d64] [Now] Device is Chrome (Chrome).
Apr 04, 2024 18:10:46.515 [139900320611128] DEBUG - [Req#23d64] [Now] Profile is Web
Apr 04, 2024 18:10:46.515 [139900320611128] DEBUG - [Req#23d64] [Now] Updated play state for /library/metadata/309655.

Your logs are showing me the Plex Desktop app ???

Apr 04, 2024 12:56:11.086 [139965293931320] Debug — [Req#809b9] [Now] User is P B (ID: 232696951)
Apr 04, 2024 12:56:11.086 [139965293931320] Debug — [Req#809b9] [Now] Device is windows (OPAL).
Apr 04, 2024 12:56:11.086 [139965293931320] Debug — [Req#809b9] [Now] Profile is Plex Desktop
Apr 04, 2024 12:56:11.086 [139965293931320] Debug — [Req#809b9] [Now] Updated play state for /library/metadata/41187.
Apr 04, 2024 12:56:11.088 [139965157616440] Debug — [Req#809b9] Webhook: Delivering media.stop event by user P B (232696951) to 1 hooks.

Plex desktop doesn’t invoke the transcoder. It’s a “Thick” (smart) player.
Plex web (the browser) is dumb by comparison

Lastly, You should consider cleaning this up asap as it will cause player problems.

ratingKey=38757&key=%2Flibrary%2Fmetadata%2F38757&playbackTime=8032&playQueueItemID=121299&state=playing&hasMDE=1&time=6000&duration=3938000 (34 live) #80e1f TLS GZIP 2ms 407 bytes (pipelined: 12)
Apr 04, 2024 12:56:37.123 [139965369428792] Debug — CERT: incomplete TLS handshake from 10.0.0.186:59590: sslv3 alert bad certificate (SSL routines)
Apr 04, 2024 12:56:37.142 [139965365234488] Debug — CERT: incomplete TLS handshake from 10.0.0.1:59591: sslv3 alert bad certificate (SSL routines)
Apr 04, 2024 12:56:38.095 [139965365234488] Debug — CERT: incomplete TLS handshake from 10.0.0.128:11781: sslv3 alert certificate unknown (SSL routines)
Apr 04, 2024 12:56:38.096 [139965365234488] Debug — CERT: incomplete TLS handshake from 10.0.0.128:11782: sslv3 alert certificate unknown (SSL routines)
Apr 04, 2024 12:56:38.106 [139965369428792] Debug — CERT: incomplete TLS handshake from 10.0.0.1:11784: sslv3 alert certificate unknown (SSL routines)
Apr 04, 2024 12:56:38.106 [139965369428792] Debug — CERT: incomplete TLS handshake from 10.0.0.1:11783: sslv3 alert certificate unknown (SSL routines)
Apr 04, 2024 12:56:39.207 [139965369428792] Debug — CERT: incomplete TLS handshake from 10.0.0.186:59592: sslv3 alert bad certificate (SSL routines)
Apr 04, 2024 12:56:39.803 [139965365234488] Debug — CERT: incomplete TLS handshake from 10.0.0.176:50288: sslv3 alert certificate unknown (SSL routines)
Apr 04, 2024 12:56:40.098 [139965365234488] Debug — CERT: incomplete TLS handshake from 10.0.0.128:11787: sslv3 alert certificate unknown (SSL routines)
Apr 04, 2024 12:56:44.970 [139965369428792] Debug — Auth: authenticated user 232696951 as P B

what I need to see:

  1. The start of the playback request
  2. The MDE: records which tell me what the player and server negotiated
  3. The TPU: statement which tells me what the transcoder found
  4. The FFMPEG (transcoder launch) which shows me all the command line arguments
  5. Any errors which follow ( I’m expecting to see OpenCL errors )

Sorry about that. Here it is played in Chrome.

Apr 04 2024 18 53 44 305.txt (532.1 KB)

Is this the same machine???

I don’t even see the UHD630 referenced as I did before.

If I open a PM for you, may I have the full, unedited zip file which contains

  1. Restart PMS
  2. Recreate error
  3. Logs downloaded

It’s the same ol’ hardware.
Chrome was open to the Console page where it began this log. Plex was started.
I played 4K Dolby Vision.
I invite you to message me and I’ll help where I can.
Apr 04 2024 19 56 30 057.txt (595.8 KB)

I had requested the 1080p H264 and HEVC (not 4K HDR Dolby) for a specific reason.
I wanted to confirm the CPUs QSV behavior with NON-DOLBY files.

The reason for this is there’s been a recent flood of home-made Dolby hybrid files and a flood of Profile 8 files.

Plex is not licensed to transcode Profile 5 or 8 because those profiles have no HDR base layer.

To avoid that whole problem entirely, I start at the other end with H264.
That’s what I was hoping to get from you.

I’ll open a PM for you to use for Logfiles.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.