r/kde • • 7h ago

Question KDE 6.8 Color Management

KDE 6.8 mentioned full support for ICC profiles. With KDE 6.8 going all in on Wayland and eliminating the X11 session entirely, how are the KDE devs adding full color management support? In Gnome 51, I used DisplayCal to calibrate my laptop display to sRGB. When I apply the ICC profile, it only adjusts the white point. It doesn't apply any color calibration. How does KDE 6.8 get around this?

16 Upvotes

26 comments sorted by

•

u/AutoModerator 7h ago

Thank you for your submission.

Consider donating to KDE and help the project thrive!

The KDE community supports the Fediverse and open source social media platforms over proprietary and user-abusing outlets. Consider visiting our community on Mastodon (Lemmy will be back shortly). Tag us in your toots! You can also visit our forum at KDE Discuss to talk about KDE stuff, brainstorm ideas and get the answers to your KDE-related issue.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

13

u/bargu 6h ago

I don't know what Gnome is doing, but KDE is not getting around anything, they have Color Management Protocol implemented which is part of Wayland.

7

u/treeco123 6h ago

What's wrong with ICC profiles? I've never used them, my monitor seems fine, but I was under the impression that they do exactly what you're asking for, although tools for easily creating them were lacking. (Hence, https://blog.davidedmundson.co.uk/blog/wayland-and-kgamma/ )

I also saw a post saying they help for colourblindness assistance https://redd.it/1wjgqee

I thought it was a solved problem.

1

u/Weary-Savings9795 5h ago

I have an Asus Vivobook laptop with a factory calibrated OLED display. My colorimiter is an Xrite iDisplay1 Pro. I've compared Asus's sRGB profile in Windows 11 with an sRGB profile I created in DisplayCal under Fedora 45 with Gnome 51. In Windows 11, Asus's sRGB profile applies full screen color correction everywhere. In Fedora 45, only the white point changes. Colors are still massively oversaturated.

1

u/ropid 5h ago edited 5h ago

Hmm, it works here for me. The oversaturation gets corrected for normal programs, they display sRGB colors instead of the oversaturated colors of my monitor's native color space.

Maybe something went wrong when you created the color profile with DisplayCal? Things are annoying to use because DisplayCal can't control what the Wayland compositor is doing so you have to manually make sure there's no color profile loaded.

Also, besides making sure that the compositor is doing nothing to the colors, when you use DisplayCal, you'll want to completely disable the calibration step by setting things to "as measured" there, so that it only does the profiling step where it measures the color space of your monitor. That's the only thing needed by KDE in the ICC profile file. This will also finish a lot faster than calibration, the calibration step is a lot slower than the profiling step here for me.

EDIT:

I just realized you were talking about the Gnome desktop and not KDE. When I mentioned that things work for me, that's about KDE. It worked fine already with the first Plasma 6 release in 2024 with regards to oversaturation and forcing things into sRGB color space, not just since 6.8.

I think what was added since then is protocols for programs to be able to ask for a different color space than sRGB. I have no idea if any program can already use those color protocols but a few days ago I stumbled onto this tool here: https://github.com/dedenholm/wayland-cm-shim/.

7

u/K900_ 7h ago

Wayland is a protocol, GNOME and Plasma have two completely separate implementations of it, so it makes no sense to compare the two as if there's a fundamental Wayland limitation.

-6

u/Weary-Savings9795 6h ago

It's well known that it is a Wayland limitation, so if KDE fixed this Wayland limitation then why aren't they making their fix available to the Wayland developers?

8

u/K900_ 6h ago

"Well known" by who exactly? Do you have a reference?

-2

u/ldn-ldn 5h ago

Wayland does not support proper colour management at protocol level. It does not allow applications to specify any known or custom colour space for a specific rectangle/window on a screen, and it does not allow direct unmodified access to native colour space of a monitor. That means that running any colour calibration software under Wayland will produce incorrect results. And applying any ICC profile will produce incorrect results too.

7

u/Zamundaaa KDE Contributor 4h ago

 It does not allow applications to specify any known or custom colour space for a specific rectangle/window on a screen

Contrary to X11, it does allow that...

 it does not allow direct unmodified access to native colour space of a monitor

Yes, because that's nonsense for 99% of apps that just causes tons of problems.

 running any colour calibration software under Wayland will produce incorrect results

No, it just means that, until there's a protocol to make profiling (not calibration) nicer, you need to manually disable things that modify colors. It was no different on Xorg, if you had night light or whatever enabled, profiling didn't work correctly either.

0

u/ldn-ldn 4h ago

Yes, because that's nonsense for 99% of apps that just causes tons of problems.

That's not nonsense, that's a hard requirement for colour accurate apps which do their own colour management, like Davinci Resolve.

Apps can be split into three categories:

  • Non colour aware (legacy, most apps which just render GUI widgets). Must default to sRGB (with manual override for advanced users).
  • Managed colour aware (most "consumer" apps which care about colour accuracy, but prefer to rely on OS capabilities, like image viewers, media players, and browsers). Should be able to tell compositor which colour space they want for every rectangle they paint and compositor should do the rest.
  • Unmanaged colour aware (professional apps which do their own colour management, from photo/video editors to colour calibrators). Should get direct access to monitor colour space without any and all interference from the compositor. Also used by many games on Windows to improve performance.

In a perfect world, compositors should also have additional settings for advanced users to tweak different parameters of known colour spaces, like EOTF (sRGB, Gamma 2.2, Gamma 2.4, etc. For example, I want to enforce Gamma 2.4 EOTF for Rec.709 content to match original intent), contrast ratio/dynamic range (I want to be able to preview SDR content with a reference 400 : 1 contract ratio, modern IPS 1,000 : 1 contrast ratio and cinema 2,000 : 1 contrast ratio), white point (d60, d63, d65, etc), and black point compensation for bright environments.

2

u/Zamundaaa KDE Contributor 1h ago

that's a hard requirement for colour accurate apps which do their own colour management

It is not, and never has been. The VCGT tag in ICC profiles breaks that "hard requirement" for example.

Apps can target the preferred colorspace of each window to minimize color transformations, which is closer to "pass-through" than what you can get with Windows ACM.

Also used by many games on Windows to improve performance

That would break lots of basic operating system features, like brightness control or white point adjustments... for no actual performance gains on 99% of common hardware.

1

u/ldn-ldn 30m ago

OS should NOT control anything in a "pass through" mode, that's the whole point of it. The way KDE handles HDR, for example, is complete bloody nonsense totally incompatible with colour accurate work.

1

u/ropid 4h ago

There's nowadays a Wayland color protocol that does exactly that, that allows a program to tell the compositor what color space its window is in. But I don't know if there's already any program that makes use of this protocol.

About creating an ICC profile file that's good for kwin, you'll want to set the color profile to "none" in the KDE display configuration, then in DisplayCal set the calibration step to "as measured" which will cause DisplayCal to just do profiling of the color space of the monitor. The result from that is then good for use in KDE's display configuration color profile entry.

kwin will by default assume that programs are using sRGB color space and the programs that can use the Wayland color protocol will be able to ask for something else.

Here's a link to the Wayland protocol for this (it's pretty new, I think):

https://wayland.app/protocols/color-management-v1

0

u/ldn-ldn 4h ago

This protocol is a step in a right direction, but it is still in staging and, knowing how it takes decades to do anything useful by Wayland team, I don't expect it to ship in the next five years.

So my initial point still stands - as of today Wayland is unusable.

As for calibration - there should be no need to disable any profiles, there should be an API to access monitor directly. Like it's done in Windows ACM. Colour Management protocol should also be able to support that through create_parametric_creator.

3

u/gmes78 4h ago edited 3h ago

but it is still in staging

That doesn't mean anything.

knowing how it takes decades to do anything useful by Wayland team, I don't expect it to ship in the next five years.

It's already fully supported in GNOME, Plasma, and a few other implementations.

So my initial point still stands - as of today Wayland is unusable.

Wrong.


Edit: if /u/ldn-ldn knew what they're talking about, they would substantiate their claims, and not block me to prevent me from replying, like a coward.

0

u/ldn-ldn 4h ago

You are wrong. Sorry, mate.

1

u/BashfulMelon 5h ago

Sounds like a GNOME bug. Have you looked into filing a bug report, or seeing if others are having similar problems?

Wayland compositors use the color management protocol https://wayland.app/protocols/color-management-v1

1

u/FattyDrake 5h ago

DisplayCal doesn't work properly on Gnome either. You can get it to work under KDE following this blog post from Zamundaaa:

https://zamundaaa.github.io/wayland/2024/07/16/how-to-profile.html

It's kind of a janky method, but there's also a simple native Wayland KDE color profiler he made:

https://invent.kde.org/zamundaaa/displayprofiler

1

u/AccomplishedHelp1880 2h ago

KDE Plasma gave a real crappy "warm" colour on my Framework 16 Laptop. And at that stage it had no adjustability in a normal way. I downloaded a row of ICC profiles and the best was actually AdobeRGB1998. So, yes. Trying to adjust the colour balance for your Display in KDE is a major pain in the a$$.

1

u/Zamundaaa KDE Contributor 1h ago

KDE 6.8 mentioned full support for ICC profiles

The new thing is support for ICC profiles in HDR mode specifically. I implemented ICC profile support for SDR mode in KWin about 3 years ago.

-7

u/ldn-ldn 6h ago

Don't use Linux for any critical colour accurate work. Wayland "colour management" is a joke.

2

u/Weary-Savings9795 5h ago

I mean, I'm not doing photo editing or anything like that, but I hate my laptop's oversaturated colors about as much as my LED TV's default Vivid mode. It's that bad.

0

u/ldn-ldn 5h ago

Well, we live in a world where consumer monitors have wide gamut support for the last decade and HDR monitors are becoming a norm. Yet Wayland + KDE/GNOME are doing to colour management what Microsoft was doing in 1990-s. Somehow Microsoft got a lot of shit for improper colour management back then, yet I'm getting downvoted today for valid criticism of "Linux" today, lol.

If you don't want your monitor to look like shit - use Mac/Windows. Better yet - start opening tickets in Wayland/KDE/GNOME bug trackers to fix the shit they made together. Otherwise it will take ten more years for them to realise and fix that mess.

2

u/gmes78 4h ago

Please stop making up bullshit.

0

u/ldn-ldn 4h ago

The only one making up bullshit here is you, kiddo.