Linux Printer Drivers

Windows needs manufacturer-provided hardware drivers before your hardware will work. Linux and other operating systems also need hardware drivers before hardware will work — but hardware drivers are handled differently on Linux.

Brother is registered trade marks of Brother Industries, Ltd and its affliates in Japan and in certain other countrie. All other trade marks mentioned in this documents or Websites are the property of their respective owners. Chances are, your Linux system already has the HPLIP software installed. That's because all major Linux distributions regularly pick up the HPLIP software and include it with their distribution installation. However, if it is not installed or you need to upgrade to a newer HPLIP version to support your printer, you've come to the right place.

The good news is that, if a device will work on Linux, it’ll probably “just work” out of the box. You may sometimes need to install drivers, but some hardware may just not work at all.

How Hardware Drivers Work on Windows

When you install Windows, you’ll need to install hardware drivers provided by the hardware’s manufacturer — motherboard chipset drivers, graphics card drivers, Wi-Fi drivers, and more.

RELATED:Should You Use the Hardware Drivers Windows Provides, or Download Your Manufacturer’s Drivers?

Windows does try to help. Microsoft bundles a lot of these manufacturer-provided drivers with Windows, and hosts many of them on Windows Update. When you plug in a new device to your Windows computer and you see the “Installing Driver” bubble pop up, Windows might be downloading a manufacturer-provided driver from Microsoft and installing it on your PC. Microsoft doesn’t write these drivers on its own — it gets them from the manufacturers and provides them to you after vetting them.

If hardware isn’t working on Windows, there’s usually a driver to make it work. Unless you have an ancient device that only works with older versions of Windows, the manufacturer has done the work of making it work with Windows. Hardware that doesn’t work is usually just a quick driver download away from working.

How Hardware Drivers Work on Linux

Things are different on Linux. Most of the drivers for hardware on your computer are open-source and integrated into Linux itself. These hardware drivers are generally part of the Linux kernel, although bits of graphics drivers are part of Xorg (the graphics system), and printer drivers are included with CUPS (the print system).

That means most of the available hardware drivers are already on your computer, included along with the kernel, graphics server, and print server. These drivers are sometimes developed by hobbyists. But they’re sometimes developed by the hardware manufacturer themselves, who contributes their code directly to the Linux kernel and other projects.

In other words, most hardware drivers are included out-of-the-box. You don’t have to hunt down manufacturer-provided drivers for every bit of hardware on your Linux system and install them. Your Linux system should automatically detect your hardware and use the appropriate hardware drivers.

How to Install Proprietary Drivers

Some manufacturers to provide their own, closed-source, proprietary drivers. These are hardware drivers that the manufacturers write and maintain on their own, and their closed-source nature means most Linux distributions won’t bundle and automatically enable them for you.

Most commonly, these include the proprietary graphics drivers for both NVIDIA and AMD graphics hardware, which provide more graphics performance for gaming on Linux. There are open-source drivers that can get your graphics working, but they don’t offer the same level of 3D gaming performance. Some Wi-Fi drivers are also still proprietary, so your wireless hardware may not work until you install them.

How you install proprietary drivers depends on your Linux distribution. On Ubuntu and Ubuntu-based distributions, there’s an “Additional Drivers” tool. Open the dash, search for “Additional Drivers,” and launch it. It will detect which proprietary drivers you can install for your hardware and allow you to install them. Linux Mint has a “Driver Manager” tool that works similarly. Fedora is against proprietary drivers and doesn’t make them so easy to install. Every Linux distribution handles it in a different way.

How to Install Printer Drivers

You may need to install drivers for printers, however. When you use a printer-configuration tool to configure CUPS (the Common Unix Printing System), you’ll be able to choose an appropriate driver for your printer from the database. Generally, this involves finding your printer’s manufacturer in the list and choosing the model name of the printer.

You can also choose to provide a PostScript Printer Description, or PPD, file. These files are often part of the Windows driver for PostScript printers, and you may be able to hunt down a PPD file that makes your printer work better. You can provide a PPD file when setting up the printer in your Linux desktop’s printer configuration tool.

Printers can be a headache on Linux, and many may not work properly — or at all — no matter what you do. It’s a good idea to choose printers you know will work with Linux the next time you go printer-shopping.

How to Make Other Hardware Work

RELATED:10 of the Most Popular Linux Distributions Compared

Occasionally, you may need to install proprietary drivers your Linux distribution hasn’t provided for you. For example, NVIDIA and AMD both offer driver-installer packages you can use. However, you should strive to use proprietary drivers packaged for your Linux distribution — they’ll work best.

In general, if something doesn’t work on Linux out-of-the-box — and if it doesn’t work after installing the proprietary drivers your Linux distribution provides — it probably won’t work at all. if you’re using an older Linux distribution, upgrading to a newer one will get you the latest hardware support and improve things. But, if something isn’t working, it’s likely that you can’t make it work simply by installing a hardware driver.

Searching for a guide to making a specific piece of hardware work on your specific Linux distribution might help. Such a guide might walk you through finding a manufacturer-provided driver and installing it, which will often require terminal commands. Older proprietary drivers may not work on modern Linux distributions that use modern software, so there’s no guarantee an old, manufacturer-provided driver will work properly. Linux works best when manufacturers contribute their drivers to the kernel as open-source software.

Linux Printer Driver Epson

In general, you shouldn’t mess with hardware drivers too much. That’s the vision of Linux — the drivers are open-source and integrated into the kernel and other pieces of software. You don’t have to install them or tweak them — the system automatically detects your hardware and uses the appropriate drivers. If you’ve installed Linux, your hardware should just work — either immediately, or at least after you install some easy-to-install proprietary drivers provided by a tool like the Additional Drivers utility in Ubuntu.

