Tuesday, September 28, 2010

The joy of installing hardware in Linux

Linux is often regarded as a great operating system, specially in the server arena. When it comes to home use, though, there are still several weak spots, hardware management and support being one of the most important. In fact, I have raised this as a concern when I have addressed Linux weaknesses in the past. Today, though, I want to write about the bright side of Linux hardware management and support.


Contrary to what many believe, Linux hardware support is superb, which is not the same as saying it supports every single hardware part or device under the sun. This is a key concept that has been misinterpreted (and misused at times).

The great thing about Linux hardware support is that once drivers are natively supported by the kernel, that's when we can actually experiment what truly "plug and play" is all about. Let me share some examples.


A couple days ago I bought a Trust wireless mouse in an attempt to reduce the massive amount of cables I carry in my bag. I picked it up, opened up the box and there it was, the usual CD with drivers for Windows7, Vista and XP.

Me, I just connected the batteries, turned the mouse on and started clicking away. I tested it under PCLinuxOS 2010, Linux Mint 9 and Ubuntu 9.10, all with the same perfect result.


This nice laser printer is Linux friendly. Simply connecting it to any of the USB ports in a few of my laptops (once again Linux Mint 9, PCLinuxOS 2010 and Ubuntu 9.10) got the installation going, which completed in just a few seconds. In all three cases I was asked if I wanted to download the HP proprietary drivers that would provide some enhanced controls over certain specific functionality. Cool beans.


Same story this time, opened the box, plugged the webcam in and... Voila! No CD installation, no downloads, no boring-resource-eating proprietary software from Logitech or whoever, just my webcam working straight away.


Alright, yes, as you can see, there is a large array of peripherals that will work superbly out of the box on your Linux machine, these are just a few examples. How about the hardware that's inside your computer, though? That's usually a bit difficult to tell, specially if your computer is tailor made and not a popular model from a well-known brand.

I have used many different HP Models along the years, including:

HP Elitebook 6930p (Notebook)
HP Compaq 6910p (Notebook)
HP 2710p (Tablet)
HP 2730p (Tablet)
HP 2740p (Tablet, fully supported now on Ubuntu 10.10)
HP Compaq NX7400 (Notebook)
HP Compaq DC7800 (Minitower)

I mostly use HP hardware, but rest assured that many other major brands will work just as good.

I have used all the models listed above with an array of Linux distros, always getting extremely good results from the get go. In fact, other than very minor problems, I have never experienced a truly serious hardware support problem in Linux.


If you come from a Windows background, you know that almost every manufacturer out there will release products along with drivers for the Microsoft OS. That kind of support is what is missing in Linux. Having said so, like I said before, installing devices in Windows can be a pain. You are usually forced to either install the manufacturer software with the included CD or download that same software from the web, which usually takes time and may end up installing loads of stuff you hardly want. I personally will take the Linux approach any day of the week.

Windows hardware support in general has been somewhat limited historically. A simple test is truly clarifying: Try to reinstall Windows on an OEM machine with a standard Windows CD, not the one that was provided by the manufacturer. You'll see that most devices are very limited in functionality, while others simply do not work... even if the machine was designed for the Microsoft OS! Windows 7 has certainly improved in this area, drastically reducing the amount of devices that actually require an installation, but it suffers from backwards compatibility issues.

How about Mac OS? Well, as often happens with Apple products, everything goes well as long as you do as Mr. Jobs tells you to. In that regard, Apple engineers know exactly which hardware a certain version of Mac OS will run under, which allows them to optimize the software. Having said so, if you ever feel too happy and need something truly depressive, try installing Mac OS on any PC.

Jokes aside, taking everything into account, Linux does very well in terms of hardware support. It only takes a bit experience and research to stick to natively supported hardware, and under those circumstances, Linux is tough to beat.


While I understand that in practical terms Linux hardware support may feel like a huge fiasco to some, it really isn't. In fact, it does very well. Having said so, It does not support everything, so if you are expecting a smooth installation on every single PC combination you try, think again.

