Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable HDR #2

Open
MaartenBorsje opened this issue Apr 6, 2020 · 14 comments
Open

Disable HDR #2

MaartenBorsje opened this issue Apr 6, 2020 · 14 comments

Comments

@MaartenBorsje
Copy link

Is it possible to make an option to enable and disable HDR with this tool?

@kumowoon1025
Copy link

There's an option in System Preferences...? It is only available on post-2018 Macs with macOS 10.15.4+, and if you did not enable it, the default is SDR.

Or do you mean a way to control that option as a menubar item? Shouldn't be too hard if that's what you meant.

hdr-prefs

@MaartenBorsje
Copy link
Author

I know. But I have an 2017 MacBook Pro and I have the option. But it doesn't work properly.

@kumowoon1025
Copy link

For the internal monitor? Or an external one?

@MaartenBorsje
Copy link
Author

There is an button for my external monitor, but sometimes when the button is off the HDR is on on the monitor. This problem isn't there in Windows

@kumowoon1025
Copy link

There is an button for my external monitor, but sometimes when the button is off the HDR is on on the monitor. This problem isn't there in Windows

Yeah, with HDR macOS has been falling behind Windows quite a bit which is unusual for a color management-ish feature. But at the same time it makes the more precise distinction, between HDR, and WCG.

I'm confused as to what button you are referring to on the monitor. Is it a reference monitor (like a Sony BVM?) that has a button for choosing EOTF? Or do you mean like a button in the OSD, maybe titled "HDR Effect" or "HDR Mode"?

HDR capable displays usually switch its display mode based on whatever signal it is getting, if it gets HDR signal from the Mac, it'll be in HDR mode, if not, SDR.

If this is a consumer display panel and it has some kind of control for HDR, it's probably one of: an artificial filter that the display applies to the image to make the image look like HDR, usually not very well; an option to force HDR off and pretend to be an SDR only display so it doesn't get an HDR signal, possibly for a higher bit-depth SDR signal; and in rare cases, for high end "prosumer" panels, an option to choose the EOTF manually.

None of these are controllable by the Mac though, at least not with DisableMonitor. MonitorControl interacts with the actual display and its controller through auxiliary channels in the display cable connection, but DisableMonitor only controls the video signal sent out by the Mac.

@MaartenBorsje
Copy link
Author

It is an LG 27uk600 that's a consumerish monitor. It has an HDR function but it turns on by itself when connected to a 2017 15'' MacBook Pro. But not always. Somethimes when I click the button in de system-pref (macOS) it turns off and sometimes it only makes it less painful for the eyes.

It started since macOS 10.15.4

@kumowoon1025
Copy link

Are you saying the system preferences setting isn't sticking when you turn HDR off? Like it keeps enabling itself on its own? Or that the display keeps using its "Fake HDR" preset in its picture settings?

The HDR "turning on" (I assume you mean the little HDR bubble that shows up in LG panels) is normal if the display is getting an HDR signal. That can't be controlled, it has to be negotiated beforehand, so your Mac outputs SDR instead.

But the 2017 MBP pushing HDR video at all is surprising to me, I mean the Intel specs say they are capable of it but I remember they at WWDC they said 2018 and later models.

Anyway, if you do mean the system preferences option keeps getting enabled when you disable it, and it only happens when you have DisableMonitor running, then we'll have to take a closer look. Otherwise, I think you'll have better luck getting help at the apple user community forum or AppleCare, since the issue wouldn't be related to this app.

@MaartenBorsje
Copy link
Author

It looks like there is a bug in macOS that pushes a signal to lg monitors to turn on HDR. (sometimes it can be fixed by using de macOS settings but often not)

It all was a big surprise for me that an 2017 MacBook Pro has this issue because it's not supported according to apple.

I'm not saying the system preferences option keeps getting enabled. What I ment is, the HDR function on the monitor turns on. Then I go the the system references to turn on the HDR button. It turns on HDR (software wise) so the colors are good enough to read something. Sometimes when I click the button another time to turn it off the HDR function on the monitor turns off.

@kumowoon1025
Copy link

That is bizarre. You mean it pushes HDR, and the LG panel OSD says "Picture(HDR)" instead of "Picture" and everything? Or do you mean it makes it select the "HDR Effect" mode in color settings? Either way that sounds very strange, do try seeing if it happens with no display control programs running (MonitorControl also has a helper process make sure you quit that too)

@MaartenBorsje
Copy link
Author

Yes it is bizarre. No it doesn't push HDR visuals. It pushes a signal that turn on the HDR in the monitor OSD. After that the monitor OSD is locked and I can't change it.

I gonna try it without monitor control. Other things I tried are resetting the NVRAM, using the monitor with and without the cal digit ts3+ and I tried a system reboot.

@kumowoon1025
Copy link

That sounds like it is pushing a HDR signal. All the picture options (or almost all) are disabled with HDR10 because it's adjusted dynamically by the signal. I think brightness is the only one left you can adjust, but even that should be kept to a minimum.

Sorry for being so skeptical, but if you could upload a quick snap of the Picture settings tab in the OSD I'd be able to understand what you are describing, because the only way to turn on HDR proper in the monitor is to push HDR signals to it.

Or there could possibly be some new DDC/CI command that selects the "fake HDR" mode in the preset list that's not being handled well by MonitorControl properly and it's hiding the OSD by locking it.

@MaartenBorsje
Copy link
Author

IMG_1803
IMG_1802

@kumowoon1025
Copy link

Oh, okay. The choices are different when in SDR mode right? The display is in HDR mode. So basically you're saying this happens even when the setting is unchecked in system preferences sometimes, and the color mapping improves when you turn it on or on and then back off? Really a murky area, I'm ambivalent as to what needs fixing and where.

First is that series of controllers used in LG's panels, it is very terse in its replies when asked about its status or capability. (A query on luminance levels/limitations would be relevant here, and I'd bet that the display doesn't give a full/accurate reply). LG tech support is really hit and miss, sometimes you get the attention of the team, or at least one of its developers that maintain firmware/driver for the ultra wide monitors and they literally upload a fix for the issue you open a ticket with like some dedicated enterprise customer support. Sometimes I don't even get a reply. If the unit is under warranty, or if you have a support plan from them, I'd definitely ask LG for accurate reporting in VCP responses.

Or, what more commonly ends up happening is the units become infamous in their lack of reliable info in their DDC communications, and workarounds are incorporated into the app or library, but this has to be done on a model number by model number basis. But now that 10.15.4 is out of beta, I'm sure more people with a setup similar to yours could confirm the problem, and an update to a component of monitor control could fix the issue.

If it turns out that the issue happens whether or not you have apps that interface with the display separately from macOS running or not, that is the most cumbersome case, you could override the detected display mode using "EDID override" generator scripts you can find online, but this requires the whole disable SIP, edit System folder, reenable SIP dance. Or, this app could be extended, as in your original suggestion, to control the HDR toggle in system defaults, but this would just be a shortcut to going into System Preferences to manually toggle the checkbox to make things look right (same mechanism, CGDisplayMode)

On the other hand, if you wait for Apple to come up with a fix, that's the simplest approach, but you may be left waiting for a while. Do try different combinations of things I've suggested, like DisplayPort vs HDMI cable (that display only has DP1.2 so that might make it stop activating HDR) and enabling "extended" free sync, intel graphics usually don't do HDR and adaptive refresh at the same time, so that could also disable HDR. If there's any super resolution or similarly titled options, turn chroma subsampling off with those, and that might impose a bandwidth limit to make HDR impossible.

@epalzeolithe
Copy link
Owner

Sorry, i dont have yet HDR, so no way to test anything

I suggest to explore the framework, if you find how to change HDR, we can add it (https://developer.apple.com/documentation/coregraphics/quartz_display_services?language=objc)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants