HDR Tone Mapping not compatible with HW Accelerated transcoding anymore (DS920+)

Synology users

For those who don’t have it, here’s PMS 1.40.2 - DSM 7

We have found where the Intel software update (internal to the transcoder) is failing and have asked Intel.

2 Likes

Thanks for the link. Should help those with a direct install.

( He wanted to finish HW subtitles this development cycle )

HW subtitles? Godspeed!

Same issue here. I was so happy to see it wasn’t unique to my setup.

I hadn’t upgraded since March ‘24 because of all the issues the last time I upgraded. But I thought that all that got straightened out with Intel not using the vaapi driver and needing the i965 lines in the configuration and the native quicksync drivers in the more recent chipsets.

I upgraded yesterday and within hours my elderly dad is telling me the movie he’s trying to watch keeps buffering.

I thought oh no, not again…

I guess I’ll fall back to 1.32.1.6999…. It’s the only stable container I saved.

Is there any news on the bug resolution? Is the 8679 still affected?

Thanks

Even in 1.40.4.8679, this is still not working correctly on Linux when utilizing Intel devices (e.g., ARC GPU). Works perfectly fine 1.40.2.

Been a while since I checked this thread. Would logs from my set up still help or has the issue been identified? If so, is there a timeline for resolution?

Should be fixed in 1.40.4.8679 for PMS on Synology.

I’m running that version on my DS918+ (J3455) and hardware accelerated transcoding and tone mapping are working. PMS installed via Synology Package Center. No Docker, etc.

Plex Media Server 1.40.4.8679
FIXES:

  • (Tonemapping) Hardware Tonemapping failed on intel devices when run on Synology (PM-1667)

Doesn’t work for me on v1.40.5.8854.

Try the 1.40.2 release linked earlier in the thread or 1.40.4.8679.

If it works, stick with it until Plex can work out the problems between Gemini Lake CPUs (J4xxx) and Intel drivers.

Tried to no avail.

GLK CPU (4x4 box) - XPEnology on it.

Working perfectly

Screenshot from 2024-08-27 15-58-33

bash-4.4# uname -a
Linux ds920 4.4.302+ #69057 SMP Fri Jan 12 17:02:28 CST 2024 x86_64 GNU/Linux synology_geminilake_920+
bash-4.4# 

PMS installed: 1.40.5.8887

Screenshot from 2024-08-27 16-20-01

I’d like to see the server DEBUG logs which capture the start of the playback (20 seconds). Don’t need more than that.

NOTE: If using Plex/web – AND – you change resolution – THAT – is an issue I’m working on now.

Hows this?
Plex_Media_Server_Before_Sending_on_forums_08-27-2024_17-26.log (2.0 MB)

Tone mapping works on browsers, but the problem is when a user runs the plex apps (I.E. iOS/AppleTV 4k/LG Web OS/etc.)

Images from LG TV App (images below were made after already having created the log file.):


Interesting… You’re deliberately using 1.5 Mbps 480p on the big screen when the source material is HEVC ???

is this for testing or ???

I’ve not tested down that low in a VERY long time and never with HDR content.

GeminiLake - transcoded to iPadOS - with tone mapping

Taking it down to 480p on iPad – OK

Yes, I am deliberately using 1.5Mbps 480p in order to simulate the tone-mapping issues some users were having due to slower internet speeds, the video will transcode the video to 480p but the video quality becomes practically unwatchable on non browser based viewing.

I would like debug logs so I can see what’s happening
Unfortunately, I can’t yet replicate it.

I will say , this movie at 1.5Mbps has a “LEGO” quality to it. :wink:

Mhmm very “unique” effect.
I did attach a log which should also contain similar test. Or would you prefer a short log of just testing one Show/Movie?

Going through the logs is very interesting.

  1. Indeed, it doesn’t even see a usable GPU
