"Package 'Beignet', required for hardware transcoding of HDR content" - HDR tonemapping now supported?

I just installed 1.21.0.3608-f7262c352 on linux and was surprised to see a warning that said

PlexMediaServer install: WARNING: Package 'Beignet', required for hardware transcoding of HDR content, is missing.
PlexMediaServer install:          Please install package:  'beignet-opencl-icd'

Do you think this mean HDR->SDR tone mapping is now supported? Looking up beignet-opencl-icd package says its an OpenCL library for Intel CPUs. Unfortunately i’ve disabled QuickSync because i’m using and NVidia 1660 Super for HW transcoding. Time for some experimentation.

If we were introducing support for HDR → SDR tone mapping, we’d be announcing it, not just leaving a warning in some command line messages :sweat_smile:

3 Likes

What are you so nervous about, Dave? Something you’re hiding? Got secrets? Nothing you want to share with us?

Mmm, beignets. Mmm.

2 Likes

That’s my standard laughing emoji :man_shrugging: :slightly_smiling_face:

OK, this is all well and good, but HDR to SDR conspiracy theories aside …
What is “beignet” package to Plex Media Server, and what does it do for us as paying customers?

No conspiracy necessary. :slight_smile: Read the linked page about tonemapping - it is explained.

https://lmgtfy.app/#gsc.tab=0&gsc.q=beignet%20package

I’ve run a few tests and so far it looks pretty good. Transcoding 4K HDR->1080p 20mbps results in a picture that is almost the same as when Direct Playing. Strangely, on the native PMP OSX app, you can’t transcode to 4K but you can on the Plex Web App (but that has nothing to do with tonemapping)

2 Likes

Ah, and the technology world wonders why everyone else in the world hates us… Proof.

So… Response to the snarky, condescending replies:
Please re-read my question, as I’m already aware of beignet and its purpose in the AVtech world. To the intrigue at hand, I’ve also recently discovered beignet in the update code of my Linux Plex server, and I’m interested in Plex’s official position on how they plan to use it, going forward. Compatibility and supported SW/HW platforms are listed but reveal undeveloped territory. What’s the future look like with this technology? Broadening support? Narrowing for a more elite hardware market? (think M1 MacPro)

I’m curious to hear real-world ideas, not fan conspiracies. Again, AS I SAID in my OP.

Well, we’re currently using it for HDR to SDR tone mapping. As for future plans, we don’t typically disclose those, but have not implemented this feature without wanting to support it into the future.

C’mon, man. We know why Plex is leveraging beignet today, which was your first question. And you asked what the beignet package is, and what it does. You didn’t say that you are familiar with it, or OpenCL and video processing, and you didn’t ask what it might mean for the future.

I don’t speak for Plex, but I can point to about 50 examples on the forums where Plex representatives have said “We don’t talk about future features”. Which, IMO, is a sensible position for a small commercial company.

I’m personally thrilled to see general-purpose methods for advanced computation used. It makes me excited that Plex is doing deeper media analysis and computationally-based processing, and that it’s done in a way that can be generalized in both application and environment.

1 Like

It’s interesting to me, that’s all. I realize the benefits of server to mobile (and other smaller, SD devices) transcodes, but I would like to see tonemapping used to enhance small-quadrant screen reduction on 120 and 144Hz screens for tiling in limited screen production environments as well as fast scaling solutions for Plex to incorporate quick-resize feature sets.

A real-world example, for instance, would perhaps be a laptop user, logging/collecting data from websites, requiring two separate browser windows on a single laptop screen, while watching Plex movies to pass the dead time, but wanting to have a screen reduction system that would allow them to shrink and expand the Plex Media window in between workloads without losing quality or seeing any image quality decay. The uploaded image is obviously a crude picture of said example…

But, thanks for the update, Dave! I appreciate you not treating me like dirt, just because you know more than I do - that’s why I like the people at Plex. :wink:

2 Likes

I’m never going to look at cranberry jelly the same way again. Eeeeewww.

Your comment made me think of something. Mobile devices have a shorter consumer cycle, and they’re going to have broader HDR support before TVs do.

Plex works pretty good for me, in a partial window. And scales between sizes effectively, too. That’s something I do frequently too. I don’t understand how screen refresh rates apply, or how OpenCL could improve this scenario - can you explain? Does “small-quadrant” have a technical meaning, or do you mean a small window?

(Keep Plex on top was a life-changer. I have some keybindings for favored window sizes.)

(Dave’s disgustingly nice, and I :plexheart: him.)

2 Likes

Oh yeah, I forgot to say, “Thanks, Dave!” for your answer and for your time. I really appreciate it, knowing you guys are super busy over at Plex!

All the best to the entire crew there at Plex, as well!

Awwww! :plexheart: Just doing my best to be helpful and friendly :slightly_smiling_face:

1 Like

