HDR SDR tone mapping requirements for full hw acc support

Server Version#: 1.21.0.3616
Player Version#: 4.43.4 (tested in browser)
(File removed)

1st, thanks alot for this feature, so far looking nice to see the progress.

question is, when i read the specs i should be fine with my coffee lake i7 8700 with a igpu 630.

now, when i run a hdr movie in browser to force tonemapping to sdr i see pretty high cpu load.

so is coffee lake really fully supported ?

i also insalled the apt … in the official plex docker and restarted, no difference.

when i check dash, looks like its only running in sw mode, as soon i disable tone mapping im back to hw de/encoding.

for a tipp, thanks ahead.

logs attached

1 Like

Looks as if the docker container needs to be updated to a newer version :thinking:

seeing the same on a bare metal install.

Can you provide a bit more information, please?

I am having a similar issue, I checked OP’s logs and I have these same errors in the same type of configuration. I started a discussion on this reddit thread, moving here for additional support:

[Transcoder] [Parsed_hwmap_2 @ 0x1af5240] Failed to created derived device context: -19.
[Transcoder] [Parsed_hwmap_2 @ 0x1af5240] Failed to configure output pad on Parsed_hwmap_2
[Transcoder] Failed to inject frame into filter network: No such device
Jobs: '/usr/lib/plexmediaserver/Plex Transcoder' exit code for process 8484 is 1 (failure)

I have a Coffee Lake and HW Transcoding is failing on tone mapped jobs. Looks like Beignet isn’t working for Coffee Lake GPUs yet. There is a blog post from 2018 describing the issue with the driver and that it would be fixed in an as of yet unreleased version 1.4 (the latest being 1.3.2 from 3 years ago, https://phoronix.com/scan.php?page=news_item&px=Coffee-Lake-In-Beignet).

There is also a commit from 2 years ago adding support to the library (https://github.com/intel/beignet/commit/7e181af2ea4d37f67406f2563c0e13fa1fdbb14b). I might play with pulling the library and building it myself to see if I can get it working.

>clinfo
Number of platforms                               1
  Platform Name                                   Intel Gen OCL Driver
  Platform Vendor                                 Intel
  Platform Version                                OpenCL 2.0 beignet 1.3
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_3d_image_writes cl_khr_image2d_from_buffer cl_khr_depth_images cl_khr_spir cl_khr_icd cl_intel_accelerator cl_intel_subgroups cl_intel_subgroups_short
  Platform Extensions function suffix             Intel
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)

  Platform Name                                   Intel Gen OCL Driver
Number of devices                                 0

NULL platform behavior
  clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...)  Intel Gen OCL Driver
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)
  clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...)
  clCreateContext(NULL, ...) [default]            No devices found in platform
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)
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU)  No devices found in platform
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)
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR)  No devices found in platform
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM)  No devices found in platform
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)
  clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL)  No devices found in platform

ICD loader properties
  ICD loader Name                                 OpenCL ICD Loader
  ICD loader Vendor                               OCL Icd free software
  ICD loader Version                              2.2.11
  ICD loader Profile                              OpenCL 2.1

Coffee Lake and newer will require Ubuntu 20.04 or newer

Hey I’m using a Comet Lake (10th Gen) CPU on Unraid (v6.9.0 beta35) via the official plexinc/pms-docker docker image.

I’m getting the following error in log when 4K HDR content is being transcoded:

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)

edit: wait… is it comet lake? or ice lake

We’re looking into this issue at the moment, and hope to have some more information on it soon :slight_smile: :crossed_fingers:

2 Likes

Yup, I’m running Ubuntu 20.04

docker update, thank you very much :wink:

tested now 7 movies, from medium to high bandwith 4k hdr files, all looking fine now with hw transcoding and tone mapping.

great job, thanks.

1 Like

@DaveBinM Can you please provide steps to get this working on Synology NAS? Give PLEX application available DMS Manager, I can’t install the ocl-icd-libopencl1 beignet-opencl-icd packages manually.

I have attached a screenshot from DSM.

As mentioned in our support article, it depends on the drivers being available for the platform. However, you may have more luck running PMS in a docker container on your NAS, where we can include the drivers in the container.

@DaveBinM Much appreciated. I got a huge movies lib with over 85GB data folder. All are saved in Synology NAS PLEX folder. If I run the docker container… how to use the same data folders?

Uhhhh, that bit is beyond my knowledge, but perhaps @ChuckPa might have some insight? :crossed_fingers:

Thanks @DaveBinM. Just to be clear… given Synology PLEX app provided by PLEX, You guys are not going to release the updated version to the Synology DMS platform?

Just want to be sure…

P.S: I can see 1940785 downloads of PLEX Synology APP and I think it’s not fair to abandon these PLEX users.

We will most definitely continue to update the Plex Media Server app on Synology, but that doesn’t help with system level drivers that are required for this feature

Thanks. I will post in Synology Support as well.

I posted in Synology Forum and also raised a support ticket: https://community.synology.com/enu/forum/1/post/138694

I don’t know what gave you the impression we were abandoning Synology users, but that’s definitely not the case

you should read in docker mount options, its pretty simple to add a existing volume into the docker mount points, afaik your DSM even has a GUI therefore.

and about your 85 GB movie collection, you sure you need this feature due HDR movies are pretty big in size, lets say it like this, a remux 4k hevc has ~ 50 - 80 GB, 1 Movie …

and does your NAS really has a GPU to use it, intel coffee lake ++ ? or a nvidia gpu ? if so its worthe the effort, otherwise it ll be software transcode only and your NAS will be pretty stressed then … to narrow it down, it ll probably never come to a min 1x + encoding which you need for watching fluid.

just as note before you get stressed with dockers and so on …