Parse DisplayID 2 HDR capabilities from panel EDID#266
Open
stappmus wants to merge 1 commit intohyprwm:mainfrom
Open
Parse DisplayID 2 HDR capabilities from panel EDID#266stappmus wants to merge 1 commit intohyprwm:mainfrom
stappmus wants to merge 1 commit intohyprwm:mainfrom
Conversation
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
vaxerski
reviewed
Mar 28, 2026
| return sign * INFINITY; | ||
|
|
||
| if (exp == 0) | ||
| return sign * std::ldexp(static_cast<float>(mant), -24); |
Member
There was a problem hiding this comment.
use sc<> instead of static_cast
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Problem
On an OLED panel reported as
LG Display 0x07C5, the compositor runtime saw:parsedBT2020 = falseparsedHDRMeta = falseparsedPQ = falseeven though
edid-decodeshowed HDR-relevant capability data in DisplayID 2.0:Because of that, downstream Hyprland treated the panel as SDR-only and HDR could not activate.
Root cause
The existing EDID parsing path did not surface the relevant DisplayID 2.0 HDR capability information for this panel.
The tested panel exposes HDR-relevant data in DisplayID 2.0 blocks including:
0x21for luminance information0x26for supported color space / EOTF combinationsFix details
In
src/backend/drm/DRM.cpp:0x21luminance data0x26BT.2020 / PQ capability bitsparsed.supportsBT2020parsed.hdrMetadataparsed.hdrMetadata->supportsPQValidated outcome
After this fix, downstream Hyprland sees the panel as HDR-capable and can activate HDR correctly on the tested OLED panel.
Tested hardware
LG Display 0x07C5Notes
This change is intentionally additive: it fills in DisplayID 2.0 capability data when the existing CTA-derived path does not provide it.