The following supplemental information is aimed at technicians and power users; see the main Printing page for general information.
The ippfind
and driverless
Terminal commands can be used to locate IPP-compatible printers on the local network, including IPP-USB devices (which will be emulated as network devices on the local host).
An IPP-USB compatible printer will have an interface detailed in the lsusb -v
command output with the following numbers:
bInterfaceClass 7 Printer
bInterfaceSubClass 1 Printer
bInterfaceProtocol 4
The additional, non-IPP printers supported by Endless OS are those that are supported by drivers installed as part of the printer-drivers-all-enforce Debian metapackage. Notably, this does add support for a range of USB-connected HP printers which enjoy good support from the HPLip open source drivers. Please note that HP printers that require the HPLip Binary Plug-In are unsupported; it is not possible to install the required plugin on Endless OS.
Printers are sometimes shown twice in the print dialog due to a tricky interaction between network discovery and Flatpak sandboxing.
Most apps on Endless OS are deployed and run using Flatpak. Flatpak apps are supposed to use the print portal to print documents, but many — including important apps like Chromium and LibreOffice — do not do this, and instead request a hole in the sandbox to access CUPS directly.
However, the CUPS client library used by Flatpak apps is compiled without support for network discovery, because Flatpak apps are not permitted to access the service-discovery daemon, Avahi. As a result, these apps cannot discover printers on the network.
To work around this problem, Endless OS include cups-browsed
, a system service which discovers printers on the network and configures them as persistent queues in CUPS. This allows apps like LibreOffice and Chromium to print.
But the print portal, which runs outside the Flatpak sandbox, and other system apps (like Document Viewer) are able to perform network discovery as normal. This means that the print dialog shown by system apps and the print portal will show each printer twice: once for the persistent queue created by cups-browsed, and once for the temporary queue created by the print dialog itself.
This issue could be fully resolved in two ways:
For the time being, since the issue affects several key apps, we have chosen to work around it at the cost of showing duplicate printers in “well-behaved” apps.