summaryrefslogtreecommitdiff
path: root/README
blob: 63675eb2c8c1d5f56b961bab9453b3c6ba200ec0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
Welcome to Gutenprint 5.3.3!  Please read these notes carefully.

*** 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.

================================================================

I) INTRODUCTION

    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.

    Gutenprint was renamed from its original name of Gimp-Print in
    order to clearly distinguish it from GIMP.  While this package
    started out as the Print plugin for GIMP, it has expanded into a
    collection of general purpose printer drivers, and the enhanced
    Print plugin for GIMP is now only a small part of the package.
    Furthermore, the name Gutenprint recognizes Johannes Gutenberg,
    the inventor of the movable type printing press.  Finally, the
    word "guten" means "good" in German.

    Please read the user's manual (doc/gutenprint-users-manual.pdf)
    carefully, as it covers much more information than this README
    file.  In addition, please read the release notes (NEWS), as it
    has information on the latest changes.

    Gutenprint supports only the printer part of multi-function
    devices (devices that typically include scanning, copying, and fax
    capabilities).

    We recommend that all users who wish to use this package for
    general purpose printing use CUPS.  CUPS provides an excellent
    web-based interface for easy printer administration, and all
    CUPS-enabled applications (OpenOffice.org, all KDE apps, etc.) and
    printing dialogs (kprinter, xpp, etc.) show all the options in
    easy to use GUIs.  Please visit http://www.cups.org/ for
    information on downloading and installing CUPS.


================================================================

II) INSTALLATION

    This section is provided for people installing the package from
    source.  If you are installing from a pre-compiled package (such
    as the Macintosh OS X package, or a package provided by your
    distribution vendor), you may skip this section.

    Installing packages from source requires some level of system
    administration skills along with superuser privileges.  Superuser
    privilege allows you to perform actions that may be damaging to
    your system.  If you are not comfortable with the material
    discussed here and in the release notes, or with performing simple
    administrative actions, we recommend that you not attempt to
    install this package from source.

    If you are building Gutenprint from the CVS repository, you need
    to take some additional steps.  Please read doc/README.maintaining
    for instructions on how to build from CVS.

    Before beginning, please read the release notes carefully for any
    updates.

----------------

A) OVERVIEW

    Gutenprint includes the following primary components:

      - The core driver library (required for everything else)
      - A CUPS (Common UNIX Printing System) driver
      - A CUPS backend, required for selected dye-sublimation printers
      - A command-line utility to administer and maintain Epson
        printers
      - An enhanced Print plug-in for GIMP
      - GTK-based UI libraries (used by the enhanced GIMP plug-in)

    This package requires the use of GNU Make to compile.  On systems
    with both GNU make and another make installed, GNU make may be
    named `gmake' or `gnumake'.  BSD users in particular must take
    care to use 'gmake'.

    The general procedure to build Gutenprint is as follows:

    ./configure [options]
    make
    make install

    The "configure" script, which must be run before doing anything
    else, controls which of these components are built along with any
    options desired.  This script determines what software is
    installed on your system and what components will be compatible
    with it, and prepares the package to be built and installed.  If
    the script emits any warnings or errors, please be certain that
    you understand them before proceeding.

    After the configure script has completed its work, it will print
    a summary of its choices.  Please ensure that it is correct before
    proceeding.  The summary looks like this:

	Configuration Summary:
	------------- --------

	If you have any problems, please report the information below to
	gimp-print-devel@lists.sourceforge.net

	================================================================
	  Release: gutenprint 5.3.3 generated on 25 Aug 2019
	  Generated at Sun Aug 25 11:11:14 EDT 2019 by rlk

	  Features:
	    Build CUPS:                                 yes, installing in /usr
		Build CUPS 1.2 enhancements:            yes
		Build CUPS PPD files:                   no
		Generate PS level 3 CUPS PPD files:     yes
		Build genppd statically:                yes
		Build CUPS dyesub USB backend:          yes
	    Build EPSON inkjet utility:                 yes
	    Build enhanced Print plugin for GIMP:       yes
		GIMP plugin will be named:              gutenprint
		Install plugin(s) in home directory:    no
	    Build test programs:                        yes
	    Build testpattern generator:                yes

	  Installation summary:
	    Installation prefix:                        /usr/local
	    Exec prefix:                                /usr/local (${prefix})
	    Data directory:                             /usr/local/share/gutenprint
	    Library directory:                          /usr/local/lib64/gutenprint (${exec_prefix}/lib64/gutenprint)
	    Executable directory:                       /usr/local/bin (/usr/local/bin)
	    XML data directory:                         /usr/local/share/gutenprint/5.3/xml
	    Module directory:                           /usr/local/lib64/gutenprint/5.3/modules (${exec_prefix}/lib64/gutenprint/5.3/modules)
	    Install sample images:                      yes

	  General configuration:
	    Configure arguments:                        --enable-maintainer-mode
	    Compiler:                                   gcc
	    Compiler Version:                           gcc version 7.4.1 20190725 [gcc-7-branch revision 273795] (SUSE Linux)
	    Compiler options:                           -Disfinite=finite  -O3  -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wwrite-strings -Werror-implicit-function-declaration -Winline -Wformat=2 -finline-limit=131072 -Wformat -Werror=format-security -Wmissing-prototypes -D_POSIX_C_SOURCE=200809L -std=c99 -pedantic -Waggregate-return -Wcast-qual -Wshadow -Wredundant-decls
	    Build static libraries:                     yes
	    Build shared libraries:                     yes
	    Maintainer mode:                            yes
	    Use i18n:                                   yes
	    Generate profiling information:             no
	    Generate debugging symbols:                 no
	    Use modules:                                static
	    Use readline libraries:                     yes, extra arguments: -lncurses
	    uname -a output:                            Linux dsl092-065-009 4.12.14-lp151.28.13-default #1 SMP Wed Aug 7 07:20:16 UTC 2019 (0c09ad2) x86_64 x86_64 x86_64 GNU/Linux
	================================================================


    The CUPS and GIMP components require that the appropriate packages
    be installed on your system.  Many distribution vendors separate
    packages into runtime and development packages.  The development
    packages are required in order to successfully compile Gutenprint.
    In many cases the configure script cannot detect whether these
    development packages are installed, in which case you will get an
    error during compilation.  Also note that it is necessary for the
    versions of the development packages to match exactly the versions
    of the runtime packages they are related to.

    PLEASE INSPECT THE OUTPUT CAREFULLY BEFORE PROCEEDING.  If you
    expect to build a particular component (particularly the CUPS
    driver, CUPS backends, or enhanced Print plugin for GIMP), and
    the configure output states that that component will not be built,
    please make certain that you have the required development packages
    installed, as described below in the sections for the particular
    components.


----------------

B) CORE DRIVER LIBRARY

    The core driver library, which is always built, contains all of
    the printer drivers comprising the Gutenprint package.  When the
    package is built, it consists of a core library (libgutenprint), a
    set of XML files, and depending upon the options selected,
    additional libraries containing the drivers for each family of
    printers.

    By default dynamically loadable modules (plug-ins) will be built
    for the family drivers, and loaded at run-time if your operating
    system supports it.  If you experience problems,
    --with-modules=dlopen or --with-modules=ltdl may be used to select
    the module loading method (dlopen is the default, but GNU libltdl
    is more portable), or --with-modules=static or --without-modules
    disables them.  If you wish to compile Gutenprint entirely
    statically (with no use of shared libraries), you may use the
    option --disable-shared.


----------------

