Package Details: epson-inkjet-printer-escpr 1.6.17-2

Git Clone URL: (read-only)
Package Base: epson-inkjet-printer-escpr
Description: Epson Inkjet Printer Driver (ESC/P-R) for Linux
Upstream URL:
Licenses: GPL2
Submitter: None
Maintainer: hcartiaux
Last Packager: hcartiaux
Votes: 119
Popularity: 4.048724
First Submitted: 2010-07-19 12:53
Last Updated: 2017-11-02 09:32

Latest Comments

AngryUbuntuNerd commented on 2017-12-13 11:04

Hey, could someone help out please?

I have packaged the driver epson-inkjet-printer-escpr2 which is somehow seperate and for newer printer models:

It suffers from the same problem like this one, crashing on my 64bit system with a segfault:

epson-escpr2[12126]: segfault at 7b962268 ip 000055e579bc4c96 sp 00007ffe28e7eae0 error 4 in epson-escpr2[55e579bbf000+2c000]

I assume a similar patch needs to be applied, but I can't do the C part myself.

hcartiaux commented on 2017-11-02 15:00

True, the resulting package should not have changed between -1 and -2. Anyway, too late...

Scimmia commented on 2017-11-02 14:56

You shouldn't have bumped the pkgrel. There's no reason for people that have -1 to rebuild -2.

a2liro commented on 2017-10-25 18:09

Modify the url to ""

kaipee2 commented on 2017-10-19 10:40

Latest version 1.6.17

yiyo commented on 2017-10-14 16:29

Driver lacks standard default page formats like 'U.S. Letter' for Stylys Office TX320F

lemavri commented on 2017-09-27 03:09


Version 1.6.16 was released on 09-25-2017.


techdude300 commented on 2017-08-20 02:31

Looks like 1.6.14 is out as of 2 days ago. New DL link:


mahunter commented on 2017-03-27 10:33


Looks as though Epson have upgraded the file. It's now at 1.6.13!

Can someone in the know update package please?


drewwalton192168 commented on 2017-02-24 09:11

1.6.12 is out

albertcp commented on 2017-01-14 13:05

When I tried to install the package It gives me a 404 Not found. The link seems to be broken.

hcartiaux commented on 2016-12-28 21:53

Yes, there is no specific action required to build this package :)

steadybright commented on 2016-12-28 21:16

@hcartiaux: I may be trying to make this too difficult. Sounds like I don't need to do anything with the patch? Just install as usual with yaourt, and the prepare() section will automatically include the patch?


hcartiaux commented on 2016-12-28 20:16

@steadybright: I don't understand the question, this is a patch which is applied to the sources in the prepare() section. It is only used before the compilation.

ArchChem commented on 2016-12-28 16:38

Thank you for maintaining!

steadybright commented on 2016-12-18 16:43

Do I just install the file linked under the "bug_x86_64.patch" label in the Sources section above?

Thank you for the help!


dwhweb commented on 2016-12-08 13:22

Compiles OK for ARMv6 with yaourt -SA :)

hmrodrigues commented on 2016-11-01 23:02

This package also works on armv7h

fionn commented on 2016-10-28 12:51

Works on x64bit systems as of this date (well, it works on *MY* systems). Again, no thanks to Epson's online support.

FYI, as of 2016-10-04, Epson's online support claims their package is updated, and the src compiles without error, but it still will not work on x64bit.

EDIT: corrected typo (x46bit ==> x64bit)

stronnag commented on 2016-10-08 11:01

All print jobs hang without the patch, on a 64bit system, as the driver crashes due to abuse of pointer size and general poor programing practice (in particular failure to pre-declare functions), e.g. AUR 1.6.9-1 of yesterday:

[Fri Oct 7 17:34:22 2016] epson-escpr[5686]: segfault at 6cfec118 ip 0000562f6b2928c5 sp 00007ffe19fb1240 error 4 in epson-escpr[562f6b28d000+9000]

Thanks for applying the patch, I appreciate it's a pain but now (1.6.9-2) it works out of the box for me. No thanks to Epson.

hcartiaux commented on 2016-10-07 20:24

@stronnag, I've included your patch, but I can't reproduce your bug :s What are you doing exactly ?

stronnag commented on 2016-10-07 16:40

This again does not work on 64bit systems.
The previous patch applies cleanly to 1.6.9 and makes it work on 64bit.
Perhaps you might consider applying the patch before releasing to the AUR.

stronnag commented on 2016-09-18 19:42

Here's the rebased patches against 1.6.8 that makes it work on 64bit systems, I'll submit it again to, so they can again totally ignore me. Obviously trying to make HP look classy.

--- epson-inkjet-printer-escpr-1.6.8/src/filter.c 2016-09-14 05:59:30.000000000 +0100
+++ epson-inkjet-printer-escpr-1.6.8-fixed/src/filter.c 2016-09-18 20:22:27.502504592 +0100
@@ -34,6 +34,8 @@
#include "epson-protocol.h"
#include "epson-escpr-api.h"
#include "epson-escpr-mem.h"
+#include "epson-escpr-services.h"
+#include "epson-escpage.h"

#include "err.h"
#include "mem.h"
@@ -42,6 +44,11 @@
#include "libprtX.h"
#include "optBase.h"
#include "linux_cmn.h"
+#include "xfifo.h"
+extern EPS_ERR_CODE SetupJobAttrib (const EPS_JOB_ATTRIB*);
+extern EPS_ERR_CODE SendStartJob ();
+extern EPS_ERR_CODE PrintBand (const EPS_UINT8*, EPS_UINT32, EPS_UINT32*);

#define WIDTH_BYTES(bits) (((bits) + 31) / 32 * 4)

@@ -382,7 +389,8 @@

printJob.jobStatus = EPS_STATUS_ESTABLISHED;
- int printHeight = 0;
+ EPS_UINT32 printHeight = 0;

print_area_x = printJob.printableAreaWidth;
@@ -535,7 +543,7 @@
memcpy(rever_buf + k*3, startpage + pos + (bandBmp.widthBytes - 6) - k*3, 3);
- PrintBand (rever_buf, bandBmp.widthBytes, &printHeight);
+ PrintBand ((const EPS_UINT8 *)rever_buf, bandBmp.widthBytes, &printHeight);
pos -= bandBmp.widthBytes;

@@ -831,7 +839,7 @@

/* Get number of pages */
char page_num;
- read (STDIN_FILENO, &page_num, 1);
+ (void)read (STDIN_FILENO, &page_num, 1);

/* Others */
jobAttr.apfAutoCorrect = EPS_APF_ACT_STANDARD;
@@ -881,8 +889,7 @@

// fwrite (pBuf, cbBuf, 1, outfp);

- XFIFOWrite(context, pBuf, cbBuf);
+ XFIFOWrite(context, (char *)pBuf, cbBuf);

return 1;
--- epson-inkjet-printer-escpr-1.6.8/src/mem.c 2015-10-23 08:16:10.000000000 +0100
+++ epson-inkjet-printer-escpr-1.6.8-fixed/src/mem.c 2016-09-18 20:24:27.462880975 +0100
@@ -24,6 +24,7 @@

#include <stdlib.h>
#include "mem.h"
+#include "err.h"

void *
mem_malloc (unsigned int size, bool_t crit)

stronnag commented on 2016-09-18 19:09

Unfortunately, these patches have been totally ignored, and this does not work on 64 bit systems (again).

hcartiaux commented on 2016-05-21 15:21

@stronnag: I've forwarded your patch to
Note that I have absolutely zero contacts with the upstream developpers and I can't find a bug tracker.

stronnag commented on 2016-04-25 16:50

This dies horribly on my 64 bit system due to really poor programming practices in filter.c

If you have any influence on upstream, please suggest the following to them (declaring functions prior to use, using pointers of the right size etc):

$ diff -urN -bBZw /tmp/packerbuild-1000/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr/src/epson-inkjet-printer-escpr-1.6.5/src/filter.c /t/tmp/filter.c
--- /tmp/packerbuild-1000/epson-inkjet-printer-escpr/epson-inkjet-printer-escpr/src/epson-inkjet-printer-escpr-1.6.5/src/filter.c 2016-02-29 04:28:11.000000000 +0000
+++ /t/tmp/filter.c 2016-04-25 17:40:46.407871544 +0100
@@ -34,6 +34,8 @@
#include "epson-protocol.h"
#include "epson-escpr-api.h"
#include "epson-escpr-mem.h"
+#include "epson-escpr-services.h"
+#include "epson-escpage.h"

#include "err.h"
#include "mem.h"
@@ -42,6 +44,11 @@
#include "libprtX.h"
#include "optBase.h"
#include "linux_cmn.h"
+#include "xfifo.h"
+extern EPS_ERR_CODE SetupJobAttrib (const EPS_JOB_ATTRIB*);
+extern EPS_ERR_CODE SendStartJob ();
+extern EPS_ERR_CODE PrintBand (const EPS_UINT8*, EPS_UINT32, EPS_UINT32*);

#define WIDTH_BYTES(bits) (((bits) + 31) / 32 * 4)

@@ -382,7 +389,7 @@

printJob.jobStatus = EPS_STATUS_ESTABLISHED;
- int printHeight = 0;
+ EPS_UINT32 printHeight = 0;

print_area_x = printJob.printableAreaWidth;
@@ -535,7 +542,7 @@
memcpy(rever_buf + k*3, startpage + pos + (bandBmp.widthBytes - 6) - k*3, 3);
- PrintBand (rever_buf, bandBmp.widthBytes, &printHeight);
+ PrintBand ((const EPS_UINT8 *)rever_buf, bandBmp.widthBytes, &printHeight);
pos -= bandBmp.widthBytes;

@@ -831,7 +838,7 @@

/* Get number of pages */
char page_num;
- read (STDIN_FILENO, &page_num, 1);
+ (void)read (STDIN_FILENO, &page_num, 1);

/* Others */
jobAttr.apfAutoCorrect = EPS_APF_ACT_STANDARD;
@@ -881,7 +888,7 @@

// fwrite (pBuf, cbBuf, 1, outfp);

- XFIFOWrite(context, pBuf, cbBuf);
+ XFIFOWrite(context, (char *)pBuf, cbBuf);

return 1;

MrYoranimo commented on 2016-04-24 10:40

The current source link seems to be deleted from the server. The new version seems to be 1.6.5-1 (version 1.6.5, release 1), its link is and the sha256sum is 1cd9e0506bf181e1476bd8305f1c6b8dbc4354eab9415d0d5529850856129e4c

Anonymous comment on 2016-02-22 21:39

Worked perfectly. Thank you.

hcartiaux commented on 2016-02-22 21:23

As usual, epson remove the tarballs of the old versions of the drivers... I update asap.

Anonymous comment on 2016-02-22 17:41

Hello. Is there a new url? I can't seem to get anything to work. curl: (22) The requested URL returned error: 404 Not Found --> using

Thank you in advance.

hcartiaux commented on 2016-02-10 09:25

@Scimmia, can't remember... Anyway, I've removed the prepare function and pushed a new pkgbuild release. Thanks for reporting.

Scimmia commented on 2016-02-09 19:54

Why are you extracting the tarball a 2nd time?

hcartiaux commented on 2016-01-29 21:05

Thanks jswagner, I've updated the PKGBUILD but not yet tested.

jswagner commented on 2016-01-26 23:40

1.6.3 is out, here's the download link:

I update these lines in PKGBUILD and built the new package successfully:

figue commented on 2016-01-20 20:13

This URL seems to work

figue commented on 2016-01-20 20:08

curl: (22) The requested URL returned error: 404 Not Found

MetaNova commented on 2016-01-11 20:48

Here's a PKGBUILD that works as of 1/11/16.
Updated to version 1.6.2 .

tyzoid commented on 2015-10-27 21:59


I've mirrored this version to my server at for user's convenience.

hcartiaux commented on 2015-10-15 15:25

Yes, the old versions are removed from the epson site... If you want to host the old files somewhere, let me know.
Anyway, updated to 1.6.0.

zommuter commented on 2015-10-15 12:58


I guess the link is only valid for limited time...

AJSlye commented on 2015-10-01 17:57

There is a newer version of this driver available:

hcartiaux commented on 2015-09-10 09:18

Updated (but not yet tested on my side).

coolpyrofreak commented on 2015-09-10 01:52

I was getting a 404 error, but I've discovered that the current version of the package is actually 1.5.2. Thanks!

coolpyrofreak commented on 2015-09-10 01:44

The source gives me a 404 error.

jamesan commented on 2015-08-24 04:25

The latest upstream version is now 1.5.1 and the source URL for the source tarball is:

Here's a diff of the changes I made to create an updated/working package:

Spike29 commented on 2014-11-05 12:24

I just tested and it works good, thanks for the update!

hcartiaux commented on 2014-11-05 10:19

Updated, but not yet tested on my side.

Spike29 commented on 2014-11-04 10:03

Hello, version 1.4.4 has been released :)

hcartiaux commented on 2014-10-14 13:28

Not yet tested, so I don't push the new package now:


hcartiaux commented on 2014-10-14 13:24

Thanks, I'll try to update it

bergs89 commented on 2014-10-14 12:53

I do not have much time in this period to maintain packages. I disown this package to let other people work on it.

giuseppe commented on 2014-10-04 17:07

1.4.3-1 is out

mittens2001 commented on 2014-09-13 23:41

please update to 1.4.2

bergs89 commented on 2014-08-04 08:39

updated :)

francisco commented on 2014-08-01 17:33

error 404 :/

SimFox3 commented on 2014-03-28 00:27

Could someone please explain why *gutenprint* is a dependency for epson ppds?

ryanvade commented on 2014-03-12 17:46

1.4 is available:

ryanvade commented on 2014-03-12 17:44

1.4 is available

bergs89 commented on 2013-10-19 10:49

this is working for you guys? is this direct link or dinamic one?
If this link isn't good I'll leave the package support.

Thank you NuckingFuts. ;)

Nuck commented on 2013-10-17 09:00

1.3.0 is out, but they changed the URLs

bergs89 commented on 2013-06-14 10:10

Sorry for the delay and thank you for your help Spike :)

bergs89 commented on 2013-06-14 10:10

Sorry for the delay and thank you for your help Spike :)

Spike29 commented on 2013-06-06 19:01

Hi, version 1.2.3 has been released :)
New md5sum is 871564dc321e3b5a895430de28294a37

bergs89 commented on 2013-05-17 17:09

Let me know if any problems occurs.
My first AUR package, be comprensive :D

abarbarian commented on 2013-02-08 12:37

I get this whilst trying to install. Looks like the package needs some love.

-> Downloading epson-inkjet-printer-escpr-1.2.1-1lsb3.2.src.rpm...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0
curl: (22) The requested URL returned error: 404 Not Found
==> ERROR: Failure while downloading epson-inkjet-printer-escpr-1.2.1-1lsb3.2.src.rpm
==> ERROR: Makepkg was unable to build epson-inkjet-printer-escpr.

Anonymous comment on 2012-11-12 19:11

Here's the pkgbuild that I use just fine:

cacack commented on 2012-11-11 14:11

Updating the source and MD5 fixes this. I've included a patch. If the PKGBUILD is not updated, then I'll request ownership of this package.

< pkgver=1.2.1
> pkgver=1.2.2
< md5sums=('2c5dd865cf3a5812def1cf2cf4fe0b0c')
> md5sums=('7d3a58dd09cf38dd3c35c199af029a28')

Anonymous comment on 2012-10-31 13:04

Current version is 1.2.2. The download link is broken.

Anonymous comment on 2012-09-30 13:53

Due to recent changes in Arch Linux for the worse, and the bad, ignorant and arrogant attitude of the Arch Linux devs, who aren't able to take criticism, who only want to hear their own opinion, I decided to not contribute to Arch Linux anymore. So I orphan this package.

Anonymous comment on 2012-07-20 15:16

It works. Thank you for your swift reaction, cyberpatrol.

Anonymous comment on 2012-07-20 09:43

OK, once more. Please remove the symlink if created again and try this version.

Anonymous comment on 2012-07-20 06:57

It doesn't. Removed self created symlink, rebuilt and reinstalled the new version of the package, restarted cups daemon - no luck. Here is the log.

Hope this helps.

Anonymous comment on 2012-07-19 23:50

@rbn and z0mb1e_kgd: Sorry, forgot about it. Please try this one, but remove the self created symlink before. If it still doesn't work I have to do a closer look at it.

Anonymous comment on 2012-07-19 22:53

I will always look through the logs first.
I will always look through the logs first.
I will always look through the logs first.

Spent a day trying to solve the "/usr/lib/cups/filter/gstoraster failed" issue before looking to the cups error log and discovering the same message as rbn's: sh: /opt/epson-inkjet-printer-escpr/cups/lib/filter/epson-escpr: file or directory not found.

Solution: symlink it as follows (as root or sudo):

# mkdir -p /opt/epson-inkjet-printer-escpr/cups/lib/filter/
# ln -s /usr/lib/cups/filter/epson-escpr /opt/epson-inkjet-printer-escpr/cups/lib/filter/epson-escpr

Hey, cyberpatrol, please kindly fix the issue.

rbn commented on 2012-06-14 22:09

i've got this error in my cups-errorlog:
"D [14/Jun/2012:23:53:48 +0200] [Job 46] sh: /opt/epson-inkjet-printer-escpr/cups/lib/filter/epson-escpr: Datei oder Verzeichnis nicht gefunden" (File not found)
making a symlink from /usr/lib/cups/filter/epson-escpr to /opt/epson-inkjet-printer-escpr/cups/lib/filter/epson-escpr fixed the problem.

otherwise, good work :)

Anonymous comment on 2012-06-11 08:02

Updated and added gutenprint to depends. Thanks for the info.

Anonymous comment on 2012-06-10 19:56

Should this have a dependency on gutenprint? Without that I got the following error: File "/usr/lib/cups/filter/commandtoepson" not available: No such file or directory.

Anonymous comment on 2012-06-10 19:48

1.2.0 is at

Anonymous comment on 2012-04-09 23:34

Updated. Thanks for the new download link.

catlover2 commented on 2012-04-09 20:01

1.1.2 is here:

catlover2 commented on 2012-04-09 20:00

1.1.2 is here:

Anonymous comment on 2012-04-06 09:51

I can't find any new version. Latest stable version on the website and in the download directory is still 1.1.1.

catlover2 commented on 2012-04-06 05:10

Flagged out-of-date because 1.1.2 is out.

Anonymous comment on 2012-01-11 21:42

Updated and cleaned up the package.

Anonymous comment on 2011-12-02 13:15

Hi, 1.1.1 is out.

No patch is needed.

I have to update version and md5: e66b7e8c0e1b5bec5025f9f5bf5fd93e

Hope useful.

bzt commented on 2011-11-27 09:53

Updated package build for 1.1.0. Works like a charm with a Stylus Office BX600FW:

Anonymous comment on 2011-11-09 18:26

Can somebody update? This (old) version doesnt compile, new version compiles after changing version in PKGBUILD and disabling patch, but it doesnt print afterwards... it looks for files in /usr/local/lib not /usr/lib

Anonymous comment on 2011-09-29 04:37

1.1.0 is out

Anonymous comment on 2011-09-10 19:49

The ppds are installed to /usr/share/cups/
When installed there the drivers don't show up in the cups web interface when adding a new printer.
All works fine when moved to /usr/share/cups/model

rbn commented on 2011-06-30 00:24

flagged because 1.0.4 is the current version.
thanks for the good work!

yvonney commented on 2011-06-29 20:15

tried this automated with aurget then manually.
can this be checked? and/or where's the config.patch?
I DL'd the rpm and the tarball and PKGBUILD
nt working for me -- thanks!

Anonymous comment on 2011-04-21 20:34

I've updated with rbn's PKGBUILD. Sorry for the delay, I've been quite busy.

sironitomas commented on 2011-04-19 19:45

Please, update with the code rbn gave you!

rbn commented on 2011-04-12 10:31

updated pkgbuild:

abbradar commented on 2011-02-23 08:45

Checksum mismatch with src.rpm file, tried a few times, seems that file was updated on server.
New checksum: ce04279e18015504074bdcbee6ff5355

Anonymous comment on 2010-10-27 17:08

Package updated, there should be no issue though I recommend to check the location of cups libs and edit config.patch accordingly.

Anonymous comment on 2010-10-26 16:37

--2010-10-26 18:24:53--
Risoluzione di
Connessione a||:80... connesso.
HTTP richiesta inviata, in attesa di risposta... 404 Not Found
2010-10-26 18:24:54 ERRORE 404: Not Found.

Misery commented on 2010-10-11 16:49

--- 2010-09-02 11:58:21.000000000 +0200
+++ 2010-10-11 18:39:21.433333344 +0200
@@ -62,8 +62,8 @@

dnl CUPS_LIBS='-lcups -lm'
dnl CUPS_IMAGE_LIBS='-lcupsimage -lcups -ljpeg -lm'
-CUPS_LIBS="/opt/lsb/lib"$LSB_ARCH"/ /opt/lsb/lib"$LSB_ARCH"/"
-CUPS_IMAGE_LIBS="/opt/lsb/lib"$LSB_ARCH"/ /opt/lsb/lib"$LSB_ARCH"/ /opt/lsb/lib"$LSB_ARCH"/"
+CUPS_LIBS="/usr/lib"$LSB_ARCH"/ /usr/lib"$LSB_ARCH"/"
+CUPS_IMAGE_LIBS="/usr/lib"$LSB_ARCH"/ /usr/lib"$LSB_ARCH"/ /usr/lib"$LSB_ARCH"/"


crass00 commented on 2010-09-26 11:52

There is a new version out and the old download has been removed.

New src.rpm file here

Anonymous comment on 2010-08-27 19:25

Could not build it here in x64.

Adding this to contigure options solved my problem. (maybe useful for others)