Plex in Docker on Synology, w Intel HW transcoding inc. HDR

Server Version#: 1.21.0.3616
Player Version#web 4.47.1
using docker container linuxservers/plex:Latest
device: is specified to grant access to quicksync.
Trying docker till the native Syno package includes all the dependencies.

-normal HW assisted transcoding works as expected. the dashboard show hw for encode and decode.
-when I transcode an HDR file, hw assist does not kick in. In the docker container, the log file specifies.
beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware. (If you have multiple ICDs installed and OpenCL works, you can ignore this message)

Is there a way to confirm if OpenCL works?

which synology model?

I do need to see the logs please… snippets and descriptions aren’t enough

My testbox is Xpenology based. The CPU is an i9-9900K. I moved to docker to remove all the “synology specific stuff”

I didn’t include a log as I assumed it would be too massive as this docker install is brand new and it is in the midst of reimporting all the media. I will see what I can do. Thank you in advance.

Thank you for the logs. 8.4 MB is nothing and perfectly acceptable.

I found it immediately.

Nov 30, 2020 23:19:35.733 [0x7fd19effd700] DEBUG - Starting a transcode session fa66c557-472d-49e3-8755-cbc70243b84f at offset -1.0 (state=3)
Nov 30, 2020 23:19:35.733 [0x7fd19effd700] DEBUG - Streaming Resource: Added session 0x7fd190298340:fa66c557-472d-49e3-8755-cbc70243b84f
Nov 30, 2020 23:19:35.733 [0x7fd19effd700] DEBUG - [Universal] Using local file path instead of URL: /tv1/Breaking Bad/Season 05/Breaking Bad - S05E04 - Fifty-One [WEBDL-720p AVC AC3-5.1].mkv
Nov 30, 2020 23:19:35.733 [0x7fd19effd700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder: 
Nov 30, 2020 23:19:35.733 [0x7fd19effd700] DEBUG - Job running: EAE_ROOT='/tmp/pms-3a622497-6311-4070-a41b-cfaa38bd257d/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/config/Library/Application\ Support/Plex\ Media\ Server/Codecs/7c50c14-3596-linux-x86_64/' XDG_CACHE_HOME='/config/Library/Application Support/Plex Media Server/Cache' XDG_DATA_HOME='/usr/lib/plexmediaserver/Resources' X_PLE
  1. I presume normal, (native package), installations work OK?
  2. HDR -> SDR (native package) is also OK?

However, You get no hardware anything in your Docker container?

I will continue, assuming your reply will be “Correct - No HW in docker”.

I bet you didn’t map the Plex UID -> PUID and Plex GID -> PGID , nor have the native package installed?

In a nutshell — You need that “Synology specific stuff if you’re running XPEnology”

Normal native package works OK with SDR files. It hw encodes and decodes as expected. if I disable HDR tonemapping, then it handles those correctly as well, albeit washed out.

Native Synology package didn’t work correctly with HDR tone-mapping enabled on HDR files. If I left that feature enable I had issues, both with hw assist enabled and disabled. I can git you specifics, just let me know what situation you want tested.

  1. There is no tonemapping for native packages at this time. The libraries are being built by Engineering and will be included with the native for all NAS platforms when available.

  2. have you confirmed mapping of PUID -> UID and PGID -> GID of user Plex? This is necessary because user plex is unprivileged on Synology. (it gets worse on DSM 7)

Here is the docker stack, and a new log with the tweaked stack.

version: “2.1”
services:
plex:
image: ghcr.io/linuxserver/plex:Latest
container_name: plex
network_mode: host
environment:
- PUID=1031 #(correct for my plex id)
- PGID=100
- VERSION=docker
- UMASK_SET=022 #optional
- PLEX_CLAIM=(removed) #obtain claim token https://plex.tv/claim expire within 4 minutes.

volumes:
  - /volume2/docker/Plex:/config
  - /volume1/Media/TV Shows:/tv1
  - /volume1/Media/TV Shows (complete):/tv2
  - /volume1/media2/TV Shows (complete seasons):/tv3
  - /volume1/media2/Music:/music1
  - /volume1/media2/Photos:/photos1
  - /volume1/Media/Movies:/movies1
restart: unless-stopped
devices:
  - /dev/dri:/dev/dri

hw assist does work correctly in docker except for HDR files, then it auto goes to software transcoding. I included an example of it working in this set of logs.

why are you not using the sanctioned & tested linuxserver.io Plex which we helped them make work correctly?

ghcr.io/linuxserver/plex:Latest

I ask because now your logs make sense. There are hardware mappings missing.

I am not?

ghcr.io

you are not.

You have someone’s spin on the original

I thought I grabbed that line straight from their website sample. Can you please tell me what the image line should be?

I got it from here

linuxserver/plex - LinuxServer.io

You want the Linuxserver.io repository.

a simple google returns:

https://hub.docker.com/r/linuxserver/plex

https://hub.docker.com/r/linuxserver/plex

At the link you provided, the recommended docker-compose file lists what I am using.

that’s not right.

Get the image, write the composition file yourself.

I have this working on a QNAP of all things :wink:

will do :slight_smile:

Here is my new compose file. (I believe this is what you are looking for in changes)

version: “2.1”
services:
plex:
image: linuxserver/plex
container_name: plex
network_mode: host
environment:
- PUID=1031
- PGID=100
- VERSION=latest
- UMASK_SET=022 #optional
- PLEX_CLAIM=(removed) #obtain claim token https://plex.tv/claim expire within 4 minutes.

volumes:
  - /volume2/docker/Plex:/config
  - /volume1/Media/TV Shows:/tv1
  - /volume1/Media/TV Shows (complete):/tv2
  - /volume1/media2/TV Shows (complete seasons):/tv3
  - /volume1/media2/Music:/music1
  - /volume1/media2/Photos:/photos1
  - /volume1/Media/Movies:/movies1
restart: unless-stopped
devices:
  - /dev/dri:/dev/dri

The transcoding config remains HDR tone mapping enabled, use hardware acceleration enabled, use hardware acceleration encoding enabled.

The result is the same, non HDR files transcode correctly with hw enc and dec. HDR files use software decoding. here is a new set of logs.

When I install:

Do you have this?

Also;

Nov 30, 2020 22:49:47.724 [0x7fd27a09f700] INFO - Plex Media Server v1.21.0.3616-d87012962 - Docker Docker Container (LinuxServer.io) x86_64 - build: linux-x86_64 debian - GMT 00:00
Nov 30, 2020 22:49:47.724 [0x7fd27a09f700] INFO - Linux version: 4.4.59+, language: en-US
Nov 30, 2020 22:49:47.724 [0x7fd27a09f700] INFO - Processor Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz

Kernel 4.59+ ? There is something in my head about min kernel version. I need to research it.

I didn’t use the native synology GUI because I couldn’t find a way to map the GPU device required for quicksync. I will try that option.