https://bugs.kde.org/show_bug.cgi?id=515438

            Bug ID: 515438
           Summary: Interface bugs when enabling Wayland colour management
                    on KDE Plasma 6.5
    Classification: Applications
           Product: krita
      Version First git master (please specify the git hash!)
       Reported In:
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Color Selectors
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Created attachment 189173
  --> https://bugs.kde.org/attachment.cgi?id=189173&action=edit
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.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to