Bug 522301 - [Regression; Bisected] - Applying ICC profile results in a yellowish tint
Summary: [Regression; Bisected] - Applying ICC profile results in a yellowish tint
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: colour-management (other bugs)
Version First Reported In: 6.6.90
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: regression
: 521374 (view as bug list)
Depends on:
Blocks:
 
Reported: 2026-06-27 16:35 UTC by thederpyworld
Modified: 2026-06-30 11:31 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
The ICC profile for my laptop display (4.23 KB, application/vnd.iccprofile)
2026-06-27 16:35 UTC, thederpyworld
Details
Full Git Bisect log (2.47 KB, text/x-log)
2026-06-27 16:35 UTC, thederpyworld
Details
Camera capture of the display, with no ICC applied (3.32 MB, image/jpeg)
2026-06-27 16:36 UTC, thederpyworld
Details
Camera capture of the display, with the ICC applied on 6.6.5 (correctly) (3.52 MB, image/jpeg)
2026-06-27 16:37 UTC, thederpyworld
Details
Camera capture of the display, with the ICC applied on 6.6.90 and later (wrong, yellow tint) (3.81 MB, image/jpeg)
2026-06-27 16:37 UTC, thederpyworld
Details

Note You need to log in before you can comment on or make changes to this bug.
Description thederpyworld 2026-06-27 16:35:15 UTC
Created attachment 193797 [details]
The ICC profile for my laptop display

DESCRIPTION

After I updated from 6.6.5 to 6.7.1, there was a noticable yellowish tint when I used an ICC profile for my laptop display. Using manual downgrade I found out that the regression started happening on 6.6.90 version.

Git bisect lead me to this:
```
git bisect bad 84a4451685055cfe00e682a9b9436c54c24f01fc
# first bad commit: [84a4451685055cfe00e682a9b9436c54c24f01fc] opengl,backends/drm: apply MHC2 ICC profiles more correctly
```

STEPS TO REPRODUCE
1. Apply the ICC profile provided
2. Notice the yellowish tint on 6.6.90 or later

OBSERVED RESULT
Incorrect colors, yellowish tint

EXPECTED RESULT
Correct colors, without the yellow tint

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.7.1
KDE Frameworks Version: 6.27.0
Qt Version: 6.11.1
Kernel Version: 7.0.10-zen1-1-zen (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 6800HS with Radeon Graphics
Memory: 16 GiB of RAM (14.9 GiB usable)
Graphics Processor: AMD Radeon 680M

ADDITIONAL INFORMATION
Since Bugzilla doesn't seem to let me upload multiple attachments in one go, full git bisect and image comparison will be appended in replies.
Comment 1 thederpyworld 2026-06-27 16:35:55 UTC
Created attachment 193798 [details]
Full Git Bisect log
Comment 2 thederpyworld 2026-06-27 16:36:25 UTC
Created attachment 193799 [details]
Camera capture of the display, with no ICC applied
Comment 3 thederpyworld 2026-06-27 16:37:10 UTC
Created attachment 193800 [details]
Camera capture of the display, with the ICC applied on 6.6.5 (correctly)
Comment 4 thederpyworld 2026-06-27 16:37:33 UTC
Created attachment 193801 [details]
Camera capture of the display, with the ICC applied on 6.6.90 and later (wrong, yellow tint)
Comment 5 Bug Janitor Service 2026-06-29 16:09:25 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/9490
Comment 6 Zamundaaa 2026-06-29 19:02:51 UTC
*** Bug 521374 has been marked as a duplicate of this bug. ***
Comment 7 Zamundaaa 2026-06-30 11:07:42 UTC
Git commit f7c863a1d72c3a362600458f162ac44793de9385 by Xaver Hugl.
Committed on 30/06/2026 at 10:41.
Pushed by zamundaaa into branch 'master'.

backends/drm: fix SDR MHC2 profiles with a calibration matrix

The documentation said that
> Target RGB is defined as the encoding used when transmitting colors over the
> display wire; typically BT.709 or BT.2020 primaries.

which seems to be misleading. If BT.709 is used as the wire format in SDR mode,
that leads to wrong results with some MHC2 ICC profiles.

M  +1    -1    src/backends/drm/drm_output.cpp

https://invent.kde.org/plasma/kwin/-/commit/f7c863a1d72c3a362600458f162ac44793de9385
Comment 8 Zamundaaa 2026-06-30 11:31:43 UTC
Git commit 280468c491c1b7ff5ef48406e4df465cfe330367 by Xaver Hugl.
Committed on 30/06/2026 at 11:10.
Pushed by zamundaaa into branch 'Plasma/6.7'.

backends/drm: fix SDR MHC2 profiles with a calibration matrix

The documentation said that
> Target RGB is defined as the encoding used when transmitting colors over the
> display wire; typically BT.709 or BT.2020 primaries.

which seems to be misleading. If BT.709 is used as the wire format in SDR mode,
that leads to wrong results with some MHC2 ICC profiles.
(cherry picked from commit f7c863a1d72c3a362600458f162ac44793de9385)

M  +1    -1    src/backends/drm/drm_output.cpp

https://invent.kde.org/plasma/kwin/-/commit/280468c491c1b7ff5ef48406e4df465cfe330367