Linux's Hardware Support

Lately, I've been hearing a lot about "Linux needs to master .... to beat Windows". I'll now show you how that's completely false, and how it already has beaten it, by talking about hardware support.

Linux has been proved to have the best hardware support around - see this interview with Greg KH who's a kernel dev to see in-depth information. Linux had most support for hardware first, including:
* 64 bit
* USB 3.0
* Core i7

And many more.
Conversely, it's easy to install the hardware on Linux. In windows for instance, half the time your hardware doesn't work because you downloaded a dodgy driver, or you have to install it off a CD, or it could even be the case that it bluescreens because the driver hasn't been verified by whoever. Fair enough, that hardly ever happens anymore.

The misconception that a lot of hardware doesn't work on Linux isn't because it doesn't, it does, but because quite often your distribution of choice doesn't ship with the correct userspace tools - e.g. a webcam viewer, a scanning program, an iPod syncer. It's not the actual Linux kernel that's at fault here, it's that the distribution vendors don't include software to manage and access your device. What we need here is a project that either includes everything or says "I see you've inserted a scanner, but you don't have a scanning application. Want me to install one for you?". I have seen openSUSE do this for me before, but Ubuntu sadly lacks this capability, which is the distro that most users allegedly use, so it needs it here.

The fact of the matter is, every piece of hardware I've put into my Linux box has been detected and set up by Linux, but I have had to install a webcam viewer, scanning application and TV viewer. Perhaps it's time for userspace tools to improve themselves and be as good as the kernel.


Aaron Toponce said...

Linux has fabulous hardware detection, and even drivers to boot. The problem users complain about isn't a certain piece of hardware working, it's the application talking to that hardware, such as Ekiga talking to a certain brand of HP webcam. It's far too hit and miss, which is why it's not picking up more steam in the desktop arena.

i80and said...

Good post, and I largely agree with it. Linux has a bad reputation here, mostly undeserved. A stupendous effort has been put into making Linux drivers rule, and to a large degree it's succeeded. But we can't rest easy quite yet; it's not yet a solved problem, thanks to a bunch of tricky DVB cards, oddball sound cards (ALSA lags in driver development), and some graphics cards (Intel Poulsbo comes to mind). I wouldn't mind libmtp supporting my Samsung U5 OGG player either for that matter.

dandart said...

Thanks there. So it's not just userspace tools we're looking for, it's also the proper abstraction libraries we need to interface in between as well.

I suggest that any time where you have had any problems, submit a bug report in the abstraction or library project, and if you can, help out!


Daniel Hedblom said...

I think Linux has excellent hardware support, especially for older obscure hardware. The only place lacking these days are where enormous work are being done already, OSS 3d graphics drivers.

It was a long time since i had hardware that didnt work in Linux. The situation can ofcourse improve with even better automagic but i dont think its any big problem nowadays.