Bug 93488 - colord generates profiles from EDID badly
Summary: colord generates profiles from EDID badly
Status: RESOLVED NOTABUG
Alias: None
Product: colord
Classification: Unclassified
Component: daemon (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Richard Hughes
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-23 21:55 UTC by Sergey Kondakov
Modified: 2016-01-06 09:24 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
colord BenQ GW2270 profile (1.22 KB, application/vnd.iccprofile)
2015-12-23 21:55 UTC, Sergey Kondakov
Details
dispcalGUI BenQ GW2270 profile (2.12 KB, application/vnd.iccprofile)
2015-12-23 21:57 UTC, Sergey Kondakov
Details
Windows AMD driver BenQ GW2270 profile (2.54 KB, application/vnd.iccprofile)
2015-12-23 21:58 UTC, Sergey Kondakov
Details
colord-kde's opinion about colord's profile (93.46 KB, image/jpeg)
2016-01-06 08:57 UTC, Sergey Kondakov
Details

Description Sergey Kondakov 2015-12-23 21:55:41 UTC
Created attachment 120667 [details]
colord BenQ GW2270 profile

I've put upon myself a mission in creating most functional out-of-the-box desktop Linux build on base of openSUSE (https://github.com/v-fox/live_opensuse_hsf). Of course such a task cannot be completed without proper colour management. For that I installed LXQt, xiccd, colord-kde and dispcalGUI/argyllCMS. The problem is that colord seems to automatically create edid-based profiles that dispcalGUI/argyllCMS, which tries to apply them, doesn't even recognize as valid. dispcalGUI-apply-profiles (running at login) annoyingly fails with "Dispwin: Error - File 'edid-*.icc' is not a valid ICC profile or Argyll .cal file". And whitepoint in these always 5000K that can't be right. And it also is in icc version >=4.0 which dispcalGUI/argyllCMS considers broken - http://argyllcms.com/doc/iccgamutmapping.html

I have no idea how colour management actually works but here are 3 edid-based profiles for my monitor (BenQ GW2270): from colord, from dispcalGUI/argyllCMS and from Windows' AMD Radeon driver. dispcalGUI/argyllCMS sets proper whitepoint and seems to work (but it has to be manually generated and set above colord's one), AMD driver one seems to recognize that monitor is near 6500K but writes 5000K into profile anyway.

