Hi,
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 disclose?
What is the future of using an Epson printer with Linux, and Fedora?
Alex
devel@lists.stg.fedoraproject.org