To give you an ad-free browsing experience, this website is completely funded by donations. If you use the information in this article to solve a problem, entertain yourself, or otherwise improve your life, please consider a small donation to help pay for server costs. Many thanks, and enjoy the site!

Technology

Linux vs. Windows Hardware Support: The Truth

If you’ve heard of Linux, you’ve probably also heard the following comment (or something like it):

Linux won’t be ready for mainstream use until it “just works.”

Or maybe:

I wanted to like Linux, but after installing it my (insert hardware) and (insert hardware) and (insert hardware) didn’t work.

Some are even so elegant as to say it like this:

LINUX SUX IT DONT WORK ON MY AWSOME COMPUTER. WINDOWS RULZ!

All these arguments boil down to the same flawed perception: that getting hardware to work in a Linux environment is unreasonably difficult.

I would like to provide two examples – one, an analogy; the other, a personal experience – that explain why this assessment is both unfair and unreasonable.

The Analogy

Imagine, for a moment, that you have a car that’s several years old.  You like this car – the body’s in decent shape, the color is nice, it runs well – but you’re simply not getting the performance out of it that you’d like.  Rather than buy a whole new car, you make the reasonable decision to simply upgrade the engine.

So you do some shopping around, and eventually you stumble upon a website where someone is giving away brand new engines for FREE.  The engine claims to be powerful (the article states that this type of engine is used on 80% of the world’s sports cars), reasonably easy to install and use, and you’re free to modify the engine however you would like.  In return, the website simply asks you to donate some money to their cause if you can, and pass along word of what they’re offering.

It sounds too good to be true, but since they offer to send you an engine for free, you go for it.

While you wait for the engine to arrive, you go about stripping the current engine out of your car.  You take careful notes on the location of every hose, belt, and bolt, and by the time the new engine arrives, the car is ready for it.

With the help of a friend you drop the new engine into place and reattach all the critical parts.  After checking and double-checking to make sure you haven’t missed anything, you start up the car…and to your amazement, it actually starts!  After a couple final adjustments to get everything perfect, you close the hood and take your almost-new car for a ride.

*PAUSE*

I’ll admit – no analogy is perfect.  But work with me for a moment as I explain myself.

As you have probably figured out, the car in our analogy represents a PC’s hardware, while the engine represents a PC’s operating system.

Like cars and engines, PC hardware and operating systems are theoretically interchangeable.  It might take a hacksaw and a welding iron, but with some work, you could get most any internal combustion engine to run in almost any chassis.  Similarly, it might take some time and hacking, but with some work, you could get most any OS to run on almost any PC hardware.

However, people mistakenly think that any OS should run on any hardware configuration without user intervention.  This is as stupid as thinking that you could stick any engine in any car and – without any effort – have it magically work.  Mixing and matching parts that weren’t designed for each other is not a perfect science.  It most likely takes some tweaking to ensure that everything works smoothly.

By and large, manufacturers assume the burden of ensuring that a stock engine works in its associated car.  You don’t typically buy a new car, take it home, then realize that the manufacturer has forgotten to connect three or four hoses.  (Unless it’s a Ford, of course…)  Similarly, when you buy a PC, you can be reasonably sure that the PC vendor – Dell, HP, whoever – has done their job and made sure that the computer’s hardware and OS play together nicely.

Which leads me to my first major point.

If you buy a PC with Windows and it “just works,” who cares?

Obviously a new computer with a pre-installed OS is going to “just work.”  If it doesn’t, it’s the fault of the PC vendor – not the hardware manufacturers or the OS.  A new computer should always “just work.”

Many anti-Linux individuals totally miss this point.  They wrongly assume that because they bought a PC with Windows on it and it “just worked,” Windows is a superior operating system.  How stupid is that?  It’s akin to saying “the stock tires that came with my car are superior because they just worked.”  No kidding, genius.  STOCK PARTS SHOULD ALWAYS “JUST WORK.”

Which leads into my next point.

In the example above, you did some homework before sticking a new engine into your car.  You carefully removed the old engine, taking note of where each belt, hose, and bolt went.  You probably made use of all of that information when installing the new engine.

Only an idiot would take the stock engine out of a car and drop in a new one and expect the car to “just work.”  Obviously, some hoses are going to need to be re-attached, some belts are going to need to be hooked up, etc.

Why should a computer be any different?  Thus, my second major point is:

It is not reasonable to drop a new OS onto a computer and expect it to “just work.”

I don’t care what you’ve heard about Windows or Linux – if you install a new operating system on a computer for which it was not SPECIFICALLY designed – and by specifically, I mean “specific down to every single piece of hardware” – there is a chance that you will need to do some manual tweaking.  Sometimes you may get lucky and have it “just work.”  But most of the time, regardless of OS, you will need to tie up a couple loose ends.  Such is life.

Now I know what some of you are thinking – “yeah, but I installed (insert OS here) on my computer and it just worked.”  If that’s the case, consider yourself one of the lucky ones.  Very, very few people can install an OS onto randomly assembled hardware and have it work on the first try.

Are you starting to get a clearer picture of things?  I hope so, because far too many people misunderstand this basic issue.

Now in order for this article to really get people pissed off, I now need to state a firm opinion on which operating system has the best hardware support.  (But if you’re here, you probably already know what I’m going to say.)

Hands down, the operating system with best hardware support is Linux.  In fact, no other OS comes anywhere close.  Not by a mile.

As you may have noticed from the link in the analogy above, Linux runs on almost 80% of the world’s supercomputers.  It also runs on an ever-growing number of servers.  Desktop Linux users number somewhere in the 15+ millions.  Some 90+% of the desktops and servers in Hollywood run on Linux.  Linux runs cellphones, traffic signals, election machines, satellites, military equipment, medical equipment, particle accelerators, digital cameras, TVs, DVD players, mp3 players, and many government systems.  If you’re interested in reading a huge list of specific uses for Linux, check out the bottom of this page.

Now impressive as this is, it really doesn’t apply to the everyday user.  After all, I’m not building my own particle accelerator or traffic signal.

So the real question for most users is – how well will Linux work for ME?

And the answer is, of necessity, vague.  No one can say for certain how well Linux will work for you.  You’ll just have to try it.

One of the problems with attempting to predict how well an OS will work on a particular set of PC hardware is that there are more possible hardware combinations in a modern computer than there are atoms in the universe.  (That isn’t an exaggeration, btw.)  And that’s just for major hardware – processor, motherboard, RAM, hard drive, video card, sound card, monitor, keyboard, mouse.  When you start factoring in optional hardware (like any of a million possible USB devices), the list of possible computer configurations quickly approaches numbers difficult to quantify.

So in reality, it is impossible to guarantee that a given OS will work on any system other than ones for which it has been specifically designed.

But I know, I know – this theoretical crap still doesn’t answer the core question of “will Linux work for me?”

For that, let me give you the best thing I’ve got – my own personal experience.

A Personal Experience

This Christmas I picked up a refurbished HP Pavilion Media Center PC.  The specs are similar to this, including:

  • 2.8ghz AMD Athlon 64 X2 5600+
  • 2gb RAM (667mhz DDR2)
  • 500gb SATA hard drive, plus another 200gb SATA drive manually installed by me
  • NVidia GeForce 9400GT video card
  • Sound Blaster Audigy2 ZS sound card with recording hub (pulled from my old PC)
  • LightScribe DVD Burner
  • Memory card reader (one of those 9-in-1 or 10-in-1 things)
  • TV Tuner Card (Hauppauge 1600)
  • The usual set of ports (6xUSB, 2xFirewire)

In addition, I’d be tying the PC into an existing monitor (22″ HP LCD), 5.1 surround speakers, Epson Stylus CX8400 printer/scanner/copier, an off-brand graphics tablet, and a webcam.

In all honesty, I consider this to be a pretty nasty adventure for any OS.  That’s an eclectic mix of hardware ranging from almost brand-new parts (the video card came out August 2008) to relatively old parts (my sound card was purchased in 2002).

As for an OS, because the system was refurbished it came without a pre-installed OS.  I made the choice to install Ubuntu 8.10 to the 500gb drive and Windows XP on the 200gb drive.

Here’s how it all went down.

Ubuntu 8.10:

By and large, Ubuntu 8.10 worked shockingly well.  I had to manually configure only the following three pieces of hardware:

  • Hauppauge 1600 TV Tuner card (simple process using this set of excellent instructions)
  • Epson printer/scanner/copier (my model is CX8400, to make it work you just have to select the CX7800 model – found that by a quick googling).
  • Graphics tablet (using this guide)

Windows XP:

Unfortunately, Windows XP was a different story.  Upon install my ethernet refused to work – which obviously prevented me from using the internet to track down answers to my many hardware woes.

After some serious google-hunting on my laptop, I was finally able to track down an NVidia installer that got my ethernet working (apparently my ASUS motherboard used an NVidia chipset).  With that done, I could set about finding and installing drivers for the following devices:

  • NVidia GeForce 9400GT (video card worked, but to change any of the settings and enable 3D acceleration I had to download and install specific drivers)
  • TV Tuner Card (non-functional until I tracked down official Hauppauge drivers online; however, I don’t have any recording software, so the card is still technically useless).
  • Sound Blaster Audigy 2 ZS (sound worked, but to get surround sound I had to find the CD that came with the card and install specific drivers)
  • Epson Stylus printer (printing worked, but to access printer-specific settings I had to find the CD that came with the card and install specific drivers)
  • Graphics tablet (non-functional and drivers not available for download; fortunately, I had a Windows driver CD that came with the tablet – had I not had that CD, it would have been ugly…)
  • Webcam (non-functional until I used my webcam installer CD).

After a lot of restarts (five, I think), I eventually got my XP install up and running.

My Final Point

My final point is this: with some determination, you can get both Windows and Linux to run on almost any hardware.  If you have driver CDs for every piece hardware, Windows should be fairly easy to install.  Linux is much more a function of googling, since very few hardware manufacturers include linux drivers on their included CDs.

In my case, installing Ubuntu 8.10 was a MUCH more pleasant experience than installing Windows XP.  Part of this is because Linux is specifically designed to be installed on random hardware.  Very few computers come pre-installed with Linux, and the guys writing Linux know this.  If you use Linux, odds are that you installed it yourself.  There is no manufacturer-based QA team that checks to ensure hardware compatibility.

Installing XP was ugly because XP is not really designed to be dumped onto untested computers.  Microsoft goes to great lengths to ensure that hardware manufacturers comply with Windows hardware-compatibility requirements, as well as requiring PC vendors to ensure that pre-installed (or OEM) copies of Windows are properly configured.  XP has very few drivers preconfigured, since they rely on hardware manufacturers to provide install CDs with their hardware.  Since my refurbished machine came with no install CDs, tracking down the proper XP drivers was a nightmare.

In Conclusion

So there – now you’ve seen at least one example where installing Windows was a hell of a lot harder than installing Linux (in the form of Ubuntu 8.10).  If you bought a computer with Windows pre-installed, chances are that it will work better “out of the box” than Linux will.  Don’t be surprised, and don’t fault Linux for that.  Besides – if you’re installing Linux solely for better hardware support, you may not know what you’re doing.

I for one think it’s well worth the effort to get Linux up and running, and not just because I’m an inane fanboy.  I like the general ease of setting up new hardware.  I love that a free program (called MythTV) allows me to use my new PC+tuner card as a DVR.  I love how quickly Ubuntu 8.10 starts and shuts down.  All of my most-used software (Firefox, OpenOffice, and GIMP) works on both Windows and Linux, but I find it much more responsive on Linux.  I much prefer the free Amarok player to Windows Media Player (or the abomination called iTunes).

For me, Linux makes using my home computer a much more enjoyable and productive experience.

Will it do the same for you?  I don’t know.  I’m not psychic.  Instead, head to www.ubuntu.com (or any other Linux distro’s homepage) and give Linux a try.

Just remember the analogy from the start of this article – like replacing the engine in a car, you may have to do a bit of work to get Linux working just the way you like it.

But once you have it working, you’ll realize it was absolutely worth the effort.

 

Related articles:

Discussion (Oldest Comments Displayed First)

8 comments on “Linux vs. Windows Hardware Support: The Truth”

  1. Just came across your blog. Funny how we both used to bash Linux back in our comp. sci. days, and now it is what we both primarily use.

    I’ve had Ubuntu on as my primary operating system for about a year now, and don’t really miss it (except Starcraft is a little buggy under wine :( ) and have been mussing around with Mint for a few weeks.

    Good to see you’re still around making a stir.

    Posted by Alan | February 21, 2009, 9:46 am
  2. Thanks for saying hi, Al. It’s always good to hear from you.

    Mint is a fine distro; been using it on my old laptop for awhile as it seemed to like my wireless card more than Ubuntu did…

    And it’s amazing how a couple years change things. Linux is a world-and-a-half better than it was five years ago. I’m just hoping the next five years bring as many improvements!

    Posted by Tanner | February 28, 2009, 12:19 am
  3. Perhaps you’d like to mention the fact that most of your hardware didn’t even exist when Windows XP was released — which was in 2001. Ubuntu 8.10 was released in, oh, let’s see … 2008/10?

    For a fair comparison, compare XP to a distro from 2001. Or, compare Ubuntu 8.10 to Vista SP1.

    If you compared Windows 7 to a Linux distro from 2003, and then concluded that Windows 7 had much better hardware support for your modern system, the Linux fanboys would be all over that like white on rice.

    Posted by Tom K | April 21, 2009, 5:58 pm
    • Considering that XP Service Pack 3 was automatically pushed out starting July 2008, Ubuntu 8.10 is a pretty fair comparison. And since you’re all about technicalities, Ubuntu is built upon a Linux core originally written in 1991-92. Should we compare Ubuntu 8.10 and Windows 3.1? ;)

      And yeah, the Windows fanboys would have LOVED me comparing Vista and Ubuntu. They’re all over that goodness. (See here, for example.) Besides, my Windows software actually works better under Wine than it does under Vista, so that would not have been a favorable comparison for M$.

      But you’re a Mac user, so why the hell do you care? Wait – let me guess. You’re upset over the likely outcome of tomorrow’s earnings release. Say no more… :)

      Posted by Tanner | April 21, 2009, 10:17 pm
  4. I don’t give a crap how Apple is doing. I like Macs because I like Macs, not because Apple makes ‘em.

    If you actually knew anything about operating systems, you would have face-palmed yourself for writing the above.

    Read and learn:

    - Service Packs do not supplement the driver cabinets in any major way. Very rarely will Windows suddenly gain OOTB support for some new piece of hardware post-XP. Ubuntu, with its collection of 2008/10-era drivers, will handily beat XP in hardware support OOTB because of this.

    - Linux is an ever-evolving kernel with no set development plan or milestones. All of its subsystems have gone through so many rewrites (and continue to do so) since its inception that it is virtually a completely different beast every couple of years. Linux right now probably doesn’t share a single line of code from the Linux kernel of ‘91-’92. Nice straw man there.

    The rest of your FUD I’ve heard before from Linux fanboys left and right (“Windows software runs better in Wine”, “Ubuntu faster than Vista”, “Linux supports more hardware”, etc.), that I’m not going to bother. You have your opinions that make you feel warm and fuzzy — keep them.

    … But don’t spread misinformation or distort the facts.

    Posted by Tom K | April 22, 2009, 11:58 am
    • Now you’re just being disagreeable. Expressing an opinion forcefully doesn’t make it any more true, and you apparently have a lot to learn yourself.

      - Service Packs can add major hardware support. XP SP1 added USB 2.0 and Tablet PC support. SP2 added Bluetooth support and improved Wi-fi functionality. Though these (admittedly) aren’t major additions to the driver cabinets, Service Packs (and the numerous hotfixes they employ) absolutely improve driver support and overall OS performance.

      - If you really think that Vista hardware support is superior out-of-the-box to any Linux distro’s hardware support, I’m afraid you simply have not done your homework (or read the above article). Are you aware that the 64-bit version of Vista requires ALL drivers to be digitally signed? For an eclectic hardware collection, that is going to greatly limit what you can get working. If you want to be taken seriously, show some evidence of superior hardware support under Vista. (Hint: you won’t find any.)

      - Of course Linux is an ever-evolving OS, but you could easily argue that Windows is also (in some ways). They release stability and security updates on a rolling basis. Software functionality for core Windows components is also released on a rolling cycle (IE6 -> IE7 -> IE8, for example). In the modern age of broadband, point releases are becoming less and less relevant because updates can be pushed out whenever they need to be – something that Windows attempts to utilize every bit as much as Linux. So just because Linux is released on a rolling schedule does not make Linux/Windows comparisons irrelevant. XP is the current market leader, and so the majority of people will be interested in an XP vs Linux comparison, not a Vista vs Linux one.

      - That said, Vista vs Linux comparisons mostly certainly exist. Take this one, for example. Identical hardware, cross-platform benchmarking software. Ubuntu 8.10 outperformed Vista by almost 20%. That’s FACT, pal – not opinion. Do your homework before expressing such firm assertions.

      At the end of the day, you haven’t shown a single place where this article distorted facts or spread misinformation. You just can’t stand the fact that there is clear evidence for the assertions I’m making, and none for yours.

      Posted by Tanner | April 24, 2009, 9:36 am
  5. [...] just how awesome Linux can be. To put my actual point into perspective please read this article: Linux vs. Windows Hardware Support: The Truth Regards, [...]

    Posted by Who do newcomers give up on Linux? - Page 23 - openSUSE Forums | June 24, 2009, 7:03 am
  6. Good read. I like your analogy.

    Another thing to note is that while Apple limits the hardware it will work with, and Microsoft is able to demand the market to cater to them at this point, Linux has had to not only develop drivers and such without the help of the hardware manufacturer, but also handle more hardware than either Microsoft OR Apple!

    How many things are out there that Apple won’t work with, yet Windows does and Linux may?

    And how many things are out there that Microsoft won’t work with yet Linux and possible Apple can (such as the PPC chip? or ARM?)

    And how many Windows users have actually had the pleasure of installing Windows?

    Posted by dragonbite | June 24, 2009, 7:48 am

Post a comment

Feel free to use any of these tags in your comment: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>