Let's assume that one has some modern HP printer and/or scanner which is not supported by HPLIP package from official repository.

Currently Ubuntu versions have the following versions in universe pocket:

trusty (14.04LTS) (utils): 3.14.3-0ubuntu3.4
xenial (16.04LTS) (utils): 3.16.3+repack0-1
bionic (18.04LTS) (utils): 3.17.10+repack0-5
disco (19.04) (utils): 3.19.1+dfsg0-1
eoan (19.10) (utils): 3.19.6+dfsg0-1ubuntu1
focal (20.04): 3.20.3+dfsg0-2

What can one do if printer is supported in newer version of HPLIP (checked this in HP Developer Portal | All Supported Printer Models)?



Currently there are no PPAs with newer hplip packages.

But user can download and install binary from HP as described in their manual.

Before you proceed you should remove any hplip related packages to avoid possible future conflicts.

HP have note about this problem on support page:

Warning: If you are upgrading HPLIP and HPLIP is already preinstalled with your distribution, or you if you installed HPLIP using an RPM, DEB, or other package, please uninstall the previous version using the method specific for your distribution. If you do not do this, you may have package conflict issues or functionality problems.

I have experimentally determined the list of packages (tested on 16.04 LTS and 18.04 LTS) and below are commands:

sudo apt-get purge hplip hplip-data hplip-doc hplip-gui hpijs-ppds \
libsane-hpaio printer-driver-hpcups printer-driver-hpijs
sudo rm -rf /usr/share/hplip/

sudo apt-get autoremove

Then you should perform the following steps:

  1. Step 1: Download the Automatic Installer (.run file) from official link for the Ubuntu or as for today using wget

     wget https://download.sourceforge.net/project/hplip/hplip/3.20.6/hplip-3.20.6.run
  2. Step 2: Run the Automatic Installer

     sh hplip-3.20.6.run

    Then follow instructions on screen (it should ask password of your sudo-capable user to run apt, and remove hplip-gui files if they were installed). The installation process is already well-documented on HPLIP site.

    After installation it will show printer installation wizard and you can add printer to the system.


Here we start with binary HPLIP installation (so we do not have HPLIP-related deb-packages installed).

Let's consider that we have installation file hplip-3.20.6.run in the current directory. We need to extract archive from it and then run uninstallation script.

sh hplip-3.20.6.run --noexec
cd hplip-3.20.6
sudo python3 ./uninstall.py
sudo rm -rf /usr/share/hplip/

Afterwards we install official Ubuntu packages instead (optionally):

sudo apt-get install hplip-gui

Note: I have reported bug 1782137 to HPLIP's LaunchPad account asking developers to include uninstallation feature of deb-packages HPLIP components from Ubuntu.

| improve this answer | |
  • 3
    This helped me get rid of a dependency issue with python. THank you. – Mookey Nov 22 '18 at 22:16
  • So sudo apt install hplib-gui definitely seems to work better than downloading and running (I got "no systemtrayicon available" and "Failed to load module 'canberra-gtk-module'"). But how do you then run it? I used to have an icon that appeared on my tool bar. – Dr Xorile Mar 13 '19 at 18:39
  • @DrXorile tray behavior depends on your desktop environment. With GNOME it may fail, but with MATE it will work. You can run HPLIP with hp-toolbox. Binary installation is needed only if your device requires the newest HPLIP version. – N0rbert Mar 13 '19 at 20:52
  • fails with an error about the dependencies for me: askubuntu.com/questions/1173641/installing-hplip-3-19-8-fails – matanster Sep 12 '19 at 8:03
  • @matt Please remove your comment from here, I can't reproduce your issue on clean 18.04 LTS VM. – N0rbert Sep 12 '19 at 10:34

Until a few weeks ago, the latest HPLIP driver version, available at HP Developers - HP Linux Imaging and Printing, was 3.18.12. At Ubuntu 16.04 official repository, the available version was 3.16.3.

First I tried to install the latest version, downloaded from the website. However, a compatibility issue raised with the package python-gobject. As noted by N0rbert (main answer), you need to completely uninstall the actual version of HPLIP before you install another version. Do it manually, as described by N0rbert. After that, ensure that the following files are not present any more (or that the respective folders are empty):

/etc/hp/hplip.conf /var/lib/hp/hplip.state /usr/share/hplip/ /usr/share/ppd/hplip ~/.hplip/hplip.conf /etc/cups/ppd/HP-....ppd

I am not sure if all the files listed above are absolutely need to be removed. However, with them gone, I could proceed with the new installation without problems.

Although the repo doesn't have the latest version of the driver, I decided to install it, via apt, because it works without crashing with other preinstalled packages. I did as follows:

1) sudo apt install hplip (Linux driver for most HP's printers and scanners).

2) sudo apt install hplip-gui (required by hp-plugin).

3) hp-plugin (as normal user).

This plugin is a proprietary "part" of the driver which HP doesn't open-source. The device won't work without it. You will be prompted to accept the terms and install the required plugin for the exact version of the driver you have installed.

4) hp-doctor (to ensure every thing is installed properly, especially the plugin).

5) hp-setup to add the connected device, or use the HP's software (with graphical interface), already installed at this point.

6) Go to Ubuntu System Settings and add a new printer/scanner with HPLIP.

PS: By January 2019, the latest version is 3.19.1, which I have not tested.
In general, if you don't really need the latest version of a package, prefer installing the one offered at the official repository. It's much more likely you won't have problems afterwords.

| improve this answer | |
  • This was a great solution for Ubuntu 18.04 as well. The older version of this package from the official repository, and of hp-doctor do state that the distro is not yet supported, but the entire process worked very well for me, as compared to the 3.19.1 version, which I could not get to work due to a python2/python3 dependency mismatch during the hp-setup and hp-plugin commands. – jerome Jan 30 '19 at 3:41
  • 2
    For those like myself who have Ubuntu 18.04 with multiple python2 and python3 versions managed by the update-alternatives tool (check here if you wish to learn more), running hp-doctor and hp-setup commands may not work with the error: cupsext could not be loaded. please check hplip installation message printed out in response. Solution: run python3 $(which hp-doctor) and python3 $(which hp-setup) commands instead. – KiriSakow Apr 27 '19 at 0:14
  • 1
    @KiriSakow It seems the best solution for my HP LaserJet is the hplip package in the official repositories of Ubuntu 18.04. I just works - without some problems I have with the latest one from HP. However, things like hp-setup, hp-doctor, hp-systray won't work (although not so important) even with the solution you suggest - I get the same python error messages although python3 is installed. Do you think I'm missing something? – Sadi Jul 23 '19 at 11:45
  • Step 6 is already taken care of by step 5 in my case. – matanster Sep 12 '19 at 14:30
  • This answer is very important because it includes the hp plugin step, which seems to be required for things to actually work. – matanster Sep 12 '19 at 14:37

Not the answer you're looking for? Browse other questions tagged or ask your own question.