Dye-Sublimation Photo Printers and Linux

Last updated 2019-08-24

Notes on using dye-sub photo printers with Linux

Over the years, I've written drivers for many dye-sublimation photo printers. They are all part of the Gutenprint driver suite.

This is intended to be an overview of the current state of affairs, to help guide you towards purchasing something that is known to work with Linux. Please note that this does not cover inkjet printers, which are far more common, but have their own set of quirks beyond the scope of this document and my attention.

Also note that this document presumes use bleeding-edge Gutenprint code. Mileage will vary if using older Gutenprint releases.

I have physical access to all models marked with an asterisk.

Tier One

These printers have first-rate support. All known features are supported and tested. Basically, you can't go wrong with one of these.

  • Canon Notes
    • Selphy CP series *
    • Selphy ES series *
  • Ciaat
  • Citizen
    • CX
    • CX-W
    • CY / CY-02
    • CW-02 / OP900ii
    • CX-02
  • DNP
    • DS40 *
    • DS80 *
    • DS80DX
    • DS620 *
    • DS680 *
    • RX1 / RX1HS *
  • Fujifilm
  • Kodak
  • Mitsubishi
  • Shinko/Sinfonia
    • CHC-S2145 / S2 *
    • CHC-S6145 / CS2 Notes

Tier Two

These printers have good support in general. Most features are expected, or known, to work.

  • Citizen
    • CW-01
  • Kodak
    • 605
    • 805 *
    • 1400 *
    • 6800
    • 7000 *
    • 8810 *
  • Magicard Notes
    • Avalon E
    • Rio 2E
    • Tango 2E *
    • Tango +L
  • Mitsubishi
    • CP-9550DW
    • CP-9550DW-S
    • CP-9600DW
    • CP-D90DW
  • Shinko/Sinfonia
    • CHC-S1245 / E1
  • Sony
    • UP-CR10L
    • UP-D895
    • UP-D897 *

Tier Three

These models have minimal support; they are known to work but the drivers may lack advanced features such as status reporting and error handling.

  • Nidac Copal
    • DPB-6000
  • Sony
    • UP-DR150
    • UP-DR200

Tier Four

These are models are expected to work, but have not been tested.

  • Canon
    • SELPHY ES20
    • SELPHY CP-220
    • SELPHY CP520
    • SELPHY CP530
    • SELPHY CP600
    • SELPHY CP810
  • DNP
    • DS-SL10
  • Fujifilm
    • ASK-2000
    • ASK-2500
    • ASK-4000
  • HiTi
    • P910L
  • Kodak
    • 7010 / 7015
  • Mitsubishi
    • CP-3800DW
  • Nidac Copal
    • DPB-4000
    • DPB-7000
  • Olmec
    • OP900
  • Shinko / Sinfonia
    • CHC-S6245 / CE1

Tier Five

These models are not expected to work without additonal (possibly considerable) development.

  • DNP
    • DS-SL20
  • HiTi
  • Kodak
    • 6900 Notes
    • 8800 / 9810
    • D4000
    • D4600
  • Mitsubishi
    • CP-9550DW-U
    • CP-9800DW-U
    • CP-9800DW / CP-9800DW-S Notes
    • CP-9810DW / CP-9820DW-S Notes
    • CP-M1E Notes
    • CP-W5000DW
  • Shinko/Sinfonia
    • DP-1045 / D3
    • CHC-S2245 / S3 Notes
    • CHC-S8145 / T1
  • Sony Notes
    • UP-DR80MD
    • UP-D898MD / UP-X898MD
    • UP-CR20L
  • Zebra
    • P120i / WM120i *

Other Noteworthy printers

  • HiTi
    • P520L / P525L / P725L / P750L Notes
  • Kodak

If there's a dye-sublimation photo printer not listed here, it's probably not supported under Linux. This is generally due to a lack of access to the actual printer, a lack of time/attention on my part, or both. So if there's a model you'd like to see added, drop me a line and we can try to work something out.

That said, these printers are expensive, and I tend to go through a lot of media when developing these drivers and performing ongoing testing. So contributions are always welcome!

Details on Specific Printers

Canon Selphy CP/ES series

This long-running product line consists of four generations:

  • CP-10, CP-100, CP-200, CP-220, CP-300, and CP-330
  • CP400, CP500, CP510, CP520, CP530, CP600, CP710, CP720, CP730, CP740, CP750, CP760, CP770, CP780, CP790, CP800, CP810, and CP900
  • ES1, ES2, ES20, ES3, ES30, and ES40
  • CP820, CP910, CP1000, CP1200, and CP1300

