Bug#976454: colord-kde: Wrong assignment of _ICC_PROFILE in multi-monitor setups where the primary monitor is not first in list.
Package: colord-kde
Version: 0.5.0-4
Severity: important
Tags: patch upstream
X-Debbugs-Cc: emw-debian-bugs@nocabal.de
Dear Maintainer,
colord-kde does not assign ICC profile X atoms correctly if the primary monitor
is not the first one in the monitor list.
My setup:
DP-4 Monitor B (primary)
HDMI-0 Monitor A
darktable-cmstest diagnosis:
darktable-cmstest version 3.2.1
this executable was built with colord support enabled
darktable itself was built with colord support enabled
primary CRTC is at CRTC 0
CRTC for screen 0 CRTC 2 has no mode or no output, skipping
CRTC for screen 0 CRTC 3 has no mode or no output, skipping
DP-4 the X atom and colord returned different profiles
X atom: _ICC_PROFILE (1212 bytes)
description: Monitor A
colord: "/path/to/icc/edid-monitor-B.icc"
description: Monitor B (primary)
HDMI-0 the X atom and colord returned different profiles
X atom: _ICC_PROFILE_1 (0 bytes)
description: (none)
colord: "/path/to/icc/edid-A.icc"
description: Monitor A
Better check your system setup
- some monitors reported different profiles
You may experience inconsistent color rendition between color managed
applications
To my understanding, the error is an obviously missing C++-Reference "&" in the
assignment loop of atom IDs in colord-kde:
Original Code:
for (auto monitor : monitorList) {
monitor.atomId = atomId++;
}
Fix Proposal (see pull request https://github.com/KDE/colord-kde/pull/1 ):
for (auto & monitor : AmonitorList) {
monitor.atomId = atomId++;
}
With the fix, the darktable-cmstest diagnosis is fine:
darktable-cmstest version 3.2.1
this executable was built with colord support enabled
darktable itself was built with colord support enabled
primary CRTC is at CRTC 0
CRTC for screen 0 CRTC 2 has no mode or no output, skipping
CRTC for screen 0 CRTC 3 has no mode or no output, skipping
DP-4 the X atom and colord returned the same profile
X atom: _ICC_PROFILE (1204 bytes)
description: Monitor B (primary)
colord: "/path/to/icc/edid-monitor-B.icc"
description: Monitor B (primary)
HDMI-0 the X atom and colord returned the same profile
X atom: _ICC_PROFILE_1 (1212 bytes)
description: Monitor A
colord: "/path/to/icc/edid-monitor-A.icc"
description: Monitor A
Your system seems to be correctly configured
It would be great if you could include this fix into the debian packet.
With best regards and many thx!
Martin
-- System Information:
Debian Release: bullseye/sid
APT prefers testing
APT policy: (800, 'testing'), (700, 'unstable'), (600, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 5.9.0-4-amd64 (SMP w/6 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages colord-kde depends on:
ii gnome-color-manager 3.36.0-1
ii libc6 2.31-4
ii libkf5configwidgets5 5.74.0-2
ii libkf5coreaddons5 5.74.0-2
ii libkf5dbusaddons5 5.74.0-2
ii libkf5i18n5 5.74.0-3
ii libkf5service-bin 5.74.0-2
ii libkf5service5 5.74.0-2
ii libkf5widgetsaddons5 5.74.0-3
ii liblcms2-2 2.9-4+b1
ii libqt5core5a 5.15.1+dfsg-4
ii libqt5dbus5 5.15.1+dfsg-4
ii libqt5gui5 5.15.1+dfsg-4
ii libqt5widgets5 5.15.1+dfsg-4
ii libqt5x11extras5 5.15.1-2
ii libstdc++6 10.2.0-19
ii libx11-6 2:1.6.12-1
ii libxrandr2 2:1.5.1-1
colord-kde recommends no packages.
colord-kde suggests no packages.
-- no debconf information
Reply to: