Epson 3880 vs. [high resolution, large format] linux printing

aka “How I Drive Myself and Those Around me Mad for at least a Week”

Expected: some bitching and moaning along with details of the development of a new high-resolution printing workstation configuration that will serve as a baseline reference for high, super-high, ultra-high, barely-even-atmospheric-high resolution inkjet prints.

Some notes on my old configuration, named “chula” configuration.

Details for chula configuration:

Hardware is Epson Stylus Photo R2400, circa 2006. Print heads now shot.
This printer is no longer capable of making good prints, and is not coming back. Minus some new voodoo rituals, and regardless of wasted pints of ink on flawed prints or hoping one more nozzle cleaning might make non-streaky prints a reality once more. Keeping this printer around for various sentimental reasons, and vaguely plan for future hacking fun with custom inks.

Software base is Fedora 13 and 14, using

freetype

freetype-freeworld

kmod-nvidia

gutenprint-5.2.6

gutenprint-foomatic

openprinting-gutenprint

ghostscript

cups-1.4.4

The default driver is the “gutenprint/cups” one. A higher-performance driver is available via the “openprinting-foomatic” driver. Use this driver for all prints.

PPD is hand-hacked and included custom paper sizes for 13 x 38″ prints, and frankly some other things that I cannot quite remember at this later date.

Notable projects include Gone Awry, Marfa Project, photogravure printing for Conceptual Forms, Pirate Passport Projects, High Line.

Details for ulloa configuration:

Hardware is Epson Stylus Pro 3880. Inks are 9-color Epson UltraChrome K3™ with Vivid Magenta. See Stylus Pro Series on the “Professional Imaging” part of Epson website.

Software base is Fedora 18TC9, using

freetype

freetype-freeworld

gutenprint-5.2.9

gutenprint-cups

ghostscript-9.05

ghostscript-cups

cups-1.5.4

cups-ipptool

epson-inkjet-printer-escpr

Software config:

0) Printer config via either “System Settings/Printers” or via the CUPS standby, http://localhost:631. In most all cases, the direct CUPS configuration is better as it allows full control of the print driver options and also shows correct status for in-progress print jobs. Your mileage may vary.

1) firewall-config needs to have: ipp, ipp-client, smb-client, mdns holes for network discovery to work. Note, ipp based discovery may be turned off at the server level and may need to be manually changed via CUPs server changes below.

2) nvidia kernel boot config needs: vga=normal, nouveau.modset=0 rd.driver.blacklist=nouveau video=vesa:off

Cups notes:

EPCL == Epson Printer Control Language.

epson-inkjet-printer-escpr

has a high-resolution rastertoepson binary, something similar is in the Apple PPD.

Web-ui for CUPS configuration is:

http://localhost:631

Set rip memory setting to 1Gb via:

RIPCache 1g
Set ipp discovery via:

?

Useful files and or directories:

/usr/lib/cups/filter/epson-escpr

/usr/lib/cups/filter/rastertoepson

