Rephrased the initial post a bit, so it should reflect the “easiness” of setting up HDR passthrough just with the settings found in the Plex settings menu.
Wrote a guide on how to refine the HDMI timings
=> [Windows] Tweak 24p for framedropless playback in Plex HTPC
Maybe it could be brought back to the Plex Players / Desktop Players thread? It was moved by mod to the “App & Tools” thread…
Any tips for getting Plex HTPC to toggle HDR on the correct monitor? Currently I believe it’s toggling the primary monitor (as selected in Windows settings) - which is wrong in my case. I have a multimonitor setup with an OLED TV - I’d rather not build a separate HTPC, or keep toggling my primary monitor back and forth.
Any tips or even hacks (:-D) are welcome.
I don’t have a method to specifically force Plex to toggle HDR on the secondary monitor, but as an alternate idea for you, I built a script using multimonitortool by nirsoft that does a monitor toggle (switches the primary monitor and disables the secondary) and I can also trigger it from a button on the homescreen of my phone using unified remote.
I find that this method, although technically still switching monitors, is fast and ensures that all apps correctly target the correct monitor without hassle. I also have a OLED tv connected and was having issues with games and other apps being inconsistent with windows buggy multimonitor support so I can still have multiple monitors connected but swapped on and off with the press of a button.
With the yearly Plex Fireside over and a possible teaser for a Plex HTPC change next year, I know it was said no “info yet” but may I ask if it can be already disclosed if it still features mpv as a playback engine and proper HDR passthrough? (= feature parity)
My question regarding this was left unanswered in the Fireside post…
I’m having some incredibly frustrating HDR issues with Plex HTPC. It happened long before the metadata pass through option and is still happening. It’s quite confusing but if you’re able to help at all Mitzsch or anyone from Plex I would greatly appreciate it. To be clear in all of these situations I have HDR switching and metadata pass through enabled and have also tried to add your fix to the config file, nothing worked. Though adding the options to the config file did stop the image from changing when switching audio (more on that below), and also made it so that sometimes the Windows HDR toggle gets stuck in the On position.
The problem is that depending on the source (I cannot find a common connection with the problems and the HDR format in mediainfo), HDR files display either too de-saturated, or too saturated. This problem doesn’t happen when played on a Blu-Ray player. Only on Plex. There seem to be “tricks” to make things look better/worse but nothing is reliable between sources. Ill try to explain the things Ive noticed that trigger/fix these issues but it’s complicated. First is the HDR toggle in windows. If I leave this toggle off and play “File A” it looks de-saturated when plex switches the toggle during playback. If File A looks de-saturated/blue I can stop playback, go back to the toggle and enable it BEFORE playback. After doing this the color seems to be fixed. If I do the same thing with File B it may have initially looked normal, but now that Ive enabled the HDR toggle BEFORE playback File B looks overly saturated/red. Ive also noticed that if I switch the audio during playback, it does the same thing and File A would appear normal and File B would appear over saturated. If after changing the audio I stop playback and play it again, File A goes back to de-saturated and File B goes back to normal. Another thing that Ive noticed that triggers it is if I have the HDR toggle on and File A normal and File B is overly saturated, then change any HDR settings on my TV (like click the current HDR mode I have set-up), it immediately reverts back to File A being de-saturated.
If these MPV config options set these options in stone, why is this metadata being read completely differently depending on whether or not I enable HDR ahead of time in windows or if I switch audio during playback? Of course the quality of my TV’s tone mapping comes into play and some of these issues could be caused by my TV. But if switching these options somehow completely changes things for the better for one file, and worse for another, and the same thing in reverse, how can I possibly know which problems are bugs and which are problems with my TVs ability to use this metadata? I’m aware that some movies might look better than others. But I have no idea which of these movies are poorly mastered in HDR and that’s why they look bad and which are properly mastered in HDR and look bad because of these bugs. Nor do I have any sort of reference monitor to check. I am absolutely lost and have no idea how to solve this. I’m aware of how convoluted this issue is so feel free to ask questions if you have the time to help me. Ive tried for years to get HDR working correctly in Plex to no avail and I’m slowly loosing my mind. I have exactly zero issues with SDR content of any kind. I’m running HTPC on Windows 11 with an NVIDIA gpu.
=> I answered your PM.
Edit1
Regarding Windows 11 24H2…
With Windows 11 24H2 there is a new feature introduced. It’s called “Automatic color management” or short “ACM” - it should allow the app to take control over color management (would explain the metadata behavior in window mode as described below) and on SDR displays it pretends HDR is enabled. This causes apps like Plex HTPC to get confused, as they think they are already in HDR mode. Turning this feature off fixes the problem of “not switching to HDR” and everything works as in older Windows versions.
Knowing about this feature and the easy fix and the other fix to the overlay makes Windows 11 24H2 a great upgrade!
The first post now has a note about this!
Caution: Windows 11 24H2 has a regression!
HDR switching is broken! => HDR switching broken in Windows 11 24H2?
Windows 11 24H2 also behaves differently regarding “forwarding” metadata.
When watching an HDR file and Windows is (manually) set to HDR some portions of the metadata are even forwarded in window mode. (min/max Lum and Colorspace/Whitepoint). Tested with mpv cli and Plex HTPC. This however is very buggy, sometimes it works, sometimes it does not, and sometimes all values (incl. maxCLL/maxFALL) are forwarded. Not very reliable. With Plex HTPC “experimental” HDR metadata passthrough, however, it works fine in any case - like on “older” Windows versions (so no regression there)
Windows 24H2 however does improve things…
The overlay bug I described here =>
It’s fixed with Windows 11 24H2 and the latest Nvidia driver. It is also fixed in Chromium-based browsers.
I also found a “fix” on older Windows versions (10 22H2 / 11 23H2). It’s fixed by adding --disable_direct_composition or --disable_direct_composition_video_overlays=1 (either of those does the trick) to the Chrome shortcut or the chrome.exe. (Can be checked under chrome://gpu and the “Command Line”)
Unfortunately, I have not found a way to set Chromium flags for Plex HTPC. The
“QTWEBENGINE_CHROMIUM_FLAGS” does not work with Plex HTPC in this regard.
Is it possible to “force” that flag or hardcode it into Plex HTPC and release it in a future update? (Or just upgrade to 24H2)
Any mechanism we have of passing flags into chromium are already exposed to the app’s CLI. Unfortunately, it seems the number of flags Qt’s Chromium engine reads is quite limited.
Ok, well that’s what I assumed… But knowing that upgrading to Windows 11 24H2 fixes the issue without some modifications to Plex HTPC is fine… I guess.
Just curious, does anyone know if there has been any progress with respect to native windows/mpv support for Dolby Vision. Is it just wishful thinking?
Probably just wishful thinking. DV is closed source; Windows and the GPU driver need to support it (might be possible?), but then comes mpv… and nope
Added a note to the first post about a breaking change (in regards to HDR passthrough) when using “upstream” / different then the shipped libmpv-2.dll
“Starting with build 2025-07-30 17:57 ( Release 2025-07-30 17:57 · mitzsch/mpv-winbuild · GitHub ) the libmpv-2.dll now includes the newly introduced “–target-colorspace-hint-mode” option. This defaults to mpv doing the tonemapping and not the display (= no metadata passthrough). To restore the old behavior, add target-colorspace-hint-mode=source to your mpv.conf!”
