Any idea what is going on with Epson's printer driver (escpr vs escpr2)?


Epson distributes two drivers for its printers, espcr, and espcr2. espcr
is happily packaged in Fedora, however, newer printers seem to become
supported in espcr2.

The problem with espcr2 is that it is missing source code for an
internal library -- escprlib. escprlib is distributed as static library
with i386 and amd64 targets. espcr does provide the source code for this
library. My escpr2 ET-3700 works just fine with the escpr packaged in
Fedora after some minor PPD changes.

I wanted to know what the difference is and why we have a proprietary
escpr2, when escpr works just fine. It's obvious that escpr2 is a dumb
java-like hack-and-slash fork of escpr, but I wanted to know if it's a
silly mistake, or a deliberate attempt by Epson to hide something.

Thanks to 'git diff -w', the biggest difference is the addition of an
"RHV2" compression mode, and the infrastructure around it. There's even
a 2015 patent on RHV2 [1]. From my analysis, it seems that whoever
implemented this did it in a matter very consistent with the style and
conventions of escpr. I think this person had prior experience with
escpr, and I think it's unlikely that the addition of a binary-only
component is a mistake.

If Epson does indeed want to keep proprietary parts of its (userspace)
driver, where does that leave Linux users, and Fedora? Do we keep
ripping PPDs off of escpr2 and hope they work with the open source
driver? At this point, I expect all escpr2 PPDs to work, but what
happens when Epson makes new protocol additions that they wish not to

What is the future of using an Epson printer with Linux, and Fedora?


[1] <a href="" title=""></a>