Aug 27, 2024 16:00:12.705 [140091311512376] DEBUG - [Req#1268/Transcode] Cleaning directory for session 61e9f59d-c6e0-4ef5-8b19-678c773afc19-469 ()
Aug 27, 2024 16:00:12.705 [140091311512376] DEBUG - [Req#1268/Transcode] Starting a transcode session 61e9f59d-c6e0-4ef5-8b19-678c773afc19-469 at offset -1.0 (state=3)
Aug 27, 2024 16:00:12.706 [140091311512376] DEBUG - [Req#1268/Transcode] [Universal] Using local file path instead of URL: /var/packages/PlexMediaServer/shares/PlexMediaServer/AppData/Plex Media Server/Metadata/TV Shows/0/62483efeeca1d3a0c14004855e2ff46dd84a66f.bundle/Contents/_combined/themes/tv.plex.agents.series_e977d51479596d4a9879f4bea06c9bfdc6ed225a
Aug 27, 2024 16:00:12.706 [140091311512376] DEBUG - [Req#1268/Transcode] TPU: hardware transcoding: final decoder: , final encoder: 
Aug 27, 2024 16:00:12.706 [140091311512376] DEBUG - [Req#1268/Transcode/JobRunner] Job running: FFMPEG_EXTERNAL_LIBS='/var/packages/PlexMediaServer/shares/PlexMediaServer/AppData/Plex\ Media\ Server/Codecs/b8ae7ab-cd9c26e1cae8f48631565a53-linux-x86_64/' X_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx "/volume1/@appstore/PlexMediaServer/Plex Transcoder" -codec:0 mp3 -analyzeduration 20000000 -probesize 20000000 -i "/var/packages/PlexMediaServer/shares/PlexMediaServer/AppData/Plex Media Server/Metadata/TV Shows/0/62483efeeca1d3a0c14004855e2ff46dd84a66f.bundle/Contents/_combined/themes/tv.plex.agents.series_e977d51479596d4a9879f4bea06c9bfdc6ed225a" -filter_complex "[0:0] aresample=async=1:ochl='stereo':rematrix_maxval=0.000000dB:osr=48000:rematrix_volume=-25.000000dB[0]" -map "[0]" -codec:0 libmp3lame -q:0 0 -f segment -segment_format mp3 -segment_time 1 -segment_header_filename header -segment_start_number 0 -segment_list "http://127.0.0.1:32400/video/:/transcode/session/61e9f59d-c6e0-4ef5-8b19-678c773afc19-469/242cd69d-5907-49cc-b59d-e4575aa1d133/manifest?X-Plex-Http-Pipeline=infinite" -segment_list_type csv -segment_list_unfinished 1 -segment_list_size 5 -segment_list_separate_stream_times 1 -map_metadata -1 -map_chapters -1 "chunk-%05d" -y -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/61e9f59d-c6e0-4ef5-8b19-678c773afc19-469/242cd69d-5907-49cc-b59d-e4575aa1d133/progress
Aug 27, 2024 16:00:12.706 [140091311512376] DEBUG - [Req#1268/Transcode/JobRunner] In directory: "/var/packages/PlexMediaServer/shares/PlexMediaServer/AppData/Plex Media Server/Cache/Transcode/Sessions/plex-transcode-61e9f59d-c6e0-4ef5-8b19-678c773afc19-469-242cd69d-5907-49cc-b59d-e4575aa1d133"
  1. But PMS found the hardware at startup and prepared to use it.
Aug 27, 2024 15:35:09.083 [140091351382840] DEBUG - [GPU] Got device: GeminiLake [UHD Graphics 600], intel@builtin, default true, best true, ID 8086:3185@0000:00:02.0, DevID [8086:3185], flags 0x34e7
Aug 27, 2024 15:35:09.083 [140091351382840] INFO - Preemptively preparing driver ivd for GPU GeminiLake [UHD Graphics 600]
Aug 27, 2024 15:35:09.083 [140091351382840] DEBUG - [DriverDL/ivd] Skipping download; already exists
Aug 27, 2024 15:35:09.084 [140091351382840] INFO - Preemptively preparing driver icr for GPU GeminiLake [UHD Graphics 600]

Please SSH into the Syno and check Plex is a member of the videodriver group (how DSM 7 does it)

chuck@ds920:/$ grep PlexMediaServer /etc/group
PlexMediaServer:x:297536:
synopkgs:x:999:SecureSignIn,StorageManager,QuickConnect,Python2,FileStation,OAuthService,SynoFinder,HybridShare,PlexMediaServer
videodriver:x:937:PlexMediaServer
chuck@ds920:/$

The next thing to do is remove the codecs and restart Plex.

PlexMediaServer:x:297536:
synopkgs:x:999:SecureSignIn,Python2,FileStation,OAuthService,SynoFinder,PlexMediaServer,CodecPack,DownloadStation,VideoStation,MediaServer,tailscale,iTunesServer,QuickConnect,SynoOnlinePack_v2,StorageManager,Virtualization,rslsync,sc-git,sc-zsh,sc-python311,sc-python38,HybridShare
videodriver:x:937:PlexMediaServer

Delete the codecs folder in PlexMediaServer?

Removed the Codecs folder, restarted and a new Codecs folder was generated. However the only thing that seemed to have change was that now even browser based tone-mapping seems broken now as well.

Differences I noticed between the files.

Before Removing Codecs Folder and Restarting:


image

After Removing Codecs Folder and Restarting:
image

The Folder EasyAudioEncoder-8f4ca5ead7783c54a4930420-linux-x86_64 did not seem to change.

Or should I remove VaapiDriver="i965" from the Preferences.xml file?

I’m restoring to the previous snapshot for now where browsers worked, unless other info is needed?