[colord] dispwin sets the wrong X.org _ICC_PROFILE atom
Niccolò Belli
darkbasic at linuxsystems.it
Fri Nov 25 14:55:39 UTC 2016
On venerdì 25 novembre 2016 06:26:11 CET, Graeme Gill wrote:
> I've been checking my latest code as well as the ArgyllCMS V1.8.3
> delivered with Fedora 24, and with colord-devel installed
> (i.e. dispwin using colord to handle storing & retrieving profiles),
> it seems to work OK installing/loading/uninstalling profiles
> if you are logged into the console and running as a user.
>
> It does fail if I'm logged in remotely (with my $DISPLAY set
> appropriately), and it also fails if it's run as root (sudo)
> - the latter also being a prblem with the current release ArgyllCMS
> using it's built in ucmm (something I'll fix).
By the way ucmm is still broken in my system, even after starting from a
clean state:
$ ps aux | grep xiccd
niko 1478 0.0 0.0 10780 2268 pts/1 S+ 15:48 0:00 grep xiccd
$ ps aux | grep colord
niko 1480 0.0 0.0 10780 2204 pts/1 S+ 15:48 0:00 grep
colord
$ darktable-cmstest
darktable-cmstest version 2.2.0rc0+105~g87f2b5f
this executable was built with colord support enabled
darktable itself was built with colord support enabled
eDP1 the X atom and colord returned the same profile
X atom: _ICC_PROFILE (0 bytes)
description: (none)
colord: "(none)"
description: (file not found)
DP1-1 the X atom and colord returned the same profile
X atom: _ICC_PROFILE_1 (0 bytes)
description: (none)
colord: "(none)"
description: (file not found)
DP1-8 the X atom and colord returned the same profile
X atom: _ICC_PROFILE_2 (0 bytes)
description: (none)
colord: "(none)"
description: (file not found)
$ dispwin -?
Test display patch window, Set Video LUTs, Install profiles, Version
2.0.0_beta
Author: Graeme W. Gill, licensed under the AGPL Version 3
Diagnostic: Usage requested
usage: dispwin [options] [calfile]
-v Verbose mode
-display displayname Choose X11 display name
-d n[,m] Choose the display n from the following list (default
1)
Optionally choose different display m for Video LUT
access
XRRGetOutputPrimary returned 70
Primary is at CRTC 0
XRRGetCrtcInfo of Screen 0 CRTC 0 has 1 Outputs Valid Mode
Checking XRandR 1.2 VideoLUT access
Adding Screen 0 CRTC 0 Output 0
Display 0 name = ':0.0'
Got EDID for display
XRRGetCrtcInfo of Screen 0 CRTC 1 has 1 Outputs Valid Mode
Checking XRandR 1.2 VideoLUT access
Adding Screen 0 CRTC 1 Output 0
Display 1 name = ':0.1'
Got EDID for display
XRRGetCrtcInfo of Screen 0 CRTC 2 has 0 Outputs No Mode
CRTC skipped as it has no mode or no outputs
XRRGetCrtcInfo of Screen 0 CRTC 3 has 0 Outputs No Mode
CRTC skipped as it has no mode or no outputs
1 = 'Monitor 1, Output DP1-8 at 0, 0, width 2560, height 1440'
2 = 'Monitor 2, Output DP1-1 at 2560, 0, width 2560, height 1440'
$ ARGYLL_IGNORE_COLORD=true dispwin -d 1 -I
"./.local/share/DisplayCAL/storage/U2515H #1 2016-09-25 18-25 D6500 2.2 M-S
XYZLUT+MTX/U2515H #1 2016-09-25 18-25 D6500 2.2 M-S XYZLUT+MTX.icc"
XRRGetOutputPrimary returned 70
Primary is at CRTC 0
XRRGetCrtcInfo of Screen 0 CRTC 0 has 1 Outputs Valid Mode
Checking XRandR 1.2 VideoLUT access
Adding Screen 0 CRTC 0 Output 0
Display 0 name = ':0.0'
Got EDID for display
XRRGetCrtcInfo of Screen 0 CRTC 1 has 1 Outputs Valid Mode
Checking XRandR 1.2 VideoLUT access
Adding Screen 0 CRTC 1 Output 0
Display 1 name = ':0.1'
Got EDID for display
XRRGetCrtcInfo of Screen 0 CRTC 2 has 0 Outputs No Mode
CRTC skipped as it has no mode or no outputs
XRRGetCrtcInfo of Screen 0 CRTC 3 has 0 Outputs No Mode
CRTC skipped as it has no mode or no outputs
new_dispwin called
new_dispwin: Opened display OK
new_dispwin: DirectColor fdepth 8, rdepth 8, ndepth 8, edepth 16, r/g/b
shifts 16 8 0
dispwin_get_ramdac called
Getting gamma using Randr 1.2
dispwin_get_ramdac returning OK
Saved original VideoLUT
dispwin_clone_ramdac called
clone is done
dispwin_clone_ramdac called
clone is done
new_dispwin: return sucessfully
Loading calibration from file './.local/share/DisplayCAL/storage/U2515H #1
2016-09-25 18-25 D6500 2.2 M-S XYZLUT+MTX/U2515H #1 2016-09-25 18-25 D6500
2.2 M-S XYZLUT+MTX.icc'
Got color vcgt calibration
dispwin_del_ramdac called
dispwin_clone_ramdac called
clone is done
dispwin_install_profile './.local/share/DisplayCAL/storage/U2515H #1
2016-09-25 18-25 D6500 2.2 M-S XYZLUT+MTX/U2515H #1 2016-09-25 18-25 D6500
2.2 M-S XYZLUT+MTX.icc'
Setting _ICC_PROFILE property
dispwin_set_ramdac called
Setting gamma using Randr 1.2
dispwin_set_ramdac returning OK
dispwin_del called
dispwin_del_ramdac called
dispwin_set_ramdac called
Setting gamma using Randr 1.2
dispwin_set_ramdac returning OK
dispwin_set_ramdac called
Setting gamma using Randr 1.2
dispwin_set_ramdac returning OK
dispwin_del_ramdac called
Restored original ramdac
dispwin_del_ramdac called
About to close display
finished
$ darktable-cmstest
darktable-cmstest version 2.2.0rc0+105~g87f2b5f
this executable was built with colord support enabled
darktable itself was built with colord support enabled
eDP1 the X atom and colord returned different profiles
X atom: _ICC_PROFILE (2815280 bytes)
description: U2515H #1 2016-09-25 18-25 D6500 2.2 M-S
XYZLUT+MTX
colord: "(none)"
description: (file not found)
DP1-1 the X atom and colord returned the same profile
X atom: _ICC_PROFILE_1 (0 bytes)
description: (none)
colord: "(none)"
description: (file not found)
DP1-8 the X atom and colord returned the same profile
X atom: _ICC_PROFILE_2 (0 bytes)
description: (none)
colord: "(none)"
description: (file not found)
As you can see, unless darktbale-cmstest is bugged, dispwin installed the
profile to eDP1 (which is not even listed among the displays, because it's
turned off in xrandr) instead of DP1-8 (which is display 1).
Niccolò Belli
More information about the colord
mailing list