Posted by: reformedmusings | January 17, 2009

Native Epson photo print drivers in Linux

Major Linux distributions use CUPS (Common UNIX Printing System) as their core printing system. They come with printer drivers under CUPS for just about every printer on the planet, and that number increases with each new printer released. Some printers enjoy better support than others, just as in other operating systems. Most Windows users assume that the drivers for their printers tap the depth of their equipment’s capabilities, but it just ain’t so. I used to write my own DOS and early Windows drivers for the old Okidata dot-matrix printers to get the most from them. This task of augmenting Windows drivers has become beyond daunting if not virtually impossible for users. On the Linux side, I picked my current Brother laser printer specifically because of Brother’s driver support for Linux.

So, though Linux comes with good drivers for a vast number of printers, sometimes the nuances of accurate photo printing are best served by a custom driver from the manufacturer. I already had an Epson inkjet when I moved to Linux. Though both the CUPS and Gutenprint drivers support the full range of Epson photo printing features, and despite Gutenprint’s claim to  “provide high quality printing for UNIX and Linux systems that in many cases equal or exceed proprietary vendor-supplied drivers in quality and functionality”, photos don’t quite come out the way I expect. The photos print a bit dark, with the flesh tones more ruddy than real life. Fortunately, Avasys (a Japanese partner with Epson) provides excellent Linux drivers for Epson’s’ Photo Image Print System.

Avasys makes it easy to get the correct drivers. They provide drivers for almost the entire range of Epson printers, scanners, multi-functions, and all-in-ones. Their website acts like a wizard and leads you through the proper steps for download. If you have a three-in-one or multifunction, you can also download the scanning program as well. All downloads come in .rpm and as source files, but some also come in .deb format. The driver for my printer only came in .rpm format. It would also be a good idea to download the readme files, too.

Although you can install .rpm files directly in a Debian-based system, you may encounter dependency problems. I usually first convert them to .deb files with alien, which can convert between a number of packaging formats. You can install alien either from Synaptic or another GUI package manager, or in the terminal:

sudo aptitude install alien

Once installed, you can convert your Epson driver package from rpm to deb if necessary:

sudo alien -c -d pips-scx7700-cups-2.6.3-1.i386.rpm

The -c converts the scripts in the package, which is very important. The -d specifies a .deb output file. When alien finishes, it produces a message like:

pips-scx7700-cups_2.6.3-2_i386.deb generated

Now we’re ready to go. I installed the driver by right clicking on the file in a GUI file manager and selecting Open With -> GDebi Package Installer. Click on the Install Package button and the driver will be installed. After the installation completes, you must restart the CUPS service. In the terminal in Ubuntu, type:

sudo /etc/init.d/cups restart

which will produce this output:

* Restarting Common Unix Printing System: cupsd                         [ OK ]

If you want to use the Epson Status Monitor (or others like mtink) and other features, you should also start Epson’s duplex communication service:

sudo /etc/init.d/ekpd start

which will report:

Starting ekpd: ekpd.

Now we’re ready to add a new printer using the native Epson driver. There are a number of ways to do this. The easiest in Ubuntu is under System -> Administration -> Printing:


Your current printers will be displayed. Here we see my Epson CX7800 listed under its CUPS driver. Click on New:

epson-new-printerSelect Epson Inkjet Printer #1 and click on Forward:


Select Epson in the top list box and click Forward:


Choose your specific printer model. In this case, the driver is for the CX7700 (it also works for the CX7800) and that was chosen. The available driver list for the printer then appears on the right side of the window. We just installed the Photo Image Print System driver, so we choose it from the the list. Click Forward:


Here we simply type in a name that will enable us to pick the correct driver when we print. I made sure that I included “PIPS” into printer name so that I could differentiate it later in pull-down lists. Click Apply and we’re done. Here’s the System -> Administration -> Printing window now:


Here we see the PIPS driver available as a “separate” printer. So now, whenever we print photos, we select the Stylus-CX7700-PIPS printer to take full advantage of the Epson’s photo printing capabilities.

Let’s not forget the Epson Printer Status Monitor. We can execute it from the terminal by typing “ekpstm”, but that’s not very convenient. Better to add it to the Applications menu. So, go to System -> Preferences -> Main Menu, select the System Tools menu, and click on New Item to get this box:


You see above how I created the new menu item. The Command box is important to duplicate, the rest can be created to taste. When done, click Close, then Close again on the Main Menu window. Check your work by going to Applications -> System Tools -> Epson Status Monitor:


Now you can check/monitor your ink level and deal with any print errors which may arise. Status Monitor depends on the ekpd service, which will load automatically whenever the system is restarted.

I reprinted some photos  with the new PIPS driver and compared them to the earlier CUPS driver output. The PIPS driver output more closely matched the original scene. Victory!

Many thanks to the nice folks at Avasys for their excellent support for Linux.



  1. […] as well. Lastly, I reinstalled the Epson Photo Image Print System using the drivers as indicated in this post with one important difference. Since there’s not a 64-bit driver for PIPS, I had to install […]

  2. […] “successfully” install the PIPS driver. You can then install your printer as I describe in this post. However, whenever I try to print to the PIPS printer, the job ends up being routed to my other USB […]

  3. […] установку данного принтера. Второй ссылкой я нагуглил статью, которая решила все мои проблемы (и свела меня с ума). […]

  4. […] the best picture quality, so I alway go for the native Epson PIPS drivers. I went over the details in this post of the basic installation under 32-bit Ubuntu. I then updated that for 64-bit Ubuntu here, but I […]


%d bloggers like this: