Bug 505971 - SDR color intensity / color profiles don't work on plasma 6.4
Summary: SDR color intensity / color profiles don't work on plasma 6.4
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: colour-management (other bugs)
Version First Reported In: 6.4.0
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2025-06-22 14:20 UTC by lojcsgit
Modified: 2025-07-03 12:47 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.4.2
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description lojcsgit 2025-06-22 14:20:03 UTC
SUMMARY
The colors are stuck at desaturated when hdr is enabled since I upgraded to 6.4. The color intensity slider in settings, 'rgb range' dropdown, the color profile dropdown (if hdr is disabled or not available) do not change the colors on the screen. Happens on both nvidia and amd graphics. The color intensity slider and color profiles used to work on 6.3

STEPS TO REPRODUCE
1. Open settings and try changing color intensity or color profile

OBSERVED RESULT
No change.

EXPECTED RESULT
Colors change based on color profile and color intensity settings

SOFTWARE/OS VERSIONS
KDE Plasma Version: 6.4.0
KDE Frameworks Version: 6.15.0
Qt Version: 6.9.1
Kernel Version: 6.15.3-arch1-1 (64-bit)

ADDITIONAL INFORMATION
Hdr content works as expected
Comment 1 lojcsgit 2025-06-27 11:51:22 UTC
Update on this, tried this on a samsung monitor and the settings do work there. The monitor where it doesn't work (but used to work) is a cooler master gp27q. Unfixed in 6.4.1
Comment 2 Zamundaaa 2025-06-27 15:20:12 UTC
Please attach the output of
> drm_info
> kscreen-doctor -o
and
> cat /sys/class/drm/card1-HDMI-A-1/edid > edid.bin
(connector name may need adjusting) while the monitor is connected
Comment 3 lojcsgit 2025-06-27 17:44:26 UTC
https://files.catbox.moe/8rwwbe.txt
https://files.catbox.moe/kjondr.txt
https://files.catbox.moe/cq0zdd.bin

I'm not sure how to upload files here directly
Comment 4 Zamundaaa 2025-07-01 16:00:31 UTC
Alright, it looks like KWin can't parse the display primaries:
> │   │       │   │   ├───Red: (0.6400, 0.3300)
> │   │       │   │   ├───Green: (0.3000, 0.6000)
> │   │       │   │   └───Blue: (0.1500, 0.0600)
that's exactly sRGB, which is the fallback for when no color info is present.

I put your EDID into an autotest, and it also gets sRGB as the result. It seems that it's just what we get from libdisplay-info
Comment 5 Bug Janitor Service 2025-07-01 16:20:37 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/7857
Comment 6 Zamundaaa 2025-07-02 17:08:45 UTC
Git commit fb085d39eacb78b2bfc61bcc9e2976091f692c75 by Xaver Hugl.
Committed on 02/07/2025 at 16:49.
Pushed by zamundaaa into branch 'master'.

utils/edid: also read edid colorimetry

The libdisplay-info default colorimetry may be sRGB if the EDID indicates that
the display is in sRGB mode by default.
The EDID one might still be sRGB in that case too, but it seems like they differ
in practice.

M  +2    -2    src/backends/drm/drm_output.cpp
M  +1    -1    src/backends/drm/drm_pipeline.cpp
M  +30   -5    src/utils/edid.cpp
M  +4    -2    src/utils/edid.h

https://invent.kde.org/plasma/kwin/-/commit/fb085d39eacb78b2bfc61bcc9e2976091f692c75
Comment 7 Zamundaaa 2025-07-02 23:57:28 UTC
Git commit cd4f1ebd3d316de965bdb303121639b3a90a4fdb by Xaver Hugl, on behalf of Xaver Hugl.
Committed on 02/07/2025 at 23:44.
Pushed by zamundaaa into branch 'Plasma/6.4'.

utils/edid: also read edid colorimetry

The libdisplay-info default colorimetry may be sRGB if the EDID indicates that
the display is in sRGB mode by default.
The EDID one might still be sRGB in that case too, but it seems like they differ
in practice.


(cherry picked from commit fb085d39eacb78b2bfc61bcc9e2976091f692c75)

Co-authored-by: Xaver Hugl <xaver.hugl@kde.org>

M  +2    -2    src/backends/drm/drm_output.cpp
M  +1    -1    src/backends/drm/drm_pipeline.cpp
M  +30   -5    src/utils/edid.cpp
M  +4    -2    src/utils/edid.h

https://invent.kde.org/plasma/kwin/-/commit/cd4f1ebd3d316de965bdb303121639b3a90a4fdb