-
-
Notifications
You must be signed in to change notification settings - Fork 930
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
Support color management protocols #8715
base: main
Are you sure you want to change the base?
Conversation
ref #4933 |
I'd also mark this as draft |
Frog CM can be tested. Most of the gaming stuff https://wiki.archlinux.org/title/KDE#HDR should work the same. I use https://github.com/Zamundaaa/VK_hdr_layer Will only work with successfully parsed EDID and fullscreen applications. |
idek how to test it or how to spot the difference. Only piece of equipment I have with hdr is my laptop |
|
well then I can't test. My monitors are old, garbage TN panels. No HDR here. |
Nice work @UjinT34 I tried mpv and Silent Hill 2, they seem work. But I need to manually set I will try to compare the color with KDE later. EDIT: I was wrong, I don't need to enable desktop hdr. |
I confirmed it's working in MPV using the following demo: https://4kmedia.org/lg-new-york-hdr-uhd-4k-demo/ Log samples:
I tested the video simultaneously in Hyprland and i3, switching between them to compare on the same monitor (AG322QC4). With hyprshade disabled, there was a subtle but noticeable difference - the colors were more vivid on Hyprland. To verify, I relaunched it from the main branch and performed the same comparison. This time, I observed no difference compared to i3, confirming that the changes made to aquamarine and hyprland were successful. Well done @UjinT34 ! Regarding the last log entry in the sample, was |
Fixed it |
RESOURCE->self = RESOURCE; | ||
m_currentPreferred = RESOURCE; | ||
|
||
m_currentPreferred->settings = g_pCompositor->getPreferredImageDescription(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@UjinT34 g_pCompositor
was not declared in this scope
Describe your PR, what does it fix/add?
Add support for color management protocols xx-color-management-v4 and frog-color-management-v1. Will only store and pass color management properties. The actual CM should be implemented by someone else with means to verify that it works as expected. Passing hdr metadata without processing should be enough for fullscreen gaming.
experimental:wide_color_gamut
sets the colorspace toBT2020_RGB
. Might not be needed.experimental:xx_color_management_v4
enables both protocols. Requires restart.experimental:hdr
forces hdr in desktop mode. Will look weird without proper CM.Works only with correctly parsed EDID CTA-861 block. Will not work with hdr data from DisplayID blocks.
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
Mostly copied code from other protocols. Might mess with pointers, have some redundant stuff and miss some bits.
Tested only the frog protocol. Most of the clients support both or frog only and will choose frog by default.
Is it ready for merging, or does it need work?
Ready. Requires hyprwm/aquamarine#112