EPSON SX438W
Introduction
Cet article décrit l'installation d'une EPSON SX438W sous Gentoo / CUPS. À priori, il est aussi valable pour les modèles SX435W et SX430W.
Pilote ESC/P-R
Un pilote a priori libre (GPL v3) est disponible sur le site d'EPSON[1]. Des ebuilds sont proposés sur les overlays bgo-overlay et sunrise, sous le nom net-print/epson-inkjet-printer-escpr.
Le modèle d'imprimante à sélectionner est la Stylus SX435W.
La qualité d'impression est correcte ; cependant, le pilote est très sommaire et ne permet pas de modifier la qualité d'impression...
Pilote GutenPrint (échec)
J'ai aussi essayé GutenPrint, qui annonce une compatibilité avec le modèle Stylus SX420. Au contraire du pilote précédent, ceux fournis par GutenPrint sont très configurables (peut-être même trop...).
Cependant, la SX420 est un modèle suffisamment éloigné de la SX438 pour que la sortie ne soit pas correcte : les trois couleurs (cyan, magenta, jaune), sont décalées verticalement l'une par rapport à l'autre, ce qui rend les documents couleurs imprimés pas ou peu exploitables.
Pilote ESC/P
Un autre pilote, non libre, est disponible à cette adresse : [2]. Il en existe de multiples versions, seule la version epson-inkjet-printer-201105w-1.0.0<ref>Seule version proposée lors de la rédaction de cet article.</ref> concerne la Stylus SX438W. Trois types de paquets sont disponibles : un rpm précompilé (x86 ou x86_64), un deb précompilé (x86 ou x86_64) et un src.rpm.
Le src.rpm n'est pas exploitable. Un ebuild l'utilisant est en cours de rédaction<ref>discussion sur le forum de gentoo, mais je n'arrive pas à retrouver le lien...</ref>, mais n'est pas utilisable. Je n'ai pas non plus réussi, par une compilation manuelle, à produire un exécutable utilisable. Je ne me suis pas non plus plongé dans le code pour tenter de découvrir pourquoi.
Installation du pilote précompilé
La version « debian » a été convertie en une archive plus facilement exploitable, en un tar.gz à l'aide de l'outil deb2targz :
deb2targz epson-inkjet-printer-201105w_1.0.0-1lsb3.2_amd64.deb
L'archive obtenue a été bêtement (après avoir été listée) extraite dans /, puisqu'elle ne copie des fichiers que dans /opt/epson-inkjet-printer-201105w/. L'imprimante peut alors être installée par cups, en cherchant manuellement le ppd suivant /opt/epson-inkjet-printer-201105w/ppds/Epson/Epson-Stylus_SX430_Series-epson-driver.ppd.gz. Les chemins des filtres nécessaires sont entrés en durs dans le ppd, donc pas de soucis à se faire<ref>sauf peut-être en cas de mise à jour du paquet epson-inkjet-printer</ref>.
Malgré tout, ça n'imprime pas... et la seule erreur renvoyée par cups est Filter failed, sans plus de précisions. Un passage du niveau de journalisation en debug n'aide pas vraiment plus, sauf à savoir que /opt/epson-inkjet-printer-201105w/cups/lib/filter/epson_inkjet_printer_filter échoue avec l'erreur No such file or directory, alors que les permissions sont correctes.
readelf -a /opt/epson-inkjet-printer-201105w/cups/lib/filter/epson_inkjet_printer_filter
renvoie quelque chose de probablement évident quand on est au courant du fonctionnement de lsb :
[Réquisition de l'interpréteur de programme: /lib64/ld-lsb-x86-64.so.3]
Le problème a été soulevé sur bugs.launchpad.net, et un simple lien symbolique du chargeur standard de bibliothèques /lib/ld-linux.so.2 vers /lib/ld-lsb-x86-64.so.3 suffit à résoudre le problème.
Une autre solution consisterait à remplacer le nom du chargeur directement dans l'exécutable, par exemple à l'aide de PatchELF, mais je ne l'ai pas essayée.
Second problème concernant epson_inkjet_printer_filter :
filter $ ldd ./epson_inkjet_printer_filter [...] libjpeg.so.62 => not found [...]
Cette bibliothèque peut-être retrouvée en installant manuellement jpeg-6 :
emerge \=jpeg-6b-r9
Le pilote est désormais fonctionnel, et offre nettement plus de possibilités de configuration que son homologue libre.
Notes
<references />