Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I know about CUPS. There is no real alternative on Linux, is there? But it doesn't work like on macOS. I am sure they added some of magic on top.

On macOS I think it either recognized my printer or I had to select it from a list. I don't remember which for sure. It was a few years ago.

On Linux my Brother printer is not on the list. Brother offers a deb and rpm packages which may be obsolete for all I know. Then you have to install it manually. But in my case it never offered double sided printing.

For years I am using a crutch in terms of Android driver and Brother's own app. This despite being offered by the producer doesn't offer double sided printing either. It doesn't even give ability to print in grayscale.



> I know about CUPS. There is no real alternative on Linux, is there?

I don't know what lifting "real" is doing here, but lpd(8)[0] (line printer daemon) is what we used to use, and printcap(5)[1] to configure. It was general enough that you could make a music playlist system out of it[2].

[0] https://man.netbsd.org/lpd.8

[1] https://man.netbsd.org/printcap.5

[2] https://patrick.wagstrom.net/weblog/2003/05/23/lpdforfunandm...


On Linux, Brother also has a generic driver (brgen1mlr, or something like that). You’ll need to install both the driver and cupswrapper though.

If you install the specific driver it generally should have parity with their Windows / macOS driver though.


Dunno about your printer but with my Brother Laser the CUPS driver can do double-sided printing on Linux just fine.

But you should in theory also be able to do this without any Brother-specific driver since pretty much all modern printers speak IPP for mobile device compatibility.


Usually, drivers for similar printers might work. There are also generic driver sets like Gutenprint. Nonetheless, note that CUPS now discourages the use of any drivers, and support will be removed in the future.

They claim that modern printers implement IPP and that should be the preferred protocol for printing. In IPP, printers advertise capabilities and are able to handle different high-level printing requests.


That is wrong. CUPS recommends using the IPP protocol, but the IPP driver (called “IPP Everywhere”) is only available on relatively modern printers. Everything else still has to use drivers, mostly PPD.


Any CUPS daemon will raise the following warning on startup. I just copied this from my Systemd log:

  cupsd[873]: Printer drivers are deprecated and will stop working in a future version of CUPS. See https://github.com/OpenPrinting/cups/issues/103
Not saying this is the correct decision, but IPP Everywhere is available on most printers that are < 10 years old. Obviously, that rules out older printers, which are fairly common.


From the mentioned issue:

> As for printer drivers, those few printers that "need" them can migrate to standalone applications/services using the CUPS API to provide an IPP Everywhere-compatible Printer instance. PAPPL provides a convenient framework for easily creating these applications and porting existing CUPS raster drivers, and the following printer applications are already available or (in the case of Gutenprint) under development:

[...]

> ps-printer-app: PAPPL-based PostScript printer application that supports all CUPS/PostScript printers via PPDs and includes all of the Foomatic and HPLIP drivers.

So drivers will still be supported in a sense, just not directly by the CUPS daemon.


I have a Brother printer from 2019 (HL 2340) that does not support IPP Everywhere. A lot of other printers from before ~2020 don’t either.

You are (like so many other people) confusing IPP the protocol with IPP the driver, which is honestly not your fault and a terrible naming mistake.

And like you mentioned, people have way older printers because if all you do is print monochrome and mostly text, a printer from 2004 doesn’t lack much aside from AirPrint / Mopria. Which is why I suspect CUPS will not deprecate at least PPD drivers.


If you read the linked issue you will see that the plan for legacy printers is to move the printer drivers under a separate application that CUPS can then talk IPP to.

So yes, CUPS itself will only support IPP without any printer-specific driver. Since mobile phones also only directly support IPP this sounds like a reasonable decision.


> If you read the linked issue you will see that the plan for legacy printers is to move the printer drivers under a separate application that CUPS can then talk IPP to.

Ah, yes. Thanks for pointing that out! I wonder how much more secure that will make things for those who have to use legacy printers.

> Since mobile phones also only directly support IPP

Technically AirPrint is not IPP Everywhere, they use a different raster format and some different glue. For example my Brother printer supports AirPrint but fails ~50% of the IPP Everywhere self-certification tests. But that’s splitting hairs.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: