Linux drivers are instructions written in a computer programming language for the purpose of achieving functionality for hardware devices run under various distributions, or flavors, of the Linux operating system. They could be considered a type of Linux software for making equipment work, not for computing tasks such as word processing or image editing. When people speak of Linux hardware compatibility, they are referring to the availability of device drivers needed by the piece of hardware for some or all of its features and capabilities.
Printers, scanners and sound cards are examples of devices that are logically powered by Linux drivers when they are used under a Linux distribution. Many Linux drivers are available via download from the website of the manufacturer of the hardware or from one of a number of websites dedicated to helping users to achieve functionality of hardware on a Linux system. Although these device drivers are sometimes made available on a compact disc (CD) that is provided with the equipment at the time of its sale, this is not the usual manner in which they are obtained. A good number of Linux drivers are bundled in the distribution, providing out-of-the-box hardware functionality.
Computer programmers who code for Linux device drivers follow the specifications or programming information released by the manufacturer to the open-source community of developers. Programmers might actually work for the manufacturer that releases the Linux drivers to the public. Certain pieces of hardware equipment might not work to full capacity even when the device drivers are provided. For example, the one-touch features that are usually accessed by pressing a button on the equipment might not be available via the button; rather, those features might have to be accessed via the software that interfaces with the device. This has been observed in the use of all-in-one printers that are also a scanner and fax machine.
Hardware compatibility with Linux is considered, by some people, an advantage when compared with other operating systems and a disadvantage by others. The dependence on Linux drivers that might not be available to get things working can mean the difference between being able to use hardware that is already owned and having to buy that same type of hardware again. Those who consider hardware compatibility under various Linux operating systems an advantage over other systems view the fact that many drivers needed for a variety of devices come bundled with Linux distributions. Bundled drivers mean less time is spent getting equipment to work and can lessen any risk associated with installing drivers from a CD.