If you have to hunt down manufacturer-provided proprietary drivers and extended guides for installing them, that’s a bad sign. The drivers may not actually work properly with the latest software in your Linux distribution.

Image Credit: Blek on Flickr

READ NEXT
  • › Wi-Fi vs. ZigBee and Z-Wave: Which Is Better?
  • › What Does “FWIW” Mean, and How Do You Use It?
  • › How to Automatically Delete Your YouTube History
  • › What Is “Mixed Content,” and Why Is Chrome Blocking It?
  • › How to Manage Multiple Mailboxes in Outlook
Drivers

You generally don’t need to install hardware drivers on Linux. It’ll automatically detect the hardware in your computer and set it up for you — that’s the goal. But printers can be a different story.

Here’s a fun fact: Printing on Linux is handled via CUPS (the “Common Unix Printing System.”) Apple owns CUPS and employs the main developer — CUPS also handles printing on Mac OS X.

Use the Foomatic Database

RELATED:How to Install Hardware Drivers on Linux

Generally, your Linux desktop environment will provide a graphical printer configuration tool that allows you to easily configure CUPS and set up printers. There are many ways to connect printers, from direct connections with a USB cable to over the network. For some types of connections, your printer may be automatically detected and configured. For others, you may need to do this on your own.

Ubuntu and many other Linux distributions use a printer configuration developed by Red Hat. Other printer configuration tools work fairly similar, as they all use CUPS on the backend. Launch the printer configuration tool on your Linux desktop and start adding a printer. (On Ubuntu, open the System Settings window and click Printers, or launch the Printers application from the Dash.)

Depending on the type of printer protocol you’ve selected, you may need to provide printer drivers. This tool will provide you with a list of printer drivers available in the foomatic database. Select the manufacturer of your printer and look for its model number in the list.

Don’t see your exact model of printer in the list? Look for the closest model number and try it.

After setting up the printer in this way, you’ll definitely want to print a test page to confirm that the printer driver you selected worked properly.

You can also just use the CUPS web interface for printer setup and configuration. It’s a bit less user-friendly, but it should be available on every single Linux distribution. Open a web browser, plug localhost:631 into its address bar, and press Enter. Click over to “Administration” and use the “Add Printer” link to add a printer via the web interface. You’ll be asked for a password. Enter your Linux user account’s username and password. For some Linux distributions, you may need to use the username “root” and the root password.

Get a PPD File From the Manufacturer

The printer configuration tool also allows you to provide a PPD file directly. Some manufacturers provide these files for their printers. You may find them on the printer’s driver disc, on the manufacturer’s download site for that printer, or included in the Windows driver itself if the printer is a PostScript printer.

Look around the manufacturer’s website or on the driver disc for the PPD file. You can also consider downloading the Windows driver and attempt to open it in a file-extraction program. Yes, even if it’s an .exe file, you may be able to open it up and dig around to see if you can find a PPD file. This may requier the cabextract tool.

You could also consider performing a web search for the name of the printer and “PPD file” to see if other people have successfully located a PPD file that will work for the printer. If you have a PPD file, you can install it from the printer configuration interface.

Tap Into OpenPrinting.org’s Printer Database

The OpenPrinting.org website maintains a database of printers along with reccomended printer drivers for them. The printer configuration tool can actually search for and download PPD files directly from there. However, you can also just visit the printer database on the OpenPrinting.org website yourself and search for your model of printer.

Linux Printer Drivers For Hp Printers

The database will tell you how well a printer works, recommend a driver, and provide PPD files. You can download the PPD file directly and install it manually, if the database offers it.

Linux

For some printers, you may be pointed towards special drivers provided by the manufacturer. You may need to install these to get the printer working — it’s often a good idea to search for your model of printer and “Linux” for instructions on getting it working. Searching for instructions specific to your Linux distribution is also helpful, for example, your model of printer and “Ubuntu.”

But It’s Still Not Working!

In an ideal world, your printer would be automatically detected and “just work.” However, printers have been a big pain point for Linux users. The database of PPD files provided by foomatic is designed to make them work as easily as possible, and the OpenPrinting.org website is designed to provide a centralized database of instructions to make printers work properly on Linux.

But some printers just aren’t supported and won’t work. Some printers may work, but not very well. Other printers may require proprietary drivers provided by their manufacturer, and those drivers can often be a headache to install — or they may not install at all on newer Linux distributions as they haven’t been maintained and updated over the years.

RELATED:How (and Why) to Get Started with Google Cloud Print

Printer

For many printers, there’s just not much you can do. If you want to use a printer with Linux, you should go out of your way to look for one that supports Linux.t

You could also just do an end-run around the whole printer situation — for example, if you get a printer that supports Google Cloud Print, you could just print to it from Linux via Google Cloud Print, avoiding any printer driver problems. There’s even a Google Cloud Print driver for CUPS, allowing any application that supports the standard CUPS system (that means most Linux desktop applications) to print to a Google Cloud Print printer.

Having problems printing? Consider going paperless. You can always print documents to PDF and keep them in digital form — or just take those PDFs to another computer with a printer and print them there.

Image Credit: jared moran on Flickr

READ NEXT

Linux Printer Drivers Epson

  • › What Does “FWIW” Mean, and How Do You Use It?
  • › How to Automatically Delete Your YouTube History
  • › What Is “Mixed Content,” and Why Is Chrome Blocking It?
  • › How to Manage Multiple Mailboxes in Outlook
  • › How to Move Your Linux home Directory to Another Drive