/user/share/cups/model/*.ppd

/usr/share/cups/model/foomatic-db-ppds/Epson/eplp*.ppd.gz

/var/log/cups/error_log

Linkages between CUPS print queues and the printer description files (PPD).

/etc/cups/ppd/*.ppd

Useful linux cups debugging page for Debian: DebuggingPrintingProblems.

Useful linux cups debugging page for Fedora: Printing and HowToDebugPrintingProblems.

PPD/Driver notes

Apple PPD:

Supported via official Epson driver.

FormatVersion/FileVersion: 4.3/8.64.

*cupsFilter: “application/vnd.cups-raster 0 /Library/Printers/EPSON/InkjetPrinter2/Filter/rastertoescpII.app/Contents/MacOS/rastertoescpII”
*cupsPreFilter: “application/pdf 33 /Library/Printers/EPSON/InkjetPrinter2/Filter/pdftopdf2.app/Contents/MacOS/pdftopdf2”

*% Quality ===================
**EPIJ_Qual 42/Draft – 180 dpi: “”
*EPIJ_Qual 31/Draft – 360 dpi: “”
*EPIJ_Qual 33/Fine – 720 dpi: “”
*EPIJ_Qual 35/SuperFine – 1440 dpi: “”
*EPIJ_Qual 38/SuperPhoto – 2880 dpi: “”

*APDialogExtension: “/Library/Printers/EPSON/InkjetPrinter2/PDE/PDECPlugin01.plugin”

*cupsFilter: “application/vnd.cups-command 0 /Library/Printers/EPSON/InkjetPrinter2/Filter/commandtoescp.app/Contents/MacOS/commandtoescp”

Windows 7 PPD exists but seems like the Apple/Mac one is a more interesting basis for comparison for linux, as both linux and macos use CUPS.

Linux PPD:

a.) Gutenprint + CUPS.

*cupsFilter:    “application/vnd.cups-raster 100 rastertogutenprint.5.2”
*cupsFilter:    “application/vnd.cups-command 33 commandtoepson”

Be warned: this driver cannot render high resolution output correctly.
See test prints below:

Example one.

Example two.

For both of these testprint comparisons, the left side is a reference print and the right side is the linux-hosted gutenprint-driven print. Many issues, some highlighted in orange sharpie. At issue: line weights are off and indicate lower-res or rasterization issues, as a result all type line weights off, problems with rendering transparency, trouble with fades, etc. All this with no magnification/loop.
Result: fail.

b.) Epson driver for older model, the Epson Stylus Pro 3800. This has official “unsupported” drivers, via this page. Use “3800” and “linux” in the search boxes, respectively.

This leads to the direct download page.

c.) Epson driver for a related slightly-less ancient model, the Epson Stylus Pro 4880.

See Avaysys drivers, even though transitioned to Seiko these are still the best best for high-resolution large format devices. By “large format devices,” mean Epson USA

Look for “Epson Inkjet Printer Driver for linux (ESC/P). Although no 3880 drivers, have a couple of options. These other Stylus Pro printers have similar ink technology: 4880, 7890, 9890. So,  take 4880 drivers as a base and hack to 3880. Get the srpm and install, before editing.

Manual for Linux Driver.

d.) Openprinting driver for Epson 3880. Upstream Gutenprint project. According to this web page, the correct driver for the epson stylus pro 3880 is:

Epson Stylus Pro 3880 escp2-3880

but package “gutenprint” has this via ‘rpm -ql gutenprint’

/usr/share/gutenprint/5.2/xml/escp2/media/pro3880_ultrachrome_k3v.xml

Anyway. the openprinting rpm that is downloaded from above.

Fedora/RHEL notes

Following via bugzilla:

832130 cups-filters

719390 f15 vs. large-format and high-resolution printing

Fedora 17 Notes

Install:

San Francisco, California USA

1. F17 DVD iso install on ICH10R/Core i7. Burnt to DVD, installed with KDE and GNOME.

Create usb live image:

livecd-iso-to-disk --format --extra-kernel-args selinux=0 /mnt/auteuil/software/fedora/17/Fedora-17-x86_64-DVD/Fedora-17-x86_64-DVD.iso  /dev/sde

Or use k3b to burn an image to DVD, etc.

2. F17 iso install on Mac Book Air mid-2011. (MacBookAir4,2)

Create usb live image:

livecd-iso-to-disk --efi --format --extra-kernel-args selinux=0 /mnt/auteuil/software/fedora/17/Fedora-17-x86_64-DVD/Fedora-17-x86_64-DVD.iso  /dev/sde

I’m not using rEFIt at all on this install.

Update/Post-Install:

yum update -y

then

yum install -y system-config-boot system-config-network system-config-nfs system-config-printer system-config-samba system-config-firewall

look at powertop

from lesswatts.org, known power problems

remove default groupthink in home directory

rm -rf Downloads Documents Music Pictures Templates Videos

install various graphic items

yum install -y emacs abiword inkscape* doxygen graphviz graphviz-python graphviz-R graphviz-graphs graphviz-doc dblatex  docbook5-style-xsl docbook5-schemas docbook2X docbook-utils-pdf docbook-style-xsl texinfo-tex python-BeautifulSoup ufraw ufraw-gimp

yum install -y gutenprint-cups gutenprint-foomatic gutenprint-extras

Then make a slight adjustment for TeX, so that building 3k page generated PDF documents is possible (ie, make-pdf in gcc/libstdc++-v3). The variables below need to be increased between 2 to 10 times.

variable: pool_strings, save_size

file: /usr/share/texmf/web2c/texmf.cnf

Next, RPM Fusion

su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'

and then

yum install -y vlc vlc-extras vlc-plugin-jack k3b-extras-freeworld freetype-freeworld

Install some compiler stuff, developer tooling.

yum install -y dejagnu emacs expect flex bison yacc boost boost-devel cmake git-svn mpfr-devel

debuginfo-install glibc-2.15-51.fc17.x86_64

install google chrome

install flash. The Fedora flash page is excellent.

install bits for google video chat

install video/audio codecs

yum install -y gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer-plugins-good gstreamer-plugins-good-extras gstreamer-plugins-bad-free gstreamer-plugins-bad-free-extras gstreamer-plugins-bad-nonfree gstreamer-ffmpeg

Next round of installs is for kerberos/ssh/openvpn. Edit /etc/krb5.conf. Configure /etc/openvpn.

First install miscellaneous utilities, including tcsh

yum install -y unrar tcsh gnome-tweak-tool livecd-tools  systemd-gtk

Install another music player. Nightingale is the replacement for Songbird.

For virtualization:

yum install @virtualization

Handbrake must be built. Get the last Fedora 64 rpm from the old nightly build. To deal with DVD, libdvdcss.

Install Dropbox.

Install fedora package development packages.

yum install -y fedora-packager

Dependencies for fedora packaging:

yum install -y python3-devel libicu-devel chrpath openmpi-devel mpich2-devel


Current issues:

0) base note about Fedora 17 and Apple hardware

1) bluetooth keyboard vs. encrypted home directory, now bug RH863883. At startup, mount of encrypted partition happens before bluetooth keyboard is active. This makes entering the password for the encrypted device impossible.
See one kind of related bugzilla about USB devices: 823815

See bluetooth on fedora.

See this page about linux and keyboards without wires. And this about getting bluetooth keyboards up and working on Ubuntu

For Apple Wireless Keyboard on mac air, need:

yum install -y bluez-hid2hci

2) Wireless on air: use kmod-wl stuff from RPM Fusion for Broadcom chipsets.

 yum install -y kmod-wl

3) Some problems with EFI, see 871263. Keep journaling off HFS filesystems, apparently. Also, make sure <code>hfsplus-tools</code> is installed.

3) More UX choices.

a. mate, install directions are clear

yum install @mate-desktop

b. razor-qt

copy/download .repo file into /etc/yum.repo.d/ and

yum install -y razorqt

4) Epson 3880

5) systemd.
systemd is now king of the mountain for RHEL/Fedora system control. Learn it, love it, use it.

http://fedoraproject.org/wiki/Systemd
http://0pointer.de/blog/projects/systemd-docs.html

systemadm: gui-admin, replacement for system-config-services

systemctl: command line, lists what is running

6) grub files for EFI installs

The move to grubby and grub2 means the usual grub.conf file has moved around. Now located at:

/boot/efi/EFI/redhat/grub.conf

Previous install: Fedora 16