Yesterday afternoon my community sponsoredColorMunki arrived. Within hours, I had fixed all the issues using it for display calibration:
Notice the device specific images? If you don’t get images you’ll be directed here and asked to submit images for other users. This just left projector support, which was also pretty easy to add:
So, then I moved onto calibrating printers. Normally people only want to profile the local printer, but I really want to profile the printer I use on a weekly basis: Snapfish. The idea of a print shop is you upload image files and in a few days time you get then back in the mail. Now GCM allows me to generate 7 photos worth of calibration squares and when I receive the photos I can generate the ICC profile so all subsequent photos are color compensated:
All the code is in git master, although the print shop feature is not quite finished yet. Yell if it breaks.
A few months ago, I started working on gnome-color-manager. Now, making a display profile using an external calibration device is as simple as a few clicks and a few minutes of waiting. Quite a few people are keen on me working on printer calibration next, and to properly support spectrophotometers. This means you could generate print profiles with a few clicks of the mouse, just like display profile.
Unfortunately, I don’t have a spectrophotometer, and without hardware it’s pretty hard to add support. The devices are also quite expensive, and not something I can expense with Red Hat (they are kind enough to allow me to work on gnome-color-manager in work time as it is!) Generously, the guys on the gnome-color-manager list have put together a collection. If we can get close to the £320 total, then I can buy a device of my own and add support to gnome-color-manager and work on the upstream CUPS support.
If you’re interested in us achieving this goal, and you’ve got a few quid spare, I would be very grateful. We’ve already got £145 towards the total. Any donations gratefully accepted. If we get close enough, I’ll bite the bullet and convince my wife I need to spend some money on “work stuff”. Thanks.
Work on gnome-color-manager continues. Display, scanner and camera profiling seems to work very well now, but I would really like to move on to creating profiles for printers. To do this I need to buy some expensive kit, something like a ColorMunki. If anyone has one of these sitting in a draw being unloved, it would be all I need to add support to gnome-color-manager. It’s not something I can expense, as it’s not really part of the day job. Anybody?
Does anybody know of any standard CMYK color space ICC profiles that exist in the wild? I’m hoping to convince the copyright owners to release them under a free licence. The Adobe, ECI and IDEAlliance profiles are all really non-free and thus we can’t ship them by default. Thanks!
I’ve been hacking at gnome-color-manager for a few weeks now. We had a first release last week, and we’ve since been adding in more new features and a couple of nice bugfixes. But that’s not what this blog post is all about.
To calibrate a device, you need to scan in (or take a photograph of) a very accurately printed image. These printed images are called “targets” and usually come with a CD-ROM of the calibration data for that batch, or a URL of where to get the calibration data from.
Now, the number of people wanting to use a calibration target is going to increase in the future, as they’ll want to have a color-calibrated workflow whilst using Linux. These random CD-ROMs that get lost and URLs that might vanish don’t seem so easy to use when you’re calibrating 200 workstations, maybe using a different type of target for scanner, camera and film. And re-calibrating them all two years later doesn’t look like fun either.
So, ideally, we would ask the manufacturers of the calibration data (just big text files of numbers), and we could ship it in a shared package, that the distros can ship. Unfortunately, a lot of the targets in existence have NDA or horrible licensing terms shipped with them. This makes distros like Fedora that can only ship free software and content sad.
Enter Wolf Faust. He’s the bloke that’s been shipping high quality IT8 targets all over the world for the last few years. He’ll ship you just a single target (there is no minimum order), so it’s enthusiast friendly. The pricing is cheap (25 Euro) and postage and packaging is reasonable (5 Euro), which makes him the obvious choice for someone that just needs a target or two to calibrate their photographic or graphics workflow.
Wolf Faust has just released his entire set of calibration data under a free license. This means we can ship it in a distro package, so that calibrating a scanner is as simple as borrowing a target from a friend and taking a photo of it and then selecting a target name from a GUI drop-down. No need to fumble about with CDROMs or downloading the correct target from a website, now it just works.
Now, I guess Wolf has realized by making the calibration data “free” content, he’ll sell more targets; and I hope he does. If you make it easier for people to use your product more people will buy it for sure. It makes no sense keeping this data secret and wrapped up in legalese. It might not be much, but this for me is an advance of freedom, as much as just-another-package in a repository.
Note, gnome-color-manager will install shared-color-targets automatically using PackageKit if you try to calibrate a device and it’s not already installed. We’ll do the first official release of shared-color-targets just after Christmas.
A few days ago I created the shared-color-profiles project. This contains redistributable ICC profiles from different vendors (some free, some non-free). The configure script allows a distro to install just the profile types that are acceptable. In Fedora, that boils down to the profiles in public domain, but we’re hoping to add CC-BY-SA and CC-BY-ND manufacturer submitted profiles really soon. At the moment I’ve added Adobe, Argyll, ECI, ICC and IDEAlliance profiles. A few people are interested in creating profiles for common cameras models, although this would probably be a community supported effort rather than a vendor-supported effort. Anyway, doing this allows us to define proper color working spaces and default spaces to use in applications.
Anyway, if you know of any vendors or standard bodies that have released profiles that allow distribution as part of a combined package, or as CC-BY-foo or public domain then please let me know as a comment on this blog. Thanks.
Next Monday I intend to release the first supported version of gnome-color-manager (2.29.1) into the wild.
There have been quite a few new features added to git master recently, and very many bugs squashed. I wanted to thank Pascal de Bruijn for the hours and hours of regression testing he’s been doing, and quite a few other people on the mailing list that have also been reporting bugs before the release. There are quite a few translations already committed, so the first release should look really good.
New features added in the last couple of weeks:
Ability to support and manage “disconnected” devices
Cairo CIE widget showing gamut ranges
Ability to delete and import existing profiles
Adding of the rendering intent settings to the DBus interface for applications to use
Part of being an open source maintainer (and also my job at Red Hat) is to ignore trolls, but some of the messages I was getting yesterday were just personal attacks and abuse. That’s not cricket at all.
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:
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.