pop-os / cosmic-epoch

Next generation Cosmic desktop environment
2.93k stars 80 forks source link

[BUG/FEATURE] Support applying icc profiles for color management #411

Open rtoscanelli opened 3 months ago

rtoscanelli commented 3 months ago

Hi! I am experiencing oversaturared colors on my entire screen. I can only use Cosmic if something similar to what KDE did into KDE Plasma 6 would be implemented: Backend drm color management support.

I think that something like this is also being developed under Gnome Mutter.

I figure that this is something super needed for everyone that has a high color gamut display like in my case. Without any kind of support it will be impossible to use this DE (Videos are unwatchable, faces are super orange, there are super vibrant colors everywhere which cause eye fatigue, etc... At least in my case).

My display: 16" 3.2K (3200 x 2000), Mini-LED, Glare, Touch, HDR 1000, 100% Adobe RGB, 100%DCI-P3, 1200 nits, 165Hz, Glass from Yoga Pro 9 Gen 9.

Is this being consider to be implemented? Thanks in advance.

mmstick commented 3 months ago

I'm using a 4K MiniLED HDR1000 display, and besides lack of HDR support, I'm not seeing any issues with color saturation. Could be there some settings in your display that fix this for the time being?

Drakulix commented 3 months ago

Will be implemented once we flesh out our HDR story. (Which will still take some time.)

rtoscanelli commented 3 months ago

I'm using a 4K MiniLED HDR1000 display, and besides lack of HDR support, I'm not seeing any issues with color saturation. Could be there some settings in your display that fix this for the time being?

My display is from the laptop itself so there is not an external solution/adjustment to do. I tried Gnome, KDE, Hyprland, Sway, i3wm, and by default the colors are way to saturated which makes my laptop unusable in Linux.

What I could do was on KDE 6 by going to Display & Monitor > Color Profile and load an ICC that I found on reddit and the display is now usable with good colors (not oversaturated). This is what KDE implement a few months ago, and so far it is the only DE/WM that can support this...

rtoscanelli commented 3 months ago

Will be implemented once we flesh out our HDR story. (Which will still take some time.)

The same way as in KDE Plasma 6? (I believe that they did the proper wayland way). If so, yeah no worries about the time. It is something to be developed before the first final release of Cosmic?

Drakulix commented 3 months ago

Will be implemented once we flesh out our HDR story. (Which will still take some time.)

The same way as in KDE Plasma 6? (I believe that they did the proper wayland way). If so, yeah no worries about the time. It is something to be developed before the first final release of Cosmic?

There is no proper wayland way, as that is still in active development: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/14

Support for different color spaces and thus HDR output and also ICC profiles can be done independently from client support and will not work exactly the same as KDE. (It can't our stacks are widely different.) But it will provide a very similar visual result.

Note that we are in actively collaboration in this space with other parties/desktops/companies. Be that contributing to the protocols, discussing the kernel stack, sharing implementations and reaching a mutual understanding of the issues and challenges at hand.

It is something to be developed before the first final release of Cosmic?

If you are asking about the first non-alpha/beta release (which I wouldn't call final, development will continue), we hope so, but I can't make any promises.

rtoscanelli commented 3 months ago

Support for different color spaces and thus HDR output and also ICC profiles can be done independently from client support and will not work exactly the same as KDE. (It can't our stacks are widely different.) But it will provide a very similar visual result.

I don't understand what is the problem with these kind of displays, I only know that the KDE solution is the best (if not the only) one so far. I hope that your solution also supports this, fingers crossed!

If you are asking about the first non-alpha/beta release (which I wouldn't call final, development will continue), we hope so, but I can't make any promises.

I meant the really final version (after the beta). I understand that it might not be available in the alpha or beta, but if it is I hope to test it and to contribute with feedback if necessary.

If you can, do you know what is causing this issue and what is the best solution (either if it is a Wayland, or DE thing)?

Drakulix commented 3 months ago

If you can, do you know what is causing this issue and what is the best solution (either if it is a Wayland, or DE thing)?

The issue is simply, that your display is interpreting colors in a certain (unusual) way. What the ICC profile does is account for this difference and encode color values send to your display, so they appear as expected.

However cosmic-comp/Gnome/sway/etc at the moment simply lack code to do this. And color is highly complicated and also opinionated, which is why this is taking so long over the whole stack. This has nothing to do with Wayland specifically, but with how your display hardware works.

rtoscanelli commented 3 months ago

I see... Since this is such a debate what is your vision about this? Do you have any idea if and how will you implement this?

Drakulix commented 3 months ago

I see... Since this is such a debate what is your vision about this? Do you have any idea if and how will you implement this?

No this is simply a matter of time and resources, there is no debate. Yes, I have a pretty good idea how this will work in cosmic.

rtoscanelli commented 3 months ago

Ok, thanks for your answer. I'm hoping I can use Cosmic. Fingers crossed!

James-Mat commented 2 months ago

I'll also be eagerly awaiting color profile and HDR support. I rely on LUTs a lot for my work in colorimetry, and native support on Linux has been lacking for quite some time. I'm really glad to see the current advances on this!

@Drakulix is there anywhere where I could follow the progress on this in cosmic specifically?

Drakulix commented 2 months ago

@Drakulix is there anywhere where I could follow the progress on this in cosmic specifically?

Since nothing on this subject has started: no. There will probably be an open PR at the cosmic-comp repo once implementating this feature has begun.