[sf-lug] CUPS and printer driver collections (was: systemd and memory corruption...)

Rick Moen rick at linuxmafia.com
Thu Jan 24 16:53:00 PST 2019


Quoting Bobbie Sellers (bliss-sf4ever at dslextreme.com):

>     Hi Rick,

Hi, Bobbie!

[...]
>     And especially thank you for the printer driver reference.
> I do not seem able to get a driver from the CUPS that is in
> the PCLinux repositories.

Delighted to help!  

Every distribution is different in that how printer drivers get
packaged, but it's _really_ important to understand that the concept of
'a driver from CUPS' is misleading.  No such thing, really.

CUPS is a printing _framework_, an _engine_.  What you need is the
(relevant) printer _driver_ (aka 'filter' in Unix jargon[1]).  As I
mentioned, the reputedly optimal filter ('driver') for your Epson Stylus
NX515 all-in-one inkjet printer is the escp2-nx515 filter, part of the
Gutenprint filter collection.

Doing some basic Web-searching, it appears that PCLinuxOS puts those
filters somewhere in these PCLinuxOS RPM packages:

gutenprint-foomatic
foomatic-filters
foomatic-db
foomatic-db-engine

I'd guesstimate that some of those packages require the others as
package dependencies -- but you can more easily figure that out than I.

My understanding is that 'Gutenprint' is the name of one of the major
printer filter sets, derived in some way from The GIMP (thus its initial
name 'Gimp-Print').  'Foomatic' is the name of a closely associated
data-generator program that compiles the binary-format PPD (PostScript
Printer Definition) files from printer filter source code.  This is the
reason that the relevant packages required for Gutenprint drivers tend
to mention both Foomatic and Gutenprint -- and the Gutenprint collection
is sometimes called the Foomatic one, even though that's not technically
correct.

But please forget about the concept of a 'CUPS driver'.  No such animal.
(Well, sorta.  Keep reading.)

Filter collections:
ASPfilter
MagicFilter
Foomatic/Gutenprint
HPLIP
[...]

Originally, this mail said that there's no such thing as a CUPs driver,
period, because CUPS is a printing framework/engine, not a filter
('driver') collection.  But nagging memory to the contrary made me
double-check, and CUPS does indeed come with a (pretty small) default
filter set.  

And the point is that, very often, if you're not seeing a suitable
printer filter for your printer in the CUPS administrative screens, it's
because you haven't yet installed it.  There are _lots_ of good open
source printer filters that originate elsewhere, that distros provide in
separate packages.  There are also proprietary filters (and associated
utilities), typically _not_ distro-packaged, that users resort to when
there's no open source solution.


By the way, the way I found out that Gutenprint includes the best driver
for your printer was to poke around the OpenPrinting site.  It very
clearly pointed to Gutenprint.  I then checked some more on that site
and elsewhere to find the specific driver name, escp2-nx515, and then
double-checked on Gutenprint's developer Web site to confirm that, no,
the driver didn't disappear.  It's still right there.


To learn more, try this nice little 'How Printing Works' article from 2003:
https://wpollock.com/AUnix1/PrintingInfo.htm

Being from 2003, it still mentions what are now legacy print engines:
lpr, lpd, and lprng.  In 2003, all of those were being rapidly junked in
favour of Easy Software Products's CUPs engine, and are little
remembered today (except by us old-timers who tend to say 'Good
riddance').  Apple, Inc. bought CUPs from Easy Software Products in
2007, and has continued to maintain it.


[1] To be achingly precise, there's always a filter, which is a set of 
instructions about how to rewrite printable data with coded
instructions for a specific printer's printing description language,
telling the printer how and where to do the right thing.  (In limiting
cases like a program's PostScript output going to a PostScript
printer, the filter would be one that say 'Already perfect; no changes
needed.)  Sometimes, the filter gets bundled with associated software,
and that composite is properly termed a 'driver', I guess.

-- 
Cheers,                                         I could maybe do one pilate.
Rick Moen                                       -- Matt Watson (@biorhythmist)
rick at linuxmafia.com
McQ! (4x80)



More information about the sf-lug mailing list