Public API for system-wide SDR luminance control on built-in XDR?

I am investigating whether a macOS display utility can adjust the luminance of normal SDR desktop content system-wide, including other apps, on the built-in Liquid Retina XDR display of a 2021 M1 Max MacBook Pro.

Is there a documented public API, or combination of public APIs, for this scope? The research target is SDR white around 1000 cd/m² while retaining HDR highlight capability, where supported by the hardware and OS. This is a feasibility question, not a claim that this output has been achieved or is supported.

The approach must preserve OS color management and respect thermal, power and brightness limits, including protective dimming. I am not seeking gamma-table changes, screen capture and HDR re-display, private APIs, or bypasses of system protections.

I understand that enabling EDR for an app's own layer is different from controlling ordinary SDR content in other apps. I am specifically asking about the latter.

If this is supported, could you point to the API names, primary documentation, applicable macOS versions and hardware limitations? If it is not supported through public APIs, an explicit clarification would also be helpful.

Answered by DTS Engineer in 909276022

Thanks for defining the scope so precisely. Your distinction matches the API: the EDR opt-ins, such as wantsExtendedDynamicRangeContent on CAMetalLayer, are properties of the layers your app creates.

I don't see a public API, or combination of public APIs, that adjusts the luminance of SDR content in other apps. The extended dynamic range properties of NSScreen are read-only. The documentation describes maximumExtendedDynamicRangeColorComponentValue as "The current maximum color component value for the screen." The other two, maximumPotentialExtendedDynamicRangeColorComponentValue and maximumReferenceExtendedDynamicRangeColorComponentValue, also report values rather than set them.

Please file an enhancement request using Feedback Assistant that describes the control your utility needs. If you file the request, please post the Feedback number here so I can make sure it gets routed to the right team.

Please note that filing an enhancement request does not guarantee Apple will add any requested functionality to Apple products in the future. However, with that said, filing an enhancement request is a good way to get your ideas in front of the folks who make decisions about that sort of thing.

If you're not familiar with how to file enhancement requests, take a look at Bug Reporting: How and Why?

Thanks for defining the scope so precisely. Your distinction matches the API: the EDR opt-ins, such as wantsExtendedDynamicRangeContent on CAMetalLayer, are properties of the layers your app creates.

I don't see a public API, or combination of public APIs, that adjusts the luminance of SDR content in other apps. The extended dynamic range properties of NSScreen are read-only. The documentation describes maximumExtendedDynamicRangeColorComponentValue as "The current maximum color component value for the screen." The other two, maximumPotentialExtendedDynamicRangeColorComponentValue and maximumReferenceExtendedDynamicRangeColorComponentValue, also report values rather than set them.

Please file an enhancement request using Feedback Assistant that describes the control your utility needs. If you file the request, please post the Feedback number here so I can make sure it gets routed to the right team.

Please note that filing an enhancement request does not guarantee Apple will add any requested functionality to Apple products in the future. However, with that said, filing an enhancement request is a good way to get your ideas in front of the folks who make decisions about that sort of thing.

If you're not familiar with how to file enhancement requests, take a look at Bug Reporting: How and Why?

Thank you for the clarification and for offering to help route the request.

I have submitted the enhancement request as FB25178506, titled:

"macOS enhancement: Public API for color-managed, system-wide SDR reference-white luminance on XDR displays".

Thank you for helping route it to the appropriate team.