C) CUPS

    Gutenprint is normally used as a driver under CUPS (Common UNIX
    Printing System).  Full description of CUPS is beyond the scope of
    this README file; full information may be found at
    http://www.cups.org.  Gutenprint 5.3 requires CUPS 1.1.9 or
    higher.  We recommend use of 1.1.15 or above; that release of CUPS
    fixes some important bugs.  Gutenprint supports CUPS 1.2, and
    supports the CUPS 1.2 enhancements, including dynamic PPD file
    generation.

    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.

    If Gutenprint thinks it has detected a correct installation of
    CUPS, but that installation is in fact not correct, you will get
    errors when you compile the package.  The errors will typically
    look like this; the important error is "cups/cups.h: No such file
    or directory" (other ".h" files may also be missing, depending
    upon the missing packages):

	make[3]: Entering directory `/opt/gutenprint/gutenprint-5.3.0-pre2/src/cups'
	gcc -DHAVE_CONFIG_H -I. -I../..  -I../../include -I../../include
	   -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes
	   -Wmissing-declarations -Wnested-externs -Wwrite-strings
	   -Werror-implicit-function-declaration -Winline -Wformat=2
	   -finline-limit=131072  -DCUPS_DRIVER_INTERFACE -DALL_LINGUAS='"cs da
	   de el en_GB es fr hu it ja nb nl pl pt sk sv zh_TW"'
	   -Disfinite=finite  -O6 -MT gutenprint_5_3-genppd.o -MD -MP -MF
	   .deps/gutenprint_5_3-genppd.Tpo -c -o gutenprint_5_3-genppd.o
	   `test -f 'genppd.c' || echo './'`genppd.c
	genppd.c:79:23: error: cups/cups.h: No such file or directory
	genppd.c:80:25: error: cups/raster.h: No such file or directory
	make[3]: *** [gutenprint_5_3-genppd.o] Error 1
	make[3]: Leaving directory `/opt/gutenprint/gutenprint-5.3.0-pre2/src/cups'
	make[2]: *** [all-recursive] Error 1
	make[2]: Leaving directory `/opt/gutenprint/gutenprint-5.3.0-pre2/src'
	make[1]: *** [all-recursive] Error 1
	make[1]: Leaving directory `/opt/gutenprint/gutenprint-5.3.0-pre2'
	make: *** [all] Error 2

    Installing the CUPS driver for Gutenprint 5.3 will not interfere
    with your ability to continue using the Gutenprint 5.2 or earlier
    drivers.

    WARNING: The "canon" and "epson" CUPS backends that previously
    were distributed with Gutenprint are no longer distributed, so you
    will need to ensure that none of your printer queues use these
    backends.  Please read the Critical Upgrade Note in the release
    notes for more information and the procedure for modifying your
    printer queues.

    The Gutenprint CUPS driver consists of the following components:

    * The core Gutenprint CUPS driver, rastertogutenprint.5.3.  This
      is a CUPS filter that converts CUPS raster data into
      printer-specific data.  This is most commonly installed in
      /usr/lib/cups/filter.

    * Additional utilities to send certain commands to these printers
      are installed as commandtocanon and commandtoepson; they are
      installed in /usr/lib/cups/filter.

    * A custom backend, gutenprint53usb, to send data to certain dye
      sublimation printers.  Some dye sublimation printers use custom
      USB protocols to send data to the printer and will not work with
      the standard USB back end.

    * One or more sets of PPD files describing all of the printers
      supported by Gutenprint.  These are normally installed in
      /usr/share/cups/model/gutenprint.  These PPD files can only be
      used by the precise version of Gutenprint that they were built
      with; for example, it is not possible to use PPD files from
      Gutenprint 5.3.0-pre2 with Gutenprint 5.3.0.

      If you are using CUPS 1.2 or above, these PPD files may not be
      actually installed by default, depending upon your system.
      Instead, a CUPS driver generates these PPD files on demand.

    * A utility to update PPD files from an earlier release of
      Gutenprint, cups-genppdupdate.  This utility may be used to
      update PPD files generated by earlier versions of Gutenprint
      starting from 4.3.21, including any 5.0, 5.1, 5.2, or 5.3
      release or pre-release.  This is normally installed in
      /usr/sbin.  This utility cannot update PPD files from Gimp-Print
      4.2.

    * A utility to generate PPD files, cups-genppd.5.3.  Normally this
      is only required when the package is built, and only with CUPS
      1.1.

    * A driver to generate PPD files on the fly, gutenprint.5.3.  This
      is normally used to generate PPD files on the fly with CUPS 1.2
      and above.

    * A utility to permit additional color calibration for
      Gutenprint-supported printers, cups-calibrate.  This is normally
      installed in /usr/bin.

    WARNING: With certain versions of CUPS and in certain non-standard
	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 (or wherever the CUPS system libraries
	   live). 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
	   the system default, typically /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 standard, 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.

	iv) Gutenprint is configured to build the PPD files at compile
	   time.  This is the case when using CUPS 1.1, but is not the
	   case when using CUPS 1.2 unless you explicitly use
	   --enable-cups-ppds.

	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.

    Following installation of the package with "make install", you
    must restart CUPS to permit CUPS to see the new PPD files.  The
    exact command to restart CUPS varies; it is typically something
    like systemctl restart cups (which will be the case on most modern
    Linux systems), /etc/init.d/cups restart,
    /etc/software/init.d/cups restart, /etc/rc.d/cups restart,
    /usr/sbin/rccups, or even /etc/rc.d/init.d/cups restart.

    You may optionally choose to update your existing PPD files using
    the command cups-genppdupdate, after which you should restart CUPS
    as described above.  We strongly recommend use of this update
    procedure, which is fast and simple.  This script will
    automatically update Gutenprint PPD files from earlier versions of
    Gutenprint 5.3.  It will not at present automatically upgrade PPD
    files from Gutenprint 5.0, 5.1, or 5.2; if you want to do so, you
    need to run cups-genppdupdate -x.  This allows you to continue
    running older versions of Gutenprint concurrently with Gutenprint
    5.3.  This script cannot update PPD files from Gimp-Print 4.2 or
    non-Gutenprint PPD files.

    The following options to configure are available for compiling the
    Gutenprint driver for CUPS:

    --enable-cups-ppds

	With CUPS 1.2, it is possible to arrange for PPD files to be
	generated when a new printer queue is generated rather than
	having all pre-generated PPD files in the filesystem.  This
	saves considerable disk space and avoids the possible build
	problem described above.  Normally, Gutenprint detects which
	version of CUPS is in use and configures itself to create the
	PPD files at build time only when CUPS 1.1 is in use.

	If you wish to generate the PPD files at build time, you may
	use this option.  If you are running CUPS 1.1, and for some
	reason do not wish to generate the PPD files, you may use
	--disable-cups-ppds.

    --disable-translated-cups-ppds

	By default, PPD files for all languages available in
	Gutenprint are created.  If this option is used, only the
	default (US-English) PPD files are created.  Distributors may
	wish to package up the PPD files separately for each language.

	Some systems may not build the translated PPD files correctly,
	in which case all of the PPD files will be in English.  If
	this is the case on your system, you should use
	--disable-translated-cups-ppds to avoid having many duplicate
	PPD files.

    --disable-globalized-cups-ppds

	Starting with Gutenprint 5.2, Gutenprint builds PPD files
	containing translations for all languages if CUPS 1.2 or above
	is in use.  This greatly reduces the number of PPD files
	created or PPD file choices offered.

	If you have problems with the globalized PPD files, you may
	use this option to generate standard translated PPD files (or
	English-only, if --disable-translated-cups-ppds is also in
	use).  This option only has effect if --enable-cups-ppds is
	used.

    --enable-simplified-cups-ppds

	Gutenprint 5.3 offers an option of creating simplified PPD
	files (containing only basic options and standard paper sizes)
	in addition to PPD files offering all available options
	(including all color correction options).  If this option is
	used, both the simplified and standard PPD files are created.
	If --enable-simplified-cups-ppds=only is specified, only the
	simplified PPD files are built.

	If the new dynamic PPD file generation is used with CUPS 1.2,
	the simplified PPD files are always offered.

    --disable-cups-level3-ppds

	By default, the Gutenprint PPD files are configured for
	PostScript Level 3.  If this option is used, Level 2 PPD files
	are created.  This may be useful if you are using a version of
	CUPS older than 1.1.15.  It is normally not necessary to use
	this explicitly, as the configure script detects the version
	of CUPS in use and selects the appropriate PostScript level
	automatically.

    --disable-cups-ppds-at-top-level

	Normally, the PPD files are placed in
	/usr/share/cups/model/gutenprint/5.3.  If this option is used,
	the PPD files are placed in /usr/share/cups/model.  There is
	normally no good reason to use this option.

    --disable-static-genppd

	Build genppd and rastertogutenprint dynamically linked rather
	than statically linked.  WARNING: Use of this option may lead
	to failure during build or installation, or incorrect
	installation.  It is *STRONGLY* recommended that you not use
	this option unless you are certain that you understand the
	problem and how to work around it.

