Linux Hardware Compatibility HOWTO3.2.2
Copyright © 2001-2004 Steven Pritchard Copyright © 1997-1999 Patrick Reijnen 2004-01-30
This document attempts to list most of the hardware known to be
either supported or unsupported under Linux.
Copyright This HOWTO is free documentation; you can redistribute it and/or
modify it under the terms of the GNU General Public License as
published by the Free software Foundation; either version 2 of the
license, or (at your option) any later version.
- Table of Contents
- 1. Introduction
- 1.1. Notes on binary-only drivers
- 1.2. Notes on proprietary drivers
- 1.3. System architectures
- 1.4. Related sources of information
- 1.5. Known problems with this document
- 1.6. New versions of this document
- 1.7. Feedback and corrections
- 1.8. Acknowledgments
- 1.9. Revision History
- 2. Computers/Motherboards/BIOS
- 2.1. Specific system/motherboard/BIOS
- 2.2. Unsupported
- 3. Laptops
- 3.1. Specific laptops
- 3.2. PCMCIA
- 4. CPU/FPU
- 4.1. Intel
- 4.2. AMD
- 4.3. Cyrix
- 4.4. IDT
- 4.5. Transmeta
- 4.6. Misc. notes
- 5. Memory
- 6. Video cards
- 6.1. XFree86
- 6.2. Proprietary X servers
- 6.3. Kernel Framebuffer (fbdev)
- 6.4. SVGALIB (graphics for console)
- 7. Controllers (hard drive)
- 7.1. Alpha, Beta drivers
- 8. Controllers (SCSI)
- 8.1. Supported
- 8.2. Alpha, Beta drivers
- 8.3. Unsupported
- 9. SCSI RAID Controllers
- 10. IDE RAID Controllers
- 11. Controllers (I/O)
- 12. Controllers (multiport)
- 12.1. Non-intelligent cards
- 12.2. Intelligent cards
- 13. Network adapters
- 13.1. Supported
- 13.2. Alpha, Beta drivers
- 13.3. Unsupported
- 14. Sound cards
- 14.1. Supported
- 14.2. Alpha, Beta drivers
- 14.3. Unsupported
- 15. Hard drives
- 15.1. Unsupported
- 16. Tape drives
- 16.1. Supported
- 16.2. Alpha, Beta drivers
- 16.3. Unsupported
- 17. CD-ROM drives
- 17.1. Supported
- 17.2. Alpha, Beta drivers
- 17.3. Notes
- 18. CD-Writers
- 19. DVD drives
- 20. Removable drives
- 21. Mice
- 21.1. Supported
- 21.2. Alpha, Beta drivers
- 21.3. Notes
- 22. Modems
- 23. Printers/Plotters
- 23.1. Ghostscript
- 24. Scanners
- 24.1. Supported
- 24.2. Alpha, Beta drivers
- 24.3. Unsupported
- 25. USB
- 25.1. Digital Cameras
- 25.2. Miscellaneous
- 26. IEEE 1394 (FireWire/i.Link)
- 27. PCMCIA/Cardbus cards
- 28. Other hardware
- 28.1. Amateur Radio
- 28.2. VESA Power Savings Protocol (DPMS) monitors
- 28.3. Touch screens
- 28.4. Terminals on serial port
- 28.5. Joysticks
- 28.6. Video devices (capture boards, frame grabbers, TV tuners, etc.)
- 28.7. Digital Camera
- 28.8. UPS
- 28.9. Multifunction boards
- 28.10. Data acquisition
- 28.11. Watchdog timer interfaces
- 28.12. Miscellaneous
- 29. Appendix A. Supported Parallel Port devices
- 29.1. Ethernet
- 29.2. Hard drives
- 29.3. Tape drives
- 29.4. CD-ROM drives
- 29.5. Removable drives
- 29.6. IDE Adapter
- 29.7. SCSI Adapters
- 29.8. Digital Camera
- 29.9. PCMCIA parallel port cards
- 30. Appendix B. Linux incompatible Hardware
- 31. Glossary
1. Introduction 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.
1.1. Notes on binary-only drivers 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.)
1.2. Notes on proprietary drivers Various proprietary drivers for sound, video, etc. exist for Linux.
Tracking these proprietary 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.
1.3. System architectures 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.
1.4. Related sources of information
1.5. Known problems with this document 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.
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. :-)
1.7. Feedback and corrections 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.
1.8. Acknowledgments 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. :-)
1.9. Revision History The following is the revision history of this document since I
(Steven Pritchard) took over maintenance.
| Revision History |
|---|
| Revision 3.2.2 | 2004-01-30 | Revised by: sjp | | Opteron/Athlon64 information added.
Fixed up some of the video card entries.
Add notes about 3ware 8000-series cards, SATA, and the WD
drive "configuration update". | | Revision 3.2.1 | 2002-11-12 | Revised by: sjp | | Replaced "commercial" with "proprietary" in most cases. (I
should probably go one more step and make that "proprietary,
closed-source" or something similar. Comments and
suggestions are appreciated.)
Added placeholder IEEE 1394
section.
Updated various other sections.
Thanks to Rick Moen for prompting this revision with various
updates and suggestions. | | Revision 3.2.0 | 2002-08-13 | Revised by: sjp | | Removed a lot of cruft.
Added information direct from pcmcia-cs.sourceforge.net on
supported PCMCIA cards.
Added a section on DVD drives.
Thanks to Tom Hanlin for pointing out that there was no mention
of them before.
Replaced all references to metalab with ibiblio, and all
references to linuxdoc.org with tldp.org.
Probably other changes I'm forgetting, which should teach me
not to wait so long between releases. | | Revision 3.1.5 | 2002-03-28 | Revised by: sjp | | Moved revision history to
Introduction section.
More dead link fixes and other corrections. Thanks to Lin
Hung-Ta, Silviu Tamasdan, and various others. | | Revision 3.1.4 | 2002-02-17 | Revised by: sjp | | Added note about CRIS architecture.
Updated WAN Cards section. | | Revision 3.1.3 | 2001-12-30 | Revised by: sjp | | Updated video card section and
other minor cleanups and updates. | | Revision 3.1.2 | 2001-12-21 | Revised by: sjp | | Update location for GS-4500 software in the
scanners section. (Thanks to
Jan Willamowius for pointing out that the page had moved.)
Begin updating RAID controller section by separating SCSI RAID
and IDE RAID. | | Revision 3.1.1 | 2001-12-14 | Revised by: sjp | | List printers with a "F" or missing grade from the
linuxprinting.org
database in the incompatible
hardware section. | | Revision 3.1.0 | 2001-12-12 | Revised by: sjp | | Fix/remove more broken/dead links.
Import printer listing from
linuxprinting.org. | | Revision 3.0.7 | 2001-10-18 | Revised by: sjp | | Started fixing dead links. (Thanks to Rob Janssen, Shaul Karl,
Charles McColm, and Paul Stephenson for the corrections.) | | Revision 3.0.6 | 2001-09-14 | Revised by: sjp | | Started cleaning up incompatible
hardware section. | | Revision 3.0.5 | 2001-09-04 | Revised by: sjp | | Updated CPU and motherboards sections.
Added WAN Cards section and removed old
"Frame Relay", "X.25", and "Synchronous PPP, Cisco HDLC" sections
under Network adapters. | | Revision 3.0.4 | 2001-06-25 | Revised by: sjp | | Updated Network adapters and
Controllers (multiport) sections to
include current Cyclades
products. (Thanks to Ivan Passos at Cyclades for the update.) | | Revision 3.0.3 | 2001-05-28 | Revised by: sjp | | Added USB section.
Added note on non-x86 hardware to CPU
section.
Updated Motherboards section.
Added a link to the Sound HOWTO in the Sound cards section.
Folded Related sources of information
section into introduction and removed
dead links. | | Revision 3.0.2 | 2001-05-10 | Revised by: sjp | | LDP-requested cleanup. | | Revision 3.0.1 | 2001-05-07 | Revised by: sjp | | Updated modems section. | | Revision 3.0.0 | 2001-04-22 | Revised by: sjp | | First DocBook version.
Various updates. |
2. Computers/Motherboards/BIOS ISA, VLB, EISA, PCI, and AGP buses are all supported. All recent
motherboards should work fine, although certain integrated
controllers may or may not work well (or at all).
2.1. Specific system/motherboard/BIOS Please note that this is by no means a complete list.
Please send updates.
The following are old notes and are probably out of date.
IBM PS/2 MCA systems
Supported since kernel version 2.0.7, but only for the stable
kernel releases. For information you can look at the
Micro Channel Linux Home Page.
Software for MCA systems can
be found here. Information on the MCA SCSI
subsystem can be found
here.
EFA E5TX-AT motherboard has a solvable problem with RedHat
Linux 5.0 and possibly other versions of Linux. It
spontaneously reboots while probing hardware. To solve,
update BIOS to version 1.01. Get the BIOS update
here.
The Zida 6MLX motherboard with PII Intel LX chipset is
mentioned only to work with Linux when the PII cache is
disabled in BIOS. BIOS upgrade does not solve the problem.
Symptom is random reboots during or shortly after system boot.
2.2. Unsupported Supermicro P5MMA with BIOS versions 1.36, 1.37 and 1.4. Linux
will not boot on this motherboard. A new (beta) release of
the BIOS which makes Linux boot, is available
here.
Supermicro P5MMA98. Linux will not boot on this motherboard.
A new (beta) release of the BIOS which makes Linux boot, is
available here.
DataExpert Corp. ExpertColor TX531 V1.0 motherboard with
chipset ACER M1531 (Date: 9729, TS6) and ACER M1543 (Date:
9732 TS6) seems to present not reproducible segmentations
faults, kernel oops and kernel hangs under heavy load and
tape access. The problem seems to be the PCI-bus,
respectively the ACER chipset.
3. Laptops For more information about Linux and laptops, the following sites are
good starting points.
Other information related to laptops can be found at the following sites:
4. CPU/FPU Please see this note for more on non-x86
hardware.
4.1. Intel Intel 386SX/DX/SL, 486SX/DX/SL/SX2/DX2/DX4, Pentium, Pentium Pro,
Pentium II, Pentium III (regular and Xeon versions), Pentium 4,
and Celeron are all supported.
4.2. AMD AMD 386SX/DX, 486SX/DX/DX2/DX4, K5, K6, K6-2, K6-3, and Athlon (all
varieties, including MP) are all supported. Older versions of K6
should be avoided as they are buggy. Setting "internal cache"
disabled in bios setup can be a workaround. Some early K6-2 300Mhz
have problems with the system chips.
AMD's 64-bit Opteron and Athlon64 processors are also supported,
running either in 32-bit or 64-bit mode. For 32-bit mode, compile
a kernel for i386, optionally optimized for Athlons, since that's
essentially what these processors look like in 32-bit mode. For
64-bit mode, compile a kernel for
x86_64. It will still
run 32-bit binaries, assuming all the appropriate libraries are
available. Opteron and Athlon64 systems use standard PC hardware,
so the information in this HOWTO still applies.
The old NexGen processors are also supported.
A few very early AMD 486DX's may hang in some special situations. All
current chips should be okay and getting a chip swap for old CPU's
should not be a problem.
4.3. Cyrix Cyrix 386SX/DX, 486SX/DX, 5x86, 6x86, and MediaGX are all supported.
4.4. IDT IDT Winchip
C6-PSME2006A processors are supported under Linux.
4.5. Transmeta The Transmeta
Crusoe
processors are supported.
4.6. Misc. notes Linux has built-in FPU emulation if you don't have a math coprocessor.
Linux supports SMP (multiple CPUs) in all 2.x kernels. See the
Linux SMP
HOWTO for more information.
ULSI Math*Co series has a bug in the FSAVE and FRSTOR instructions that
causes problems with all protected mode operating systems. Some older
IIT and Cyrix chips may also have this problem.
There are problems with TLB flushing in UMC U5S chips in very old
kernels. (1.1.x)
5. Memory All memory like DRAM, EDO and SDRAM can be used with Linux. Be aware
that older kernels or kernels running on a mortherboard with an older
BIOS may only be able to detect 64MB of RAM. If you have this
problem, when you add more than 64 Mb of memory you have to add the
following line to your LILO configuration file:
append="mem=<number of Mb>M"
So when you have 96 MB of memory this should become
append="mem=96M"
Don't use a number higher than the amount of RAM you really have.
This will cause crashes.
6. Video cards Please note that this section is currently being
updated, so some information may not be entirely correct or
complete.
Linux will work with all video cards in text mode, VGA cards not listed
below probably will still work with mono VGA and/or standard VGA drivers.
If you're looking into buying a cheap video card to run X, keep in mind
that accelerated cards (ATI Mach, ET4000/W32p, S3) are MUCH faster than
unaccelerated or partially accelerated (Cirrus, WD) cards.
"32 bpp" is actually 24 bit color aligned on 32 bit boundaries. It
does NOT mean the cards are capable of 32 bit color, they still
display 24 bit color (16,777,216 colors). 24 bit packed pixels modes
are not supported in XFree86, so cards that can do 24 bit modes to
get higher resolutions in other OS's are not able to do this in X
using XFree86. These cards include Mach32, Cirrus 542x, S3
801/805/868/968, ET4000, and others.
AGP (Accelerated Graphics Port) support is growing fast. Most of the
X-servers (both freely available and proprietary versions) have more
or less support for AGP.
6.1. XFree86 The following is a list of cards known to work with XFree86
versions 3.3.6 and/or 4.1.0. See the XFree86 web site for
more information.
|