But here is one more issue: You stated that poppler's pdftops is "usually good enough". So if I deleted the CUPS pdftops filter, CUPS would switch over to the Poppler version in /usr/bin?
No. You can't delete /usr/lib64/cups/filter/pdftops either because it is what CUPS will call during its filter processing (CUPS only knows how to call filters located in /usr/lib64/cups/filter, and nowhere else).
/usr/lib64/cups/filter/pdftops will then in turn call whatever is the necessary program to actually convert pdf to something else (ps, cairo, etc). The default can be specified at compile time, but as Debian Wiki that you linked explains, this can be modified at run time. The "path" for the binaries however can't be changed - it specified at compile time. (e.g. pdftops -> call /usr/bin/pdftops, gs -> call /usr/bin/gs, etc the choice of whether to call "pdftops" or "gs" can be specified at run-time, but the fact that "gs" is located in /usr/bin/gs is fixed at compile time).
Fatdog cups-filters is set by default to use "pdftops".
BTW, newer Canon models use the more conventional approach - rasterization is done as part of the CUPS work-flow, probably through the filter gstoraster.
Agreed, it is not a good idea to hide to call to ghostscript in the filter itself. It should be made explicit part of the filter processing, and it's good that Canon does it with their newer drivers.
Note that "Poppler mode" refers specifically to the target printer being Postscript-capable, which would not require rasterization or a vendor filter.
Generally-speaking, yes. But it is also use where the intermediary filters require PostScript (and as it turns out, many of the gutenprint and foomatic filters seems to do so, as well as many proprietary drivers).
You asked how to install the drivers. It's been years since I've had to do things that way, but my home-made auto-install simply installs both of
them.
If you can explain the steps that your "home-made auto-install" does, it would be helpful, so we can figure out what's wrong and hopefully correct it for future drivers as well. So far the problem seems to be that the the drivers aren't "adapted" for proper installation.
Here is what I did with the original .deb drivers:
1. Convert them to TXZ packages (right-click, Convert to Fatdog packages)
2. Extract the packages, and rename eveything that has "lib" in it to "lib64"
3. However, keep "usr/lib/bjlib" it its original package.
4. Rebuild the package again (you can simply tar it, or you can use "makepkg" command).
5. Then install.
I have uploaded the two packages here:
http://distro.ibiblio.org/fatdog/broken ... 64-DEB.txz and
http://distro.ibiblio.org/fatdog/broken ... 64-DEB.txz - which has been processed as explained above. Install these two and then install ghostscript and you should be good to go.
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]