Linux Packaging - Developer's Sandbox - HDR tonemapping packaging support

@edified

It’s not really a fix.

Engineering added support for the newer processors a short time ago.
I’m now adding interim support so you can manually add the support libraries.

Just as what now occurs with -9xxx and below processors, where DPKG automatically installs Beignet if needed, in time you’ll also have Intel Compute Runtime automatically installed.

If you think back a bit to when PMS first supported hardware HDR, Beignet installation was manual. This is what you’re seeing now for the newer processors.

It will be more automated when ICR becomes a released package by the Debian and Redhat based distributions.

For now, it’s manually added.

Update to all:

I now understand the new Intel Compute Runtime libraries are also important to the I9-9xxx CPUs.

I will be adjusting the package installer to address this.

For those of you experiencing difficulties, Please use the ICR release library in lieu of Beignet.

ALL:

Would you all mind making a final run of this?

This was built locally.
It includes the changes to use the Intel Compute Runtime with -9xxx CPUs

Please be advised

This is PMS 1.22.1.4288.

There will be a pause of a few minutes for database migrations before PMS becomes available if you’re not already using this version. The change is for Unicode characters / Internationalization.

@ChuckPa sorry, I missed this yesterday since I have the other thread on alert and not this one.

nuc@nuc:~/Downloads$ sudo dpkg -i plexmediaserver_1.22.1.4228-724c56e62_amd64.deb
(Reading database ... 227481 files and directories currently installed.)
Preparing to unpack plexmediaserver_1.22.1.4228-724c56e62_amd64.deb ...
PlexMediaServer install: Pre-installation Validation.
PlexMediaServer install: Pre-installation Validation complete.
Unpacking plexmediaserver (1.22.1.4228-724c56e62) over (1.22.0.4163-d8c4875dd) ...
Setting up plexmediaserver (1.22.1.4228-724c56e62) ...
DEBUG: Pulling in CPUSKU=10710
PlexMediaServer install: PlexMediaServer-1.22.1.4228-724c56e62 - 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:         render
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:   Nvidia GPU card:     Not Found
PlexMediaServer install:
PlexMediaServer install:   OpenCL library:      Not Installed
PlexMediaServer install:   Beignet package:     Not Installed
PlexMediaServer install:
PlexMediaServer install:
PlexMediaServer install: Completing final configuration.
PlexMediaServer install: PlexMediaServer-1.22.1.4228-724c56e62 - Installation successful.  Errors: 0, Warnings: 0
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Processing triggers for mime-support (3.64ubuntu1) ...
nuc@nuc:~/Downloads$ cat /tmp/plexinstaller.log
# Plex Media Server installation configuration info:  Fri 26 Mar 2021 08:19:04 AM CDT
Init=0
Systemd=1
Custom=0
LinuxContainer=0
NewInstall=0
HaveOverride=0
OverrideFile=""
PlexUser="plex"
PlexGroup="plex"
VideoGroup="render"
AppSuppDir="/var/lib/plexmediaserver/Library/Application Support"
PlexTempDir="/tmp"
LangEncoding="en_US.UTF-8"
ExistingVersion=12200
HaveHardware=1
HaveTranscoderPref=0
NeedUser=0
NeedGroup=0
NeedVideo=0
Verbose=1
Running=0
Errors=0
Warnings=0
HaveIntel=1
HaveIntelCore=1
HaveIntelXeon=0
Havei915=1
HaveNvidia=0
CPUSKU=10710
NeedBeignet=0
NeedIntelCompute=1
HaveIntelGmmlib=1
HaveIntelIGCCore=1
HaveIntelIGCOpenCL=1
HaveIntelOpenCL=1
HaveIntelOCLoc=1
HaveIntelZeroGPU=1
HaveIntelCompute=1
HaveBeignetIcd=0
HaveOpenCL=0
HaveBeignet=0
Platform="NUC10i7FNH"
Processor="Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz"
Distro="Ubuntu 20.04.2 LTS"
Kernel="Linux nuc 5.11.8-051108-generic #202103200636 SMP Sat Mar 20 11:17:32 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux"
Memory="31820 6214 22304"

@riiviin

That output is what I hoped to see.

With exception of my handling of the OpenCL and Beignet messages on the end of postinst and the debug messages in it, I think we’re good to go.

What I was hoping to confirm is how it diagnoses the need for the CPU – which it did correctly and communicated all the information across the inteller log file (how the two stages “preinst” and “postinst” share info.)