The third generation utilizes different media kits from the rest, combining paper and ribbon into a single cartridge. The fourth generation utilizes an entirely new print engine and command language, although it continues to utilize the same media kits as the rest of the CP-series of printers.

Nearly all have been directly confirmed to work.

The CP900, CP910, CP1200, and CP1300 also support printing jpeg images via WiFi. This is supported under Linux using the 'selphy_go' command line tool.

Sinfonia CHC-S6145

Also applies to:

  • Ciaat Brava 21

Printing to these models requires an image processing library that is not bundled with Gutenprint. It is, however, Free Software.

Sinfonia CHC-S2245 / S3

Also applies to:

  • Kodak 6900
  • HiTi M610

The communication protocol for these models is unknown, but is expected to be substantially similar to the CHC-S6145 / CS2 family. Sniffs of USB communications would ve very helpful.

Additionally, printing to these models requires an image processing library that is not bundled with Gutenprint. It is, however, Free Software.

Mitsubishi CP-D70DW

Also applies to:

  • Mitsubishi CP-D707DW
  • Mitsubishi CP-K60DW-S
  • Mitsubishi CP-D80DW
  • Kodak 305
  • Fujifilm ASK-300

Printing to these models requires an image processing library that is not bundled with Gutenprint. It is, however, Free Software.

All of the above models have been tested and confirmed to work, but some features require use of updated firmware that may not be available for public download.

Mitsubishi CP-9800DW

Also applies to:

  • CP-9800DW-S
  • CP-9810DW
  • CP-9820DW-S

These models are similar to the newer CP-D70DW family in that they require the driver to perform custom gamma correction and thermal compensation on the raw image data.

Enough progress has been made reverse-engineering the manufacturer drivers for these printers to generate usable prints, but the quality does not yet match what the Mitsubishi drivers produce.

Progress continues slowly, but there is no particular timeline on this effort. I also lack access to a printer to test things out on.

Note, the image processing algorithms devised for these models are being integrated into the lib70x image processing library.

Mitsubishi CP-M1E

The new CP-M1E, like other recent Mitsubishi models, requires proprietary image processing algorithms to generate usable output.
Initial investigations indicate that the library is simpler than earlier models, but it will still require a substantial reverse engineering effort.

At this time, there is no timeline for supporting this model.

Magicard Family

The Tango 2E is decently well-supported, with most features of the Windows drivers implemented. Notable exceptions include:

  • Custom holokote
  • Holopatch hole
  • Custom overcoat holes
  • Lamination (A feature unique to the Tango +L model)
  • CMYKOK, KO, and K-only ribbons
  • Magstripe encode-only
  • Magstripe reading

There are some untested features:

  • Magstripe encoding
  • Duplexing
  • Holopatch

Additionally, I have not yet figured out a sane way to query the printer status so errors can be properly reported to the operating system.

My unit also exhibits a slight registration error between the color layers and the black resin layer. I am still experimenting with ways of adjusting this.

The Rio 2E, Avalon E, and Tango +L models are likely to work as well, once the USB PIDs are known. Other Magicard models from newer or older generations may require additional work.

Sony UP (New)

Applies to:

  • UP-DR80 family
  • UP-D898 family
  • UP-CR20L

The newer Sony UP printer models utilize a different command protocol based on HP-PJL. Job generation should work, but status and media queries are unknown, and none of the code has been tested on a real printer.

HiTi Models

HiTi has released, in source form, CUPS drivers for their P520L/P525L/P725L/P750L models. They call it an "open source" driver but there is no license listed, and all source files say "All Rights Reserved." This is likely an oversight, but it means the code can't be distributed by anyone other than HiTi themselves:


The P910L is a rebadged Sinfonia S6245, which should be already handled by my (untested) Gutenprint code.

The M610 is a rebadged Sinfonia S2245.

There is also binary x86 driver for the P510L family of printers.

Aside from these specific models, as far as I am aware there is no Linux support for any other HiTi models. That could change if someone sees fit to sent some printers (and ideally, documentation!) my way.

*Update 2019-08-22 -- I now have access to a well-used HiTi P520L, and have begun to poke under its hood. *

Kodak DL2100

This appears to be a rebadged Oki Data 712dn duplexing laser printer.
Unless Kodak has mucked with Oki's original firmware, the printer natively supports Postscript 3, PDF, and PCL 5c, so no driver work will be necessary.