Recent blog entries for khk

Was it really that long since my last entry?

My main focus for the last couple of weeks was the color management. Check out the start of my new page about this issue at

I am looking for people interested in color management in general. If you think you can contribute anything to this project, please get in touch with me.

The Perfection610 issue is looking better by the hour, I'm planning on releasing something that does scan correct colors and an almost correct scan area by the end of the weekend.

On the color management front: I got the domain. Right now it's just a copy of the stuff at, but I'm working on getting some new stuff up.


I just sent out a note to everybody with whom I communicated regarding the Perfection 610 in the past. I made a test version of the backend available to these people. Let's see if it good enough for these testers.

Marti made LCMS v1.06 available yesterday. The Linux support comes as usual from your's truly. This new version now has automake/autoconf support. So it's getting pretty easy to use color management in your own projects... I'm still waiting for people who want to add ICC Profile support to their software. The LCMS library is available at

Did some hacking on the color managment stuff. While doing that it really annoyed the heck out of me that GIMP was not able to handle the embedded ICC profile in a TIFF image that was produced by PhotoShop...

As we all know annoyance is oftentimes the final kick that's necessary to start the editor and the compiler. So I added support for embedded ICC profiles in TIFF images. These are not stored as Gimp parasites and can of course be handled by the color manager plugin (this development version is not yet released to the public).

Sometimes it just takes a lot longer than what I initially planned ... I finally managed to fix the problem with the Perfection 610 color channel shift (or whatever this "feature" should be called). The fix was pretty easy, the problem just was that by implementing the algorithm I made a very stupid error and it took me two days to figure our what I did wrong. When I scan thin black lines I actually get thin black lines and not three colored lines right next to each other.

On a different but related subject: The USB problem with EPSON scanners is also finally fixed. Thanks to David Nelson and everybody else who was involved in comming up with the proper way to handle the USB scanners. The new scanner driver is in kernel version 2.3pre7 and newer.

There is also some news from the color management corner: I created a small Gimp plugin that can be used to apply input (scanner) and output (printer) profiles to an image. The scanner profiles can be generated with SCARSE, for the printer profiles I'm using a commercial package. The plugin can be downloaded from my site.

The plan for the weekend is to clean up the Perfection610 software a little more (there is some garbage on the first and last few scan lines) and to implement the soft proofing in the color manager plugin.

For the long term I'm looking for people interested in color management issues. I hope to get a small group together to work on stuff like a printer profiling package and a solid color management for Gimp.

The USB problems all over again... The closer we get to a 2.4 kernel release the less likely it is that the EPSON scanners will work with USB in 2.4. I am desperately looking for somebody who can fix this problem. It seems to be caused by UHCI, at least I have only receveived problem reports from people running UHCI interfaces. If anybody is using an EPSON USB scanner with an OHCI interface, please let me know.

Unfortunately on the USB development list there was not too much feedback whenever somebody brought up this problem. The really odd thing is that it only seems to happen with EPSON scanners, every other scanner seems to work. The same goes for for all other bulk devices. But the fact that it worked with 2.3.39 is enough reason to believe that it's not related to my code or to the scanner.

I'm still wainting for the Perfection 610 scanner that's being supplied by EPSON. They confirmed my shipping address and my phone number two days ago, so I'm hoping the scanner is on it's way by now.

On a different, but related subject: I received the colorimeter that I bought on EBay. Unfortunately (or to be honest as I expected) it does not work and will not work with Linux. The company is not releasing any information about the communication protocol and my first experiments don't look promising: The device seems to send raw data to the Windows software, which is then calculating the colorimetric values. So without knowing the protocol and the exact specification of the sensor it's not possible to impement a Linux solution. BTW, the device is a ColorSavvy ColorMouseToo!.

With this colorimeter I hope to do something for a more accurate color on the scanning and the printing end. And while I'm on my soap box, check out the Gimp Print Plugin and the SANE EPSON backend.

There seems to be a problem with the EPSON Perfection 610 scanner. I thought I had it covered, but as it turns out there is a problem with some pixel-shift (?) - the different color channels are shifted up or down a few pixels. I am trying to get access to the actual hardware. So far I've done the USB development without even seeing an USB scanner. EPSON is very helpful and I hope that they will provide me with a test device.

On a different, but related subject I helped somebody to get his Perfection 1200U scanner to work. The whole USB issue is one big mess (at least if one is running a 2.2.x kernel). With Linux distributors shipping versions of the USB driver that are not useable out of the box they are putting the burdon on us software developers. I am not an USB developer, I somehow managed to get my printer and my mouse running on USB, but that's pretty much it. I do however spend quite some time talking scanner owners through all the steps necessary to get USB up and running. Unfortunately every case is different, so it's not even an option for me to write up some documentation.

I guess I've complained enough now. Let me get back to doing some good ol' software development.

I just created this account on advogato, so there is not much to report for today. Maybe one thing: Last weekend the LCMS (Little Color Management System) version 1.04 was released. This was Windows software originally, I helped Marti (the author) to port it to Linux (at this time only the Intel architecture is supported). Check out his site at

Don't hold your breath, but there is a Gimp plugin in the making that uses this library and can color correct scanned images using an ICC profile.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!