1. What's the problem with these drivers on 64 bit system? - trufanov-nok/old-epson-drivers-epkowa-for-x64 GitHub Wiki

SANE uses plustek backends for some very old Epson scanners. And for at least some of them it behave not good enough.

I've faced with it with my Epson Perfection 1260. After some (very few) scans it may produce images with different brightness. I mean half of the image will be much darker than another one. I guess this is a problem with brightness calibration that every scanner do before any image scan.

I googled out that this problem can be bypassed by using console scanimage tool from sane-utils package. It closes SANE session with device and starts each scan from scratch, that must be the reason. But it has no GUI and global hotkeys so I didn't like this approach.

Another suggested solution is to use native Epson drivers instead of plustek backend.
The problem is that Epson drivers are 32 bit shared libraries. And some of them are proprietary (I'm not sure if Epkowa backend belongs to Epson and may be used for some devices without 32-bit firmware modules).

And as they are 32-bt they can be loaded only by 32-bit process. That means: only 32-bit SANE. And frontends that uses SANE mus be also 32-bits. So you need 32-bit KDE's Skanlite for ex and this requires 32-bit libkf4ksane which is on top of libsane. At the end you'll end up in fully 32-bit system.

Another suggested approach was to use 32-bit virtual machine with 32-bit sane and SANE daemon. Then 64-bit host machine can connect to it via net backend. So virtual machine become a 32-bit wrapper for 32-bit drivers.

Next idea would be creation of 64-bit SANE backend that launches local 32-bit application that loads these driver as and acts as a wrapper. I've started working on this and end up with realize that I've just forked net backend and forked saned daemon to build it for 32-bit.

Thus I've end up with mixing existing binaries and using localhost port that barely can affect performance in comparison with pipes and local inter-process communication. Especially keeping in mind how many time takes scanning image itself.