Skip to content

Experimental Epson scanners, AUR and Flatpak - #7

Merged
sepgh merged 2 commits into
mainfrom
epson-experimental
Oct 30, 2026
Merged

sepgh merged 2 commits into
mainfrom
epson-experimental

Conversation

@sepgh

@sepgh sepgh commented Oct 30, 2026

Copy link
Copy Markdown
Owner

Summary

Experimental catalog entries (14 Epson models). Generated from Epson's official Windows 10/11 drivers for models that SilverFast 9 also offers on Windows 10/11: Perfection V10/V100, V200, V30/V300, V33/V330, V350, V37/V370, V39, V39 II, V550, V800/V850, 4490 and Expression 1640XL, 1680, 13000XL. They install only when the scanner is connected; the V600 stays the only supported model.

  • Every interpreter is a 64-bit DLL, pinned by SHA-256 like the drivers.
  • The firmware-loading models (V37/V370, V39, V39 II, V550) ship the same Epson WIA firmware code (esxw2ud.dll, same ESC 06/16/03 handshake) as the V600.
  • SilverFast recognises a registered entry by itself (it showed "Epson 1640XL / ES-8500" in its scanner list).
  • No Windows 10/11 driver was found on Epson US or the Microsoft Update Catalog for V700/V750, 4870, 4990 and 10000–12000XL; they are left out.

Report tool. --driver-ids and --draft-only build entries without hardware. Driver packages can carry utility INFs listing every USB ID; the Class=Image INF now wins (test added).

Packaging.

  • AUR: silverfast-linux (source) and silverfast-linux-bin (release tarball), built in an Arch container (with check() tests), .SRCINFO generated. Not published — needs an AUR account.
  • Flatpak io.github.sepgh.silverfast_linux on Flathub's Wine 11 (org.winehq.Wine//stable-26.08); sti.dll built from source with the mingw-w64 SDK extension; first start asks for licence acceptance and shows USB-permission help through Wine message boxes.

Installer. Downloads retry with timeouts (a flaky connection made checksum fetches fail).

Testing

  • make test-report (catalog validation of 15 models, INF tests), shellcheck clean.
  • Installing all 15 catalog scanners at once: every driver downloaded/verified, interpreter and firmware files installed, registry written.
  • Flatpak: builds and installs; sti.dll self-test passes inside the sandbox over TCP; full install inside the sandbox; doctor all green; helper inside the sandbox opens the V600 and uploads firmware after power-on.
  • Not yet tested: the Flatpak's first-start dialogs and a scan from the Flatpak (needs a click-through and a login).

🤖 Generated with Claude Code

sepgh and others added 2 commits October 30, 2026 06:02
Catalog:
- 14 experimental Epson entries generated from Epson's Windows 10/11
  drivers for models SilverFast 9 offers on Windows 10/11 (V10/V100 to
  V850, 4490, 1640XL, 1680, 13000XL). Interpreters are 64-bit and the
  firmware-loading models use the same Epson WIA firmware code as the
  V600. They install only when connected.
- sfl-report.py: --driver-ids and --draft-only build entries without the
  scanner attached; prefer the Class=Image INF over utility INFs that list
  every USB ID (with a test).

Packaging:
- AUR: silverfast-linux (from source) and silverfast-linux-bin (release
  tarball), built and checked in an Arch container; .SRCINFO included.
- Flatpak io.github.sepgh.silverfast_linux on Flathub's Wine 11 base,
  sti.dll built with the mingw-w64 SDK extension, a first-start wrapper
  with Wine message boxes for licence acceptance and USB help, desktop
  entry, metainfo and a neutral placeholder icon.

Also: installer downloads retry with timeouts, no desktop entry inside a
Flatpak, README scanner table and install options, changelog and docs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Inside the Flatpak build, CFLAGS from the SDK (-fstack-protector) reached
the MinGW compile and made sti.dll import libssp-0.dll, which does not
exist on Windows, so SilverFast failed to start from the menu. sti.dll now
uses its own MINGW_CFLAGS, and the build fails if it imports anything but
Windows system and C runtime DLLs (msvcrt or UCRT).

run also refreshes the prefix's sti.dll when it differs from the installed
one, so upgrades take effect without a re-install.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sepgh
sepgh merged commit fb9b289 into main Oct 30, 2026
2 checks passed
@sepgh
sepgh deleted the epson-experimental branch October 30, 2026 05:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant