#3008 (Bug) Desktop file conflicts with gnome-color-manager

+1 0

Closed as Works For Me
Component: DisplayCAL | Milestone: 3.1
Created by Jehan Pages

Last modified


Version: dispcalGUI-3.0.4.0-68.1.x86_64

I have not tried more recent version, in particular not the latest 3.1.3.1 version (renamed DisplayCal). Sorry.

== Problem ==

your package installs a desktop file, autostarted with the system: /etc/xdg/autostart/z-dispcalGUI-apply-profiles.desktop

After installing dispcalGUI/DisplayCal, my ICC profile failed to be applied at startup. Sometimes I could see it applied for a split of a second before getting disabled again. Very very rarely (like once every several dozens startup?), it would be successfully applied and stay so. But most of the time, I had to manually reapply the profile, at each and every startup! Extremely bothersome.

See my bug report on GNOME bugzilla, before I realized that the problem was not with GNOME (thanks to Richard Hughes actually who found the source of the issue): https://bugzilla.gnome.org/show_bug.cgi?id=756862

In any case, it turns out that your desktop file was running `dispcalGUI-apply-profiles`, which was actually “un-applying” the profile that GNOME color manager already applied. So there was some race condition, and I guess that DisplayCal desktop file was run last, which explains why it nearly always “won” (is it why the desktop file’s name starts with ‘z-‘? To run last? Assuming alphabetical order is used)

Could DisplayCal not install the desktop file in autostart, or else could dispcalGUI-apply-profiles not undo the color profile which have already been applied by the desktop?


dispcalGUI-apply-profiles (text/plain | 2016-05-16 13:53:06)


