One of the few pieces of hardware that may cause the most trouble on a Linux system is a printer (and scanner, if it comes with one). Thankfully, it’s not too difficult to check whether your printer is supported. Once you know that your printer is supported, it’ll take just a few steps to get it to work.
With a printer that isn’t supported (whether there’s no driver already in the Linux kernel or whether the manufacturer doesn’t have any Linux drivers of its own), there’s nothing you can do to get it to work. There are very rare exceptions where you might get a printer to work that isn’t marked as functional, but it’s safe to stick with the general rule that if the printer is unsupported, you’re out of luck.
To find out whether your printer is supported, you can head to the OpenPrinting Database and search for your printer (or an extremely similar model). This will then tell you whether your printer is known to work completely, mostly, partially, or not at all.
You can use this database to look at your current printer, but it’ll just tell you how well your printer is expected to work on Linux. So if your printer is marked as non-functional, then you at least know that you’re out of luck.
But this database is a lot more useful for when you’re looking for a new printer, because you can then look up models that you’re considering and see whether they should work on Linux. I did this with my last printer purchase, and I was very glad that I did. Because of it, I bought a printer that was marked as fully functional, and that’s exactly what I got. I have no issues or frustrations whatsoever.
Getting Your Printer To Work With Linux
Once you have a printer that the database says will work, you have three possible options for getting it to work. Those three options are plug-and-play, installing a package from your distribution’s repositories, and getting the driver from the manufacturer’s website.
Sometimes (but more often not), your printer will work as soon as you plug it in. This can either be because the driver is already in the Linux kernel, or because the package that you’d need is installed by default in your distribution. For example, most HP printers use the HPLIP package to work correctly, and Ubuntu includes the HPLIP package by default in all desktop installations. You’ll need to do a bit of research to see which, if any, package holds the driver you need.
If your printer doesn’t work as soon as you plug it in, you may need to install a package from your distribution’s repositories. When you add a new printer via the Printer configuration window, it should detect that a printer is attached, and can automatically search for the package that includes the needed driver. If it fails at this, you can do a Google search for your specific printer and see which package is needed, if it is available.
If there isn’t a package available in your distribution’s repositories, or it is outdated, then you may want to look at the manufacturer’s website for Linux drivers. I personally don’t like using drivers from the manufacturer’s page because there are plenty of things that could be wrong with them. For example, they might be limited to certain kernel versions; if the driver is available in the repos, it may contain a patch to allow it to run on newer kernels.
Another thing is that manufacturer’s drivers are very inconsistent — some might provide a package for easy installation, but potentially not for your distribution. It may even require you to download a .zip file and compile the contents, which makes installation much more difficult. I wish I could be more specific for this section, but each manufacturer does their own thing.
Trouble Using Your Printer With Linux?
That’s all there really is to it. Using the OpenPrinting Database makes picking the right printer so much easier, so you don’t have to encounter any headaches later. I can already say that HP has been the most Linux-friendly manufacturer I’ve encountered, so if you’re in doubt, look for a HP printer and then check it on the OpenPrinting Database. Odds are high that it’s fully functional on Linux.
For other hardware, check out our article on three sites that can help you figure out whether your printer is compatible with Linux. Also, if this is a single troubleshooting step for you in the process of determining whether Linux is right for you, don’t forget about our easy-to-follow Linux checklist.
How many times have you had problems with your printer on Linux? Are there any unconventional troubleshooting steps that you’ve used to get your printer to work?