Previous Section  < Day Day Up >  Next Section

5.1. Introduction

Linux comes with several good utilities for getting detailed information on what's inside the box. You can sit down at a machine and in minutes have an inventory of all its components.

Not only do these utilities save you the hassle of opening the box and poking around, but they are invaluable for finding the correct drivers for a device, or finding out if it is supported in Linux at all. In a foolishly Windows-centric world, determining if a modem, NIC, or video card has Linux drivers usually requires that you know the chipset used in the device. There are a few chipsets that go into many brands and models. Some manufacturers change chipsets without changing model numbers, so don't count on model numbers. Once you know the chipset, you can find drivers.

5.1.1 Hardware Compatibility Lists

Linux support for most PC hardware is quite good, as valiant Linux programmers continue to churn out drivers, often with little or no support from hardware manufacturers. But you still need to shop carefully. And even if a device has Linux drivers, it may not come with the nice management utilities, or complete feature set, that Windows users get.

Your first and best stop is the web site of your Linux distribution. Most of them have hardware compatibility lists (HCLs). If your particular flavor of Linux has no HCL, borrow one from another distribution. Whatever works on one Linux distribution should work on all of them. What differentiates them are the levels of out-of-the-box support. For example, Mandrake and Linspire are configured for advanced sound and video support. Other distributions are capable of running the same devices, but you may have to find and install the drivers yourself. Sometimes it may even be necessary to compile some kernel modules (which is no big deal for us ace Linux users, just inconvenient). So be sure to first research any distribution-specific issues.

A fast way to get information on a particular device is to search Google Groups, like this:

debian linux riva tnt2

Most of the time this zeros right in on useful links.

My final choice is the device manufacturer's web site. Sometimes you get pleasantly surprised and find actual Linux information on these sites.

5.1.2 Why Binary-Only Drivers Are Bad

Some hardware vendors limit their Linux support to providing binary drivers. Avoid these, if that's at all possible. Binaries are compiled against a single architecture and kernel version. This means you are dependent on the vendor to supply upgrades and alternate versions. It is so easy to recompile a program so that it works correctly on your system that it's just plain silly to deny users this option. We end-users are sheltered from these issues when we use package-based systems, such as Red Hat, SuSE, and Debian, because the package maintainers do the work for us. But again, they need the source code. Linus Torvalds said,

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. Anything else is just a very nice unexpected bonus if it happens to work.

(See http://lwn.net/1999/0211/a/lt-binary.html for the whole message.)

    Previous Section  < Day Day Up >  Next Section