Server Version#: 1.25.0.5246
Player Version#: Various (pretty much any plex client)
I was having issues with HW transcode performance due to HDR tonemapping being enabled and did some digging.
Turns out HW transcoding with HDR tonemapping enabled was limited to only one stream --the next transcoded stream would fall back to software. I did quite a bit of troubleshooting/fixing and searching for posts indicating similar symptoms --but if someone has encountered this before or if it’s documented somewhere, I couldn’t find it.
I seemed to have worked around the issue by setting the TranscoderToneMapping value in Preferences.xml to a number other than 1 (I set it to 4 to match what I set “Maximum simultaneous transcode” to). I’m able to simultaneously hw-transcode multiple HDR content after that --though, I can’t be 100% sure that this is actually transcoding with tone-mapping enabled. It visually appears to be doing HDR tonemapping, as it’s no longer washed out, but since setting this value to a value greater than 1 un-checks the “enable HDR tone mapping” checkbox in the UI, the settings corresponding to behavior is the same as if HDR tone mapping was disabled (hw transcoding works for multiple streams).
UPDATE
After more experimenting and side-by-side comparison, it looks like it’s not actually doing HDR tonemapping when TranscoderToneMapping is set to anything other than 1 --it looks like it’s just disabling it, and all streams can be hw transcoded without HDR tone mapping.
Here’s the install output from earlier today when I upgraded, if it helps (was previously experiencing the same issue on 1.24.xxx --not sure of exact version).
[15:15:21 dylan@xcalibr:~/Downloads/Linux]$ sudo dpkg -i plexmediaserver_1.25.0.5246-cb2507e4d_amd64.deb
(Reading database ... 311099 files and directories currently installed.)
Preparing to unpack plexmediaserver_1.25.0.5246-cb2507e4d_amd64.deb ...
PlexMediaServer install: Pre-installation Validation.
PlexMediaServer install: Pre-installation Validation complete.
Unpacking plexmediaserver (1.25.0.5246-cb2507e4d) over (1.25.0.5246-cb2507e4d) ...
Setting up plexmediaserver (1.25.0.5246-cb2507e4d) ...
PlexMediaServer install: PlexMediaServer-1.25.0.5246-cb2507e4d - 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 i915 Hardware: Found
PlexMediaServer install: Nvidia GPU card: Not Found
PlexMediaServer install:
PlexMediaServer install: OpenCL: Installed
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: Starting Plex Media Server.
PlexMediaServer install: PlexMediaServer-1.25.0.5246-cb2507e4d - Installation successful. Errors: 0, Warnings: 0
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu3) ...
Processing triggers for bamfdaemon (0.5.3+18.04.20180207.2-0ubuntu2) ...
Rebuilding /usr/share/applications/bamf-2.index...
Processing triggers for mime-support (3.64ubuntu1) ...
@ChuckPa --I removed the setting entirely in Preferences.xml and plexmediaserver and then started two transcodes from HDR sources. Dashboard shows one is hw transcoding and the other is not.
I’m not 100% sure which DEBUG logs you’re looking for --I’ve attached the Plex Media Server.log here --let me know if you were looking for something different.
Thanks so much for the quick response and attentiveness @ChuckPa!
For those logs, first one is playing on AppleTV and the second one is playing in Chrome browser, but It doesn’t seem to make a difference as I can reverse this (just tried it) and the first one started gets hw transcoded, while the second one falls back to software.
I’ve been trying with Android phone app today as well. I also just tried both in browser just now. I stopped the first one playing on AppleTV while the second one was still playing in browser (software transcoded). Then I started a third 4k HDR title in browser, and it’s hw transcoding (so it’s just one at a time). Starting a 4th, non-HDR title and forcing it to transcode will hw transcode just fine as well (so it’s just multiple simultaneous HDR-content hw transcodes that aren’t working).
Regarding burn --I am guessing you mean subtitle burn? This latest round of testing I tried without subtitles (except for the 4th non-HDR title, which I forgot to turn off). I’m attaching the new logs here:
@ChuckPa --not sure if you’ve still been trying to reproduce this issue still, but just to update a bit… I still can’t sort out what exactly is wrong with my install or if it’s some driver/library combination or maybe conflicting/old stuff (as this I’ve been using various updates of plex for a long time through many upgrades of OS and hardware without reinstalling). But I can say for certain it’s isolated to my specific combination of OS/drivers/libraries/etc. I had some time this Thanksgiving holiday morning to poke around a bit more and decided to just quickly spin up a fresh, new, docker-ized install on the same machine, and it has no limits on hw transcoding with HDR tonemapping enabled.
I’m going to keep poking around and see if I can find what the differences are (host OS is Ubuntu 20.04.03, as it looks like the plexinc/pms-docker image is as well, so maybe the differences will be obvious --one difference off the bat is versions 1.24.5.5173 vs 1.25.0.5246). Or I guess if I don’t find anything I’ll start looking into migrating over to the docker-ized way of running plex as it’s probably going to be a bit more maintainable/cleaner-to-manage anyway.
Anyway, just wanted to update and let you know this likely can be closed out/taken off your list, and I’ll update if I find anything to document for future in case anyone else ever comes across this type of issue again.
Rename “Library” to “Library.keep” (to save your existing server and keep it safe)
Sign out of Plex/web (upper right corner at the avatar)
Start Plex
Give it a minute to start creating a new test server
Open an incognito window
Open the server using IP addressing
Start setting up a new server – HOWEVER
Give it a Friendly Name which doesn’t conflict with your existing (Default name - Linux hostname) … Make it something like “TEST” so it doesn’t end up as a duplicate named entry.
I did pretty much what you suggested with the docker version and it worked fine and as expected (multiple hw transcode of 4k HDR sources with HDR tonemapping enabled), so it’s definitely an issue with my setup, and not my hardware.
It was only a partial library though, and now I’m trying it with a backup copy of my old config as you suggest in step 2.
I agree 100% it’s some wonky something on my setup, and it’s still a complete mystery as to where. I’ve tried installing/re-installing just about everything I could think of (intel drivers, ffmpeg, etc, etc).
I can confirm it’s not an issue with Plex or even my install of Plex… as I’ve just successfully migrated my watched status/database/etc to the dockerized version and HW transcode with HDR tonemapping is working for multiple streams as expected.
I think I’ll just go with this setup now, as I’ve been migrating most things to docker anyway. Thanks so much for you help and attentiveness to this @ChuckPa, and Happy Thanksgiving if you’re in the US and partake in the festivities (Happy Thursday, otherwise)!
Actually, I was wrong --what I started up with was actually an old backup of my Library and that worked. With the latest, it’s still broken even docker-ized, so it looks like something in my /var/lib/plexmediaserver/Library is broken --going to start diffing configs and see if I can figure it out.
In Preferences.xml, there’s a setting called TranscoderQuality, which was set to a value of “1” --I went through the different values in Preferences.xml one by one and removed them one by one from the ones that seemed likely first, and this one, once removed, let me HW transcode multiple streams with HDR tone-mapping enabled.
I’m not sure how this setting made it into my Preferences.xml (maybe it was used in a previous version of Plex?) but I didn’t see it the fresh config or in my old backup config (~Feb 2020). It looks like it’s probably not used and was the root cause of my issue.
Yup, back to original Library --kept the docker version and disabled the original install.
Thanks for all your help on this! It would be interesting to find out where that option came from and if it needs to be ignored/disabled in future builds (low priority item for the queue).