Over the past few years, I've written a lot about the various members of
the Mitsubishi CP-D70 family of printers, and how they were utterly
worthless under Linux.
These printers are unusual in that they required the host computer to
perform perform gamma correction and thermal compensation to the image
data in order to generate sane output. (If this sounds familiar, it's
because the Sinfonia CS2 was similarly afflicted). This relied on
unknown, proprietary algorithms only implemented within Mitsubishi's
To make along story short, I've been attempting to reverse engineer
those algorithms for nearly three years, and I'm pleased to announce
that I've finally succeeded. While I can't promise the results are
identical to Mitsubishi's own code, It is now possible to generate
high-quality prints with these printers using entirely Free Software.
The library is called 'libMitsuD70ImageReProcess', released to the
public under a GPLv3+ license.
Just to be absolutely clear, Mitsibushi is not responsible for this
library in any way, and will not support you if you complain that the
output is somehow deficient or your printer catches fire when you try to
print pictures of Margaret Thatcher posing in her skivvies.
Here's the list of the now-functional printers:
- Mitsubishi CP-D70DW, CP-D707DW, CP-K60DW-S, CP-D80DW
- Kodak 305
- Fujifilm ASK-300
While all of these models are expected to work, only the Kodak 305 has
actually been tested. Please drop me an email or comment here if you
have one of these printers and would like to help test things out.
In particular, if there's someone out there with a dual-decker
CP-D707DW, there are opportunities for further enhancements that I'd
like to try.
All code except for the library is now committed into Gutenprint, but is
not yet part of any [pre-]release. So if you want to test this stuff
out, you'll need to grab the latest Gutenprint code and
libMitsu70ImageReProces out of git and compile/install them manually. Once this is a little more stable I'll package the library code in a tarball for simpler distribution.
In other news, while the Kodak 305's official Windows drivers only
expose 4x6 and 8x6 prints, the printer firmware also supports the 6x6,
4x6-x2, and 2x6-x2 sizes that the Mitsubishi CP-K60DW-S supports. You'll
need to ensure you're using the 1.04 firmware! I have also received
reports that the '305 will accept the K60's print media, so in theory
5x7 and 6x9 support is possible.
Assuming that your distro already includes an up-to-date Gutenprint
(5.2.12-pre4 or newer), here is what you will need to do in order to use
git clone http://git.shaftnet.org/cgit/selphy_print.git/
sudo make install
sudo make install
echo '/usr/local/lib' >> /etc/ld.so.conf.d/local.conf
Once you have that done, run this with the printer attached:
sudo ./mitsu70x testjobs/mitsu_d70x_4x6-8bpp.raw # D70/D707/D80
sudo ./mitsu70x testjobs/mitsu_k60_4x6-8bpp.raw # K60
sudo ./mitsu70x testjobs/kodak_305_4x6-8bpp.raw # Kodak 305
As well as spitting out a page, you should see the following message in
the output. Any WARNINGs or ERRORs are a sign that the library wasn't
INFO: Image processing library successfully loaded
At this point, you can set the printer up using CUPS or your distro's
printer tool, and all will be well.
(Note that Gutenprint 5.2.12-pre5 or newer will include all necessary
selphy_print changes, but not the processing library)