Wednesday, July 7, 2010

Linux Hardware - Lets Get Something Straight

Maybe I missed the memo - but whoever said Linux works with all hardware?

Don't get me wrong, I think Linux is awesome (poke around on my blog some more if you don't believe me) and I openly (and often) suggest Linux to family and friends as an alternative to Windows for their computing needs. As such I've ended up butting heads with other friends and family who are techs that feel Linux is a poor operating system for a desktop computer because "Linux doesn't work with my X". Ahh yes, I completely understand. Just because Linux didn't work with your hardware means it is "not ready for main stream" or "is a poor operating system".

If the back end of a screw driver doesn't work for pounding in a nail, is in the screwdriver's fault? If a full size motherboard doesn't fit into a micro-atx case, is it the motherboard's fault? If OSX may not run on non-Mac hardware, is it OSX's fault? If Linux doesn't work with a piece of hardware that was only designed for Windows, is it Linux's fault? Now, maybe before you downloaded Linux someone may have told you that it "just works with all hardware". I hate to be the bearer of bad news but - you were lied to.

You have every right to be upset. In fact, if I where you I would take your download back to where you got it from and demand a full refund. Heck, I'd even demand twice my money back.

You don't buy a tool for one job and expect it to do another job it wasn't designed to do. In the same respect, if you don't do your homework before buying hardware it might not work with Linux. Does a lot - heck I'd even say most - hardware work when powered by the penguin? Yep. By no means does this mean all hardware will work under Linux. In fact until we can start getting manufacturers to start developing drivers fully cross-platform there are always going to be some operating systems that are left out - and sometimes that operating system will be Linux.

It is just how things work, sad and annoying as this may be.

~Jeff Hoogland

22 comments:

  1. Old hardware is a different matter, and I won't speak to that, but if linux is really ready to be a mainstream competitor, than hardware support for all modern hardware is a must, because there is an operating system there that does support 99% of all hardware. Windows sucks for a million reasons, but good luck finding me any hardware from the past 5 years that doesn't work with windows (excepting the stuff made by apple).

    Your analogy with OSX is flawed because apple expressly forbids running osx on non-apple hardware, and depends on that for their business. Unless the non-existent linux corporation starts manufacturing their own pc's, linux needs widespread support.

    You can say that it's "just how things work" but that's "just how things work" for linux, and there's another os that just works, then in this aspect, linux has failed.

    Don't get me wrong, my point isn't to bash linux, my point is that if linux really wants to be mainstream, then developers need to get into gear and fix these hardware issues. There have been numerous good efforts (ie Nouveau) but it's not there yet.

    Is it linux's fault that hardware is designed for windows? no. But it does mean that it makes us the inferior competitor, and if we try to act mainstream when we don't have good hardware support, then we're just going to get complacent, and Linux is just going to get a bad reputation.

    ReplyDelete
  2. What kind of obscure hardware are people using? I've installed Gnu/Linux on numerous desktop pc's and laptops using various distros and have never been unable to install it.

    ReplyDelete
  3. Did you just wake up from the 1990's? In the past few years, I've installed XP, Fedora, PCBSD, and Ubuntu on a number of configurations, and my experience has been that XP hardware support SUCKS compared to Linux or BSD!

    Regards,
    mcinsand

    ReplyDelete
  4. Linux's hardware support is better than any other OS.

    Yes, brand-new devices will tend to come only with Windoze drivers - a multi-million dollar subsidy to MS by the hardware manufacturers BTW - but that doesn't mean it will work with the latest version of Windows.

    My work laptop (HP) came with Vista installed.

    It couldn't find my USB mouse, not even if I rebooted with the mouse plugged in! (So, forget dual-boot, it's been 100% linux since then).

    A number of people had similar non-supported hardware problems with Vista.

    Maybe W7 is better, but I don't care.

    Yes, saying "linux works with all hardware" is untrue, but it is untrue of *every* OS that has ever existed.

    ReplyDelete
  5. As a perceived Linux advocate, I'm often served "I bought this gizmo and it doesn't work with linux". Now my favorite answer is "Was there a penguin on the box?"

    By the way, I recently bought a motherboard. Installed a dual-boot Linux/Windows on it. I couldn't get the Windows sound driver from the CD shipped with the motherboard to run. Everything went as a breeze with Ubuntu, no extra driver CD needed. Now the machine always shows a brown desktop. (I'd done my homework and checked before buying, Yes)

    ReplyDelete
  6. It is true that Linux doesn't work with all hardware. I personally U.E. 2.7 and have experienced that hardware issues do exist on Linux; however, it should be noted that a majority of my experience of incompatibility issues range from proprietary based hardware that closes the source code from public scrutiny. Hewlett Packard is one I have found that has no compatibility issues with my Linux system, I simply plug it in and Linux automatically recognizes and configures the hardware without any installation material (i.e. CD). I have satisfied all my hardware needs with Hewlett Packard. Logically, people shouldn't expect Linux to be compatible with proprietary based hardware as Linux is Open Source and not primarily in business for monetary reasons. I say it is ultimately up to the individual as to what course they chose to travel, one of ease with little hindrances or one of challenges with some compatibility issues along the way. For me the challenges and some compatibility issues are a small price to pay for the benefits that have come from the ease being removed.

    ReplyDelete
  7. jmite said, "Good luck finding me any hardware from the past 5 years that doesn't work with Windows ..."

    I guess that means I should go play the lottery. I recently purchased an eMachines ET1331G-03W and never came close to being able to use the HL-DT_ST DVD burner under Windows 7, which came pre-installed. I had to get an external DVD burner just to make the W7 recovery disk before I wiped the hard drive clean. Interestingly enough, the drive has worked fine under Arch, Ubuntu, Debian and Fedora. I'm not saying Linux is superior to Windows. Just saying we need to be careful about drawing such broad conclusions. No OS is perfect.

    ReplyDelete
  8. I switched to Linux from Windows 98, when you really had to be careful about hardware selection. I still remember the panic I felt a few years ago when my wife bought a cheap MP3 player for our baby room on a whim without consulting me. She phoned me at work to ask what software to use to rip CDs.

    I didn't hear from her again that afternoon, so I prepared myself for an evening of searching HOWTOs and forums. After dinner I told her I was ready to help and she thought I was strange for offering because she was already done!

    That's the moment I mark in my mind as the turning point for hardware support in Linux. I'm sure there is hardware that is still poorly supported, but since that point I haven't personally had an issue.

    ReplyDelete
  9. quote:: but if linux is really ready to be a mainstream competitor, than hardware support for all modern hardware is a must, because there is an operating system there that does support 99% of all hardware. Windows sucks for a million reasons, but good luck finding me any hardware from the past 5 years that doesn't work with windows (excepting the stuff made by apple). ::quote

    Windows doesn't support any hardware. The hardware manufacturers support Windows.

    ReplyDelete
  10. I've put Linux on everything from my netbook to a custom desktop that is hooked up to an old LaserJet printer, two external HDD docking bays, a photo scanner, a USB-powered phone . . . I've never had any problem making anything work with Linux (although I did have to download some drivers).

    The one exception is my iPod, a 6th G that demands iTunes to operate. And it's why I no longer purchase any Apple products.

    What obscure hardware are people running that isn't working?

    ReplyDelete
  11. Windows doesn't support much hardware (or at least the kernel doesn't) from a fresh install, you have to install most of the drivers. Linux on the other hand is progressing very quickly. I have a Linksys PCI WMP110 & WUSB600N adapter. With the Linux Kernel 2.6.32 I needed to install the Linux Drivers to get it to work. I decided to try it on a fresh install with kernel 2.6.34, and guess what, works right with the kernel, nor drivers needed. Also Kernel 2.6.32 has the Open ATI Drivers that work fairly well. I don't even need to install the proprietary driver.

    Now don't get me wrong, Linux doesn't support all hardware due to the Manufactures only supporting Windows. I have noticed that all old Hardware runs well with Linux and Windows has dropped support for some older hardware.

    At any rate I was looking at the changes from Kernel 2.6.33 to 2.6.34 and the changes are wicked! The support added for networking and GPUs is just awesome.

    But as your article goes, you are correct. No one in their right mind should guaranty that Linux supports all Hardware. Newer Hardware will always be unsupported until the Open Drivers are written (by reverse engineering in most cases) for the new hardware.

    ReplyDelete
  12. Linux supports a lot of hardware, but the drivers are typically thin on features and often unstable. I would say that todays Linux drivers compare to Windows 95 drivers in quality of work. I often see driver related kernel panics, this is 2010 that shouldn't happen.

    We don't have any hope of seeing good driver support until we have a stable ABI (or API for the Linux zealots) however we won't have a stable ABI because some of the leaders developing the kernel (Greg K-H) use make believe to invent reasons that all drivers should be open. Rather than working together to improve, we just try to force them to adapt. When we do get closed binary drivers we greet the vendor driver with a silly message about "tainting the kernel", and we need 250,000 versions one for each kernel revision.

    The current philosophy is why we don't have better drivers, and also why we don't have very many vendors providing them.

    ReplyDelete
  13. Linux supports more architectures than any other OS.

    More hardware works 'out the box' than ANY other os (unless you running Centos/RHEL - which has a very very old kernel...)

    In the latest kernel there are drivers for NEXT YEARS Intel hardware....

    ReplyDelete
  14. All computer users are like petulant 3-year olds: "It's supposed to just do it and it's all your fault it doesn't!"

    ReplyDelete
  15. "When we do get closed binary drivers we greet the vendor driver with a silly message about "tainting the kernel", and we need 250,000 versions one for each kernel revision."

    Thats an out and out lie. nVidia produces some of the best closed source drivers for Linux and they only release two versions. One for 32bit and one for 64bit.

    Please keep your facts straight :)

    ReplyDelete
  16. LOL I didn't say that nVidia didn't produce good closed source drivers, re-read my comment.

    ReplyDelete
  17. By the way, take apart that driver package sometime and look at how it's built. NVidia builds their own kernel interface so it doesn't "taint the kernel".

    From the readme:

    "The NVIDIA kernel module has a kernel interface layer that must be compiled specifically for each kernel. NVIDIA distributes the source code to this kernel interface layer."

    This is NVidia's specific workaround to avoid having to provide 250,000 versions.

    Now go download VMWare, and look at the kernel module package there. Count the number of binary modules in the package.

    It isn't a lie, it is a bad design.

    ReplyDelete
  18. I believe you FEWT, my only point was that it is possible to write closed source drivers for Linix without making a package for each kernel. Regardless of the fact it requires a small work around - it is possible.

    ReplyDelete
  19. Sure it is kind of possible, I agree. NVidia still has to release a new version of their driver package updating source every time the interface in the kernel changes to the point that their source won't compile.

    ReplyDelete
  20. It seems to me, and I could be wrong, that the discussion concerning the Nvidia drivers and kernel-based drivers are not quite the same issue.

    I agree that the Linux kernel should be untainted by binary blobs, that the kernel should not contain non-open code. However, I am also of the opinion that part of the concept of a free and open operating system is the freedom for the end user to add non-open modules to the kernel if they so desire.

    Furthermore, I have an Nvidia card, and I have installed Nvidia's proprietary driver/module. And, yes, for some upgrades to X, I need to re-run the Nvidia script. But, you know, the time it takes to logout of my session, stop X, run the Nvidia script, start X, and logon to my session again is faster than WiNdOwS could do a reinstall of the driver. Yes, boys and girls, WiNdOwS systems sometimes need a reinstall of drivers, and that almost always requires a reboot.

    ReplyDelete
  21. i like linux me! my 10 year old daughter tells people that microsoft is evil and ubuntu rules! my wife is using msoffice2007 because thats what the work world demand.

    Hardware issues yes of course, but each update or release gets it sorted. so time spent on this is greatly reduced from that of windows days. friends on linux never call me for help. Ms friends well thats another story.

    time waiting because of blue screens or viral messing has been reduced to zero.

    overall Linux as a desktop is much less fuss after the initial setup that windows. AS there are no license issues the machine if connected to the net will remain up to date. Ms starts falling out of date almost straight away as you only have updates till the next full release. OpenOffice will keep updating Ms office 2003?

    some hardware issues verses the other support headaches of users installing everything off the net and the front of magazines seems a fair trade!

    did I mention PINGUY OS life just got sweeter!

    ReplyDelete