[argyllcms] Re: dispwin sets the wrong X.org _ICC_PROFILE atom

  • From: Graeme Gill <graeme@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Mon, 21 Nov 2016 11:34:22 +1100

Niccolò Belli wrote:

Hi,

Unfortunately I don't know how to get the eDP1 XRANDR _ICC_PROFILE property 
you asked for.

xrandr --prop

$ ARGYLL_IGNORE_COLORD=true dispwin -I ".local/share/icc/U2515H #1 2016-09-25 
18-25 D6500
2.2 M-S XYZLUT+MTX.icc"

$ ARGYLL_IGNORE_COLORD=true dispwin -I ".local/share/icc/U2515H #2 2016-09-25 
15-41 D6500
2.2 M-S XYZLUT+MTX.icc" Checking XRandR 1.2 VideoLUT access

I don't fully understand what the problem is - the information isn't
entirely consistent - but the above commands are a bit strange, and are likely
to lead to trouble. You are installing both profiles to the first display
(i.e. the first display as listed by "dispwin -?" under the -d parameter).
This associates the EDID of the display you selected with -d or defaulted to,
with the given profile.

i.e., when a display is calibrated and/or profiled, the EDID is not
(currently) stored along with the data or ICC profile, so the resulting profiles
association with the display that created it is up to the user to keep
track of in the calibrate/profile/install workflow.

[ It's an interesting question as to whether this should be changed. The
  pluses are that there would be less to go wrong, the minuses are that
  there is less flexibility, especially when mixing and matching calibrations
  and profiles, which may be needed in some situations. ]

So ideally you would want to clear out all the colord and ArgyllCMS display
profile entries (for Argyll you can simply delete the .jcnf file, I'm
not sure how you would do this with colord), and re-install the profiles,
being careful to select the correct display for each profile. Having done
that, "dispwin -L" should load up the correct profile & calibration for
the EDID of the display you have selected (default first display or
dispwin -d parameter for non-default).

I'd also advise running "dispwin -D1" and checking that it
reports "using colord for profile installation" or not. If it
reports "using ucmm for profile installation" instead and
you have colord installed and running, then ArgyllCMS isn't
locating colord for some reason, and so they are using different
databases for display ICC profile installation, and could therefore
be out of sync.

Graeme Gill.








Adding Screen 0 CRTC 0 Output 0
Display 0 name = ':0.0'
Unable to intern atom 'EDID_DATA'
Got EDID for display
Checking XRandR 1.2 VideoLUT access
Adding Screen 0 CRTC 1 Output 0
Display 1 name = ':0.0'
Unable to intern atom 'EDID_DATA'
Got EDID for display
CRTC of Screen 0 CRTC 2 has no mode or no output
CRTC of Screen 0 CRTC 3 has no mode or no output
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/icc/U2515H #2 2016-09-25 15-41 
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/icc/U2515H #2 2016-09-25 15-41 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

And I get:

$ darktable-cmstest                                                        
                                                                          
                                                                              
darktable-cmstest version 2.2.0rc0+90~g7a24993                             
                                                                          
                                                                          
                        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 (2815916
bytes)                               
                                                                          
                                                                          
                                       description: U2515H #2 2016-09-25 
15-41 D6500 2.2
M-S XYZLUT+MTX                                                                
 
                                                                          
                                     colord:
"/home/niko/.local/share/icc/edid-a56d2a66752fe81bf2d6d7b2d7b2651d.icc"    
                                                                          
                                                                              
    
               description: XPS 13 9343                                   
                                                                          
                                                                          
                       
                                                                          
                                                                          
                                                                          
                        DP1-1   the X atom and colord returned different
profiles                  
                                                                          
                                                                          
                               X atom: _ICC_PROFILE_1 (728468
bytes)                              
                                                                          
                                                                          
                                       description: U2515H #1 2016-09-25 
18-25 D6500 2.2
M-S XYZLUT+MTX                                                                
 
                                                                          
                                     colord: 
"/home/niko/.local/share/icc/U2515H #1
2016-09-25 18-25 D6500 2.2 M-S
XYZLUT+MTX.icc"                                              
                                                                          
                                           description: U2515H #1 2016-09-25 
18-25 D6500
2.2 M-S XYZLUT+MTX                                                            
     
                                                                          
                             
                                                                          
                                                                          
                                                                          
                        DP1-8   the X atom and colord returned different
profiles                  
                                                                          
                                                                          
                               X atom: _ICC_PROFILE_2 (728468
bytes)                              
                                                                          
                                                                          
                                       description: U2515H #2 2016-09-25 
15-41 D6500 2.2
M-S XYZLUT+MTX
       colord: "/home/niko/.local/share/icc/U2515H #2 2016-09-25 15-41 D6500 
2.2 M-S
XYZLUT+MTX.icc"
               description: U2515H #2 2016-09-25 15-41 D6500 2.2 M-S 
XYZLUT+MTX


The contents of the
ucmm color.jcnf file could also then be revealing.
(See <http://www.argyllcms.com/doc/ucmm.html> for where to
find that file.)

It would be good to compare that to what's in colord's database
(I'm not sure how you do that though - perhaps you can ask Richard.)

$ cat /home/niko/.config/color.jcnf
{
       "devices": {
               "display": {
                       "1": {
                               "EDID":
"0x00FFFFFFFFFFFF0010AC6ED04C4B343007190104A5371F783E4455A9554D9D260F5054A54B00B300D100714FA9408180778001010101565E00A0A0A029503020350029372100001A000000FF00395832565935324430344B4C0A000000FC0044454C4C205532353135480A20000000FD0038561E711E010A20202020202001A502031CF14F1005040302071601141F12132021222309070783010000023A801871382D40582C450029372100001E011D8018711C1620582C250029372100009E011D007251D01E206E28550029372100001E8C0AD08A20E02D10103E9600293721000018483F00CA808030401A50130029372100001E00000000000000000057",

                               "ICC_PROFILE":
"/home/niko/.config/color/icc/devices/display/U2515H #2 2016-09-25 15-41 
D6500 2.2 M-S
XYZLUT+MTX.icc"
                       },
                       "2": {
                               "EDID":
"0x00FFFFFFFFFFFF0010AC6ED04C5A323007190104A5371F783E4455A9554D9D260F5054A54B00B300D100714FA9408180778001010101565E00A0A0A029503020350029372100001A000000FF00395832565935324430325A4C0A000000FC0044454C4C205532353135480A20000000FD0038561E711E010A202020202020018B02031CF14F1005040302071601141F12132021222309070783010000023A801871382D40582C450029372100001E011D8018711C1620582C250029372100009E011D007251D01E206E28550029372100001E8C0AD08A20E02D10103E9600293721000018483F00CA808030401A50130029372100001E00000000000000000057",

                               "ICC_PROFILE":
"/home/niko/.config/color/icc/devices/display/U2515H #1 2016-09-25 18-25 
D6500 2.2 M-S
XYZLUT+MTX.icc"
                       }
               }
       }
}

And thanks to Richard this is colord's database dump:
https://paste.pound-python.org/show/AjfH6BdbAnSnQ4TuMEJm/

On venerdì 18 novembre 2016 14:22:08 CET, Richard Hughes wrote:
Sure thing. The easiest thing to do is "colormgr dump" or doing
sqlite3 /var/lib/colord/mapping.db and then dumping everything there.

Niccolò Belli




Other related posts: