GNOME Color Manager and initial scanner support

Late last night, after a few hours of intense refactoring (to allow udev based devices, as well as xrandr based devices) we got the initial scanner support working:

Scanner support

Scanner support

This lets us support printers and digital cameras pretty easily too. At the moment we just need to figure out how to make gnome-scan make a scan for us and save it in tiff format, and then we can get the calibration working for all types of scanners. Of course, you need a precision printed reference image, but you can get these pretty cheaply from Wolf Faust.

Then, we need to work with the gnome-scan guys to agree an interface so that gnome-scan knows what profile to use for each device. Either a library or DBus interface (with calls in either direction) are being considered, although I think the session-activated dbus interface is probably going to win. There’s still quite a bit of integration work to make CUPS ICC profile aware, but that’s on the list after scanners are working. After all, you need a calibrated scanner to calibrate the printer. Help is always welcome, so please checkout the code and help find bugs.

26 responses to “GNOME Color Manager and initial scanner support”

  1. Jeroen

    Really cool that you seem to add consistent colormanagement to the Linux Desktop in no-time! Can’t wait to see this stuff land in the large distro’s somewhere next year.

  2. Marc Fargas


    As a fellow GNOME user for so many years, I just wanted to say: THANKS for working on bringing Color Management to GNOME, and for doing it in a way that will make life much easier for all :)

    Again, THANKS!

  3. Anonymous

    One slightly related question: it seems that you’ve come up with several these kinds of cool gnome apps recently so do you have some template for this GUIs or do you always write them from scratch? I mean that if someone were to write a GNOME app to do thing XYZ is there some basic GUI code available where one could start implementing the actual app specific code having the base GUI bit already available?

  4. Dudo

    Thx a lot for your works, guys!

  5. martin

    Awesome job, I can’t wait to see this stuff show up in my regular GNOME distro.

  6. mehmoomoo

    Nice one Hugsie! I’ve been longing for this for years now! Thank you!

    It’s good that Linux is slowly catching up Windows 95 :)

  7. Jon Pritchard

    Looking great, as others have said, rapid development – very impressive. Thanks, can’t wait to try this out.

  8. Daniel Berrange

    When associating profiles with scanners, you’ll need to allow for multiple profiles to be associated with each scanner for the different modes of scanning, eg reflective media vs transparencies, or even for the types of media – eg different types of positive slide film, or negatives.

  9. Nicolas Mailhot

    It would be very nice if you also addressed video calibration. The reference software for that is here (sadly, written for the wrong platform). It was created by the French A/V community for the French A/V community (a sizable part of which earns its life selling expensive A/V kit or even calibrating it for people wealthy enough to afford it)

    If you can find someone to translate it to you the tutorial it is very good and explains the steps needed to calibrate a screen or beamer for video (they’re probably more appropriate than photo calibration for most people. Video people know the average screen is not perfect, since it’s much more expensive to get a perfect video screen of suitable size, while photo people tend to assume a perfect computer screen is possible)

    Those guys also designed the only home-made colorimeter argyllcms supports, BTW.

  10. Jazbo

    This is very interesting, will it be possilbe to manually adjust a printers color settings? More specifically, take some yellow out of an HP B9100? At this point that is the only thing that is keeping me having a dual boot…

  11. Philipp Sadleder

    For gnome-scan to be able to save to tiff, gegl needs a tiff-save operation, I think.

    1. Philipp Sadleder

      Or maybe, we could apply a profile to the gegl buffer while scanning to gimp via gnome-scan.

      BTW, is the profile support for scanners expected to work. How are scanners recognized. Leveraging udev will not be enough, as there are networked devices (scanners and printers) as well.

  12. fooish barish

    My old laptop from 2004 says when starting gcm-prefs -v

    TI:00:51:00 FI:gcm-clut.c FN:gcm_clut_init,408
    – failed to get setup parameters
    TI:00:51:00 FI:gcm-clut.c FN:gcm_clut_load_from_profile,119
    – no profile to load
    TI:00:51:00 FI:gcm-clut.c FN:gcm_clut_get_array,200
    – falling back to dummy gamma

    Normal? Bug? Just a junk hw?

    1. fooish barish

      Continued: Calibrate says:

      TI:01:02:56 FI:gcm-prefs.c FN:gcm_prefs_calibrate_cb,136
      – failed to get brightness: Dim capable hardware not present
      TI:01:02:56 FI:gcm-prefs.c FN:gcm_prefs_calibrate_cb,145
      – failed to set brightness: Dim capable hardware not present
      TI:01:02:57 FI:gcm-calibrate.c FN:gcm_calibrate_get_display,111
      – found LVDS mapped to 1

      and in “Getting default parameters”:

      -v: Error – icoms – set_ser_port: port number out of range!

      1. fooish barish

        Sorry for the phenomenal spam :)

        When hitting ok in “Getting default parameters” window with Details open, a lots of stuff is printed but the window is closed automatically nobody knows what happened there.. perhaps if details are show, then allow the user to inspect the output?

  13. fooish barish

    Still continuing, the info in “Getting default parameters” is actually printed in a silly manner:

    -v: Error – icoms – set_ser_port: port n
    umber out of range!

    That is, with a line break although the details window is rather big..

  14. Attili Sattibabu

    Good post mate!! Keep ‘em flowing!

Bad Behavior has blocked 2769 access attempts in the last 7 days.