Please, fix that behaviour or/and suggest working modern alternative to dispcalGUI/argyllCMS.
Comment 1 Sergey Kondakov 2015-12-23 21:57:28 UTC
Created attachment 120668 [details]
dispcalGUI BenQ GW2270 profile
Comment 2 Sergey Kondakov 2015-12-23 21:58:09 UTC
Created attachment 120669 [details]
Windows AMD driver BenQ GW2270 profile
Comment 3 Richard Hughes 2015-12-27 09:32:54 UTC
dispcalGUI and argyllCMS don't support loading version 4 profiles. Version 4 has been the recommended version to use from the ICC since 2001. Not using V4 profiles means we can't use non-English characters in profiles. If you want to just load the profile state, you can use the color panel in GNOME or the colord-kde project for KDE. xiccd will do the same thing, although without much UI and you might need to use the colormgr command line. All GUI graphics applications now support V4 profiles.
Comment 4 Sergey Kondakov 2015-12-27 19:22:46 UTC
dispcalGUI not loading wanky profile isn't the worst issue, the worst issue that profile having 5000K whitepoint for 6460K monitor.
I also clearly have stated that I use LXQt for myself and my live distro. And even if I wouldn't, you shouldn't DE-lock something that important.
Comment 5 Richard Hughes 2015-12-27 21:21:32 UTC
(In reply to Sergey Kondakov from comment #4)
> dispcalGUI not loading wanky profile isn't the worst issue, the worst issue
> that profile having 5000K whitepoint for 6460K monitor.

Which profile has a 5000K whitepoint?

> I also clearly have stated that I use LXQt for myself and my live distro.
> And even if I wouldn't, you shouldn't DE-lock something that important.

I'm not sure what you mean. colord is distro and desktop independent.
Comment 6 Sergey Kondakov 2015-12-28 00:24:27 UTC
(In reply to Richard Hughes from comment #5)

> Which profile has a 5000K whitepoint?

... I wrote it in the description of the first post too. All of generated profiles have it set that way ! I tried no less than 4 different monitors (BenQ GW2270 on VA, BenQ G2320HDB on TN, CRT Samsung SM 757mb, something TN-based from Acer and I think something else that I forgot) and not once I've seen something other than 5000K ! Did you even downloaded the files ?

AMD-generated one also have it that way despite having "D6500" in its name. On my system with Radeon 6870, then I select "use EDID" instead of keeping it on default 6500K in Windows driver settings the output becomes suspiciously bluish on both my BenQ GW2270 and CRT Samsung SM 757mb.

But dispcalGUI seems to get it right. But it has to be ran manually and you don't allow it to handle things in the system by default because you force-feed it your bad profiles on which it chokes.

> I'm not sure what you mean. colord is distro and desktop independent.

Except it forces its generated profiles to be default for everything and everywhere while not having any way for normal people outside of specific DEs, that both made their colord GUI hardcoded to their global settings GUIs (impossible to use without them _running_), to change them. And with those profiles, I would either have no profiles at all or force sRGB for everything, like Windows seems to do. Working that around by console fiddling each time and after the fact is exactly that — a workaround.

I also found critical bug in xiccd: it runs without error but does absolutely nothing under LXQt login unless I add a few seconds delay, like that in its autorun desktop-file: Exec=sh -c "sleep 10; xiccd"
I'm not sure which profile it exports as _ICC_PROFILE either, then it bothers to do so.
Comment 7 Richard Hughes 2015-12-28 19:07:50 UTC
(In reply to Sergey Kondakov from comment #6)
> ... I wrote it in the description of the first post too. All of generated
> profiles have it set that way ! 

How are you determining they are 5000K? gcm=inspect tells me they are 6500K.

> Did you even downloaded the files ?

Yes.

> But dispcalGUI seems to get it right. But it has to be ran manually and you
> don't allow it to handle things in the system by default because you
> force-feed it your bad profiles on which it chokes.

I'm not sure what you mean. dispcalGUI also uses colord.

> Except it forces its generated profiles to be default for everything and
> everywhere while not having any way for normal people outside of specific
> DEs, that both made their colord GUI hardcoded to their global settings GUIs

That's not true, sorry.

> everything, like Windows seems to do. Working that around by console
> fiddling each time and after the fact is exactly that — a workaround.

It's a workaround, sure. It's the technical cost you get to incur by not running a mainstream desktop.

> I also found critical bug in xiccd: it runs without error but does
> absolutely nothing under LXQt login unless I add a few seconds delay, like
> that in its autorun desktop-file: Exec=sh -c "sleep 10; xiccd"
> I'm not sure which profile it exports as _ICC_PROFILE either, then it
> bothers to do so.

Then you need to file with that, not post here. I think you should probably ask for the money you paid for colord to be returned.
Comment 8 Sergey Kondakov 2016-01-06 08:57:42 UTC
Created attachment 120827 [details]
colord-kde's opinion about colord's profile

"It's D50"
Comment 9 Sergey Kondakov 2016-01-06 09:24:22 UTC
(In reply to Richard Hughes from comment #7)
> (In reply to Sergey Kondakov from comment #6)
> > ... I wrote it in the description of the first post too. All of generated
> > profiles have it set that way ! 
> 
> How are you determining they are 5000K? gcm=inspect tells me they are 6500K.
>

The the colord-kde, you've mentioned above, says so, see the screenshot. gcm-inspect fails with
gcm-inspect --file ~/.local/share/icc/edid-8eb19eb18949524255ccb70d2c165459.icc
The request failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.ColorManager was not provided by any .service files

> I'm not sure what you mean. dispcalGUI also uses colord.

And generates profiles differently from those "edid-<random character string>.icc"

> > Except it forces its generated profiles to be default for everything and
> > everywhere while not having any way for normal people outside of specific
> > DEs, that both made their colord GUI hardcoded to their global settings GUIs
> 
> That's not true, sorry.

Oh, it's not ? How is it then ?
How do I disable generation of those files universally in my distribution ? Or force sRGB profile by default for everything ? What's the GUI for LXQt ?

And you've just acknowledged _and defended_ this below !

> It's a workaround, sure. It's the technical cost you get to incur by not
> running a mainstream desktop.

It's a factitious lazy response in style of: "Something screwed up on Linux ? Well, that's the cost you incur for not running my favourite OS X !". Seriously ? You get do defend DE-locking on freedesktop.org ? What next, praising burning puppies and eating babies ?

> > I also found critical bug in xiccd: it runs without error but does
> > absolutely nothing under LXQt login unless I add a few seconds delay, like
> > that in its autorun desktop-file: Exec=sh -c "sleep 10; xiccd"
> > I'm not sure which profile it exports as _ICC_PROFILE either, then it
> > bothers to do so.
> 
> Then you need to file with that, not post here. I think you should probably
> ask for the money you paid for colord to be returned.

Seriously ? Are you out of you goddamn mind ? Are you going to close all freedesktop.org and FOSS reports with that ?
If you can't make your colour management software manage colour and do that for humans, maybe it shouldn't be on real sites with real projects in the first place.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.