Cups 'printtime' problems

Alexander E. Patrakov semzx at
Sat Feb 7 20:26:27 PST 2004

On Saturday 07 February 2004 21:25, Matthew Burgess wrote:
> "Alexander E. Patrakov" <semzx at> wrote:
> > 1) CUPS
> > 2) gimp-print 4.2.5 or 4.2.6 (don't use other versions)
> > 3) ESP ghostscript (pass --without-gimp-print to the configure script)
> Is it just me or does that seem a little unintuitive?  I mean in step 2
> you install gimp-print and then in step 3 you tell ESP ghostscript *not*
> to look for it?

Yes, I do. The reason is that gimp-print is used as a CUPS driver (a program 
that converts generic raster image to the printer format), not as a 
ghostscript driver (an object module linked into ghostscript). If I omit the 
'--without-gimp-print" switch, I get a compilation error due to changed 
gimp-print API.

The processing pipeline is:

1) The application submits a PostScript file, with MIME type 
2) The "pstops" CUPS filter inserts a setpagedevice command with the default 
device settings from the ppd file. The MIME type of the modified file becomes 
3) The "pstoraster" CUPS filter converts the modified PostScript to a generic 
device-independent raster format using the "cups" ghostscript device. The 
MIME type of the result is "application/vnd.cups-raster". Note that 
gimp-print is not used at this stage at all! Also take some time and read 
the /usr/lib/cups/filter/pstoraster shell script.
4) The "rastertoprinter" CUPS filter converts the raster image to the format 
acceptable for the particular printer model. Note that ghostscript is not 
used here!
5) The "parallel" or "usb" CUPS backend copies the result to the printer.

Alexander E. Patrakov

More information about the blfs-support mailing list