The simple method of setting up a printer is described in printer_setup_simple.txt, though the resolution is slightly degraded. This uses the standard HP DeskJet 550 device driver, which supports HP's PCL (Printer Command Language, I believe). However, the HP DeskJet 550 I think was only 300 dpi, while the HP DeskJet 880C series has "up to" 600 dpi or other features to get higher resolution, and supports PCL+ and CRet color-layering. To get the best resolution, I had to install patches to ghostscript to use a device driver specifically for the HP DeskJet 880C series. To setup the Hewlett-Packard DeskJet 882C for Linux, basically followed instructions at http://www.proaxis.com/~mgelhaus/linux/software/hp880c/hp880c.html http://www.proaxis.com/~mgelhaus/linux/software/hp880c/README.880C with some modifications to install Ghostscript in Red Hat's default place of /usr/bin and /usr/share instead of /usr/local/bin and /usr/local/share. ********************************************************** First, upgrade to Ghostscript version 5.50. First just install the default RPM packages, and then rebuild it from the sources, by getting: ftp://ftp.cs.wisc.edu/ghost/aladdin/gs550/linux/ghostscript-5.50-2.i386.rpm ftp://ftp.cs.wisc.edu/ghost/aladdin/gs550/linux/ghostscript-fonts-5.50-1.noarch.rpm Note that I use gv, an improved version of ghostview. Already had the latest version of gv, and so didn't need to download it. mv ghostscript*.rpm /u/admin/gs cd /u/admin/gs rpm -Uvh ghostscript-5.50-2.i386.rpm rpm -Uvh ghostscript-fonts-5.50-1.noarch.rpm rpm -q -a | grep -i ghost # verify upgraded version of ghostscript If RPM thinks the latest package version has already been installed, may have to force it by adding some switches: rpm -U -vv --replacefiles --replacepkgs ghostscript-5.50-2.i386.rpm rpm -U -vv --replacefiles --replacepkgs ghostscript-fonts-5.50-1.noarch.rpm *********************************************************************** Downloaded http://www.proaxis.com/~mgelhaus/linux/software/hp880c/hp850c-880p-1.31.tar.gz tar zxvf hp850c-880p-1.31.tar.gz From http://www.cs.wisc.edu/~ghost/aladdin/get550.html, downloaded: ghostscript-5.50.tar.gz 2826251 bytes jpegsrc.v6b.tar.gz 613261 bytes (aka ghostscript-5.50jpeg.tar.gz) libpng-1.0.2.tar.gz 225386 bytes (aka ghostscript-5.50libpng.tar.gz) zlib-1.1.3.tar.gz 168463 bytes (aka ghostscript-5.50zlib.tar.gz) ghostscript-fonts-std-5.50.tar.gz 1444863 bytes ghostscript-fonts-other-5.50.tar.gz 1444863 bytes put these files in /u/admin/gs cd /u/admin/gs tar zxvf hp850c-880p-1.31.tar.gz tar zxvf ghostscript-5.50.tar.gz tar zxvf ghostscript-5.50jpeg.tar.gz tar zxvf ghostscript-5.50libpng.tar.gz tar zxvf ghostscript-5.50zlib.tar.gz tar zxvf ghostscript-fonts-std-5.50.tar.gz tar zxvf ghostscript-fonts-other-5.50.tar.gz # It looks like ghostscript-fonts-other is not part of the default RedHat # Linux installation, so didn't bother installing them. cp hp850c-880p/* gs5.50 # The overwrite of contrib.mak is intentional. # # Note that hp850c-880p/makefile is a modified version of # gs5.50/unix-gcc.mak. However, it is hardwired to assume that the jpeg # source directory is ../jpeg-6b, png is ../libpng-1.0.2, and zlib is # ../zlib-1.1.3. If these versions change, you may need to edit the # makefile. cd gs5.50 cp -p makefile makefile.original emacs makefile & # to make the following changes: $ diff makefile.original makefile 56c56,58 < prefix = /usr/local --- > # prefix = /usr/local > # GWH: change to install in the RedHat Linux default location for ghostscript: > prefix = /usr 321c323,324 < MAKEFILE=$(GLSRC)unix-gcc.mak --- > #MAKEFILE=$(GLSRC)unix-gcc.mak > MAKEFILE=$(GLSRC)makefile ## # then exit emacs and do: make make install # as root # after doing this, lp shows up with "cat /proc/devices" # although if the printer hasn't been used in a while, it # apparently dissappears from the /proc/devices list. If the fonts from the original ghostscript installation are still there, everything should now work. Otherwise, you may need to do: cd /u/admin/gs cp -pr fonts /usr/share/ghostscript ************************************************************************** as root, do: mv /usr/lib/rhs/rhs-printfilters cp -p printerdb printerdb_original Edit printerdb, to add the following entry, after the DeskJet550 entry: *********************** StartEntry: DeskJet880 GSDriver: cdj880 Description: {HP DeskJet 880C/882C/895C series} About: { \ This driver has fixes to support the HP DeskJet 880C series \ at its highest resolution. (You can also use the HP DeskJet \ 550C driver, though the resolution will be slightly degraded \ on an 880C printer.) This driver is based on patches/fixes \ provided at: \ www.proaxis.com/~mgelhaus/linux/software/hp880c/ \ Additional GS options for the 880C described in the file \ hp850c-880p/readme.hp8.\ This driver supports the HP inkjet printers which have \ color capability using both black and color cartridges \ simultaneously. \ If your printer seems to be saturating the paper with ink, \ try added an extra GS option of '-dDepletion=2'. \ Ghostscript supports several optional parameters for \ this driver: see the document 'devices.doc' \ in the ghostscript directory under /usr/doc. \ } Resolution: {300} {300} {} BitsPerPixel: {1} {Normal B&W printing} BitsPerPixel: {3} {Normal color printing with color cartridge} BitsPerPixel: {8} {Floyd-Steinberg B&W printing for better greys} BitsPerPixel: {24} {Floyd-Steinberg Color printing (best, but slow)} BitsPerPixel: {32} {Sometimes provides better output than 24} EndEntry *********************** ********************************************************** ************************************************************************** Use printtool to set up the printer: as root, run "printtool", select "add" (or highlight a printer and "edit" it), select "local printer". Kept the name of the first printer (the default printer?) as "lp" (and the spool directory is /var/spool/lpd/lp") , (Using the automatically detected hardware printer device /dev/lp1.) Then "select" the input filter. Selected "HP DeskJet 880C/882C/895C series", with 300x300 resolution. Selected color depth of 32 (some of the lower resolution color depths work for the DeskJet 550C driver, but I think they don't work for the 880C driver). Selected the printing options "Send EOF after job to eject page", "Fix stair-stepping text" (does LF->CR/LF), and "Fast text printing". "Margins" options has no effect when printing 1 logical page per physical page. (I tried modifying printerdb to allow other resolutions besides 300x300, but they didn't seem to work.) Print a test postscript page in printtool, or do it manually with: lpr /usr/lib/rhs/rhs-printfilters/testpage.ps Can then add alternate print queues, by running "printtool" (as root). I used the same names for the printer queue and the spool directory. The final configuration was: queue name lp default printer, uses 880C driver at standard (high) resolution lp-fast uses 880C driver, with Extra GS options: -dQuality=-1 lp-hi uses 880C driver, with Extra GS options: -dQuality=1 hp550 uses 550C driver, color depth=32 hp550-fast uses 550C driver, color depth=3 (default coarser dithering) test: lpr -Plp-fast /usr/lib/rhs/rhs-printfilters/testpage.ps ************************************************************************** Beware: Sometimes a postscript file (such as many of the *.ps files in /usr/share/ghostscript/5.50/examples) does not start with the right "%!PS" string to identify them as postscript to the lpr filters, and so cannot be directly printed with the lpr command. Instead have to manually run ghostscript first, as in the following examples. To manually use ghostscript to drive the printer, do: gs -sDEVICE=cdj880 -dNOPAUSE -dSAFER -dBATCH -sOutputFile=\|lpr /usr/lib/rhs/rhs-printfilters/testpage.ps or a more complex color triangle with: gs -q -sDEVICE=cdj880 -dNOPAUSE -dSAFER -dBATCH -sOutputFile=- /usr/share/ghostscript/5.50/stcinfo.ps | lpr ************************************************************************* Other sources of info: http://www.proaxis.com/~mgelhaus/linux/software/hp880c/hp880c.html http://www.erdw.ethz.ch/~bonk/hp850/hp850.html ftp://ftp.sbs.de/pub/graphics/ghostscript/pcl3/pcl3.html Ghostscript's device documentation: file:/usr/doc/ghostscript-5.50/Devices.htm The printing howto database: http://gatekeeper.picante.com/~gtaylor/pht/printer_list.cgi Info on Linux and the Epson Stylus Color 740: http://lcewww.et.tudelft.nl/~haver/linux/epson.html Instructions on adjusting page margins: http://www.erdw.ethz.ch/~bonk/hp850/hp850-node15.html