auhtored by Shanker Balan and Avinash Shenoy
Planning to buy some new
hardware and wondering whether it'll work under Linux? To find an answer
to this question, let's analyze the situation a little closely.
To get a device working under
any OS, we need to have system-specific device drivers written for it.
Almost all hardware manufacturers provide Windows drivers, as well as
drivers for other commercial operating systems like the MacOS and OS/2.
Providing Linux drivers, however, is of zero priority to most companies.
It's usually up to the
Linux community to develop these drivers. Most of the time, a piece of
hardware winds up in the hands of a Linux hacker and he writes a driver for
it on the basis of the programming specifications provided by the device
manufacturer. The driver code is merged with the unstable kernel development
tree and is peer reviewed and tested by other hackers. Once the code has
reached maturity, it's incorporated into the stable kernel tree for use in
a production environment.
The main hurdle here is the
availability of programming specs from the manufacturer. Some manufacturers
make these readily available, others make it available subject to
restrictions and conditions, usually under a Non Disclosure Agreement (NDA),
or even refuse altogether. Still others provide binary-only drivers.
However, Linux is currently
the fastest growing OS in the world, and this has made many companies sit up
and take notice. High-end hardware manufacturers like Matrox, Intel, 3Dfx,
Nvidia, 3Com, etc, provide all possible help for driver development. 3Dfx's
Glide drivers have been available for a long time, and have recently been
made open source. Low-end manufacturers like SiS, S3, and Trident had
initial hiccups about Linux support, but are slowly coming around.
Let's take the example of
the infamous SiS 6326/6215c display card. SiS refused to provide programming
specs initially, and as a result, proper drivers couldn't be developed.
The market was, however, flooded with SiS cards which didn't work under
Linux and even if they did, performance wasn't at par with that under
Windows. SiS was apparently aware of the situation and refused to help. But
ultimately, they had to give in to user pressure and published the specs.
Stable drivers for SiS cards are under development and should be released
soon. SiS's home page now even has a support section for Linux users.
On the other hand, there's
3Dfx which makes the very popular Voodoo chipset. 3Dfx has been pro-Linux
since day one. The Linux version of Quake came bundled with Glide drivers
for hardware-accelerated 3D rendering. Initially, 3Dfx provided only binary
drivers. Very recently, they opened up the source for Glide and have placed
it under GPL. Similarly, in the case of Creative Labs, there were no Linux
drivers for their high-end SB Live! card. Then, they provided binary-only
drivers, which were quickly followed by GPL'd drivers.
Then there are companies who
simply refuse to provide any help. Yamaha, for instance, has refused to
provide the specs for their YMF724 PCI-based sound chipset, which is very
popular in India. So, unfortunately, there's currently no way to make it
work under Linux.
So, how do you go about
purchasing hardware for Linux? As a rule of thumb, check from the following
sources for what's supported and what's not:
-
The Linux Hardware
Compatibility HOWTO: http://users.bart.nl/~patrickr/hardware-howto/Hardware-HOWTO.html -
Red Hat's Hardware
Compatibility List: www.redhat.com/hcl -
The manufacturer's
online support pages -
The Linux India mailing
list: www.linux-india.org -
From other Linux users