With Google on your side, it only takes a couple minutes to find out if a specific device works under Linux. Be sure to research a bit before you go out and buy and you'll be happy as a clam.

NOTE: Along the lines of this article, I found a useful GUIDE that provides good advice on how to buy a new laptop that is fully ready for Linux. This guide is very thorough, you may not need to research with that level of detail, but it sure will prove useful in case you are thinking of buying a new laptop.


  1. Hi Chema, about the trust wireless mouse. Do all of the extra buttons work or only buttons 1-3 as is pretty typical of mice in Linux. If they don't it should be classified as partially working and not working just fine as it doesn't work 100% out of the box. ;)

  2. Fine insights into a misunderstood subject. Another strength of Linux is that you can install software and update them from a central main repository and other supporting repositories according to your needs and depending on the distro release you are using. This means not only greater speed but more importantly greater user control over the system compared with Windows. Yet another one: in case no driver is immediately available, you can use the Windows driver for the application via ndiswrapper. I don't suppose the opposite - Windows using Linux drivers - is possible.

  3. My graphics card died 2 weeks ago. I bought an Nvidia 9800GT, put it in my computer and booted up Linux. It just booted up without any problem. Did not even ask anything or mention that new hardware was installed. Completely transparent.

    Then I rebooted into Windows to see how well the new card would run Starcraft II. Card not recognized. Had to manually find, download and install drivers, and reboot twice before it worked. Nice going, Microsoft.

  4. @FEWT, I have a Logitech G5 mouse which has more buttons than I have fingers. It also got a fancy sideways rocking scrollwheel, and it can change the movement sensitivity on the fly. It works fine without having to install anything in Ubuntu. This is typical of mouse support in Linux.

  5. @Anonymous - That is actually atypical, and not a trust wireless mouse making your comment completely irrelevant.

  6. Yeah, when I bought my Logitech camera I tried to get the audio input running for it. I googled like 1 hour about pulsar, alsa, oss before I just clicked on the sound manager in ubuntu and enabled it. I was like "O! That was too user friendly".

  7. @FEWT: Yes, my friend, all buttons work perfectly well. The wheel, the DPI adjustment, the back and forward buttons on the side... everything! This is the same with a similar cable model I got.

    @Andrius: I know the feeling. Linux is growing so quickly, and sometimes the default is to think of the difficult solution first due to its "complicated" inheritance. Then, you find that you could have done the same thing straight away with a couple clicks and bang your head against the wall... ;-)

  8. @Chema - That is fantastic, and not what I expected at all.

  9. @FEWT: You are not keeping the faith anymore... ;-)

  10. Nice mouse, i have Gigabyte GM-M6880 it's almost the same look, that's the generic design from many companies now.

  11. @Chema - I just choose to follow a different path towards the same goal. ;)

    ..Posted from Fedora 13.

  12. @FEWT: Hey, have you tried Fedora 14 Beta? Thoughts?

  13. Hi,there is no doubting the positive of linux i think a lot the time linux is tied by the software manufactures not writing open source for a lot of the graphics cards.then you talented people out there would realy be able to do something with the cards.like i said before the software might be there but to make it known simply for people would be great for linux in just the last year the way linux has moved forward is very positive indeed.

  14. @Chema - No, I haven't yet. I'll probably give it a go shortly after release. My only complaint with 13 so far is the choice of kernel that's shipped, but really that's easy to solve. I may write a how-to for building a custom kernel and post at ~/Forum.

  15. Hi Chem,i installed ubuntu 10.10 maverick meerkat under the bonnet i suspect is where all the hard work has gone runs very smooth i had absolutely no problems with it.i am hoping at some point that you will give us your usual informative assessment of it. i installed it on 10.10.10 day.

  16. Not so easy, I have not been able to install a Netgear wireless usb adapter on any linux. And no help from anybody in the linux community.