This document lists most of the hardware components (not whole computers) known to be supported or not supported under Linux, so reading through this document you can choose the components for your own Linux computer and know what to avoid. As the list of components supported by Linux changes constantly, this document will never be complete. If a component is not mentioned in this HOWTO, I simply have not found support for the component and nobody has told me about support.
Subsections titled 'Alpha, Beta drivers' list hardware with alpha or beta drivers in varying degrees of usability. Note that some drivers only exist in alpha kernels, so if you see something listed as supported but isn't in your version of the Linux kernel, upgrade.
Some devices are supported by binary-only modules; avoid these when you can. Binary-only modules are modules which are compiled for ONE kernel version. The source code for these modules has NOT been released. This may prevent you from upgrading or maintaining your system. It will also prevent you from using the component on alternate (usually non-x86) architectures.
Linus Torvalds says "I allow binary-only modules, but I want people to know that they are _only_ ever expected to work on the one version of the kernel that they were compiled for." (See http://lwn.net/1999/0211/a/lt-binary.html for the rest of the message.)
Various commercial drivers for sound, video, etc. exist for Linux. Tracking these commercial drivers is beyond the scope of this document. These drivers might be mentioned at various points in this document, but note that no effort has been made to make sure that this information is current.
This document primarily deals with Linux for x86-based platforms. For other platforms, check the following:
There are also the ELKS and uClinux ports, which are forks of the mainstream kernel source designed for MMU-less (mostly very low-end and embedded) systems.
The LDP has an index of hardware-related HOWTO documents.
Price Watch (street price search engine, also useful for finding specs on various bits of hardware)
This document can't possibly be up-to-date at all times. I would like to see this document be a useful reference again. The following items need to be fixed for that to happen:
Old cruft needs to be eliminated. Much of this document was written in 1995, give or take, when PCI was new and not supported terribly well, and ISA PnP was seen as something evil. Oh, how the times have changed...
Also, many of the model numbers listed in this document are no longer available, and are probably not of much interest to the vast majority of people. Personally, I think hardware that hasn't been available for more than 5 years or so can safely be removed. Old versions of this document will always be available on the Internet...
URLs in this document need updating. I've begun to do that, but it is a big job... Diffs are welcome.
In the process of updating and converting this document to DocBook, some cruft was introduced. If anyone wants to help clean up this, get the latest source (preferably by emailing me at <steve@silug.org>) and grep for "FIXME".
Lists in this HOWTO that are available in other HOWTOs or FAQs need to be either updated here or dropped completely from this document. (A good example is the list of video cards supported by XFree86.)
Newer interfaces such as USB need to be added into the list. (Would a USB-attached hard drive go under "USB", "Removable drives", "Hard drives", or all of the above?)
And, of course, random hardware that just isn't listed in this document needs to be added.
All of this is going to require a lot of work. If this happens to interest you, please email <steve@silug.org>. I can use the help. :-)
The latest version of this document can be found on the Linux Documentation Project home site or any of its many mirrors.
If you have questions or comments about this document, please feel free to email Steven Pritchard at <steve@silug.org>. I also welcome corrections and additions. At some point in the near future, I plan to set up a web interface for adding components to this document. In the mean time, please just use the word "hardware" somewhere in the subject when sending corrections or additions.
This document has passed through many hands. I don't know if he wrote the first version, but in 1993 Ed Carp was maintaining it. In August of 1994, FRiC (Boy of Destiny) took over. After he fell off the face of the planet in late 1995 or early 1996 (and we all miss him from IRC, I might add), Patrick Reijnen took over (sometime in 1997) and continued to maintain this document until late 1999.
Recent versions of this document contained the following:
Thanks to all the authors and contributors of other HOWTO's, many things here are shamelessly stolen from their works; to FRiC, Zane Healy and Ed Carp, the original authors of this HOWTO; and to everyone else who sent in updates and feedbacks. Special thanks to Eric Boerner and lilo (the person, not the program) for the sanity checks. And thanks to Dan Quinlan for the original SGML conversion.
Many thanks to all those who have contributed to this document over the years.
In addition, I'd like to thank the many members of the Southern Illinois Linux Users Group and the Linux Users of Central Illinois for giving me so many interesting problems to solve over the years, and, of course, my wife Kara for putting up with me all these years. :-)