----------------

D) CUPS dye-sublimation backend

    A new CUPS backend was added to support specific dye-sublimation USB
    printers that require a special communications protocol. This backend is
    called 'gutenprint53+usb' and currently supports the models listed below.
    If you do not have a printer on this list, you may skip the remainder
    of this section.

	Canon SELPHY ES series
	Canon SELPHY CP series
	Ciaat Brava 21
	Citizen CW-01 / Olmec OP900
	Citizen CW-02
	DNP DS40 / Citizen CX
	DNP DS80 / Citizen CX-W
	DNP DS80DX  (experimental)
	DNP DS-RX1 / DS-RX1HS / Citizen CY
	DNP DS620
	DNP DS820
	Kodak Professional 1400
	Kodak 305 Photo Printer
	Kodak 605 Photo Printer
	Kodak 805 Photo Printer
	Kodak 6800 Photo Printer
	Kodak 6850 Photo Printer
	Mitsubishi CP-3800DW
	Mitsubishi CP-9550D/DW/DW-S/DZ/DZ-S
	Mitsubishi CP-9600D/DW
	Mitsubishi CP-9800DW/DW-S (experimental)
	Mitsubishi CP-9810DW (experimental)
	Mitsubishi CP-K60DW-S
	Mitsubishi CP-D70DW / CP-D707DW
	Mitsubishi P93DW
	Mitsubishi P95DW
	Shinko CHC-S1245 (aka Sinfonia E1) (experimental)
	Shinko CHC-S6245 (aka Sinfonia CE1) (experimental)
	Shinko CHC-S2145 (aka Sinfonia S2)
	Shinko CHC-S6145 (aka Sinfonia CS2)
	Sony UP-DR150
	Sony UP-DR200
	Sony UP-CR10L / DNP DS-SL10  (experimental)

    Although these printers advertise themselves as standard USB Printer
    Class devices, they do not actually obey those specifications, and
    require two-way handshaking in order to successfully print.

    Over time, it is expected that additional printer models will be
    supported by this backend.

    NOTE: If you are upgrading from 5.2.9 (or earlier) and using one of
    the following models, you will need to remove and re-create your
    printer queue:

        Canon SELPHY ES series  (All models)
        Canon SELPHY CP series  (All models)
        DNP DS40
        DNP DS80
        Sony UP-DR150

  Build Requirements

    This backend requires libusb (or libusbx) 1.0 or newer.

  CUPS Integration

    If you are using up-to-date versions of CUPS (1.6.4 or newer) on
    Linux, then your system will automatically select this backend if
    the you plug in one of its supported printers.  No further intervention
    on the your part should be necessary.

    Unfortunately, if you are using an older version of CUPS or a non-Linux
    system (particularly OSX) then you will probably need to manually
    configure the use of this backend because the system may attempt to
    use the default usb backend, which will not work properly with these
    printers.

    To check which backend your printers are using, run the 'lpstat
    -s' command.  Below is an example of its output:

      device for Canon_SELPHY_ES1: gutenprint53+usb://Canon/SELPHY%20ES1?serial=221CD10131&backend=canonselphy
      device for Canon_SELPHY_ES3: usb://Canon/Canon%20SELPHY%20ES3

    In this example, the SELPHY ES1 is using the correct gutenprint
    backend, but the ES3 is using the incorrect 'usb' backend. In
    order for the ES3 to function properly, you need to configure it
    to use the correct backend.

    The most expedient way to accomplish this is to remove the printer
    via your system's printer configuration interface, then manually
    add a new one, taking care to select the correct backend
    ("gutenprint53+usb"). This backend name is present in the device
    URI for the printer, as demonstrated in the above example.  An
    alternative to the system printer configuration interface is to
    use your local system's CUPS web interface, if it is enabled.
    Step-by-step instructions for using any of these interfaces is
    beyond the scope of this document.

    Once the printer is properly configured, this backend will be
    automatically invoked as needed; you will never invoke the backend
    directly.

  Note on Use of Multiple Printers of the Same Model

    If you do not use (and do not intend to use) more than one printer of
    the same model connected via USB to one computer, you may skip this
    section.

    If you have more than one printer connected to a computer (via
    separate queues), CUPS inspects each printer to determine which
    printer is attached to which queue.  Most printers provide a
    serial number, which is different for each individual printer, to
    determine which unique printer is which.  Unfortunately, certain
    printers do not provide this serial number, so CUPS cannot
    uniquely identify each printer.

    To determine if your printer model is affected, you should inspect the
    CUPS queue URI, specifically the "serial=" portion.  If the serial is
    NONE_UNKNOWN, it indicates that the printer does not report a serial
    number and so CUPS cannot uniquely that printer, if more than one of
    that type is plugged in.

    For example, a device URI of

      gutenprint53+usb://Canon/SELPHY+ES1?serial=221CD10131&backend=canonselphy
    has a proper serial number (221CD10131), and CUPS can uniquely
    identify the printer.

    A device URI of

      gutenprint53+usb://Canon/CP-10?serial=NONE_UNKNOWN&backend=canonselphy

    indicates that the printer does not report a valid serial number,
    so that CUPS cannot uniquely identify the printer if there are
    two or more Canon CP-10 printers attached.

    If you attach more than one of any one of these printer models to
    the same computer (such as two Canon CP-10 printers), you may
    experience incorrect behavior, including:

      * Printing (or attempting to print) to a printer other than
        the desired one
      * Failing to print a particular job at all
      * Inability to create a queue for each printer
      * Attempt to create a queue that already exists

  Note on the Shinko CHC-S2145

    The Shinko CHC-S2145 does not report a serial number in the traditional
    sense; instead it reports a user identification string, which the backend
    will use if one is configured.

    The backend supports configuring this user identification string.
    To do so, first disconnect all other Shinko CHC-S2145 printers from the
    system, and then connect each printer individually, and run the
    following command.  Please ensure that the text you choose for each
    printer is different.

       /usr/lib/cups/backend/gutenprint53+usb -B shinkos2145 -U "sometext"

    After changing the user string, you will need to remove and re-create
    the CUPS queue.

  Note on Mitsubishi Dye-Sublimation models with an '-S' and '-U' suffixes

    As well as manufacturing standalone photo printers, Mitsubishi also
    manufactures photo lab and kiosk solutions which use their printers.
    However, the printers intended for use with those kiosks are *not*
    compatible with the standalone models, despite having similar model
    names.  They are incompatible from a software perspective, and also
    require different media.

    With two exceptions, if the model ends in '-S' or has a red face-
    plate, it is intended only for use with a Mitsubishi lab or kiosk, and
    consequently not supportable by Gutenprint.  For example, see the
    (non-comprehensive) list below:

      Supported/Compatible   |   Unsupported/Incompatible
      ---------------------------------------------------
		 CP-D70DW    |   CP-D70DW-S
		 CP9600DW    |   CP9600DW-S
		 CP9550DW    |   CP9550DW-U

    The exceptions to this rule are the CP-K60DW-S, which is sold as a
    standalone "event" printer, and the CP9550DW-S, which has been
    successfully reverse-engineered.

----------------

E) ESCPUTIL

    "escputil" is a command line utility for administering Epson
    inkjet printers.  It performs head alignment, retrieval of ink
    levels and status information, printing of test patterns, etc.  It
    is built and installed by default; if you don't want it, you may
    use --without-escputil when configuring.

    escputil uses the readline package for interactive commands
    (currently only head alignment falls into this category).  Linking
    against libreadline sometimes requires linking against other
    packages.  Gutenprint attempts to determine the correct packages
    to link against; the exact sequence is described in the release
    notes.  If you do not wish to use readline, you may use
    --without-readline.


----------------

F) GIMP

    Gutenprint may be used as an enhanced Print plug-in for GIMP (2.0
    and above), providing the ability to print images.  Please read
    the release notes in addition to this README.

    The enhanced Print plugin for GIMP replaces the Gimp-Print
    4.2-based plugin provided with GIMP 2.0 and 2.2.  As of the GIMP
    2.4, GIMP team provides a new Print plugin based on the GtkPrint
    framework.  This plugin provides standard printing capabilities,
    but does not provide all of the new Gutenprint 5.3 features.
    Therefore, the enhanced Print plugin for GIMP distributed with
    Gutenprint does not replace that plugin, but is installed
    alongside that plugin.

    If your system separates development packages from runtime
    packages, you will typically have to install development packages
    for GIMP itself, in addition to Gtk and Glib.  With GIMP 2.x and
    GTK 2.x, additional packages may be required.  Failure to install
    these packages will lead to errors when the package is compiled.
    The errors will typically look like this; the important errors are
    the ones "No such file or directory".

	make[3]: Entering directory `/opt/gutenprint/gutenprint-5.3.0-pre2/src/gimp2'
	gcc -DHAVE_CONFIG_H -I. -I../..  -I../../include -I../../include
	   -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes
	   -Wmissing-declarations -Wnested-externs -Wwrite-strings
	   -Werror-implicit-function-declaration -Winline -Wformat=2
	   -finline-limit=131072   -Disfinite=finite  -O6 -MT print-image-gimp.o
	   -MD -MP -MF .deps/print-image-gimp.Tpo -c -o print-image-gimp.o
	   print-image-gimp.c
	In file included from print-image-gimp.c:30:
	print_gimp.h:36:21: error: gtk/gtk.h: No such file or directory
	print_gimp.h:37:26: error: libgimp/gimp.h: No such file or directory
	print_gimp.h:38:28: error: libgimp/gimpui.h: No such file or directory
	make[3]: *** [print-image-gimp.o] Error 1
	make[3]: Leaving directory `/opt/gutenprint/gutenprint-5.3.0-pre2/src/gimp2'
	make[2]: *** [all-recursive] Error 1
	make[2]: Leaving directory `/opt/gutenprint/gutenprint-5.3.0-pre2/src'
	make[1]: *** [all-recursive] Error 1
	make[1]: Leaving directory `/opt/gutenprint/gutenprint-5.3.0-pre2'
	make: *** [all] Error 2

    Normally, the Gutenprint configure script detects which version,
    if any, of GIMP is installed and builds an appropriate plugin.  If
    the configure script does not detect it properly, you may need to
    specify --with-gimp or --with-gimp2.  However, it's more likely
    that you need to install appropriate development packages.

    Normally Gutenprint installs GIMP Print plugin in your system
    plug-in directory.  If you wish to install it in your personal
    plugin directory, you may use

    ./configure --enable-user-install

    It is not possible for Gimp-Print 4.2, Gutenprint 5.0, Gutenprint
    5.2, and Gutenprint 5.3 (or any future release) to coexist in the
    same installation of GIMP.  The Gutenprint 5.3-based plugin can
    read settings from previous versions of Gutenprint and Gimp-Print,
    but the configuration file format in Gutenprint 5.3 cannot be read
    by older versions of Gimp-Print or Gutenprint.


