Welcome to Gutenprint 5.3.3! Please read these release notes carefully. Gutenprint 5.2 is still considered the stable release line. Gutenprint is a suite of printer drivers for UNIX, Linux, and Macintosh OS X systems (10.6 and above) that use CUPS as their printing system. Gutenprint currently supports over 3000 printers. It also includes an enhanced Print plug-in for GIMP that replaces the print plug-in packaged with the GIMP distribution. *** NOTE TO PACKAGERS: Please read the file README.package for issues that are of interest to distributors and packagers of Gutenprint. It is not necessary for end users of Gutenprint to read this file. These release notes contain the following sections: I) General Requirements II) Changes from Previous Releases III) Exceptions and Workarounds A) General Issues B) Printer-Specific Issues C) Build/Installation Issues IV) Overall changes from Gutenprint 5.2 A) General User-visible Changes B) New Functionality C) Changes to the Enhanced Print plugin for GIMP D) Changes to the CUPS interface E) Architectural Changes V) Critical Upgrade Note from Gutenprint 5.0 or Earlier ================================================================ I) GENERAL REQUIREMENTS Gutenprint will run on any reasonably modern computer running Linux, Macintosh OS X (10.6 or above), Solaris, or any other UNIX-like operating system. If you plan to compile this package from source, you will also need an ANSI C compiler, such as gcc (recommended). A compiler is not required if you are installing a pre-compiled package. Processor and memory requirements vary depending upon the printer and runtime options selected; any system dating from 2005 or later should easily suffice. We suggest that you have at least 64 MB of memory for general purpose printing, 256 MB or more for high quality printing on a good printer, and 1 GB or more for large format printing at high resolution. You should have at least 50 MB of free disk space to compile and install Gutenprint. Disk space requirements for printing will vary depending upon how you use Gutenprint, but are generally modest except as noted below. We recommend a processor speed of at least 300 MHz. Fast printers may require a faster processor to achieve maximum printing speed. For general use, you should have the Common UNIX Printing System, CUPS (version 1.1.15 or above). Please read the rest of the release notes, in particular the Exceptions and Workarounds, for full details on installation, as there is important information to be aware of. CUPS is the printing system used on Macintosh OS X 10.3 and above, and many other systems use it. The combination of CUPS and Gutenprint provides a flexible, general purpose printing system capable of producing the highest quality output with any of the printers supported by this package. We strongly recommend using CUPS with Gutenprint as a general-purpose printing solution. The enhanced Print plug-in for GIMP requires GIMP 2.0 or above (GIMP 2.2 recommended). This plug-in will work with any printing system, and offers a comprehensive user interface to control all aspects of the printing process. If you are printing photographs in large format from GIMP at very high resolution, disk space requirements may be substantial, and we recommend at least 2 GB of free disk space for that purpose. Users of Macintosh 10.6 (Snow Leopard) and above can use this package. For ease of installation, a pre-built package with installer is normally supplied a few days after the release of the source package. We strongly recommend that OS X users use the pre-built package rather than attempt to build it themselves. Packages are not always supplied for development releases. The README file included with this package provides full instructions for building and installing Gutenprint. ================================================================ II) MAJOR CHANGES FROM PREVIOUS RELEASES * Changes from Gutenprint 5.3.3 (Gutenprint 5.3.2 was not released) 1) Gutenprint will fail to configure if the necessary CUPS development packages are not installed. This is to protect users against attempting to install newer versions of Gutenprint without installing the CUPS development package. This results in an installation that does not work with CUPS, which has created confusion in the past. Normally, you should install the CUPS development package, which on most systems is "cups-devel", "cups-dev", or similar, using your operating system's package manager. If you really want to install Gutenprint without CUPS, you may run configure with "--without-cups". This may be useful if you intend to use only the Gutenprint plugin for GIMP, or you intend to use the Gutenprint library to support a custom printing solution that does not involve CUPS. However, for most users, simply running configure --without-cups is not the correct course of action. 2) The following new printers have been added: * DNP DS-SL20 (EXPERIMENTAL) * Epson Expression Home XP-240 (EXPERIMENTAL) * Epson Expression Home XP-245 (EXPERIMENTAL) * Epson Expression Home XP-340 (EXPERIMENTAL) * Epson Expression Home XP-344 (EXPERIMENTAL) * Epson Expression Home XP-440 (EXPERIMENTAL) * Epson Expression Home XP-442 (EXPERIMENTAL) * Epson Expression Photo XP-860 (Preliminary) * Epson Expression Photo XP-960 (Preliminary) * Epson Expression Photo XP-8500 (Preliminary) * Epson Stylus L130 * Sinfonia CHC-S2245/S3 (EXPERIMENTAL) * Sony UP-D895 family * Sony UP-D897 family * Sony UP-D898 family (EXPERIMENTAL) * Sony UP-CR20L (EXPERIMENTAL) * Sony UP-DR80MD (EXPERIMENTAL) 3) Bugfixes and other enhancements for the following printers: * DNP DS80DX * DNP DS-SL10 (EXPERIMENTAL) * Nidac Copal DPB-6000 * Kodak 7000/7010/7015 * Kodak 8810 * Sony UP-DP10 * Sony UP-DR150 * Sony UP-DR200 * Sony UP-CR10L 4) Many miscellaneous fixes for dyesub printers and the dyesub backend; please see the ChangeLog for details. 5) The Gutenprint plugin for GIMP displays a higher resolution thumbnail. 6) The following models have been added to existing printer series: * Canon PIXMA iP2899 (EXPERIMENTAL) * Canon PIXMA G1910 (EXPERIMENTAL) * Canon PIXMA G2910 (EXPERIMENTAL) * Canon PIXMA G2915 (EXPERIMENTAL) * Canon PIXMA G3010 (EXPERIMENTAL) * Canon PIXMA G3910 (EXPERIMENTAL) * Canon PIXMA G3915 (EXPERIMENTAL) * Canon PIXMA G4010 (EXPERIMENTAL) * Canon PIXMA G4902 (EXPERIMENTAL) * Canon PIXMA G4910 (EXPERIMENTAL) * Canon PIXMA G4911 (EXPERIMENTAL) * Canon PIXMA TS3130S (EXPERIMENTAL) * Canon PIXMA TS3190 (EXPERIMENTAL) * Canon PIXMA TS3195 (EXPERIMENTAL) * Canon PIXMA TS5030S (EXPERIMENTAL) * Changes from Gutenprint 5.3.0 1) This is the initial 5.3 release. While we believe that this release is stable and fully useful, it has not had the level of exposure that Gutenprint 5.2 has had. 2) cups-genppdupdate will by default refuse to upgrade PPD files from 5.2 (or earlier). Supply the -x option to force this upgrade, or use -i to upgrade interactively. This permits you to continue using Gutenprint 5.2 while experimenting with 5.3. 3) The PCL driver now supports color laser printers that use PCL 5c natively (as opposed to emulation). The support is considered to be preliminary at this time. * The following printers now support color printing: Epson ActionLaser AL-C8600 Epson ActionLaser AL-C8600 PS3 HP Color LaserJet 2500 HP Color LaserJet 5 HP Color LaserJet 5000 HP Color LaserJet 8550GN Kyocera FS-5800C Kyocera FS-5900C Kyocera FS-8000C Xerox DocuPrint C20 Xerox WorkCentre 7345 * The following new printers have been added, with color support: Brother HL-2400CeN Brother HL-2600CN Brother HL-3400CN Brother HL-3450CN Canon LBP-5360 Canon LBP-5390 Canon imageRunner C2570 Canon imageRunner C2570i Canon imageRunner C2620N Canon imageRunner C3100 Canon imageRunner C3170 Canon imageRunner C3170i Canon imageRunner C3200 Canon imageRunner C5030 Canon imageRunner C5180 Canon imageRunner C5800 Canon imageRunner C5870U Canon imageRunner C6800 Canon imageRunner C6870U HP Color LaserJet 5m HP Color LaserJet 2500 HP Color LaserJet 2500 HP Color LaserJet 3000 HP Color LaserJet 3000dn HP Color LaserJet 3000dtn HP Color LaserJet 3000n HP Color LaserJet 3700 HP Color LaserJet 3700n HP Color LaserJet 3800 HP Color LaserJet 3800dn HP Color LaserJet 3800dtn HP Color LaserJet 3800n HP Color LaserJet 4600 HP Color LaserJet 4610 HP Color LaserJet 4650 HP Color LaserJet 4700 HP Color LaserJet 4700dn HP Color LaserJet 4700dtn HP Color LaserJet 4700n HP Color LaserJet 4700ph+ HP Color LaserJet 5500dn HP Color LaserJet 5500dtn HP Color LaserJet 5500hdn HP Color LaserJet 5500n HP Color LaserJet 8500 HP Color LaserJet 8500dn HP Color LaserJet 8500n HP Color LaserJet 8550 HP Color LaserJet 8550DN HP Color LaserJet 8550GN HP Color LaserJet 9500 HP Color LaserJet 9500gp HP Color LaserJet 9500hdn HP Color LaserJet 9500n HP Color LaserJet CM1312 HP Color LaserJet CM1312nfi HP Color LaserJet CM1411FN HP Color LaserJet CM1412FN HP Color LaserJet CM1413FN HP Color LaserJet CM1415FN HP Color LaserJet CM1415FNW HP Color LaserJet CM1416FNW HP Color LaserJet CM1417FNW HP Color LaserJet CM1418FNW HP Color LaserJet CM2320 MFP HP Color LaserJet CM2320FXI MFP HP Color LaserJet CM2320N MFP HP Color LaserJet CM2320NF MFP HP Color LaserJet CM3530 MFP HP Color LaserJet CM4540 MFP HP Color LaserJet CM4730 MFP HP Color LaserJet CM6030 MFP HP Color LaserJet CM6040 MFP HP Color LaserJet CM6040f MFP HP Color LaserJet CM6049f MFP HP Color LaserJet CP1514n HP Color LaserJet CP1515n HP Color LaserJet CP1518ni HP Color LaserJet CP2025 HP Color LaserJet CP2025dn HP Color LaserJet CP2025n HP Color LaserJet CP2025x HP Color LaserJet CP3505 HP Color LaserJet CP3505dn HP Color LaserJet CP3505n HP Color LaserJet CP3505x HP Color LaserJet CP3525 HP Color LaserJet CP3525dn HP Color LaserJet CP3525n HP Color LaserJet CP3525x HP Color LaserJet CP4005 HP Color LaserJet CP4005dn HP Color LaserJet CP4005n HP Color LaserJet CP4020 HP Color LaserJet CP4500 HP Color LaserJet CP4520 HP Color LaserJet CP4540 HP Color LaserJet CP5225 HP Color LaserJet CP5225dn HP Color LaserJet CP5225n HP Color LaserJet CP5520 HP Color LaserJet CP6015de HP Color LaserJet CP6015dn HP Color LaserJet CP6015n HP Color LaserJet CP6015x HP Color LaserJet CP6015xh Kyocera Ci-1100 Kyocera CS-250ci Kyocera CS-2525E Kyocera CS-300ci Kyocera CS-400ci Kyocera CS-500ci Kyocera CS-3050ci Kyocera CS-3225E Kyocera CS-3232E Kyocera CS-3550ci Kyocera CS-4035E Kyocera FS-5800C Kyocera FS-5900C Kyocera FS-8000C Kyocera FS-C5015N Kyocera FS-C5016N Kyocera FS-C5020N Kyocera FS-C5025N Kyocera FS-C5030N Kyocera FS-C5100DN Kyocera FS-C5200DN Kyocera FS-C5300DN Kyocera FS-C5350DN Kyocera FS-C5400DN Kyocera FS-C8008N Kyocera FS-C8100DN Kyocera FS-C8100DN+ Kyocera KM-C830 Kyocera KM-C850 Kyocera KM-C2520 Kyocera KM-C2525E Kyocera KM-C2630 Kyocera KM-C3225 Kyocera KM-C3225E Kyocera KM-C3232 Kyocera KM-C3232E Kyocera KM-C4035E Kyocera TASKalfa 250ci Kyocera TASKalfa 300ci Kyocera TASKalfa 400ci Kyocera TASKalfa 500ci Oki C5300 Oki C5400 Oki C7300 Oki C9200 Oki C9400 Sharp AR-BC260 Sharp AR-BC320 Sharp AR-C170M Sharp AR-C172M Sharp AR-C260 Sharp AR-C260F Sharp AR-C260M Sharp AR-C260P Sharp AR-C260S Sharp AR-C261F Sharp AR-C261M Sharp AR-C261S Sharp AR-C262M Sharp AR-C262S Xerox Phaser 3160N Xerox Phaser 8860 Xerox WorkCentre C2424 * Many other color laser printers, too numerous to list, have been added based on specification; please report success or failure with any other color laser printer using the Generic PCL Color drivers. Printers that we know about that may be supported are listed as UNTESTED Automatically Generated. 4) The following BW laser printer has been added: HP LaserJet 5N 5) The Canon driver offers improved support for the following printer models: BJC-85 BJC-1000 BJC-2100 BJC S9000 6) The following Epson inkjet printers have been added: Epson Expression ET-2550 EcoTank ET (UNTESTED) Epson Expression ET-2600 EcoTank ET Epson Expression ET-2650 EcoTank ET (UNTESTED) Epson Expression ET-2700 EcoTank ET (UNTESTED) Epson Expression ET-2750 EcoTank ET Epson Expression ET-2750 EcoTank Business Edition (UNTESTED) Epson Expression XP-15000 Series The following printers are known not to be supported by any current driver; if you are interested in assisting or contributing one of these printers for development, please contact us. Note that many of these are network printers that likely support IPP Everywhere without requiring a driver. Epson Expression ET-3600 EcoTank Epson Expression ET-3700 EcoTank Epson Expression Home XP-5100 Epson WorkForce ET-3750 Epson WorkForce ET-4750 Epson WorkForce ET-8700 Epson WorkForce ET-16500 Epson WorkForce WF-2750 Epson WorkForce WF-2760 Epson WorkForce WF-2860 Epson WorkForce WF-6530 Epson WorkForce WF-7210 Epson WorkForce WF-7710 Epson WorkForce WF-7720 Epson WorkForce Enterprise WF-C17590 Epson WorkForce Enterprise WF-C20590 Epson WorkForce Pro WF-3720 Epson WorkForce Pro WF-4630 Epson WorkForce Pro WF-4720 Epson WorkForce Pro WF-4730 Epson WorkForce Pro WF-4734 Epson WorkForce Pro WF-4740 Epson WorkForce Pro WF-5110 Epson WorkForce Pro WF-5190 Epson WorkForce Pro WF-5620 Epson WorkForce Pro WF-5690 Epson WorkForce Pro WF-6090 Epson WorkForce Pro WF-6590 Epson WorkForce Pro WF-7110 Epson WorkForce Pro WF-7620 Epson WorkForce Pro WF-8090 Epson WorkForce Pro WF-8590 Epson WorkForce Pro WF-C5210 Epson WorkForce Pro WF-C5290 Epson WorkForce Pro WF-C5710 Epson WorkForce Pro WF-C5790 Epson WorkForce Pro WF-C7610 Epson WorkForce Pro WF-C7710 Epson WorkForce Pro WF-C7720 Epson WorkForce Pro WF-C8190 Epson WorkForce Pro WF-C8690 Epson WorkForce Pro WF-C869R Epson WorkForce Pro WF-M5194 Epson WorkForce Pro WF-M5299 Epson WorkForce Pro WF-M5694 Epson WorkForce Pro WF-M5799 Epson WorkForce Pro WF-R4640 Epson WorkForce Pro WF-R5190 Epson WorkForce Pro WF-R5690 The following printers may work with an existing driver; if you have one and are interested in testing, please contact us: Epson Expression Home XP-340 Epson Expression Home XP-434 Epson Expression Home XP-440 Epson Expression Home XP-446 Epson Expression Premium ET-7700 Epson Expression Premium ET-7750 Epson Expression Photo XP-860 Epson Expression Photo XP-960 Epson Expression Photo XP-8500 Epson PictureMate PM-400 Epson Premium XP-640 Epson Premium XP-820 Epson Premium XP-830 Epson Premium XP-6000 Epson Stylus C88+ (will likely work with C88 driver up to 2880x1440 DPI) Epson WorkForce WF-100 Epson WorkForce WF-2630 Epson WorkForce WF-M1560 (may work with existing driver in black and white mode) 7) Paper size options have been corrected, so that inappropriate paper sizes for many printers have been removed. 8) The USB dye-sublimation printer backend has been considerably enhanced. As well as many bugfixes, the following user-visable changes have been made: * Much improved status and media reporting via standard CUPS marker attributes. * Simpler, cleaner URI scheme. This is an example of a typical URI reported by older Gutenprint release: gutenprint53+usb://Dai+Nippon+Printing/DP-DS620?serial=123456783&backend=dnpds40 The same printer will now generate this URI scheme: gutenprint53+usb://dnpds620/12345678 The backend will continue to parse the old scheme indefinitely, so that existing installations will function normally. ================================================================ III) EXCEPTIONS AND WORKAROUNDS A) GENERAL ISSUES 1) The Canon, Hewlett-Packard, Lexmark, and dye sublimation drivers do not offer all of the additional options and improvements that the Epson driver does. Please contact us if you would like to assist with making these options available (requires C programming skills). ---------------- B) PRINTER-SPECIFIC ISSUES 1) A number of Epson printers have been reported to produce poor quality at the bottom of the page in borderless mode when the resolution is set to 5760x2880 DPI. The specific problem observed is that the print fades at the bottom of the page. Other than reducing the resolution or avoiding use of borderless mode, there is no known workaround for this problem. 2) There have been reports of poor color fidelity on the Epson Stylus Photo R2880 with certain paper types. This problem has not been reproduced. 3) A number of laser printers capable of large format printing are incorrectly classified as small format, thereby not permitting users to select large paper sizes. The workaround is to use the printer named "Generic PCL 6/PCL XL LF Printer". Please report any such printers to gimp-print-devel@lists.sourceforge.net; they will be fixed in the next available release. ---------------- C) BUILD/INSTALLATION ISSUES 1) With certain versions of CUPS and in certain non-default configurations, if a new version of Gutenprint is installed over an existing version genppd will create PPD files based on the older version of Gutenprint rather than the newer version. This will happen if all of the following are true: i) The cups-config provided by the CUPS driver adds -Wl,rpath=/usr/lib. This is done by some versions of CUPS reportedly because in some cases the runtime linker does not pick up libraries out of /usr/lib. This can be checked by running cups-config --libs --ldflags and inspecting the output for any mention of "rpath", "RPATH", "RUN_PATH", or the like. This is controlled by the CUPS installation on your system. ii) There is presently a version of Gutenprint installed in /usr (--prefix=/usr) rather than /usr/local or the like. The default location of Gutenprint installation is in /usr/local, but system vendors typically install Gutenprint in /usr. iii) Gutenprint is built dynamically only (--disable-static or --disable-static-genppd). This is not a default, and requires the explicit --disable-static or --disable-static-genppd on the Gutenprint "configure" command line. Therefore, if you build Gutenprint normally you should not be vulnerable to this problem. Note that in general if you install CUPS into a non-standard location, and install Gutenprint into the same location, this problem can surface. For example, if you choose to install CUPS in /usr/local and Gutenprint in /usr/local you are vulnerable to this. However, it is not standard practice to install CUPS anywhere but /usr. In this case, the run path embedded in the genppd executable points to the version of Gutenprint installed in /usr/lib. This run path overrides any attempt by libtool to look in the build directory. The result is that cups-genppd and rastertogutenprint are run against the older version of Gutenprint. If the new version contains additional features (more printers, changes to printer options, etc.) they will not be available. This bug is difficult to detect in a normal build. It normally does not cause an error to happen during build unless there is an API change from the version installed and the version being built; the only failure is frequently that some PPD files may not be built or may be built with missing options. Due to the PPD version checking introduced in this release, the behavior might manifest itself as a runtime error. It is also possible that there will be no error at all other than the older version of Gutenprint being used, with the result that new features and bug fixes are not available. If you wish to use only shared libraries, do not wish to build static libraries at all, and are vulnerable to this issue (because cups-config --ldflags sets the run path), there are three workarounds available: i) Build and install Gutenprint into /usr (rather than /usr/local) and then rebuild Gutenprint from scratch. This will install the correct libgutenprint.so in /usr/lib, and in the rebuild genppd will be run against the correct library. ii) Remove the old version of Gutenprint prior to building the new version of Gutenprint. The important files to remove are anything named /usr/lib/libgutenprint*. iii) Edit cups-config to remove the reference to the run path. 2) There is a known complication building "escputil" that causes problems on a small number of systems. "escputil" uses the "readline" package, to support command editing and history within the program. Unfortunately, linking programs with "readline" often requires linking against additional libraries, and the exact library depends upon the system (e. g. not all Linux/UNIX systems have the same requirements). The configure script attempts to determine which additional library must be linked against. It tries using the following libraries in this order to build a test executable: -lncurses -lcurses -ltermcap no additional libraries The reason it tries other libraries first is that some systems will link successfully, but only fail when an attempt is made to actually call readline. Therefore, we assume that additional libraries are required. Since we try the extra libraries in order from most recent to oldest, we expect that the first one we find will be appropriate. For example, if the "ncurses" library is the standard on a given system, the "termcap" library may be provided for back compatibility, but it is unlikely that "termcap" will be the standard with "curses" or "ncurses" being provided for compatibility only (so that the link will succeed but the command will use the incorrect library). As this procedure is not failsafe, we provide the following configure options to control this behavior: ./configure --with-readline=yes (the default; attempts to determine the correct library to link against) ./configure --with-readline=no (turns off use of readline altogether) ./configure --with-readline=only (specifically instructs configure to not attempt to link against any other libraries) ./configure --with-readline=libs (specifies the libraries to be linked against) A hypothetical (this won't work anywhere!) example of the latter would be ./configure --with-readline='-lncurses -ltermcap' Note that configure will not allow readline to be used if it cannot successfully build the test program, regardless of the option selected. If you are having difficulty getting escputil to build, we suggest using --with-readline=no. The commands used within escputil are very short and seldom require significant editing. ================================================================ IV) OVERALL CHANGES FROM 5.2 to 5.3 A) GENERAL USER-VISIBLE CHANGES 1) It is now possible to specify units in fractional point sizes, allowing more precise placements and page sizes. 2) Added support for the following printers: Canon SELPHY CP1300 Magicard Tango 2E Magicard Rio 2E Magicard Avalon E (Experimental) Magicard Enduro (Experimental) Magicard Enduro Plus (Experimental) Fujifilm ASK-2000 (Experimental) Fujifilm ASK-2500 (Experimental) Fujifilk ASK-4000 (Experimental) Nidac Copal DPB-4000 (Experimental) Nidac Copal DPB-6000 Nidac Copal DPB-8000 (Experimental) Samsung ProXpress SL-M3820ND 3) Enhanced support and bugfixes for the following printers: Fujifilm ASK-300 Sony UP-DR150 and UP-DR200 Canon SELPHY CP820, CP910, CP1000, and CP1200 DNP DS40, DS620, and RX1HS Citizen CW-01 and CY-02 Mitusbishi CP-D70DW, CP-D707DW, and CP-D80DW Shinko/Sinfonia S1245 Mitsubishi CP9800DW, CP9800DW-S, and CP-9810DW 4) Improved the performance of all dye-sublimation printers B) NEW FUNCTIONALITY 1) All units are now floating point rather than integer. C) CHANGES TO THE ENHANCED PRINT PLUGIN FOR GIMP 1) Units can be entered in fractional point sizes as well as Imperial and metric sizes that are not exact numbers of points. D) CHANGES TO THE CUPS INTERFACE 1) Units can be entered in fractional point sizes as well as Imperial and metric sizes that are not exact numbers of points. E) ARCHITECTURAL CHANGES 1) All units are now floating point rather than integer. ================================================================ V) CRITICAL UPGRADE NOTE FROM GUTENPRINT 5.0 OR EARLIER This note does not apply to initial installations of Gutenprint, upgrades from any 5.2 release, or to Macintosh users; if this describes you, you should skip this section. If you are using CUPS with Gutenprint on a non-Macintosh system, and are upgrading from Gimp-Print 4.2 or a version of Gutenprint prior to 5.2, please read this note carefully as there are special procedures that you should follow in addition to the normal procedure of running cups-genppdupdate. Background: older versions of Gutenprint distributed CUPS backends, named "epson" and "canon", that we have determined have compatibility problems on certain systems. The symptom of this problem is that the last page of each print job does not complete; it prints almost to the end of the page, and the printer stops. The only way to clear this condition is to power the printer off and back on after each job. A CUPS "backend" is a special program whose purpose is to transfer data from the printer driver to the printer itself. CUPS provides a number of general purpose backends. The "epson" and "canon" backends previously provided with Gutenprint are capable of retrieving ink level information from Epson and Canon inkjet printers respectively. These backends are no longer needed in CUPS 1.2, and are not strictly necessary in CUPS 1.1. Therefore, these backends have been removed from Gutenprint as of 5.2. Due to a subtle issue, these backends may not correctly send all of the data to the printer on some systems. While we have not fully characterized the systems on which this happens, it appears likely that it is on certain operating system versions. The backend believes that all data has been sent, but the way it does I/O results in some data not being sent on all systems. As a result, the printer continues to wait for more data to be received. We recommend that if you have any printer queues using these backends that you modify the queues to use a different backend. Even if you are not currently having problems, we recommend that you do this, as a future operating system upgrade may result in this problem becoming visible. If this is the first version of Gutenprint or Gimp-Print you have installed on your system, you should not have these backends present. Here are the steps we recommend that you follow. 1) Determine whether any printers on your system use the epson or canon backends. This can be determined via "lpstat -v". This may be done without administrator privileges: $ lpstat -v device for EPSON_Stylus_Photo_R300_USB_1: usb://EPSON/Stylus%20Photo%20R300 device for espr300-ez: usb://EPSON/Stylus%20Photo%20R300 device for r300-test: epson:/dev/usb/lp0 device for HP_LaserJet_1022_USB_1: usb://HP/LaserJet%201022 Inspect each device line for a device that begins with "epson:" or "canon:". These are the queues you must modify. In this case, the only queue that must be modified is "r300-test". The other queues all have devices that begin with "usb:"; these queues use the standard CUPS USB backend that does not have this problem. 2) For each queue that uses the epson or canon backend, modify it to use an appropriate backend. If your system provides a user interface for administering printers, we recommend that you use that interface. If you're comfortable with the KDE or GNOME print manager, you may use that interface. However, we recommend using the CUPS web interface (http://localhost:631/printers) to modify the printer. The steps you should follow (assuming that you are using the CUPS web interface) are: i) Click "Modify Printer", to start leading you through a series of screens allowing you to change the printer properties. ii) The first screen, entitled "Modify Printer r300-test" (the printer name, of course, will vary), will display the name of the printer, along with the location and description. You may modify these if you wish, but it isn't necessary. Click "Continue". iii) The next screen, entitled "Device for r300-test", is the important one. This provides you a drop-down list of devices. These devices typically include "AppSocket/HP JetDirect", "LP#1", and so forth. It is critical that you select the correct device at this point. The entries that you want are of the form EPSON Stylus Photo R300 USB #1 (EPSON Stylus Photo R300) or EPSON Stylus Photo EX Parallel #1 (EPSON Stylus Photo EX) Make sure to select the one that's appropriate for your printer model. You will likely also see entries such as "Gutenprint USB Printer #1 (EPSON USB2.0 Printer (Hi-speed)". These are the entries corresponding to the "epson" and "canon" backends, and you must avoid these. iv) The next screen, entitled "Make/Manufacturer for r300-test", allows you to select the manufacturer of the printer. Normally, the correct manufacturer (Epson or Canon) will be highlighted, and you can click Continue. v) The next screen, entitled "Model/Driver for r300-test", allows you to select the precise model of the printer. Normally, the correct model (which will be named something like "Epson Stylus Photo R300 - CUPS+Gutenprint v5.3.0-pre2") will already be highlighted, and you can click "Modify Printer". Otherwise, you must find and select the correct printer model before clicking Modify Printer. You will likely need to provide your administrator username and password to continue here. After this, you should see a message "Printer r300-test modified successfully". 3) Remove the epson and canon backends. On most systems, the backends will be named /usr/lib/cups/backend/canon and /usr/lib/cups/backend/epson. On some systems, the backends will be named /usr/lib64/cups/backend/canon and /usr/lib64/cups/backend/epson. They may be present in other locations, but these are the most common locations. If these files are present, you should create a directory named /usr/lib/cups/old-backend or /usr/lib64/cups/old-backend, and move the epson and canon backends there just in case you later need them. % cd /usr/lib/cups % sudo mkdir old-backend Password: % cd backend % sudo mv canon epson ../old-backend Password: The specific underlying technical problem appears to be that when at least certain devices are in non-blocking mode (O_NONBLOCK or O_NDELAY) with certain operating system versions (Linux 2.6.25 appears to be suffer this problem, and most likely some other versions also do), the close() call does not result in all data being flushed to the device. We have determined that the data is in fact written by the "epson" process, but it's never getting to the printer.