SUMMARY Currently there is no way for a third-party program to alter the image displayed on the screen under Wayland the way it was possible on X11 with e.g. Redshift. This means it is not possible to perform actions such as reduce the brightness below what the hardware supports, which is however fundamental with many displays as they are too bright even at their minimum setting. When trying to use gammastep, it complains that it can't do it; looking at the project's GitLab page (https://gitlab.com/chinstrap/gammastep) it says that it "supports the wlroots protocol for gamma adjustments, but several Wayland compositors do not support this protocol. GNOME and KDE have their own built-in mechanisms for adjusting color temperature on Wayland." Providing this support in KWin would make it possible to offer users better control over their setups and more options than what is currently available. Personally, I find that not being able to reduce the brightness further than what the hardware allows is a major deal breaker of Wayland as it makes staring at the screen painful. STEPS TO REPRODUCE 1. Launch gammastep from the terminal OBSERVED RESULT It complains that it cannot adjust the gamma. EXPECTED RESULT It works. SOFTWARE/OS VERSIONS Linux/KDE Plasma: Endeavour OS KDE Plasma Version: 6.5.3 KDE Frameworks Version: 6.20.0 Qt Version: 6.10.0 ADDITIONAL INFORMATION
No such application for gamma luts will ever be supported. It doesn't make any sense in a color managed world and has proven again and again and again to be the completely wrong approach on X11. Your actual request, software brightness, is something we had planned already. I didn't find an existing bug report about it though, so let's make this one about that.
Why is it the wrong approach? Literally all other platforms support it.
It's the wrong approach because apps use it for all sorts of bad ideas, from - doing night light without the required color management steps, making colors worse and inaccurate - applying custom "gamma" curves, again without taking color management into account - implementing brightness sliders in games (CS:GO did that, as a popular example, because SDL had (has?) an API for that) - applying custom "driver" options, like NVidia did Each and every one of these overwrites each other. In the X11 session, color management is completely unreliable because of that. You open the wrong settings page (KGamma), and just like that, your color calibration is gone. You open the Nvidia driver app, some game, same thing. Even output hotplugs mess it up on X11, because KWin and colord-kde race for adjusting night light and color calibration respectively... Iow, because of this API "decision" on Xorg, color management and night light both are completely unreliable there. That's to say nothing of HDR, which such an API just doesn't work for at all.
Thanks for the explanation. I understand your concern, however I feel like the vast majority of people do not care about colour management and colour calibration. The option to manage colour should be there, but I feel it shouldn't trump over other needs. To give you an example of a legitimate use for such an API: an application that automates changing the gamma in order to do the calibration (which brings us to the known Wayland issue "No way to change the gamma or manually adjust the colors without generating or finding an appropriate ICC profile"). I wonder if there is a way to allow for third-party apps to do night light and other things without breaking colour calibration entirely. Would it be possible to disable colour calibration when the apps are active, or impede the use of the apps if a colour profile is being used? I think the latter is what happens on Windows, as an example (but I might be wrong there).
Display profiling is in no way related to setting arbitrary LUTs on a display, and neither is configuring colors without an ICC profile. The fact that these problems have been "solved" in the most hacky and terrible way on Xorg is not an argument for copying that approach at all. This decision will not be changed, no amount of arguing will change that.