This is a short guide to getting various common pieces of hardware to work in Linux. I say it's short because almost everything is going to work out of the box or with minimal setup. There are a few notorious exceptions which I'll note and hopefully this will help you have a better Linux experience.
As with the Software Guide I'll focus on the two most popular Linux distributions, Fedora and Ubuntu.CPU
Linux supports all current and future CPUs from Intel and AMD, barring any significant architectural changes (and if that happens, Linux will change too).
Linux is available in 32-bit and 64-bit versions; most distributions will give you the option of downloading 32-bit or 64-bit versions. Going 64-bit is strongly recommended if you have a recent CPU with 64-bit capability as it will improve your performance even if you have less than 4GB of RAM. A few non-free 32-bit apps need some help to work on 64-bit Linux; see the Software Guide for details.Motherboards
Linux runs on nearly every motherboard in existence. On some "budget" motherboards, some features may be missing or not working (e.g. hibernation). Such failures should be reported to the kernel maintainer for the non-working feature. You should also check the HAL Quirk Site
for possible solutions for suspend/resume, multimedia keys, and laptop backlights.Hard Drives/Storage
Linux supports virtually all IDE, SATA, SCSI, SAS, Fibre Channel, NAS, RAID, iSCSI, and just about anything else you can buy.
Linux supports Intel ICHxx, JMicron and NVIDIA nForce motherboard RAID, as well as many others, using the dmraid driver. (RAID 5 is only supported on NVIDIA chipsets.) However, some distributions don't include the dmraid driver in their installers; if you're in this scenario try Fedora instead. Hardware RAID cards have much better support, including RAID 5 if the card supports it. (NOTE: Motherboard RAID support is broken
in Fedora 10 and Fedora 11. It should be working in Fedora 12.)
Linux supports full-disk encryption. Install using Fedora 9 or later or Ubuntu 8.10 or later.
To use motherboard RAID or full-disk encryption with Ubuntu, you must install using the "alternate" CD.Optical Media
Virtually every CD/DVD reader/burner ever manufactured is automatically detected and configured for you. For those of you with antique hardware, you may have to manually configure burners manufactured before 2001 or so which don't support the MMC
3 or later standard.
Support for Blu-Ray readers/burners also exists, though movie player software is preliminary and not expect to be complete (i.e. ready for noobs) for a while yet. See the Software Guide for more information.Wired Networking
Linux supports virtually every Ethernet (10, 100, 1000, 10Gig) adapter that has ever been on the market. It's unlikely you'll be able to find a wired Ethernet adapter that doesn't work, except perhaps ironically the Killer NIC, but who's going to buy that?Wireless Networking
This is the piece of hardware that gives new Linux users the most trouble. Support for wireless adapters has been slower in coming because of government restrictions on how wireless radios can be programmed and how programming information can be distributed.
Nevertheless, most 802.11a/b/g wireless network cards, and some draft-n cards, are supported out of the box.
For those cards that aren't yet supported, it's usually possible to locate an experimental driver or a workaround to get the card at least minimally working. However, the technical skill needed to do this is sometimes beyond the ability or patience of new Linux users.
It's strongly recommended, then, that you check your existing wireless card for Linux compatibility, or buy a new wireless card known to work, before installing Linux. The most compatible wireless cards use Intel chipsets; next best are Atheros chipsets. Broadcom chipset support has improved recently so these can also be used now. Ralink chipsets, and others not listed here, are hit-or-miss.
Bluetooth is supported out of the box for audio, networking and file transfer.Sound
Most sound cards are at least minimally supported in Linux. In some cases you may find they're better supported in Linux than in Windows as Linux will often expose some secret mixer controls which your Windows driver did not want to give you access to. This is especially true of onboard sound chips.
As of this writing the X-Fi and cards based on it such as the Auzentech Prelude are not well supported. Experimental drivers from Creative exist but are apparently rather difficult to install. Hopefully these will improve over the next few months.Video
Linux supports onboard video out of the box. Intel onboard video has 2D and 3D support built in. Linux also has basic 2D support for ATi and NVIDIA cards. Early work is underway on a free 3D driver for ATi cards. To get accelerated 3D support, you will need to install the manufacturer's Linux driver for your ATi or NVIDIA card. See the Linux Software Guide below for details.TV Tuners/HTPC
Most analog TV tuners are supported out of the box. You may still wish to check for compatibility before buying if this is important to you.
CableCARD tuners are not yet supported. But you can't buy them alone either, so...
Most infrared remote controls are supported out of the box. Configuring them could be problematic; Fedora has a wizard which makes setting up your remote much easier.Keyboards/Mice
Linux supports the multimedia keys on most keyboards out of the box. If your multimedia keys don't work, check the HAL Quirk Site
for a fix. Certain keys which are meant to be reprogrammed can be assigned to specific tasks; see your GNOME, KDE or other window manager documentation for details.
Linux supports the basic functions of virtually all mice, including vertical/horizontal scroll, side buttons, etc. Programmable mice may need special software to use those functions.Conclusion
Having hardware that works with Linux can make or break your first Linux experience. Hopefully this guide has given you the info you need to get Linux working with your existing hardware or get the right hardware so that everything goes smoothly for you.
For more detailed information, you can also check Linux Hardware Compatibility Lists
, Linux on Laptops
, and the (slightly outdated) Linux Hardware HOWTO