One of the hardest lessons I have learned about Linux is that Linux is often not compatible with your hardware. Windows is developed by a mega-corporation which dedicates a rather large portion of its empire to writing drivers to detect and properly run your hardware. That corporation also spends considerable energy developing relationships with hardware manufacturers so that they work to keep their hardware compatible with Windows. Windows does a great job of seeing and working with your hardware like disk drives, scanners, keyboards, mice, monitors, motherboards, video cards, sound cards, printers, fax machines, modems, routers, cameras, usb flash memory keys, and other gizmos like blackberries and palm OS pda's. This makes installation and running of Windows with your hardware pretty easy.
Sure, some people have trouble, but the vast, vast majority of the billions of people who use billions of Windows installations simply run it and never worry about buying hardware and making it work. Usually, they just attach the hardware, turn on the PC, and it says, "Finding hardware. All good. Work now."
But, being compatible with so much hardware comes at a price. Windows is very bloated with all of that compatibility, and because all of the compatibility lives in the operating system, Windows is a complex web of spaghetti code that is a pain in the ass to maintain and difficult to debug.
The MAC OS has a different approach. It, like Linux, is based on Unix at its core, but the MAC OS is written to only work with specific hardware - a very narrow list of hardware sold by only one company for the most part. As a result, if you buy a MAC, your stuck with that hardware, and the vendor knows it and charges a premium for it. Windows' strength is hardware compatibility. MAC's strength is stability and ease of use on limited hardware.
My Ubuntu Linux installation is somewhere in the unhappy middle. Unlike the MAC OS, Linux has to work with non-proprietary hardware on PCs which are all custom built and have millions of permutations. Unlike Windows, Linux is built and tested by... well, by a bunch of amateurs doing the best they can to use the connectivity of the Internet to allow them to operate as if they were a software team in a big company.
But they aren't.
Mostly, they are a bunch of really smart people who are scientists, technicians, and computer brainiacs (people who would laugh their heads off at my resume). They aren't dumb, but their greatest strength, their open freedom and individuality, is also their greatest weakness. Like our free and open society, they have to live with compromise and the chaos it causes.
Let's face it: Mussolini made the trains run on time. With Linux, most, but not all trains run on time, but they are free to ride. With a MAC, all the trains run on time, but there is only one train, and it costs a fortune to ride. With Windows, the trains run on time, but they are expensive to ride on. As price comes down, so does reliability and quality.
Linux is a pretty sweet deal - it's free - and it does a lot of things really well. But, recognizing hardware is not one of them.
Let's look at two examples, and then let's look at root cause. Two pieces of hardware I own would not work at all.
- My scanner
- My sound card
My sound card was also a no-go. I owned a cheap version of the Creative Soundblaster X-Fi soundcard. Linux couldn't do anything with it because the folks at Creative do not make a Linux driver, and they also will not open up their soundcard workings to the Linux folks to allow them to make their own. So, it's another state secret.
Here's how I solved my problem:
- I went to the SANE web site and picked a cheapo scanner (Canon LIDE25) that costs $49 at Fry's Electronics, then I bought one
- I bought an Audigy 2 soundcard (top of the line three years ago) and put the X-Fi on the shelf.
Here's the thing, though. They work, but there are degrees of working. I get sound from my PC, and I can scan photos. However, many of the functions of these two devices are not available to me. I don't have the cool Windows driver that let's me tweak the sound my soundcard makes to have more echo or activate the nifty 3d sound that games use. I can use it to hear sounds - that's it. The scanner is the same - I can scan pictures and documents, but the nifty character recognition software is non-existent, and the tweaks I can make using SANE are rather limited as well.
Both devices would be fully, full-on functional in Windows. In Linux, they are handicapped.
My video card, an Nividia 8500, is not handicapped. Nvidia does a good job of building Linux drivers that work really well and making them freely available and easy to get and install.
My motherboard works OK. The networking works as expected, it finds all of my ram, and Linux, after I moved my hard drive cables, found the hard drives better than Windows had - no additional driver CD's or floppies were needed to get the SATA II drive working. My burner/CD player/DVD player also works pretty well.
My printer, an Epson R340, works OK - it prints, but most of the options are not available. I can't tell it to print to different specialty types of paper. It just prints now the same way no matter what I put in there. I can't control much of it at all. Here's the thing, though. In Windows, I never used any of that fancy schmancy junk anyway.
My monitor works fine. My keyboard works well.
My mouse - not so good. Left and right click works OK. The mousewheel works OK. But the back and forward buttons do not work. And, hardware control isn't really an operating system thing in Linux. Linux sort of dumps hardware support on the software applications. For example, the scanner is supported by SANE and GIMP, the scanner driver and the image editing software. The mouse is driven by whatever software you are using at the time.
To get the mouse back and forward buttons to work, you have to work on your web browser. Otherwise, they are dead to you. No special CD comes with any mouse with Linux drivers on it.
Not yet.
So, my computer is usable, but rather than being a limousine ride of posh luxury as it is in a plug-and-play Windows world, it's more like living in the year 1999 where hardware is concerned. It's not bad (back then, Linux couldn't recognize or use a video card without me compiling source code to build my own driver), but it ain't as good as Vista, XP, or Windows 2000.
The important thing to remember is that it does MOSTLY work, and nothing critical fails to respond, and above all else, LINUX IS FREE.
1 comment:
I have a new HP 1018 Laserjet printer that I can't get to work with Ubuntu. Evidently some people can, but most of them say you have to load the driver every time you boot up, and I haven't figured it out, after reading a hundred or so posts.
I got it to work, but next time I booted up it wouldn't.
So I put that printer on my backup system, and moved an old HP 5P to the Linux comp. It worked without any hassle at all.
My HP Scanjet 5300C was another story. It worked to scan one image, then quit working. I tried the foosjs and HPLIP and a bunch more drivers; Sane, Xsane, etc. Numerous posts say it is a hassle to get it to work with Linux, so it is just a Windows scanner as far as I am concerned.
Post a Comment