Linux users are often at the mercy of hardware vendors when it comes to device drivers. The open source community often needs to turn to reverse engineering to churn out drivers from proprietary ones. As long as the majority of hardware is made for Windows and OS X machines, Linux users will need to wait until the community figures out the nuts and the bolts of a piece of hardware before a Linux driver can be written.
Take Nouveau for example. The open source project started in 2006 with the aim of building high quality drivers for Nvidia graphics cards. Although Nvidia provided a Linux driver several years ago, it was a basic driver with no 3D support. The Nouveau project gained momentum and a year later, its driver soon outperformed Nvidia’s in 2D performance.
While some Linux drivers can be as good as proprietary ones from hardware vendors, others only allow basic functionality with sometimes abysmal performance. My interest in Linux was rekindled recently when I installed Ubuntu 9.10 on my three-year-old Macbook. The basic hardware like the keyboard and graphics worked right out of the box after the installation, with the exception of the iSight webcam which only worked after I installed a software that reverse engineered the right driver out of Apple’s proprietary iSight driver.
Driven by commercial interest through a stranglehold over the unique features of its hardware, it is not in Apple’s interest or any hardware vendor to release open source drivers. A recent feature in Linux Magazine on the Nouveau project pointed out that Nvidia “still gains far too much advantage by keeping their driver closed. They get support for brand new models, extra performance, better power management, extra features like VDPAU, and certain technology components can remain a company secret”.
Meanwhile, Linux users have to continue tinkering with their boxes to make things work, but with the support of the community through hundreds of thousands of forums and interest groups on almost every Linux distro, there’s bound to be a workaround out there. But hey, it’s also what makes computing fun isn’t it?
@LS @Eruaran thanks for your comments. Yes I agree that Linux does work with most hardware right out of the box. The issue I’m driving at is the fact that even if the hardware works, some Linux drivers especially those reverse engineered by open source developers, may not be able to harness the full capability of the hardware. My webcam, which its works with a Linux driver, isn’t able to capture images in its maximum optical resolution. Ditto for my Targus Bluetooth laser mouse whose Linux driver doesn’t allow me to control its speed and sensitivity.
Whether we like proprietary drivers or not, nVidia does provide and has for many years provided fully functional proprietary drivers for Linux. This article would give any reader who doesn’t already know better the impression that manufacturers do not provide open source or even proprietary drivers for Linux. But HP for example provide open source drivers that are included with popular Linux distributions, meaning that most of HP’s printer range works just fine with popular Linux distributions without the need to install drivers.
In my experience, Linux distributions offer outstanding driver support for most things ‘out of the box’. There are those occasions where driver support is a real problem, but this is increasingly rare.
Just buy Linux friendly hardware!!!
Had very few issues with Linux drivers. Done hundreds of installs and used devices such as printers, cameras, 3G modems, Mp3 players on Ubuntu. I’ve found really great support for a myriad -even obscure brand devices. (BTW Linux supports more devices than any other operating system.)
If Apple OS is supported it will typically work on Linux too. If there are any complaints it should be directed to device manufacturers who stupidly choose only to support Windows. I can give many examples of devices no longer supported on current Windows that work on Linux. Furthermore with Linux I never have to hunt for drivers such as in XP, Vista or 7.