Bug 439947

Summary: Advanced colour selector shapes (triangle square and circle) disappear on using "Use system monitor profile" with LCMS optimisations [git 9d832b4]
Product: [Applications] krita Reporter: Raghavendra kamath <raghu>
Component: Color SelectorsAssignee: wolthera <griffinvalley>
Status: RESOLVED FIXED    
Severity: normal CC: amy, griffinvalley, lynx.mw+kde, tysontanx
Priority: NOR    
Version: nightly build (please specify the git hash!)   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Screenshot showing the invisible color selector area
ICC Profile used to trigger the bug

Description Raghavendra kamath 2021-07-16 12:43:43 UTC
Created attachment 140115 [details]
Screenshot showing the invisible color selector area

SUMMARY

In the recent Krita 5.0 pre-alpha nightly AppImage builds the shape from which we select the colour inside the advanced colour selector disappears as soon as the new document is created. I can move around and select colour but the shape and colour gradient is not shown.

I am attaching a screenshot to show the problem.

Operating System: Arch Linux
KDE Plasma Version: 5.22.3
KDE Frameworks Version: 5.84.0
Qt Version: 5.15.2
Kernel Version: 5.12.15-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 8 × Intel® Core™ i7-4790K CPU @ 4.00GHz
Memory: 31.3 GiB of RAM
Graphics Processor: NVIDIA GeForce GTX 750 Ti/PCIe/SSE2
Comment 1 Raghavendra kamath 2021-07-19 09:59:02 UTC
A few new important findings in narrowing this bug down.

Steps to reproduce:
- Check "Allow LCMS optimizations" in the colour management section and then in the display tab check "Use system monitor colour profile"
- You will need your display to be using a calibrated colour profile in colord-KDE in system setting 

Now check the advanced colour selector after restarting Krita
Comment 2 Lynx3d 2021-07-29 10:01:35 UTC
When going through all the alpha handling of LCMS again, I realized I hadn't properly fixed the issue the first time. And I also think I found another alpha bug, I'm not sure if we are likely to encounter it, but I of course I tried to fix that too.

I submitted a pull request for LCMS:
https://github.com/mm2/Little-CMS/pull/271
Comment 3 Tyson Tan 2021-08-18 10:02:31 UTC
This bug happens to me too. I cleared all settings and resource before switching to Krita 5.0 Plus nightlies. As soon as I checked "Use system monitor color profile", this bug happened.

However, a few details are different on on my machine:

1) Upon starting up Krita + before opening any document, the Triangle inside Advanced Color Selector is being shown. Although it is greyed out, I can still see the color to be NOT color-managed.

2) I can still use the Square version of Advanced Color Selector without unchecking "Allow LCMS optimizations".

3) This bug has been around FOREVER in Krita 5.0 branch. I encountered it way earlier than July. I was hoping it'll get fixed because it was so "obvious" but now Krita 5.0 is approaching...I wonder anyone in the team has been color managing their displays? :P

BTW thank you Raghavendra for finding out a workaround, I had no idea what caused it and was about to revert back to Krita 4.4.7. lol

Tested with:
krita-5.0.0-beta1-80175b4-x86_64.appimage

Operating System: Arch Linux
KDE Plasma Version: 5.22.4
KDE Frameworks Version: 5.85.0
Qt Version: 5.15.2
Kernel Version: 5.13.10-arch1-1 (64-bit)
Graphics Platform: X11
Processors: 16 × Intel® Core™ i9-9900KF CPU @ 3.60GHz
Memory: 62.8 GiB of RAM
Graphics Processor: Radeon RX 590 Series
Comment 4 Tyson Tan 2021-08-18 10:05:02 UTC
Created attachment 140815 [details]
ICC Profile used to trigger the bug

The profile was made using DisplayCAL (ArgyllCMS backend). Maybe it'll provide some clues?
Comment 5 Tyson Tan 2021-08-18 10:16:12 UTC
Tested under Window 10 (21H1) too, it has the same issue.
Comment 6 amyspark 2021-09-11 14:48:44 UTC
(In reply to Raghavendra kamath from comment #1)
> A few new important findings in narrowing this bug down.
> 
> Steps to reproduce:
> - Check "Allow LCMS optimizations" in the colour management section and then
> in the display tab check "Use system monitor colour profile"
> - You will need your display to be using a calibrated colour profile in
> colord-KDE in system setting 
> 
> Now check the advanced colour selector after restarting Krita

Can you check if https://invent.kde.org/graphics/krita/-/merge_requests/1045 fixes this?
Comment 7 amyspark 2021-09-14 14:44:24 UTC
Git commit 565c618bb0e0b18716e5b4637e5186d703c41f92 by L. E. Segovia.
Committed on 14/09/2021 at 14:43.
Pushed by lsegovia into branch 'krita/5.0'.

LittleCMS: fix linearity check for 32-bit and floating point RGB
Related: bug 442004, bug 437429

(cherry picked from commit 411297e62feb2d04c38182e2e5f3cab8361db46c)

M  +5    -5    3rdparty/ext_lcms2/0001-Add-cmake-build-system.patch
M  +3    -3    3rdparty/ext_lcms2/0002-Quick-check-for-SSE-support.patch
M  +4    -4    3rdparty/ext_lcms2/0003-Separate-fast-float-plugin.patch
A  +27   -0    3rdparty/ext_lcms2/0004-Linear-RGB-also-comes-in-32-bit-and-floating-point.patch

https://invent.kde.org/graphics/krita/commit/565c618bb0e0b18716e5b4637e5186d703c41f92
Comment 8 Tyson Tan 2021-09-15 04:12:49 UTC
Thank you Amy, I think it's fixed now! :D