External devices will work with Linux desktop systems, but it helps to have some background knowledge.
Perhaps one of the most common myths surrounding desktop Linux is the belief that modern distributions do not provide decent hardware support.
It's unfortunate, but this thought pattern has been ingrained into the minds of many die-hard Windows users over the years. Many of them have only tried using Linux once or twice, at which point they experienced a problem that they attributed to poor hardware support.
In this article, Ill not only provide what I deem to be significant evidence to the contrary, but also provide real examples of PC peripherals and hardware that work out of the box, often with little to no configuration involved.
The most common hardware/peripheral issues
Despite what you might have been led to believe over the years, most PC hardware you have around your house will work with many modern Linux distributions without any extra configuration. In those rare instances where some configuration is required, working through the configuration process is something that doesnt take as much study as one might think.
So which hardware or peripheral devices do most people struggle with then? Clearly, there must be something here, as most myths are based in at least some reality, right? Most of the time any issues to be had are generally experienced with wireless devices, all-in-one printers, or video cards.
I have found that the biggest offenders are Windows wireless cards that are already included in notebook computers. The worst of the worst would have to be wireless chipsets designed by Broadcom.
This is not to say that one cant use restricted software to get it working. But who wants to bother with that when it may not work as expected when the Linux distro releases an update that might conflict with the restricted software in the future? Considering the number of alternatives out there, I see little reason to bother with this approach myself.
Then there is the matter of some users dealing with problems that arise with select video cards. In most cases, this is a simple matter of miscommunication versus any real problem with compatibility. That said, sometimes video card vendors that do not release their own drivers as open source end up passing along a software bug associated with the proprietary driver that could go unchecked and the community isnt provided any recourse to fix it due to licensing.
And finally, the often confused all-in-one printer compatibility myth. I would start off by saying that 99% of the standard printers out there are going to work out of the box with greater ease than youll find in other operating systems.
Yet with some all-in-one printers, confusion arises as there are some brands that are not as well supported as others. In the case of all-in-one printers, I am willing to go out on a limb and say roughly 90% of them work out of the box, with the greatest number of those coming from HP.
This is not to say that other all-in-ones from Epson, among others, are not also supported via CUPS and SANE. I am merely pointing out that HP goes so far as to release its own software just for Linux users. This software provides needed functionality for HP all-in-one users. Options like:
- Advanced printing
- Document and image scanning
- Faxing (depending on the device)
- Photo card access (Depending on the device)
- Partial integration with SANE scanning
- Full integration with CUPS printing
For my money, I lean toward using hardware/peripherals sold by vendors that make a serious effort in supporting my chosen platform. HP's HPLIP is my preferred software for all-in-one printing and scanning.
What works and what will not
At the end of the day, all of the failures and success you will have with hardware compatibility will come down to one thing research.
Realizing this might seem like it goes against what Ive said previously about Linux providing such tremendous support for most hardware support. But the fact of the matter is that there is research that needs to be done.
A great example would be one of my Canon scanners. In Windows XP/Vista, you will need to go through and install the drivers for it from the manufacturers website. The same can be said about three out of the four wireless dongles I own as well. In most Linux distros, they work with zero configuration, while in Windows Im left searching for drivers...which is tricky to do without Internet access.
The downside to all of this out-of-the-box compatibility is that some rare devices will not work at all, regardless of what you do.
Despite this becoming less of an occurrence, it is frustrating nonetheless. In the past, we have been asked to utilized our Linux distribution's hardware compatibility lists (HCLs). The idea behind these lists is that users can report back on what is working and what it required to get the hardware operating with the desired results.
My experience has been that these lists are nearly useless on every level. Often dated, they are too limited in scope and in general, lacking other needed information that the user might need to be aware of before purchasing the device. So even with all of the effort that goes into creating these lists, were still left playing very much into fate's hands.
The solution? Common sense.
First of all, buy your computers pre-installed when considering a notebook or netbook. Unless you are looking to "tweak' things to meet your needs, you will find life is going to be simpler if you take this approach.
Second, stick to "brand names" when building your own desktops PCs. Brands such as Intel, NVIDIA, ATI are brand names to make yourself familiar with when looking to build from scratch. The above mentioned video card brands will allow you to experience the wonder of the 3D desktop, while also ensuring that you will not have "mysterious" video card headaches as you go through the Linux installation process.
Other hardware such as motherboards and other related components are generally nothing to be concerned over. I have used countless old and new configurations, and at no time have I ever run into a problem with regard to a motherboard issue. Im sure that rare instances exist, but they are hardly anything to be concerned about.
Existing PC builds
Most of the problems people run into when trying to install Linux with existing PC builds comes from a lack of understanding of the dynamics of what they are trying to do. In short, the individual is often trying to install Linux onto hardware initially built for a Windows install. Remember this as we continue.
The easiest way to find out if your existing setup is going to work well with your selected distribution is to grab a LiveCD and boot from it. This way no changes are made from your existing Windows installation, while still allowing you to give the PC the compatibility test. In most cases, you will find that everything works just fine.
Connection to the Internet, check. Sound played through your speakers, again check. Yet for some reason, your monitor's resolution looks a little out of place? Perhaps you are having the ever-annoying 800x600 resolution by default?
Assuming youre using something like Ubuntu, chances are solid that you will able to correct the resolution issues after installing the proprietary video drivers for the video card post-operating system installation. While the open source drivers that come for both cards are fine, sometimes you will find that you can get a better monitor resolution with the proprietary drivers than the default open source driver.
Great external hardware support
One of the things I like about bleeding edge distributions like Ubuntu is the fact that I can connect nearly everything I own and know that it is going to work well out of the box, speaking of external USB devices of course.
For instance I own a Wii guitar for Rock Band that I use to play Frets On Fire during my off time. Works out of the box, all I had to do is setup the button configuration from within the game itself.
I also have two external hard drives using various Linux file systems on multiple partitions. Each partition mounts immediately once the external hard drive is plugged in. And saving the best for last, I tested things out by purchasing a random external DVD Burner (Sony brand) that I picked up at random from Best Buy simply because it was cheap.
Then I took it home, plugged it in and sure enough it works perfectly.
It's not Linux that is the problem
Now it seems to me that hardware compatibility is not really something that Linux struggles with. And in those rare instances where it is a problem, one can almost always look to the vendor for a place to blame.
In other circumstances where the vendor is not the culprit, the issue may be with the end user failing to understand how the specific hardware is supposed to work with the chosen Linux distribution in the first place. For example, setting up dual-monitors with NVIDIA or ATI cards.
In Windows, this is pretty easy. You can do this from display properties. However in Linux, there are a few things to be aware of. First, you will need the proprietary drivers for either of these. Second, you will want to use the provided control utilities for either versus the less reliable desktop manager equivalent.
As you can see from the above linked images, setting up a dual-monitor desktop is actually pretty easy with Linux. It is just a matter of understanding which tools to use and which drivers to put to work for you. And for so many individuals out there, that's the rub. Learning a new operating system or discovering the quickest approach to making sure your existing hardware is compatible sometimes just means diving right into the middle of things.
Suffice it to say, there is no single hardware compatibility list that is going to be totally up to date or have every single piece of hardware out there listed. It's a nice thought, but highly unlikely to happen in my life time.
Alternatives, then? I would start off buying laptops pre-installed with your preferred distribution (Google is your friend here) and do some testing before totally assuming that you have all the answers with regard to compatibility with existing desktop hardware. Ive been doing this for years and thus far, this simply combination of research and common sense has yet to fail me.