HP Linux Imaging and Printing is Hewlett Packard's software package with drivers and tools for HP's printers, scanners, and all-in-one devices.
Perhaps no. Almost all modern network printers, including those from HP, support driverless printing using the Airprint™ or IPP Everywhere™ standards. See the OpenPrinting setup tutorial. Driverless scanning is possible too, thanks to sane-airscan.
Perhaps yes. First of all, the driverless standards work only for (relatively) recent network printers. You need HPLIP if you have locally connected (e.g. USB) printers or older models that don't support IPP everywhere™. Secondly, there are subtle differences between driverless operation and operation with the HPLIP driver which will affect page margins, colors, options, and general print quality. There is no general rule which setup will serve you better with the printer / scanner model you have. Finally, HPLIP provides some useful extra functionality such as checking ink levels or cleaning heads.
On openSUSE, the hplip package is split into separate sub-packages that you can install in various combinations according to your needs.
Simply install the hplip package. This will provide almost1 the full user experience
from the upstream installer2. You will have the printer and scanner drivers, PPD (PostScript Printer Description) files, and a collection of command-line and graphical tools for device
setup, maintenance, and monitoring. The graphical utility hp-toolbox provides
access to the full functionality of HPLIP, and the easiest way to set up a new device.
The downside of the full installation is that it has a rather large install size and pulls in a lot of dependencies.
This setup allows adding and using printers and scanners with a much smaller install size compared to the full installation. You need the hplip-base package and its dependencies, and at least one package providing PPDs:
hplip-driver-hpcupsorhplip-ppds-hpcupsfor printers using the "hpcups" filter, i.e. almost all recent models3,hplip-ppds-hppsfor PostScript printers using thehppsfilter,hplip-ppds-postcriptfor other PostScript printers,hplip-ppds-pluginfor printers that require the proprietary HPLIP plugin,hplip-ppds-faxfor some fax devices,
hplip-base includes those HPLIP utilities that don't require a graphical user interface, including hp-probe, hp-setup, and hp-plugin.
In the vast majority of cases, hplip-driver-hpcups will be sufficient.
On Tumbleweed or SLE/Leap 16, you can run zypper info --provides on any of thehplip-driver- and hplip-ppds- packages to obtain a list of supported printer models. It will print a long list of lines containing postscriptdriver and the vendor and model name. Run e.g. zypper install 'postscriptdriver(hp;officejet_pro_k5300;)' to install the package containing the required PPD.
Run the hp-probe utility1 from the hplip-base package to detect connected printers. You may have to play with the options; for modern network printers using the DNS-SD discovery method, hp-probe -b net -m avahi will work best4. On success, hp-probe will output a hp:/... URI for your device.
This URI can be entered in your system's CUPS web interface ("Administration→Add Printer") to add the printer.
Obtain the device URI using hp-probe as described in the previous paragraph and the PPD ("model") from the output of lpinfo -m. Use the obtained values like below to create the queue:
lpadmin -v 'hp:/net/Smart_Tank_7300_series?ip=192.168.10.23' \
-m 'drv:///hpcups.drv/hp-smart_tank_7300_series.ppd' \
-p hplip
This example shows a minimal command line for creating a queue. You may want to use additional options like -E for enabling the queue, or one or more -o options. See the man page lpadmin(8).
Some HP printers and all-in-one devices need a proprietary plugin
for operation. The plugin can't be shipped by openSUSE because it isn't open source.
To install the plugin, use the hp-plugin tool from the hplip-base package, or use hp-toolbox.
You need the plugin that matches your version of hplip exactly; therefore the plugin needs to be reinstalled after
updating HPLIP to a new upstream version (e.g. 3.25.2 → 3.25.6).
After the queue has been set up, the PPD package(s) that were required for initial setup can be uninstalled, because your printer's PPD
will have been copied to /etc/cups/ppds. hplip-base can also be uninstalled, unless you are interested in the functionality of the tools it provides5.
For daily printer operation (after initial printer / scanner setup), you only need the hplip-cups package and its dependencies. For scanning, hplip-sane will suffice.
This is like 3., but with the hp-utils package added. It will give you the full set of HPLIP utilities including hp-toolbox. Unlike 1., it does not contain any of the packages containing PPDs, which are only necessary for setting up
new devices.
Use Launchpad to report HPLIP bugs. Use openSUSE bugzilla to report a bug in the openSUSE package. See also How To Report a Printing Issue.
Footnotes
-
If the device has scanner capabilities, the URI can also be determined by running
scanimage -L. ↩ ↩2 -
Using the upstream installer under openSUSE is strongly discouraged. ↩
-
The
cups-driver-hpcupspackage contains a.drvfile from which CUPS will extract the macthing PPD for your printer during the setup procedure.cups-ppds-hpcupscontains static, precompiled PPD files. ↩ -
This requires a running avahi daemon and an open MDNS port in the firewall (CAUTION: be sure not to compromise your system security. MDNS should only be enabled on trusted networks). ↩
-
If your device needs the proprietary plugin, you'll have to keep
hplip-basein order to be able to update the plugin. ↩