5. Supported Printers
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. Unfortunately, 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 free
software. 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 print to one, but they're rather awkward. SeeSection 12 in this document for more discussion
of Windows-only printers.