PMS 1.29.1 HW Tonemapping Testing, Questions , and Answers

Purpose:

This thread serves as the focal point for all testing of PMS 1.29.1.xxxx Intel Quick Sync Video hardware tonemapping.

We will:

  1. Assist, as needed, removing prior customizations to Linux which allowed hardware transcoding and tone mapping to work.

  2. Serve as the focus/collection point for tone mapping issues (Linux platforms only) with PMS 1.29.1. As issues are identified, and reproduced, they will be submitted to Engineering.

GuC/HuC firmware

Some distributions are not up to date on their firmwares.

Check the contents of your /lib/firmware/i915 to make certain your processor code is listed and minimally at versions 69.x and 9.x.

For those needing GuC/HuC firmware support for their kernels and JasperLake/ElkhartLake CPUs (Some GeminiLake)

  1. Download the GuC/HuC firmware for your architecture Making sure you're not a bot!

  2. Install – Place them in /lib/firmware/i915/:

  3. Update the initramfs

  4. Reboot

How it works

  1. In order for PMS to perform Hardware transcoding and hardware tonemapping, PMS need support libraries which work with the hardware.

  2. Nvidia provides this with their GPU drivers
    Intel provides this with their Intel Compute Runtime drivers.

  3. Until now, installing the Intel drivers were the user’s responsibility. This is the quintessential change.

  4. With PMS 1.29.1.6240 and above, PMS will download and install the drivers, storing in a Drivers directory under Plex Media Server the first time they are needed. This does add a few extra seconds (about 5 seconds seems typical) to the first-time startup.

  5. Intel Compute Runtime packages, if previously installed for Plex use, can now be removed if they are no longer needed for other programs

  6. Beignet/OpenCL packages can likewise be removed if no longer needed.

  7. From this point forward, Intel Quick Sync Video users need not be concerned with updating their hardware tone mapping drivers.

Packages to uninstall (if no longer needed)

  1. intel-igc-core
  2. intel-igc-opencl
  3. intel-level-zero-gpu
  4. intel-opencl-icd
  5. beignet-opencl-icd
  6. ocl-icd-libopencl1

Requested:

  1. Keep posts succinct.
  2. Provide host OS distribution and version plus player device.
  3. Provide the PMS version including hash after the version
  4. Include the DEBUG PMS server logs ZIP file, which capture the issue, with your post.
  5. If a screenshot is appropriate, please also provide it with your post.

Linux based hosts:

  1. This works for Redhat and Debian/Ubuntu as well as Linux-based NAS hosts
  2. All required modules will download into Drivers under Plex Media Server
    – A few extra seconds are required at first invocation just like codecs.

Tested and verified on:

  1. Ubuntu - Intel Core (-7xxx, -8xxx, -9xxx, -10xxx, -11xxx and -12xxx)
  2. Synology and QNAP NAS CPUs (J3455, J4xxx, N5xxx)
  3. Official Plex docker on Unraid 6.11

Samples of confirmed tone mapping

  1. NUC10i5FNK , 5.15.0-48 Ubuntu kernel

  1. QNAP TS-264

9 Likes

Known Issues

Known issues will be added here.

If you see it listed, there’s no need to “me too”. Thanks.

  1. Beignet/OpenCL still suggested packages on older CPUs. Not needed.
1 Like

Still not getting hw accelerated tone mapping (j4105 and Unraid).

  1. Keep posts succinct.
  2. Provide host OS distribution and version plus player device.
  3. Include the DEBUG PMS server logs ZIP file, which capture the issue, with your post.
  4. If a screenshot is appropriate, please also provide it with your post.

I can confirm: HW accelerated transcoding and tonemapping works on 1.29.1 with Ubuntu 22.04.1 LTS, Intel 10600K, and the latest Intel ICR (22.14.22890-1). The client device was an iPhone with the Plex app. Bravo!

I look forward to learning about how the new transcoder works!

This is awesome! I can confirm hardware transcoding/tonemapping is working on my NUC10I7FNH1 running Ubuntu 22.04.1 with PMS 1.29.1.6260-420892357. I tested it using the Plex for Mac and an Android phone.

@KyleD324

Thank you for reminding me about “How It Works”.

Please see above. I’ve edited the OP to share this information.

1 Like

@ChuckPa now that the installer doesn’t mention what ICR libraries are needed, i can’t remember what i manually need to remove now that PMS embeds them directly. Can you update the original post above with that information?

1 Like

Synology Server DS920+
Player Samsung TV Plex App 2.013
PMS 1.29.1

@ChuckPa Just updated to PMS 1.29.1 every 4k I tried played well transcoding to 1080p. Tried about 7 movies let them run about 4 minutes or longer.

CPU about 20% well within DS920+ capabilities HW transcoding HDR mapping enabled.

Really good result.

The only glitch was starting a movie to resume in the middle of the movies and some time outs but the TV Plex client is quite old and so could be a client issue on the old Samsung TV Plex player.

Thanks alot great result so far,

@rcork

Updated. OP now shows packages to be removed.

1 Like

I use linuxserver.io

See the logs
Plex Media Server Logs_2022-09-29_08-03-03.zip (2.2 MB)

Hello

HW transcode not working here when HDR, CPU@100%

PMS 1.29.1.6260
Server : i5 11400 (UHD 730 driver 31.0.101.3430)
Windows 11 22H2
Client is Firefox 105.0.1

You probably didn’t notice, this is only about Linux, Synology and QNap. You’re running Windows.

My bad i thought it was also for Windows
Sorry i will look for the correct one

ASUSTOR AS6604T with latest firmware 4.1.0.RLQ1 (Celeron J4125)
PMS 1.29.1.6260

I made quick tests on 4K HDR movies with HDR tone mapping enabled. Before this version, the transcoding was unsuccessful because of CPU usage.

With this version, it works very well. CPU is about 20%.
Tested with edge client and Windows client.

Are these changes incorporated into the Plex docker image as well?

@uvc6

They should be but most everyone who can is abandoning the docker image in favor of using the native installation as it’s easier to manage on their machines.

On the latest release build of PMS on Ubuntu 22.04 on 7th gen Intel, I can’t seem to see any Drivers folder being created after re-enabling tone mapping and starting an HDR file on an SDR device and hardware transcoding fails (and works again when tone mapping is disabled).

Am I missing something? Which “Plex Media Server” directory exactly is being referred to in the OP?

[chuck@NUC10i5FNK ~.246]$ cd /var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/
[chuck@NUC10i5FNK Plex Media Server.247]$ ls
Cache/   Crash Reports/  Drivers/  Media/     plexmediaserver.pid  Plug-in Support/  Updates/
Codecs/  Diagnostics/    Logs/     Metadata/  Plug-ins/            Preferences.xml
[chuck@NUC10i5FNK Plex Media Server.248]$ cat /etc/os-release 
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
[chuck@NUC10i5FNK Plex Media Server.249]$ 

There is only one Plex Media Server directory.
The package resides in /usr/lib/plexmediaserver