I hate to bump a thread, but I don’t understand something here. OP mentions that Plex says it’s missing a package to do HDR transcoding.in hardware and wonders what it’s for. We get lovely explanation about what the package is for (Thanks, Dave!). But, can we got back to the message for a second.

I’ve just upgraded my Plex and got the same message. Plus one for ocl-icd-libopencli. But, according to apt-get, both packages are installed. So, if they’re installed, why does Plex installer say they’re missing?

1 Like

Show me the dpkg output please?

The installer makes certain they are installed and in ready status.

Also please show me the output of the installer (or /tmp/plexinstaller.log )

The specific tests are for:

# Beignet installed?
[ "$(dpkg -l | grep ^ii  | grep -i beignet-opencl-icd:amd64)" != "" ] && HaveBeignet=1

# OpenCL installed
[ "$(dpkg -l | grep ^ii | grep -i ocl-icd-libopencl1:amd64)" != "" ] && HaveOpenCL=1

CL one not CL eye

Here is the output from the installer:

Setting up plexmediaserver (1.21.1.3830-6c22540d5) ...
PlexMediaServer install: PlexMediaServer-1.21.1.3830-6c22540d5 - Installation starting.
PlexMediaServer install:
PlexMediaServer install: Now installing based on:
PlexMediaServer install:   Installation Type:   Update
PlexMediaServer install:   Process Control:     systemd
PlexMediaServer install:   Plex User:           plex
PlexMediaServer install:   Plex Group:          plex
PlexMediaServer install:   Video Group:         video
PlexMediaServer install:   Metadata Dir:        /var/lib/plexmediaserver/Library/Application Support
PlexMediaServer install:   Temp Directory:      /tmp
PlexMediaServer install:   Lang Encoding:       en_US.UTF-8
PlexMediaServer install:   Intel QSV Hardware:  Found
PlexMediaServer install: 
PlexMediaServer install:   OpenCL library:      Not Installed
PlexMediaServer install:   Beignet package:     Not Installed
PlexMediaServer install: 
PlexMediaServer install: WARNING: Package 'Beignet', required for hardware transcoding of HDR content, is mi
ssing.
PlexMediaServer install:          Please install package:  'beignet-opencl-icd'
PlexMediaServer install: WARNING: The OpenCL library, required for hardware transcoding of HDR content, is m
issing.
PlexMediaServer install:          Please install package:  'ocl-icd-libopencl1'
PlexMediaServer install: 
PlexMediaServer install: Completing final configuration.
PlexMediaServer install: Starting Plex Media Server.
PlexMediaServer install: PlexMediaServer-1.21.1.3830-6c22540d5 - Installation successful.  Errors: 0, Warnin
gs: 2

/tmp/plexinstaller.log

$ cat plexinstaller.log
# Plex Media Server installation configuration info:  Tue Dec 22 19:00:52 EST 2020
Init=0
Systemd=1
Custom=0
LinuxContainer=0
NewInstall=0
HaveOverride=0
OverrideFile=""
PlexUser="plex"
PlexGroup="plex"
VideoGroup="video"
AppSuppDir="/var/lib/plexmediaserver/Library/Application Support"
PlexTempDir="/tmp"
LangEncoding="en_US.UTF-8"
ExistingVersion=12001
HaveHardware=1
HaveTranscoderPref=0
NeedUser=0
NeedGroup=0
NeedVideo=0
Verbose=1
Running=1
Errors=0
Warnings=0
Havei915=1
HaveBeignet=0
HaveOpenCL=0
Platform="Latitude E7440"
Processor="Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz"
Distro="Debian GNU/Linux 9 (stretch)"
Kernel="Linux e7440 4.9.0-14-amd64 #1 SMP Debian 4.9.240-2 (2020-10-30) x86_64 GNU/Linux"
Memory="15973 260 1023"

My hardware is likely not capable, but I hate seeing error messages saying dependencies are missing.

UPDATE: should have also included:

$ sudo apt-get install beignet-opencl-icd
Reading package lists... Done
Building dependency tree      
Reading state information... Done
beignet-opencl-icd is already the newest version (1.3.0-4).
beignet-opencl-icd set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
$ sudo apt-get install ocl-icd-libopencl1
Reading package lists... Done
Building dependency tree      
Reading state information... Done
ocl-icd-libopencl1 is already the newest version (2.2.11-1).
ocl-icd-libopencl1 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
$

UPDATE 2: and the output of the DPKG checks:

$ sudo dpkg -l | grep ^ii  | grep -i beignet-opencl-icd:amd64
ii  beignet-opencl-icd:amd64                      1.3.0-4                                    amd64        OpenCL library for Intel GPUs
$ sudo dpkg -l | grep ^ii | grep -i ocl-icd-libopencl1:amd64
ii  ocl-icd-libopencl1:amd64                      2.2.11-1                                   amd64        Generic OpenCL ICD Loader

The hardware is definitely not hardware capable for either HEVC or HDR in addition to the OpenCL.

I’m looking at the other qualifiers now