|
The Linux kernel will let you speak with any printer that you can
plug into a serial, parallel, or usb port, plus any printer on the
network, but this alone is insufficient; you must also be able to
generate data that the printer will understand. Primary among the
incompatible printers are those referred to as "Windows" or "GDI"
printers. They are called this because all or part of the printer
control language and the design details of the printing mechanism
are not documented. Typically the vendor will provide a Windows
driver and happily sell only to Windows users; this is why they are
called Winprinters. In some cases the vendor also provides drivers
for NT, OS/2, or other operating systems.
Many of these printers do not work with Linux.
A few of them do, and some of them only work a little bit (usually
because someone has reverse engineered the details needed to write
a driver). See the printer support list below for details on
specific printers.
A few printers are in-between. Some of NEC's models, for example,
implement a simple form of the standard printer language PCL that
allows PCL-speaking software to print at up to 300dpi, but only NEC
knows how to get the full 600dpi out of these printers.
Note that if you already have one of these Winprinters, there are
roundabout ways to get Linux to print to one, but they're rather
awkward. See Section 12 in this
document for more discussion of Windows-only printers.
As for what printers do work with Linux, the
best choice is to buy a printer with native PostScript support
in firmware. Nearly all Unix software that
produces printable output produces it in PostScript, so obviously
it'd be nice to get a printer that supports PostScript directly.
Unfortunately, PostScript support is scarce outside the laser
printer domain, and is sometimes a costly add-on.
Unix software, and the publishing industry in general, have
standardized upon Postscript as the printer control language of
choice. This happened for several reasons:
- Timing
Postscript arrived as part of the Apple Laserwriter, a
perfect companion to the Macintosh, the system largely
responsible for the desktop publishing revolution of the 80s.
- It's device-independent
Postscript programs can be run to generate output on a
pixel screen, a vector screen, a fax machine, or almost any
sort of printer mechanism, without the original program
needing to be changed. Postscript output will look the same
on any Postscript device, at least within the limits of the
device's capabilities. Before the creation of PDF, people
exchanged complex documents online as Postscript files. The
only reason this standard didn't "stick" was because Windows
machines didn't usually include a Postscript previewer, so
Adobe specified hyperlinks and compression for Postscript,
called the result PDF, distributed previewers for it, and
invented a market for their "distiller" tools (the
functionality of which is also provided by ghostscript's
ps2pdf and pdf2ps programs).
- It's a real programming language
Postscript is a complete programming language; you can
write software to do most anything in it. This is mostly
useful for defining subroutines at the start of your program
to reproduce complex things over and over throughout your
document, like a logo or a big "DRAFT" in the background. But
there's no reason you couldn't compute π in a Postscript
program.
- It's open
Postscript is fully specified in a publically available
series of books (which you can find at any good bookstore).
Although Adobe invented it and provides the dominant
commercial implementation, other vendors like Aladdin produce
independently coded implementations as well.
Failing the (larger) budget necessary to buy a Postscript printer,
you can use any printer supported by Ghostscript, the free
Postscript interpreter used in lieu of actual printer Postscript
support. Note that most Linux distributions can only ship a
somewhat outdated version of Ghostscript due to the license.
Fortunately, there is usually a prepackaged up to date Ghostscript
made available in each distribution's contrib area.
Adobe now has a new printer language called "PrintGear". I think
it's a greatly simplified binary format language with some
Postscript heritage but no Postscript compatibility. And I
haven't heard of Ghostscript supporting it. But some PrintGear
printers seem to support another language like PCL, and these
printers will work with Linux (iff the PCL is implemented in the
printer and not in a Windows driver).
Similarly, Adobe offers a host-based Postscript implementation
called PressReady. This works much
like Ghostscript does to provide Postscript support for a
non-Postscript printer, but has the disadvantage that it runs only
on Windows.
If you want to buy a printer, you can look in several places to
see if it will work. The cooperatively maintained Printing HOWTO
printer database aims to be a comprehensive listing of the state
of Linux printer support. A summary of it is below; be sure to
check online for more details and information on what driver(s) to
use.
Ghostscript's printer
compatibility page has a list of some working printers,
as well as links to other pages.
Dejanews
contains hundreds of "it works" and "it doesn't work"
testimonials. Try all three, and when you're done, check that
your printer is present and correct in the database, so that it will be listed properly in this document in the
future.
If you're lazy, I keep a short list of suggested
printers on my website. These center around color inkjets and
low-cost laser devices; fully compatible mid-range and high-end
devices are much easier to find. You can even help support this
document and the website by buying from buy.com or outpost.com
through me.
This section is a summary of the online
database. The online version includes device
specifications, notes, driver information, user-maintained
documentation, manufacturer web pages, and interface scripts for
using drivers with several print spooling systems (including LPR,
LPRng, PDQ, and CUPS). The online version of this list is also
interactive; people can and do add printers all the time, so be
sure to check it as well. Finally, if your printer isn't listed,
add it!
Note that this listing is not gospel; people sometimes add
incorrect information, which I eventually weed out. Entries I
have not sanity-checked are marked with an asterisk (*). Verify
from Dejanews that a printer works for someone before buying it
based on this list. If you can find no information in Dejanews,
mail me and I'll put you in contact with the person who added the
printer.
Printers here are categorized into three types:
- Perfectly
Perfect printers work perfectly - you can print to the full
ability of the printer, including color, full resolution, etc.
In a few cases printers with undocumented "resolution
enhancement" modes that don't work are listed as perfect;
generally the difference in print quality is small enough that
it isn't worth worrying about.
- Mostly
You can print fine, but there may be minor limitations of one
sort or another in either printing or other features.
- Partially
You can print, but maybe not in color, or only at a poor
resolution. See the online listing for information on the
limitation.
- Paperweight
You can't print a darned thing; typically this will be due to
lack of a driver and/or documentation on how to write one.
Paperweights occasionally get "promoted", either when someone
discovers that an existing driver works, or when someone
creates a new driver, but you shouldn't count on this
happening.
In all cases, since this information is provided by dozens of
people, none of it is guaranteed to be correct; entries with an
asterisk (*) are particularly suspect. The facts, however, should
be easy to corroborate from the driver web pages and manufacturer
web sites.
And without further ado, here is the printer compatibility list:
Table 1. Linux Printer Support Manufacturer | Perfectly | Mostly | Partially | Paperweight |
---|
Alps | | | MD-1000 | MD-1300 | MD-2000 | MD-4000 | MD-5000 |
| | Apollo | | | | | Apple | 12/640ps | Dot Matrix | ImageWriter | ImageWriter LQ | LaserWriter 16/600* | LaserWriter IINTX* | LaserWriter IIg | LaserWriter Select 360 |
| Color StyleWriter 1500 | Color StyleWriter 2200 | Color StyleWriter 2400 | Color StyleWriter 2500 | LaserWriter NT | StyleWriter 1200 | StyleWriter I | StyleWriter II |
| | | Avery | | | | | Brother | HL-4Ve | HL-8 | HL-10V | HL-10h | HL-630 | HL-660 | HL-720 | HL-730 | HL-760 | HL-820 | HL-1020 | HL-1040 | HL-1070* | HL-1250 | HL-1260 | HL-1270N | HL-1660e | HL-2060 |
| HJ-400 | HL-1050 | HL-1060 | HL-1240 |
| DCP-1200 | HL-1030* | MC-3000 | MFC 7150C | MFC-4350 | MFC-6550MC | MFC-8300 | MFC-9100c | MFC-9500 | MFC-9600 |
| | C.Itoh | | | | | CalComp | | | | | Canon | BJ-5 | BJ-10e | BJ-20 | BJ-200 | BJ-330 | BJC-70 | BJC-210 | BJC-250 | BJC-600 | BJC-610 | BJC-620 | BJC-800 | BJC-4000 | BJC-4100 | BJC-4200 | BJC-4300* | BJC-4400* | GP 335 | GP 405 | LBP-4+ | LBP-4U | LBP-8A1 | LBP-430 | LBP-1260 | LBP-1760 | LIPS-III |
| BJC-80 | BJC-240 | BJC-1000* | BJC-2000* | BJC-2100 | BJC-3000 | BJC-4310SP | BJC-7004* | LBP-4sx |
| BJ-300 | BJC-210SP | BJC-4550 | BJC-6000* | BJC-6100 | BJC-7000* | BJC-7100* | BJC-8200 | MultiPASS C2500* | MultiPASS C3000 | MultiPASS C3500* | MultiPASS C5000* | MultiPASS C5500 |
| BJC-5000 | BJC-5100 | BJC-6500 | BJC-8000 | LBP-460* | LBP-600 | LBP-660* | Multipass L6000* |
| Citizen | | | | | Compaq | | | | | DEC | DECWriter 500i* | DECwriter 110i* | DECwriter 520ic* | LA50* | LA75* | LA75 Plus* | LN03* | LN07* |
| | | | Dymo-CoStar | ASCII 250* | ASCII+* | EL40* | EL60* | LabelWriter II* | LabelWriter XL* | LabelWriter XL+* | SE250* | SE250+* | Turbo* |
| | | | Epson | Action Laser II | ActionLaser 1100* | ActionPrinter 3250 | Dot Matrix | L-1000* | LP 8000 | LQ-24 | LQ-500 | LQ-570+ | LQ-850 | LQ-2550 | LX-1050 | SQ 1170 | Stylus Color | Stylus Color 400 | Stylus Color 440 | Stylus Color 460 | Stylus Color 480 | Stylus Color 500 | Stylus Color 600 | Stylus Color 640 | Stylus Color 660 | Stylus Color 740 | Stylus Color 760 | Stylus Color 800 | Stylus Color 860 | Stylus Color 880 | Stylus Color 900 | Stylus Color 980 | Stylus Color 1160 | Stylus Color 1500 | Stylus Color 1520 | Stylus Color 3000 | Stylus Color I | Stylus Color PRO | Stylus Photo | Stylus Photo 700 | Stylus Photo 720 | Stylus Photo 750 | Stylus Photo 870 | Stylus Photo 1200 | Stylus Photo 1270 | Stylus Photo EX |
| EPL-5700 | Stylus Color 300 | Stylus Color 670* | Stylus Color 850 | Stylus Color II | Stylus Color IIs | Stylus Pro XL |
| | | Fujitsu | 1200* | 2400* | 3400* | PrintPartner 10V* | PrintPartner 16DV* | PrintPartner 20W* | PrintPartner 8000* |
| | | | HP | 2000C | 2500C | Color LaserJet 4500 | DesignJet 3500CP | DeskJet | DeskJet 400 | DeskJet 420C | DeskJet 500 | DeskJet 500C | DeskJet 510 | DeskJet 520 | DeskJet 540 | DeskJet 550C | DeskJet 560C | DeskJet 600 | DeskJet 1200C | DeskJet 1600C | DeskJet 1600CM | LaserJet | LaserJet 2 w/PS* | LaserJet 2D | LaserJet 2P | LaserJet 2P Plus | LaserJet 3 | LaserJet 3D | LaserJet 3P w/PS | LaserJet 4 Plus | LaserJet 4L | LaserJet 4M | LaserJet 4ML* | LaserJet 4P | LaserJet 5 | LaserJet 5L* | LaserJet 5M* | LaserJet 5MP* | LaserJet 5P* | LaserJet 6 | LaserJet 6L* | LaserJet 6MP* | LaserJet 1100 | LaserJet 2100 | LaserJet 2100M | LaserJet 4050N | LaserJet 5000 | LaserJet 8000 | LaserJet 8100 | LaserJet Plus* | LaserJet Series II* | Mopier 240* | Mopier 320* | PaintJet* | PaintJet XL* | PaintJet XL300* | ThinkJet* |
| Color LaserJet 5 | DesignJet 230* | DesignJet 350C | DesignJet 650C* | Designjet 750 C Plus* | DeskJet 310 | DeskJet 610C | DeskJet 610CL | DeskJet 612C | DeskJet 660C | DeskJet 670C | DeskJet 672C | DeskJet 682C | DeskJet 690C | DeskJet 692C | DeskJet 694C | DeskJet 697C | DeskJet 710C* | DeskJet 712C | DeskJet 720C* | DeskJet 722C* | DeskJet 810C | DeskJet 812C | DeskJet 815C* | DeskJet 820C | DeskJet 832C | DeskJet 840C | DeskJet 842C* | DeskJet 850C | DeskJet 855C | DeskJet 870C | DeskJet 870Cse* | DeskJet 870Cxi | DeskJet 880C | DeskJet 882C | DeskJet 895C | DeskJet 895Cxi* | DeskJet 932C | DeskJet 950C* | DeskJet 970C | DeskJet 970Cse | DeskJet 1100C | DeskJet 1120C | DeskJet 1220C | LaserJet 2 | LaserJet 6P | LaserJet 4000 | PSC 500* |
| Color LaserJet 5000 | DeskJet 320 | DeskJet 340C | DeskJet 890C | DeskJet 930C | DeskJet 1000C | LaserJet 1100A | OfficeJet 500* | OfficeJet 600* | OfficeJet 625* | OfficeJet 635* | OfficeJet 710* | OfficeJet Pro 1170C* | OfficeJet Pro 1175C* | OfficeJet R45* | OfficeJet R60 | PhotoSmart P1000 | PhotoSmart P1100* |
| LaserJet 3100* | LaserJet 3150 |
| Heidelberg | | | | | Hitachi | DDP 70 (with MicroPress)* |
| | | | IBM | 3853 JetPrinter* | 4019* | 4029 10P* | 4303 Network Color Printer* | Execjet 4072* | Page Printer 3112* | ProPrinterII* |
| | | | Imagen | | | | | Infotec | | | | | Kodak | DigiSource 9110* | IS 70 CPII* |
| | | | Kyocera | F-3300 | FS-600* | FS-600 (KPDL-2)* | FS-680* | FS-800* | FS-1200* | FS-1700+* | FS-1750* | FS-3750* | FS-5900C* | P-2000* |
| | | | Lexmark | 4039 10plus | Optra Color 40 | Optra Color 45 | Optra Color 1200 | Optra Color 1275 | Optra E* | Optra E+* | Optra E310 | Optra E312 | Optra Ep* | Optra K 1220* | Optra R+* | Optra S 1250* | Optra S 1855* | Optra Se 3455* | Optra W810 | Valuewriter 300* | Z32 |
| | 1000 | 1100 | 2030 | 2070 | 3200 | 5000 | 5700 | 7000 | 7200 | Winwriter 400* | Z11* | Z51 |
| 1020 | 2050 | Winwriter 100* | Winwriter 150c* | Winwriter 200* | Z22 | Z52* |
| Minolta | PagePro 6* | PagePro 6e* | PagePro 6ex* | PagePro 8* |
| | | | Mitsubishi | | | | | NEC | P2X* | PinWriter P6* | PinWriter P6 plus* | PinWriter P7* | PinWriter P7 plus* | PinWriter P60* | PinWriter P70* | SilentWriter LC 890* | Silentwriter2 S60P* | Silentwriter2 model 290* | SuperScript 660i* | SuperScript 1800 |
| | SuperScript 100C* | SuperScript 150C* | SuperScript 650C* | SuperScript 750C* | SuperScript 860* | SuperScript 870* | SuperScript 1260* |
| SuperScript 610plus* | SuperScript 660* | SuperScript 660plus* |
| Oce | | | | | Okidata | ML 380* | OL 410e | OL 600e* | OL 610e/PS | OL 800 | OL 810e/PS | OL400ex | OL810ex | OL820* | OL830Plus | Okipage 6e | Okipage 6ex* | Okipage 8c | Okipage 8p | Okipage 10e | Okipage 12i | Okipage 20DXn |
| Microline 182 | OL 400w* | OL 610e/S | OkiPage 4w+* | OkiPage 8w Lite* | OkiPage 8z* | Okijet 2500* | Okipage 4w* | Okipage 8w* | Super 6e |
| Microline 192+ | Okipage 6w* |
| | Olivetti | JP350S* | JP450* | JP470* | PG 306* |
| | | | PCPI | | | | | Panasonic | KX-P1123* | KX-P1124* | KX-P1150* | KX-P1180i* | KX-P2023* | KX-P2135* | KX-P2150* | KX-P4410* | KX-P4450* | KX-P5400* | KX-P8420* | KX-P8475* | KX-PS600* | kx-p1624* |
| | | KX-P6100* | KX-P6300 GDI* | KX-P8410* |
| Printrex | | | | | QMS | | | | | Raven | | | | | Ricoh | 4081* | 4801* | 6000* | Aficio 220* | Aficio AP2000 |
| | | Aficio Color 2206* | Afico FX10* |
| Samsung | ML-85* | ML-4600* | ML-5000a* | ML-6000/6100* | ML-7000/7000P/7000N* | ML-7050* | QL-5100A* | QL-6050* | SI-630A* |
| | | ML-5050G* | SF/MSYS/MJ-4700/4800/4500C* |
| Seiko | | SLP* | SLP 120* | SLP 220* | SLP EZ30* | SLP Plus* | SLP Pro* |
| | | Sharp | | | | | Star | | LC 90* | LC24-200* | StarJet 48* |
| | | Tally | | | | | Tektronix | 3693d color printer, 8-bit mode* | 4693d color printer, 2-bit mode* | 4693d color printer, 4-bit mode* | 4695* | 4696* | 4697* | Phaser 780 | Phaser 850* | Phaser IISX* | Phaser PX* |
| | | | Xerox | 2700 XES | 3700 XES | 4045 XES* | DocuPrint 4508 | DocuPrint C20 | DocuPrint C55* | DocuPrint N17 | DocuPrint N32* | Document Centre 400* |
| DocuPrint C6* | DocuPrint P8e | DocuPrint P12* | Docuprint C6* | Docuprint C8* | XJ6C* |
| Document Homecentre | WorkCentre 450cp* | WorkCentre 470cx* | XJ8C* |
| DocuPrint P8* | Work Centre XK35c | WorkCenter XE90fx* | WorkCentre XD120f* | WorkCentre XE80 | workcentre 385* |
|
* This entry has not been sanity-checked by me.
It's a bit difficult to select a printer these days; there are many
models to choose from. Here are some shopping tips:
- Cost
You get what you pay for. Most printers under $200-300
will print reasonably well, but printing costs a lot per page.
For some printers, it only takes one or two cartridges to add
up to the cost of a new printer! Similarly, the cheapest
printers won't last very long. The least expensive printers,
for example, have a MTBF of about three
months; obviously these are poorly suited
for heavy use.
- Inkjets
Inkjet printheads will clog irreparably over time, so the
ability to replace the head somehow is a feature. Inkjet
printheads are expensive, with integrated head/ink cartridges
costing ten times (!) what ink-only cartridges go for, so the
ability to replace the head only when needed is a feature.
Epson Styluses tend to have fixed heads, and HP DeskJets tend
to have heads integrated into the cartridges. Canons have
three-part cartridges with independently replaceable ink
tanks; I like this design. OTOH, the HP cartridges aren't
enormously more expensive, and HP makes a better overall line;
Canon is often the third choice from the print quality
standpoint; and Epson Styluses are the best supported under
Linux at the moment. You just can't win.
- Lasers
Laser printers consume a drum and toner, plus a little
toner wiping bar. The cheapest designs include toner and drum
together in a big cartridge; these designs cost the most to
run. The best designs for large volume take plain toner
powder or at least separate toner cartridges and drums.
- Photography
The best color photograph output is from continuous tone
printers which use a silver halide plus lasers approach to
produce—surprise!—actual photographs. Since these
printers cost tens of thousands to buy, Ofoto.com offers
inexpensive print-by-print jobs. The results are stunning;
even the best inkjets don't compare.
The best affordable photo prints come from the dye-sublimation
devices like some members of the Alps series (thermal transfer
of dry ink or dye sublimation). Unfortunately they have poor
Linux support (the one report I have speaks of banding and
grainy pictures), and even then it's unclear if the dye-sub
option is supported.
The more common photo-specialized inkjets usually feature 6
color CMYKcm printing or even a 7 color CMYKcmy process. All
photo-specialized printers are expensive to run; either you
always run out of blue and have to replace the whole
cartridge, or the individual color refills for your high-end
photo printer cost an arm and a leg. Special papers cost a
bundle, too; you can expect top-quality photo inkjet output to
run over a US dollar per page. See also the section on
printing photographs later in this document, and the sections
on color tuning (such as it is) in Ghostscript.
- Speed
Speed is proportional to processing power, bandwidth, and
generally printer cost. The fastest printers will be networked
Postscript printers with powerful internal processors.
Consumer-grade printers will depend partly on Ghostscript's
rendering speed, which you can affect by having a reasonably
well-powered machine; full pages of color, in particular, can
consume large amounts of host memory. As long as you actually
have that memory, things should work out
fine.
- Forms
If you want to print on multicopy forms, then you need an
impact printer; many companies still make dot matrix printers,
most of which emulate traditional Epson models and thus work
fine.
- Labels
There are two supported lines of label printer; look for
the Dymo-Costar and the Seiko SLP models. Other models may or
may not work. Avery also makes various sizes of stick-on
labels in 8.5x11 format that you can run through a regular
printer.
- Plotting
Big drafting formats are usually supported these days by
monster inkjets; HP is a popular choice. Mid-sized (11x17)
inkjets are also commonly used for smaller prints. Much
plotting of this sort is done with the languages RTL, HP-GL,
and HP-GL/2, all of which are simple HP proprietary vector
languages usually generated directly by application software.
I own an HP Deskjet 500, a Lexmark Optra 40, and a Canon
BJC-4100. All work perfectly: the HP and Canon are older models,
well supported by Ghostscript; and the Optra is a more modern
color inkjet with full Postscript and PCL 5 support (!).
I also own a Hawking Technology 10/100 Ethernet print server
(model 7117, actually made by Zero One Technologies in Taiwan);
this makes it possible to put the printer anywhere with power and
a network jack, instead of just near a computer. It's a little
dongle that attaches to the printer's parallel port and has an
Ethernet jack on the other side. The only flaw with this is that
it doesn't allow bidirectional communication, so I can't arrange
to be sent email when the ink is low.
|