Now for a little cleanup in postinst (the messages) and off we go to QA testing :slight_smile:

I think cleanup is all done.

I have configured:

  1. Test if Intel Core CPU and i915 detected

  2. Add HW test for selected Xeon CPUs with QSV

  3. If SKU < 2000 - Do not test for Beignet or Intel Compute – Not supported

  4. If SKU > 2000 & SKU < 9000 - Test for and report Beignet status

  5. If SKU > 9000 - Test for and report Intel Compute Runtime.

I hope this is it. The logic is getting a little “freaky” :smiling_imp:

Updated link below

Please let me know if reporting matches on your 9000+ machines as I outline
as well as your other sub-9000 class machines.

Testing here looks good but I am running in a VM with an artificial environment.

Thanks.

1 Like

@ChuckPa

I have some issues with this one.

sudo dpkg -i plexmediaserver_1.22.1.4228-724c56e62_amd64.deb
(Reading database ... 265514 files and directories currently installed.)
Preparing to unpack plexmediaserver_1.22.1.4228-724c56e62_amd64.deb ...
PlexMediaServer install: Pre-installation Validation.
PlexMediaServer install: Pre-installation Validation complete.
Unpacking plexmediaserver (1.22.1.4228-724c56e62) over (1.22.0.4163-d8c4875dd) ...
Setting up plexmediaserver (1.22.1.4228-724c56e62) ...
PlexMediaServer install: PlexMediaServer-1.22.1.4228-724c56e62 - 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:         render
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:   Nvidia GPU card:     Not Found
/var/lib/dpkg/info/plexmediaserver.postinst: 256: [: -gt: unexpected operator
PlexMediaServer install:   Intel Gmmlib:        Not Installed
/var/lib/dpkg/info/plexmediaserver.postinst: 262: [: -gt: unexpected operator
PlexMediaServer install:   Intel IGC Core:      Not Installed
/var/lib/dpkg/info/plexmediaserver.postinst: 268: [: -gt: unexpected operator
PlexMediaServer install:   Intel IGC OpenCL:    Not Installed
/var/lib/dpkg/info/plexmediaserver.postinst: 274: [: -gt: unexpected operator
PlexMediaServer install:   Intel OpenCL:        Not Installed
/var/lib/dpkg/info/plexmediaserver.postinst: 280: [: -gt: unexpected operator
PlexMediaServer install:   Intel OCLoc:         Not Installed
PlexMediaServer install:   Intel Zero GPU:      Installed
PlexMediaServer install:
PlexMediaServer install: Completing final configuration.
PlexMediaServer install: PlexMediaServer-1.22.1.4228-724c56e62 - Installation successful.  Errors: 0, Warnings: 0
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Processing triggers for mime-support (3.64ubuntu1) ...
cat /tmp/plexinstaller.log
# Plex Media Server installation configuration info:  Sat 27 Mar 2021 09:18:10 AM CDT
Init=0
Systemd=1
Custom=0
LinuxContainer=0
NewInstall=0
HaveOverride=0
OverrideFile=""
PlexUser="plex"
PlexGroup="plex"
VideoGroup="render"
AppSuppDir="/var/lib/plexmediaserver/Library/Application Support"
PlexTempDir="/tmp"
LangEncoding="en_US.UTF-8"
ExistingVersion=12200
HaveHardware=1
HaveTranscoderPref=0
NeedUser=0
NeedGroup=0
NeedVideo=0
Verbose=1
Running=0
Errors=0
Warnings=0
HaveIntel=1
HaveIntelCore=1
HaveIntelXeon=0
Havei915=1
HaveNvidia=0
CPUSKU=10710
NeedBeignet=0
NeedIntelCompute=1
HaveIntelGmmlib=1
HaveIntelIGCCore=1
HaveIntelIGCOpenCL=1
HaveIntelOpenCL=1
HaveIntelOCLoc=1
HaveIntelZeroGPU=1
HaveIntelCompute=1
HaveBeignetIcd=0
HaveOpenCL=0
HaveBeignet=0
Platform="NUC10i7FNH"
Processor="Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz"
Distro="Ubuntu 20.04.2 LTS"
Kernel="Linux nuc 5.11.10-051110-generic #202103251032 SMP Thu Mar 25 10:35:48 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux"
Memory="31820 6020 1914"

Thank you.

That’s what I get for testing in the VM where I’m developing.

(the script building is in another VM)

I forgot to click “SAVE” :man_facepalming:

Asserting QSV capability

@ChuckPa can you provide a .deb instead of a .qpkg?

:man_facepalming:

Copied the wrong link.

(Reading database ... 265514 files and directories currently installed.)
Preparing to unpack plexmediaserver_1.22.1.4228-724c56e62_amd64.deb ...
PlexMediaServer install: Pre-installation Validation.
PlexMediaServer install: Pre-installation Validation complete.
Unpacking plexmediaserver (1.22.1.4228-724c56e62) over (1.22.0.4163-d8c4875dd) ...
Setting up plexmediaserver (1.22.1.4228-724c56e62) ...
PlexMediaServer install: PlexMediaServer-1.22.1.4228-724c56e62 - 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:         render
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:   Nvidia GPU card:     Not Found
PlexMediaServer install:   Intel Gmmlib:        Installed
PlexMediaServer install:   Intel IGC Core:      Installed
PlexMediaServer install:   Intel IGC OpenCL:    Installed
PlexMediaServer install:   Intel OpenCL:        Installed
PlexMediaServer install:   Intel OCLoc:         Installed
PlexMediaServer install:   Intel Zero GPU:      Installed
PlexMediaServer install:
PlexMediaServer install: Completing final configuration.
PlexMediaServer install: PlexMediaServer-1.22.1.4228-724c56e62 - Installation successful.  Errors: 0, Warnings: 0
Processing triggers for libc-bin (2.31-0ubuntu9.2) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Processing triggers for mime-support (3.64ubuntu1) ...
# Plex Media Server installation configuration info:  Sun 28 Mar 2021 06:38:17 PM CDT
Init=0
Systemd=1
Custom=0
LinuxContainer=0
NewInstall=0
HaveOverride=0
OverrideFile=""
PlexUser="plex"
PlexGroup="plex"
VideoGroup="render"
AppSuppDir="/var/lib/plexmediaserver/Library/Application Support"
PlexTempDir="/tmp"
LangEncoding="en_US.UTF-8"
ExistingVersion=12200
HaveHardware=1
HaveTranscoderPref=0
NeedUser=0
NeedGroup=0
NeedVideo=0
Verbose=1
Running=0
Errors=0
Warnings=0
HaveIntel=1
HaveIntelCore=1
HaveIntelXeon=0
Havei915=1
HaveNvidia=0
CPUSKU=10710
NeedBeignet=0
NeedIntelCompute=1
HaveIntelGmmlib=1
HaveIntelIGCCore=1
HaveIntelIGCOpenCL=1
HaveIntelOpenCL=1
HaveIntelOCLoc=1
HaveIntelZeroGPU=1
HaveIntelCompute=1
HaveBeignetIcd=0
HaveOpenCL=0
HaveBeignet=0
Platform="NUC10i7FNH"
Processor="Intel(R) Core(TM) i7-10710U CPU @ 1.10GHz"
Distro="Ubuntu 20.04.2 LTS"
Kernel="Linux nuc 5.11.10-051110-generic #202103251032 SMP Thu Mar 25 10:35:48 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux"
Memory="31820 6375 476"

@riiviin

How does that look to you?

I know it’s a bit verbose but will that work OK for now until Intel Compute Runtime becomes part of the stock distribution ?

when you have time, per the other thread, log instructions for the engineer are there

Looks good to me, and it should help out people with 9th and 10th gen CPUs once added to the release packages.

Thank you.

I’ll add one more field to the output: $Processor.

It’ll help slackers and idiots like me to know what they’re looking at :wink:

I’m submitting this to QA and hope to get it into the next release (coming soon)

I’ve just updated to the latest Plex-pass available version of Plex Media Server for Ubuntu… and hw transcoding of HDR content stopped. I was thinking that if I had the Intel packages, it should just work (I forgot that it requires a special build of PlexMediaServer). Which build would you recommend I use for now, in order to get the support back? (Ubuntu 20.04, 64-bit Intel i5-10400). Also, how can I know when the HDR tonemapping hw support is in the publicly available Plex-Pass version of Plex Media Server?

nothing I can do until monday now… I’m about to take off myself.

it’s been a loooooooooooooooooooooooooooooooooooong couple of days.

Get to what you know works and hold

1 Like

Just started looking at this thread. Tested against Rocket Lake i5 with plexmediaserver_1.22.1.4228-724c56e62_amd64.deb and no go. Not sure if I missed some steps as it’s not detecting intel compute packages.

# dpkg -l |grep intel
ii  intel-gmmlib                                20.4.1                                amd64        Intel(R) Graphics Memory Management Library Package
ii  intel-igc-core                              1.0.6748                              amd64        Intel(R) Graphics Compiler for OpenCL(TM)
ii  intel-igc-opencl                            1.0.6748                              amd64        Intel(R) Graphics Compiler for OpenCL(TM)
ii  intel-level-zero-gpu                        1.0.19438                             amd64        Intel(R) Graphics Compute Runtime
ii  intel-microcode                             3.20201110.0ubuntu0.20.04.2           amd64        Processor microcode firmware for Intel CPUs
ii  intel-ocloc                                 21.13.19438                           amd64        Intel(R) Graphics Compute Runtime
ii  intel-opencl                                21.13.19438                           amd64        Intel(R) Graphics Compute Runtime
rc  intel-opencl-icd                            21.11.19310+i520~u20.04               amd64        Intel graphics compute runtime for OpenCL
# cat /tmp/plexinstaller.log
# Plex Media Server installation configuration info:  Mon Apr  5 05:23:42 UTC 2021
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="/dev/shm"
LangEncoding="en_US.UTF-8"
ExistingVersion=12201
HaveHardware=0
HaveTranscoderPref=1
NeedUser=0
NeedGroup=0
NeedVideo=0
Verbose=1
Running=1
Errors=0
Warnings=0
HaveIntel=1
HaveIntelCore=1
HaveIntelXeon=0
Havei915=0
HaveNvidia=0
CPUSKU=0
NeedBeignet=0
NeedIntelCompute=0
HaveIntelGmmlib=0
HaveIntelIGCCore=0
HaveIntelIGCOpenCL=0
HaveIntelOpenCL=0
HaveIntelOCLoc=0
HaveIntelZeroGPU=0
HaveIntelCompute=0
HaveBeignetIcd=0
HaveOpenCL=0
HaveBeignet=0
Platform="System Product Name"
Processor="11th Gen Intel(R) Core(TM) i5-11500 @ 2.70GHz"
Distro="Ubuntu 20.04.2 LTS"
Kernel="Linux kstore 5.11.10-051110-generic #202103251032 SMP Thu Mar 25 10:35:48 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux"
Memory="15760 279 518"
1 Like

Seems Intel didn’t add the Rocket Lake hardware ID’s to the drivers. I saw a tweet over the weekend where Intel would release updated drivers today.

1 Like

Thanks for this. I looked into driver portion of this and Phoronix had mentioned that in Kernel 5.12, the ID is hidden behind early support flag and required kernel parameter “i915.force_probe=4c8a”.

https://www.phoronix.com/scan.php?page=article&item=intel-rkl-linux&num=2

This however, didn’t solve all my problems. Installer log looks good now but 4K (HVEC Main 10) hardware transcoding is not working (was working on Celeron G3930). 1080p content H.264 shows (hw) transcoding to lower qualities fine.

Further testing: 4k hardware transcoding works with tone mapping disabled. Enabling tonemapping for HDR content breaks hardware transcoding.

# cat /tmp/plexinstaller.log
# Plex Media Server installation configuration info:  Tue Apr  6 03:01:17 UTC 2021
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="/dev/shm"
LangEncoding="en_US.UTF-8"
ExistingVersion=12201
HaveHardware=1
HaveTranscoderPref=1
NeedUser=0
NeedGroup=0
NeedVideo=0
Verbose=1
Running=1
Errors=0
Warnings=0
HaveIntel=1
HaveIntelCore=1
HaveIntelXeon=0
Havei915=1
HaveNvidia=0
CPUSKU=11500
NeedBeignet=0
NeedIntelCompute=1
HaveIntelGmmlib=1
HaveIntelIGCCore=1
HaveIntelIGCOpenCL=1
HaveIntelOpenCL=1
HaveIntelOCLoc=1
HaveIntelZeroGPU=1
HaveIntelCompute=1
HaveBeignetIcd=0
HaveOpenCL=1
HaveBeignet=0
Platform="System Product Name"
Processor="11th Gen Intel(R) Core(TM) i5-11500 @ 2.70GHz"
Distro="Ubuntu 20.04.2 LTS"
Kernel="Linux kstore 5.11.10-051110-generic #202103251032 SMP Thu Mar 25 10:35:48 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux"
Memory="15760 266 15027"
1 Like