================================================================

III) GETTING STARTED

    This section describes how to get started by installing printers
    under Gutenprint.  Please see the user's manual (in
    doc/gutenprint-users-manual.odt or
    doc/gutenprint-users-manual.pdf) for more information.

----------------

A) PRINTER INSTALLATION

    The actual procedure to install a printer depends upon your
    operating system.

    Gutenprint does not normally require the use of non-standard
    procedures (such as starting special programs) to install
    printers.  Assuming that you are using CUPS, it integrates with
    your printing system, so the tools provided by your distribution
    vendor should work correctly with Gutenprint.

    CUPS uses PPD files to describe printer capabilities.  Some
    printers are supported by more than one driver, so you may find
    more than one PPD file for your printer.  Gutenprint PPD files are
    described as

    Epson Stylus Photo R300 - CUPS+Gutenprint v5.3.0-pre2
    Epson Stylus Photo R300 - CUPS+Gutenprint v5.3.0-pre2 Simplified

    The "simplified" PPD files offer a basic set of options only, for
    selecting printer options, standard paper sizes, and basic quality
    settings.  The PPD files that are not "simplified" offer a much
    broader set of controls, giving the user extensive control over
    quality and color adjustment.

    Other PPD files are described differently, such as

    EPSON New Stylus Color Series CUPS v1.1 (recommended)

    These PPD files, whether "recommended" or not, are not Gutenprint
    PPD files.

    NOTES FOR CUPS USERS:

    If you do not choose to automatically update existing PPD files,
    you should reinstall any printer queues that you are using
    Gutenprint PPD files with.  The Gutenprint driver and the PPD
    files must be kept in sync, since the PPD files reflect the
    particular version of the driver that they were built against.  If
    you attempt to use a version of Gutenprint with PPD files not
    built for that precise version, the driver will fail with a
    diagnostic error message.  For example, PPD files built for
    Gutenprint 5.3.0-pre2 will not work with driver version 5.3.0.
    You can identify printers using Gutenprint PPD files by the name
    of the PPD file, which will be something like:

		    EPSON Stylus Photo EX - CUPS+Gutenprint v5.3.0-pre2(en)

    Linux users please note: If you are using CUPS 1.1.11 or higher,
    and you have a USB-connected printer, you must have a printer
    connected to each USB port that you plan to use and powered on
    when you restart CUPS.  If you do not do so, you will not be able
    to reinstall the printer.  It is only necessary to do this if you
    wish to update PPD files manually; if you use cups-genppdupdate,
    you do not need to do this.

    Starting with CUPS 1.1.11, you cannot choose an AppSocket
    connection and enter "usb:/dev/usblp0" or the like as the URI; you
    will get a "client-error-not-possible" error at the end of the
    installation process, and you will have a message like the
    following in your CUPS error log (typically
    /var/log/cups/error_log):

E [21/Nov/2001:17:59:07 +0500] add_printer: bad device-uri attribute 'usb:/dev/usb/lp0'!

    If the printer was turned on correctly, you will be given a choice
    of a USB connection in the Device dialog.

    You may also have problems if you have a .lpoptions file that has
    old options set.  If you have problems printing, please remove any
    existing .lpoptions file in your home directory and try printing
    again.

================================================================

IV) SOLVING PROBLEMS

    While we have attempted to make use of Gutenprint as
    straightforward and trouble-free as possible, we certainly
    recognize that there may be problems with installing and using
    Gutenprint.  In the event of any difficulty, we ask that you take
    the following actions:

    1) Read the release notes (NEWS).

    2) Read the FAQ, in doc/FAQ.html.  Your question may be answered
       there.

    3) Make sure that the paper type and size, and media source, that
       you have selected matches the paper loaded into the printer.
       This is only necessary if the printer attempts to print, but
       does not succeed.  It is a good starting point if quality is
       poor (too dark or too light, wet ink on the paper, etc.).

    4) Reset all settings (particularly the color and quality
       settings) to their defaults.

    5) If you are using CUPS, search /var/log/cups/error_log (which
       may be located elsewhere on some systems) for lines starting
       with 'E' (these lines indicate errors).  Also search for log
       information produced by Gutenprint; all such output lines will
       contain "Gutenprint".  These lines may help you solve the
       problem and will help us investigate your problem if necessary.

    6) If you are using CUPS, enable debugging output.  This can be
       done by editing /etc/cups/cupsd.conf (which must be done as
       root).  There will be a line in that file:

       LogLevel Info

       which should be changed to

       LogLevel Debug

       This will allow CUPS to produce extensive debugging output.
       You will need to restart CUPS (the exact procedure is
       system-dependent) after doing this.  If you report a problem to
       the Gutenprint team, you will be asked for this information.

    7) There are public forums on Sourceforge dedicated to this
       package.  Please see
       http://sourceforge.net/forum/?group_id=1537 for more
       information.  The Help forum is a good source of information.

    8) If you have a technical support issue that does not appear to
       be a bug in the software, you can use the Tech Support Manager.
       Please see http://sourceforge.net/support/?group_id=1537.

    9) If you have found a clear bug in the package, you may file a
       bug report at http://sourceforge.net/bugs/?group_id=1537.

    10) You may send mail to the gimp-print-devel@sourceforge.net
       mailing list.  This is recommended as a last resort only.

================================================================

V) USE OF THE CVS REPOSITORY

    Please read doc/README.maintaining for instructions on how to
    build from the CVS repository.  You will need additional packages
    and tools for this purpose.