Sinfonia CHC-S6145 (CS2) and Ciaat Brava 21, working!

Over the past year, I've written a bit about the situation involving the Sinfonia CHC-S6145 printer and its rebadged sibling, the Ciaat Brava 21. To summarize, the printers worked but required use of a proprietary, binary-only library ('libS6145ImageProcess') to perform thermal compensation and other transformations to the image data in order to generate sane output.

To make a long story short, I set out to reverse-engineer how that library worked... and a couple of weeks ago, I succeeded, with my re-implemented library generating completely identical results.

After some back and forth with Sinfonia, I'm quite pleased to announce that my re-implemented library, called 'libS6145ImageReProcess', is now released to the public under a GPLv3+ license. Except for the differing name, it is a drop-in replacement for the Sinfonia library.

Just to be absolutely clear, Sinfonia 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 print images of Donald Trump biting the heads off of adorable kittens.

Now in order to actually utilize these printers, you'll need to compile and install three components:

I should have the necessary backend code in the Gutenprint development repository soon, but due to licensing complications the library will probably remain separately distributed.

Particular thanks go to Sinfonia and Ciaat for providing documentation on the printer communication protocols, and Matt Koglin for his SinfoniaCam(tm) and many, many rounds of testing.

This has been a long time coming, and is the culmination of quite a bit of work. I hope it proves useful, and if you do purchase one of these printers intending to use it with Linux (or a more obscure OS), please let your Sinfonia distributor know. :)

UPDATE 2016/10/19

Assuming that your distro already includes an up-to-date Gutenprint (5.2.11 or newer), here is what you will need to do in order to use these printers:

    git clone
    cd selphy_print
    sudo make install
    cd lib6145
    sudo make install
    sudo bash
    echo '/usr/local/lib' >> /etc/
    cd ..

Once you have that done, run this with the printer attached:

      sudo ./shinkos6145 testjobs/shinko_s6145_4x6.raw

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 installed properly:

    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.