Do scanners work on Linux?

Verdict: Mostly

Mostly. Scanners that live on your wifi, and the scanning half of most modern all-in-one printers, work with nothing to install. Older USB-only scanners depend on whether someone has written support for that exact model.

Scanning on Linux runs on a system called SANE, short for Scanner Access Now Easy. It is a standard interface that sits between the scanning window you click in and the hardware, so any scanning app on your machine can drive any scanner the system knows about. The part that knows about your particular scanner is called a backend, and SANE ships with a large collection of them covering Epson, Fujitsu, Canon, Mustek, Umax and many more.

The thing worth knowing before you switch is that scanning went driverless too, and later than printing did. Modern scanners and multifunction printers advertise themselves on the network using either Apple's eSCL, also known as AirScan, or Microsoft's WSD. Linux speaks both through a piece of software called sane-airscan, which its author reports working with devices from Brother, Canon, Dell, Kyocera, Lexmark, Epson, HP, OKI, Panasonic, Pantum, Ricoh, Samsung and Xerox. If your all-in-one is on your wifi and reasonably recent, this is the path it will take and you will not have to do anything.

Here is the trap. Printing and scanning are separate systems with separate support lists. A cheap all-in-one can print flawlessly on day one and then refuse to scan, because its printing side follows an open standard and its scanning side does not. This catches people out more than any other hardware surprise, so treat the two halves of an all-in-one as two different questions.

Flatbed scanners that only connect by USB are the other soft spot. Plenty of them work, including quite old ones, but it comes down to whether a backend exists for that model. That is knowable in advance, and it is worth ten minutes of looking before you move.

Check yours before you switch

  1. Find out whether your scanner or all-in-one can scan over wifi to a phone or to a folder on your network. If it can, it almost certainly speaks the driverless protocols Linux uses.
  2. Look your exact model up on the SANE project's supported devices list and note whether it is listed as complete, good, basic or untested.
  3. Run a Linux live USB session on the machine, plug the scanner in, and open the scanning app that comes with the system. If it finds the scanner and produces a test page, you are done.
  4. If you have an all-in-one, test scanning separately from printing. Do not assume one result covers both.

Hardware changes model by model, so the surest test is your own.Running Linux from a USB stick lets you try it with nothing installed.

Last checked . Sources: