HDR to SDR Tone Mapping // mod: using GPU on Windows

I would love to see this feature so I don’t have to run Jellyfin side by side with Plex. Jellyfin 10.8 seems to be really efficient at transcoding but is not as polished as Plex.
I understand that running PMS on Linux is preferred but I only have one PC that has to stay windows based.

For clarification and better understanding… you’re asking about GPU support for HDR/SDR tone mapping? Because you can already use tone mapping on Windows if you have a sufficiently powerful CPU.

Im running an 8th gen intel cpu with a nvidia GTX 1070 . Jellyfin is tone mapping HDR to SDR perfectly using the igpu and Plex is transcoding with the nvidia card.

So… what’s your suggestion exactly?

I posted this topic (HDR-SDR tone mapping) in windows server feature request section. That’s my suggestion.

I don’t mean to be ignorant or rude. I just don’t understand the scope of your suggestion (but would like to).

You can already use HDR-to-SDR tone mapping (see the support article linked above).
On Windows there’s certain restrictions, e.g. no support to handle this mapping in the GPU. That’s why my first question was if THAT’s the scope of your suggestion… all your OP says is you want HDR-to-SDR tone mapping.

I could not get it to work on my system. I have tried. I have two 4k tvs and two 1080p tvs. The 4k tvs direct play no problem, but the two 1080p tv with roku ultras buffer. Honestly I can live with it inside my home, but my real issue is having my 88 year old parents with older roku’s trying to play content. I have fios so direct playing to them isnt a problem, the problem is calling me 50x a day to help them . Jellyfin works great for them but they have a hard time navigating the app so they always pull up Plex. I dont know maybe embly will work better for them.

So in your particular setup this is a mix of your CPU not being powerful enough to handle the HDR-to-SDR tonemapping and Plex not yet being able to handle the tonemapping through the iGPU or GPU?

Yes. Is their a way to run a docker container or virtual machine inside of win 10, load a linux variant with plex and ffmpeg inside the container then directly pass the transcoding info to the nvidia card? I thought about dual booting win/linux but if I need to do some work I would have to shut down plex if someone was watching .

Running your server in a docker container could work for your use case.

I have looked online but it seems no one has been successful in this type of setup. Technically, this should work since windows can separate the gpu’s

Here’s a couple of articles that may help. One uses Windows settings, the other Nvidia. Looks like you have to change things for both Plex Media Server.exe and PlexTranscoder.exe.

https://erik.ellsinger.me/how-to-use-integrated-graphics-for-plex-transcoding/

Thanks. I will check it out.

Question about this.

I have a JVC X790R (4K eShift, no tone mapping), fed by a Shield Pro pulling content from a PC-based PLEX server.

When we’re talking about HDR-to-SDR tone mapping, is this maintaining the HDR quality image delivered in an SDR signal, or is this crushing the dynamic range to SDR quality for viewing on a non-HDR display?

I recall a lot of discussions about using external tone mapping with my projector generation to solve its lack of tone mapping, but can’t recall if the solution was to watch HDR content in SDR, or to deliver HDR quality in an SDR container.

Is there any ETA when hardware accelerated HDR to SDR Tone Mapping will be available on Windows? I’m facing this problem now, and at the moment I only see the option of moving back to Ubuntu (which I would like to avoid at all costs) or move to another system like Jellyfin, where Intel QSV is working for HDR Tone Mapping under Windows.

I dislike both options and would like to have this supported by Plex. Jellyfin and Emby (I believe) already do. So it’s not really a Windows problem.

Also the Plex for Windows/Mac apps and web browsers already do internal tone mapping for transcoded HDR content. So how is this possible, while the Plex Media Server can’t do it?

5 Likes

It already works but only on nVidia. I tested it recently (Windows 10, Ryzen 1600 + RTX 2070S), Plex Media Server 64bit can do HDR → SDR tone mapping on NVIDIA GPU.

I tested it today on Windows 10, Intel i3 8100 + Intel UHD630 integrated GPU and Plex can not use Intel iGPU to do HDR tone mapping. I am waiting for this feature also, because if JellyFin can do HDR Tone Mapping with Intel iGPU on Windows, Plex should also be able to do it, no excuses.

1 Like

Yes, the nVidia support came with one of the latest updates. They made a few improvements regarding HW tone mapping since they made the move to 64 bit client architecture, which seems to be a requirement. That gives me hope that they are working right now on Intel QSV support for Windows.

As you say, Jellyfin can do it, so it should be possible for Plex to implement it too. I am looking hopefully at every new Beta Patch^^

1 Like

Could you give an explanation on how you managed to get HW tone mapping to work on Windows ? Cause it doesn’t work for me

You need to upgrade to 64-bit Plex Media Server. HW tone mapping currently only works with Nvidia GPU’s.

I am currently on Plex Media Server 64-bit, but somehow it doesn’t change anything…Is there any specific settings to turn on or off?