Bug 500295

Summary: Color profile option "Built-in" does not work anymore
Product: [Plasma] kwin Reporter: talmusoyde
Component: colour-managementAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: kdedev, muhammedbatuhanbayram, nate, xaver.hugl
Priority: NOR Keywords: regression
Version First Reported In: 6.3.0   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description talmusoyde 2025-02-18 04:21:45 UTC
First reported on Reddit, Zamundaaa replied to my post. Reply: "I added some safety checks to make sure the built in color profile is sane; maybe they're too restrictive. Please make a bug report for KWin about this, and attach the EDID of the screen there."

Summary: By default, KDE Plasma uses "None", which in my laptop makes the colors appear undersaturated. In Plasma 6.2.5, I noticed that by using the option "Built-in" it made the colors appear normal compared to my iPhone. So after I upgraded to Plasma 6.3, I noticed both options look exactly the same.

My laptop is Acer Nitro AN515-57. I tried looking for an ICC profile on the internet but I couldn't find it. On Fedora 41, running Wayland.

I don't really know anything about EDID so I asked ChatGPT to provide commands to get it, so I think this is it:

edid-decode (hex):

00 ff ff ff ff ff ff 00 06 af 90 af 00 00 00 00
08 1e 01 04 a5 22 13 78 03 3e 85 91 56 59 91 28
1f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 34 8a 80 a0 70 38 64 40 6c 30
35 00 58 c1 10 00 00 18 dc 37 80 a0 70 38 3e 40
6c 30 35 00 58 c1 10 00 00 18 00 00 00 fd 00 3c
90 a5 a5 22 01 0a 20 20 20 20 20 20 00 00 00 fe
00 42 31 35 36 48 41 4e 30 38 2e 34 20 0a 00 b5

----------------

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: AUO
    Model: 44944
    Made in: week 8 of 2020
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 8
    DisplayPort interface
    Maximum image size: 34 cm x 19 cm
    Gamma: 2.20
    Supported color formats: RGB 4:4:4
    First detailed timing includes the native pixel format and preferred refresh rate
    Display supports continuous frequencies
  Color Characteristics:
    Red  : 0.5664, 0.3388
    Green: 0.3505, 0.5683
    Blue : 0.1582, 0.1210
    White: 0.3134, 0.3291
  Established Timings I & II: none
  Standard Timings: none
  Detailed Timing Descriptors:
    DTD 1:  1920x1080  144.149283 Hz  16:9    170.096 kHz    353.800000 MHz (344 mm x 193 mm)
                 Hfront  108 Hsync  48 Hback    4 Hpol N
                 Vfront    3 Vsync   5 Vback   92 Vpol N
    DTD 2:  1920x1080   60.201401 Hz  16:9     68.750 kHz    143.000000 MHz (344 mm x 193 mm)
                 Hfront  108 Hsync  48 Hback    4 Hpol N
                 Vfront    3 Vsync   5 Vback   54 Vpol N
    Display Range Limits:
      Monitor ranges (Range Limits Only): 60-144 Hz V, 165-165 kHz H, max dotclock 340 MHz
    Alphanumeric Data String: 'B156HAN08.4 '
Checksum: 0xb5

I'm also attaching here the return of kscreen-doctor -o, in case it helps debugging:

Output: 1 eDP-1
        enabled
        connected
        priority 1
        Panel
        Modes:  1:1920x1080@144*!  2:1920x1080@60  3:1280x1024@60  4:1024x768@60  5:1280x800@60  6:1920x1080@60  7:1600x900@60  8:1368x768@60  9:1280x720@60 
        Geometry: 0,0 1536x864
        Scale: 1.25
        Rotation: 1
        Overscan: 0
        Vrr: Automatic
        RgbRange: Automatic
        HDR: incapable
        Wide Color Gamut: incapable
        ICC profile: none
        Color profile source: EDID
        Color power preference: prefer efficiency and performance
        Brightness control: supported, set to 60% and dimming to 100%
Comment 1 Bug Janitor Service 2025-02-18 16:20:21 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/7188
Comment 2 Zamundaaa 2025-02-18 23:24:41 UTC
Git commit ae87b60f957f277b170b6c0bc25dd92698a16cc8 by Xaver Hugl.
Committed on 18/02/2025 at 22:53.
Pushed by zamundaaa into branch 'master'.

core/colorspace: relax validity check

The gamut area it checked was not unrealistic to hit on a real display; this
reduces the minimum area for built-in color profiles by 80% to prevent wrongly
discarding some of them as invalid.

M  +1    -1    src/core/colorspace.cpp

https://invent.kde.org/plasma/kwin/-/commit/ae87b60f957f277b170b6c0bc25dd92698a16cc8
Comment 3 Zamundaaa 2025-02-19 00:25:45 UTC
Git commit 80e702a59fece4ac78edcd8153bd3f3845b2363d by Xaver Hugl.
Committed on 19/02/2025 at 00:14.
Pushed by zamundaaa into branch 'Plasma/6.3'.

core/colorspace: relax validity check

The gamut area it checked was not unrealistic to hit on a real display; this
reduces the minimum area for built-in color profiles by 80% to prevent wrongly
discarding some of them as invalid.
(cherry picked from commit ae87b60f957f277b170b6c0bc25dd92698a16cc8)

M  +1    -1    src/core/colorspace.cpp

https://invent.kde.org/plasma/kwin/-/commit/80e702a59fece4ac78edcd8153bd3f3845b2363d
Comment 4 Zamundaaa 2025-02-19 20:46:17 UTC
*** Bug 500405 has been marked as a duplicate of this bug. ***