Created attachment 189173 [details] ICC profile of my monitor. SUMMARY On KDE plasma 6.5, when setting an ICC profile in the operating system, this appears to be incorrectly applied to Krita in addition to the built-in colour management. This means colours are desaturated and it is impossible to display colours outside the sRGB range. A partial fix to this problem appears to have been merged: https://invent.kde.org/graphics/krita/-/merge_requests/2457 Unfortunately, the fix has some problems. If I build the latest Krita from Git (hash: 1f7690e), and enable Wayland colour management with environment variables, this fixes the *canvas* colours. However, the Wide Gamut Colour Selector widget appears to display colours inconsistently, and still appears to be interpreted by the operating system as an sRGB surface. Additionally, when investigating this, I discovered that switching canvas tabs in Krita with these environment variables set does not allow you to switch away from the most recently opened tab. If you click on the image, it jumps back to the most recently opened tab. STEPS TO REPRODUCE 1. Use a version of Krita compiled after the merging of https://invent.kde.org/graphics/krita/-/merge_requests/2457, and a version of KDE Plasma which supports ICC profiles (6.3+) 2. Set a system ICC profile in the KDE Plasma settings under Display & Monitor -> Display Configuration. Ideally this should be noticeably different from sRGB. (Keep this open to change the 'sRGB colour intensity slider' later.) 3. In Krita Settings -> Colour Management -> Display, set Krita's colour management to use the same ICC profile as step 2. 4. Open the Wide Gamut Colour Selector widget. 5. Launch Krita with no environment variable - this is a base case for comparison. 5a. Create an sRGB image. Fill it with red. 5b. Create an image in your monitor's colour space. Fill it with the brightest red on the Wide Gamut Colour Selector. 5c. Change the 'sRGB color intensity' slider in the KDE Plasma settings. Look at both the canvas and the Wide Gamut Colour Selector. 5d. Try to switch between different tabs. 6. Relaunch Krita with the environment variables `KRITA_USE_NATIVE_CANVAS_SURFACE=1 QT_QPA_PLATFORM=wayland`. Repeat the tests in step 5. OBSERVED RESULT In canvas (a, b): - Without environment variable: sRGB colours are overly desaturated. The monitor colour space appears to be sRGB. Changing the 'sRGB colour intensity' slider changes colours in Krita, even though they're not supposed to be sRGB. - With Wayland colour management enabled: sRGB colours are correct. The full monitor gamut is available. Changing the 'sRGB colour intensity' slider does not change the colours in the canvas. Changing tabs with Wayland colour management (d): Clicking on tabs does not switch to another canvas, though it does update other widgets (e.g. layers, colour selector). Trying to edit the displayed canvas will switch the active tab to the most recently opened canvas. The only way to return to another canvas seems to be to close the tab. Wide gamut colour selector with Wayland colour management, for an image in the monitor's colour space (c): With sRGB colour intensity = 0, the outer ring does not use the full monitor gamut. When changing 'sRGB colour intensity' in KDE, the inner triangle clips and becomes oversaturated. EXPECTED RESULT In canvas: Seems to be correct with Wayland colour management enabled, hopefully at some point this won't require an environment variable. Changing tabs: Should be able to change tabs with Wayland colour management enabled. Wide Gamut Colour Selector: The colours in the Wide Gamut Colour Selector should match the colour space of the image being edited. Changing the 'sRGB colour intensity' slider in KDE Plasma should not change the colours in the Wide Gamut Colour Selector. I believe this is an indication that some information about this surface is still not being set correctly. SOFTWARE/OS VERSIONS Linux/KDE Plasma: KDE Plasma Version: 6.5.5 KDE Frameworks Version: 6.22.0 Qt Version: 6.10.2 Kernel Version: 6.18.8.3-cachyos (64bit) Graphics Platform: Wayland ADDITIONAL INFORMATION See attachment for the ICC profile I'm using.
> In Krita Settings -> Colour Management -> Display, set Krita's colour management to use the same ICC profile as step 2. In legacy XWayland mode you should **not** select real display profile in Krita settings, you should select standard sRGB profile. That is necessary because Wayland refused to do pass-through mode for the legacy/professional apps. > Clicking on tabs does not switch to another canvas, though it does update other widgets (e.g. layers, colour selector) Yes, this bug I confirm > Wide gamut colour selector with Wayland colour management, for an image in the monitor's colour space (c): Yes, this I confirm as well, the Wide Gamut Color Selector works in sRGB space
I have moved the wide-gamut selector issue into a separate issue: https://invent.kde.org/graphics/krita/-/issues/67 We will not be able to resolve it before 6.0.0 is released. So this bug now is only about the MDI widnows.