7 comments on “Desktop file conflicts with gnome-color-manager”

  1. Hi,

    See my bug report on GNOME bugzilla, before I realized that the problem was not with GNOME

    Please attach a log (complete output) of dispcalGUI-apply-profiles, thanks.

    is it why the desktop file’s name starts with ‘z-‘? To run last? Assuming alphabetical order is used

    The order of execution is not guaranteed AFAIK, the “z-” prefix is just to make it more likely that it is the last to run (although a specific order of execution is not required for proper operation) because it’s not as essential to run early as other autostart entries that users rely on may be.

    Could DisplayCal not install the desktop file in autostart, or else could dispcalGUI-apply-profiles not undo the color profile which have already been applied by the desktop?

    You can safely remove the desktop file as a work-around to the problem until a fix is availble, or de-select “Load calibration on startup” when installing a profile in dispcalGUI, which will put the loader in “bypass” (do nothing) mode.

  2. Please attach a log (complete output) of dispcalGUI-apply-profiles, thanks.

    Attached. There are warning/errors. Also I can definitely confirm that each time I run it, it just unset my current profile applied on the screen.

    You can safely remove the desktop file as a work-around to the problem until a fix is availble,

    This is what I already did for the time being. And that’s good enough a workaround for me indeed. But then if it can be fixed upstream, that’s ideal! 🙂

  3. Warning: There is no assigned profile for /org/freedesktop/ColorManager/devices/xrandr_LVDS27_gdm_42

    Check with `colormgr get-devices-by-kind display` if the device has an assigned profile. Also, as Richard has pointed out in the Gnome bug report, there may be an underlying issue with the session daemon.

    Also I can definitely confirm that each time I run it, it just unset my current profile applied on the screen.

    Clearing the calibration before loading the profile is only a problem because there is no profile assigned, and thus nothing to load. Note that recent versions of DisplayCAL (since 3.1) no longer clear the calibration before loading the profile.

  4. $ colormgr get-devices-by-kind display
    Object Path: /org/freedesktop/ColorManager/devices/xrandr_LVDS1_jehan_1000
    Owner: jehan
    Created: May 19 2016, 10:45:14 AM
    Modified: May 19 2016, 10:45:14 AM
    Type: display
    Enabled: Yes
    Embedded: Yes
    Model: ThinkPad X220
    Vendor: Lenovo
    Serial: unknown
    Seat: seat0
    Scope: temp
    Colorspace: rgb
    Device ID: xrandr-LVDS1
    Profile 1: icc-4505d4cb49a84698eaed025ae13aa067
    /home/jehan/.local/share/icc/lenovo-x220-i1display-pro.icc
    Profile 2: icc-02ef30fb1320d295fe400bf5b0051340
    /var/lib/colord/icc/LP125WH2-TLD1 #1 2015-08-10 13-17 2.2 VF-S XYZLUT+MTX.icc
    Profile 3: icc-399932f8a663e2a9aa2cbde1bbcb0787
    /home/jehan/.local/share/icc/Lenovo ThinkPad X220 (low) 2015-08-05 15-59-48 colorhug.icc
    Profile 4: icc-7cfad1a392b1ed7aaf7bd4cb60faaae4
    /usr/share/color/icc/krita/scRGB.icm
    Profile 5: icc-f0a234e5c0d27cc33733f319ea59dc98
    /usr/share/color/icc/colord/Bluish.icc
    Profile 6: icc-2d12c2b957b959415433f61cc5b71cb5
    /usr/share/color/icc/colord/AdobeRGB1998.icc
    Profile 7: icc-7f31ae87aa96b60789cb032396e5d9e9
    /home/jehan/.local/share/icc/edid-579e731c976c6d6bf51a1990db1b2f35.icc
    Metadata: XRANDR_name=LVDS1
    Metadata: OutputPriority=primary
    Metadata: OwnerCmdline=/usr/libexec/gnome-settings-daemon
    Metadata: OutputEdidMd5=579e731c976c6d6bf51a1990db1b2f35

    I see several profiles here but I can’t see which one is supposed to be assigned in this output. In GNOME color manager though, the one labelled “Profile 1” above is the one assigned.

    Also, as Richard has pointed out in the Gnome bug report, there may be an underlying issue with the session daemon.

    Maybe. But for full story, I had the problem also on a brand newly installed Fedora 23 with GNOME on another computer. So either this session daemon issue is  nearly an out-of-the-box bug, or whatever was showing in my logs were not relevant to the issue. Also something which does not show up in the GNOME bug report is that I actually met Richard in person at LGM 16, and this is when he actually diagnosed the issue directly on my computer.

    Clearing the calibration before loading the profile is only a problem because there is no profile assigned, and thus nothing to load.

    Ok. But do GNOME and DisplayCal set differently the “assigned profile”? Because in the GNOME GUI, this display definitely has a profile assigned (and the colors are definitely different, my display is very bluish by default, so GNOME did load the profile). So how is it that it does not show as assigned for other programs? Does GNOME do something non-standard here?

  5. I see several profiles here but I can’t see which one is supposed to be assigned in this output.

    You can get the current default profile with `colormgr device-get-default-profile xrandr-LVDS1`. Still, something seems off, if xrandr_LVDS27_gdm_42 (with no profile assigned) is the active device on login (when the XDG autostart entries are run), why did it suddenly change to xrandr_LVDS1_jehan_1000? Are there several display devices connected to the PC (but I assume this is a Laptop)?

    But for full story, I had the problem also on a brand newly installed Fedora 23 with GNOME on another computer.

    Similar hardware, especially graphics-related? I can’t reproduce the issue in my Fedora 23 VM.

    Ok. But do GNOME and DisplayCal set differently the “assigned profile”?

    No. DisplayCAL-apply-profiles checks if a profile is assigned in GCM. So, on a correctly working system with colord and gnome-color-manager, DisplayCAL-apply-profiles should not affect the current calibration. The issue in your case arose because you were using an older version of dispcalGUI, and there seems to be something weird going on with the display devices that colord (or rather, the session daemon?) sees.

  6. $ colormgr device-get-default-profile xrandr-LVDS1
    Object Path: /org/freedesktop/ColorManager/profiles/icc_4505d4cb49a84698eaed025ae13aa067_jehan_1000
    Owner: jehan
    Format: ColorSpace..
    Title: Lenovo X220 i1display pro
    Qualifier: RGB..
    Type: display-device
    Colorspace: rgb
    Scope: temp
    Gamma Table: Yes
    System Wide: No
    Filename: /home/jehan/.local/share/icc/lenovo-x220-i1display-pro.icc
    Profile ID: icc-4505d4cb49a84698eaed025ae13aa067
    Metadata: FILE_checksum=4505d4cb49a84698eaed025ae13aa067

     

    Are there several display devices connected to the PC (but I assume this is a Laptop)?

    It’s a laptop indeed. There are usually no other display device than the default screen, though sometimes I plug another screen of course. Nevertheless this issue happens all the time (whereas there is 1 screen or more plugged at login)

    Similar hardware, especially graphics-related? I can’t reproduce the issue in my Fedora 23 VM.

    Nope the other is a desktop computer, with a Nvidia card (and proprietary driver) whereas my laptop has integrated Intel graphics.

  7. Ok. As the side-effect (clearing the calibration before loading the profile) is no longer the case since 3.1, I’ll mark this as resolved.

    I still consider the display device ID that colord sees changing seemingly on a whim after login to be a problem, but that seems to be related to something in colord or Gnome session.

Comments are closed.