J'ai acheté en début d'année une imprimante laser noir&blanc (celle là) pour me libérer des problèmes récurrents de cartouches de ma jet d'encre.
Elle est parfaitement reconnue et gérée via cups sous GNU/Linux (pilote samsung-postscript).
Après quelques jours d'utilisation pour imprimer les cours et devoirs des enfants, on ne peut que constater qu'elle est lente. Pas pour imprimer, mais le temps entre l'envoi de la commande d'impression et l'impression en elle même. On parle ici de quelques dizaines de secondes pour un document très simple à plusieurs minutes pour un document avec quelques images, voire dans certains cas l'impossibilité d'imprimer purement et simplement (notamment les présentations type impress ou powerpoint). Une imprimante de la même marque et d'un modèle légèrement inférieur est capable d'imprimer les mêmes documents quasi instantanément depuis le windows 7 du bureau.
Ce qui pointerait vers un problème lié à cups. Je me suis donc plongé dans la configuration pour finalement tomber sur l'option :
pdftops-renderer
du fichier /etc/cupd/printer.conf ; elle permet de définir l'outil qui convertit le format interne de cups (pdf) en un format compréhensible pour l'imprimante (Ici, le format postscript).
Par défaut, cups utilise l'outil pdftops de ghostscript qui fourni des fichiers compatibles avec presque toutes les imprimantes postscript existantes. Son défaut est qu'il génère des fichiers postscript qui sont généralement d'une très grande taille (dans certain cas, plusieurs centaines de Mio) ce qui rend leur traitement par l'imprimante très lents voire impossible.
Heureusement, il est possible de changer cet outil via l'option ci-dessus. La liste complète est dans la documentation de cups ; les autres outils sont souvent un peu moins compatible mais génèrent des fichiers souvent plus optimisés. Dans mon cas, j'ai modifié la configuration de cups pour qu'il utilise l'outil pdftocairo (à faire en root) :
lpadmin -p nom_imprimante -o pdftops-renderer-default=pdftocairo
suivi d'un redémarrage de cups et voilà. Vous pouvez aussi, après avoir stoppé cups, éditer le fichier /etc/cups/printers.conf pour ajouter la ligne :
Option pdftops-renderer pdftocairo
dans la partie correspondant à l'imprimante à modifier.
Références :
https://github.com/OpenPrinting/cups-filters
https://openprinting.org/printer/Samsung/Samsung-ML-371x