*Last updated 2024-01-11*
# Notes on using dye-sub photo printers with Linux
Over the years, I've written drivers for many [dye-sublimation photo
printers](https://en.wikipedia.org/wiki/Dye-sublimation_printer). They
are all part of the [Gutenprint](http://gimp-print.sf.net) 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 you're using the absolute latest
Gutenprint code. If you are using older code, especially something
older than 5.3.4 (which is about three years old as of this writing!) I
won't be able to support you until you update to something more recent.
[How to compile current Gutenprint code](link://slug/building-modern-gutenprint)
Meanwhile, if you're on a Mac, I do not have the technical capability of
creating new builds, so I will be unable to help you.
*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
* Selphy CP series *
* Selphy ES series *
* Ciaat
* Brava 21 [_Notes_](#CS2)
* Citizen
* CX
* CX-W
* CY / CY-02
* CW-02 / OP900ii
* CX-02 [_Notes_](#Panoramas)
* CX-02W [_Notes_](#Panoramas)
* CZ-01
* DNP
* DS40 *
* DS80 *
* DS80DX
* DS620/DS620A * [_Notes_](#Panoramas)
* DS820/DS820A * [_Notes_](#Panoramas)
* RX1 / RX1HS *
* QW410 *
* Fujifilm
* ASK-300 [_Notes_](#D70)
* Kodak
* 305 [_Notes_](#D70) *
* 605 *
* 6850 *
* 7000
* Mitsubishi
* CP-D70DW / D70DW-S [_Notes_](#D70)
* CP-D707DW / D70DW-S [_Notes_](#D70)
* CP-D80DW [_Notes_](#D70) *
* CP-K60DW-S [_Notes_](#D70)
* P93DW *
* P95DW *
* Olmec
* OP1000
* Shinko/Sinfonia
* CHC-S2145 / S2 *
* CHC-S2245 / S3 [_Notes_](#S3) *
* CHC-S6145 / CS2 [_Notes_](#CS2) *
* CHC-S6245 / CE1
## Tier Two
These printers have good support in general. Most features are expected,
or known, to work.
* Citizen
* CW-01
* DNP
* DS480 [_Notes_](#D70)
* DS680 [_Notes_](#D70)
* Fujifilm
* ASK-2500
* HiTi
* P461 (aka Prinhome) *
* P510L
* P510S
* P520L *
* P525L
* Kodak
* 805
* 1400 *
* 6800
* 8800 / 9810 *
* 8810 [_Notes_](#Panoramas)
* Magicard [_Notes_](#Magicard)
* Avalon E
* Rio 2E
* Tango 2E *
* Tango +L
* Mitsubishi
* CP30DW *
* CP9550DW
* CP9550DW-S
* CP9600DW
* CP-D90DW [_Notes_](#Panoramas)
* CP-M1 / CP-M15 [_Notes_](#CPM1) *
* CP-W5000DW
* Shinko/Sinfonia
* CHC-S1245 / E1
* Sony
* UP-CR10L
* UP-CX1
* UP-DR150
* UP-DR200
* UP-D711MD *
* UP-D895 *
* UP-D897 *
* UP-D898MD * / UP-X898MD
* UP-971AD
* UP-DR80MD
* Stryker
* SDP1000
## Tier Three
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
* M4 / Q4
* Q8
* Fujifilm
* ASK-2000
* ASK-4000
* HiTi
* M610 [_Notes_](#S3)
* P510K
* P510Si
* P518A
* P518S
* P720L
* P728L
* P750L
* P910L
* Kodak
* 6900 / 6950 [_Notes_](#S3)
* 7010 / 7015
* Mitsubishi
* CP9600DW-S
* CP3800DW
* CP9800DW / CP9810DW [_Notes_](#CP9800)
* Nidec Copal
* DPB-4000
* DPB-6000
* DPB-7000
* Olmec
* OP900
* Sony
* UP-991AD
## Tier Four
These models are not expected to work without additional (possibly
considerable) development.
* Canon
* SELPHY QX series
* IVY series (ZINK)
* Citizen
* CX-02S
* DNP
* DS-SL20
* Fujifilm
* ASK-400
* ASK-500
* HiTi
* P110 series
* CS-200e
* CS-220e
* P310 series
* P32x series
* P530D
* X610
* All others not explicitly listed
* iDRPT
* Zeva 1966
* Kodak
* D4000
* D4600
* Liene
* Amber M200 / 4x6
* Pearl K100 / 2x3 (ZINK)
* Mitsubishi
* CP3020 series
* CP9500DW-S
* CP9550DW-A
* CP9550DW-U
* CP9800DW-U [_Notes_](#CP9800)
* CP9800DW-S [_Notes_](#CP9800)
* CP9820DW-S [_Notes_](#CP9800)
* CP-D80DW-S [_Notes_](#D70)
* Shinko/Sinfonia
* DP-1045 / D3
* CHC-S8145 / T1
* Sony
* UP-CR20L
* UP-DR80 (non-MD version)
* Zebra
* P120i / WM120i *
If there's a dye-sublimation photo printer not listed here, it's
probably not supported under Linux. This (and/or being listed under tier
3 or 4) 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 regression testing.
Contributions are always welcome!
Non-monetary contributions are also helpful, especially loaner printers
(with appropriate media kits) or systematic testing on models in the
tier 3 and 4 lists.
My general to-do list can be found [here](https://bugs.shaftnet.org);
this includes printers I'd like to support and incomplete or untested
features on nominally-supported models.
# Notes about Specific Printers
## Sinfonia CHC-S6145 / CS2
Also applies to:
* Ciaat Brava 21
Printing to these models requires an [image processing library](https://git.shaftnet.org/cgit/selphy_print.git/tree/lib6145/README) that is not bundled with Gutenprint. It is, however, Free Software.
## Sinfonia CHC-S2245 / S3
Also applies to:
* Kodak 6900 / 6950
* HiTi M610
Printing to these models requires an [image processing
library](https://git.shaftnet.org/cgit/selphy_print.git/tree/lib2245/README)
that is not bundled with Gutenprint. It is, however, Free Software.
## Mitsubishi CP-D70DW
Also applies to:
* Mitsubishi CP-D70DW-S
* Mitsubishi CP-D707DW
* Mitsubishi CP-D707DW-S
* Mitsubishi CP-K60DW-S
* Mitsubishi CP-D80DW
* Mitsubishi CP-D80DW-S
* Kodak 305
* Fujifilm ASK-300
* DNP DS480
* DNP DS680
Printing to these models requires an [image processing library](https://git.shaftnet.org/cgit/selphy_print.git/tree/lib70x/README) 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.
*Note that folks wishing to use these models with the popular Raspberry Pi units are advised to use the newest Raspberry Pi 4 model, as earlier ones exhibit communication issues with this family of printers.*
## Mitsubishi CP9800DW
Also applies to:
* CP9800DW-S
* CP9810DW
* CP9820DW-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.
Considerable progress has been made in reverse-engineering the data
tables and algorithms used by the manufacturer's drivers, and other than
sharpening, it is feature-complete. Bugs not withstanding, it should now
yield comparable results to what the official drivers generate.
This code has seen very little testing, as I lack access to a printer to
test things out on and my only willing tester disappeared.
The image processing algorithms devised for these models have been
integrated into the [lib70x image processing
library](https://git.shaftnet.org/cgit/selphy_print.git/tree/lib70x/README).
## Mitsubishi CP-M1 family
Also applies to:
* Mitsubishi CP-M15
* Fujifilm ASK-500
The newer CP-M1 family, like other recent Mitsubishi models, requires
proprietary image processing algorithms to generate usable output.
Considerable progress has been made in reverse-engineering the data
tables and algorithms used by the manufacturer's drivers, and it is now
considered feature-complete. Bugs not withstanding, it should now
yield comparable results to what the official drivers generate.
This code has seen very little testing, as I lack access to a printer to
test things out on. However what few reports I have received are positive.
The image processing algorithms devised for these models have been
integrated into the [lib70x image processing
library](https://git.shaftnet.org/cgit/selphy_print.git/tree/lib70x/README).
## 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.
## Panoramic Prints
* Citizen CX-02
* Citizen CX-02W
* DNP DS620/DS620A
* DNP DS820/DS820A
As of 2023-12-28, both discrete and continuous panorama prints of up
to three sheets are fully supported on the above models.
* Mitsubishi CP-D90DW (and CP-D90DW-P)
* Kodak 8810
* Kodak 6900/6950
Panorama prints are not yet supported on the above models. While I
expect the techniques employed for the DNP/Citizen models to be broadly
applicable, making progress will require direct physical access and a
pile of sacrificial media. Sponsors (and/or documentation) welcome!