Foreword
Here is some information about how printing works in Fedora, how to diagnose problems with it, and related topics.
Debugging problems
See the How to debug printing problems page for some information about how to diagnose printing problems and what information is needed when filing bug reports.
CUPS
The print spooler used in Fedora is CUPS, the Common Unix Printing System. It is an implementation of IPP, the Internet Printing Protocol.
Drivers/filters
CUPS comes with several drivers itself, but many are provided by other packages including:
- poppler-utils, for input filters converting PDF into PostScript format
- ghostscript-cups, for input filters converting PostScript and PDF into CUPS raster format
- the hpijs package (from HPLIP) provides both hpijs, the inkjet server (IJS) driver used for "Foomatic/hpijs" drivers; and hpcups, the newer-style raster driver
- gutenprint-cups provides a raster driver
- foomatic provides a CUPS filter for using various older-style ghostscript built-in drivers
Backends
Once the job file has been converted to the printer's native format, CUPS backends transfer the job to the printer. CUPS provides several methods for doing this, but some are provided by other packages including:
- smb from the samba-client package
- hp from HPLIP
- bjnp from the cups-bjnp package
Configuration tool
Printer queues are configured using system-config-printer. This package also provides the printer status icon in the notification area, and creates queues automatically when USB printers are connected.