Linux Doesn’t Lack Drivers, it Lacks Complete Drivers

I recently read this article about how the Linux device driver project needs more work to do. I pondered this for awhile, and came to a realization. While Linux still does indeed lack drivers for some hardware, I believe that the lack of drivers is no longer the largest technological obstacle to Linux adoption. The thing Linux needs to focus mostly on now is completeness, not quantity, of hardware support. Read on, and allow me to explain.

If you take the newest version of Ubuntu Gutsy Gibbon, you can install it on just about any standard desktop PC, and it will work. The video card will most likely work just fine. It will work even better if you take the two clicks to install a binary driver, if necessary. The mouse, keyboard, and other peripherals will work. All of your drives will work. It is only incredibly rare hardware, such as some proprietary enterprise RAID controllers, that will be completely unsupported. Also, if you have an extremely new high-end motherboard, it may not work perfectly. However, problems with new motherboards seem to get fixed in the next kernel release. You can’t expect much more than that, especially considering the incredibly rapid kernel development cycle. I can not honestly say the situation is perfect. There are still a lot of drivers that need writing. However, it has been a very long time since I have encountered any completely unsupported desktop hardware, and more drivers being written every day.

If my experience is not uncommon, why is there still a common perception that Linux lacks hardware support? Perhaps people tried Linux back when hardware support was terrible, and they don’t realize how far it has come since then? Perhaps people who have this impression have never really tried Linux, and they just go by what they read in the tech news? These are possibilities, but whatever the cause, I can tell you that there is actually another, bigger, problem looming in the Linux world. The problem I see is that many existing Linux drivers are incomplete.

Don’t get me wrong. I don’t mean to say the drivers are low quality. In fact, Linux drivers are among the best in terms of stability, security, and performance. What I mean by incomplete is that the drivers do not support every feature of the hardware. Sure, they support the core functionality, but many pieces of supported hardware have non-essential features which are unsupported. If the Linux drivers were complete, as well as quality, we could honestly say that Linux actually supports hardware better than Windows does. Instead we continue to play catch-up. To fully demonstrate my meaning, let me give you some personal examples of incomplete Linux hardware support. Just as a note, I am aware that not all of these examples should be solved in the domain of kernel drivers, but how the solutions should be implemented is irrelevant to my fundamental thesis.

On my desktop at home I have a Logitech MX1000. It is a wireless USB laser mouse with thirteen different buttons. The core functionality works perfectly in Linux. I can point, I can click, I can scroll, and I can hotplug the USB. This is a big improvement from the Linux of just a few years ago. However, all is not well. Many of these 13 buttons do not work properly, or easily, under Linux. Also, this mouse is designed to run at 800cpi. In Linux I must install and use a command line application to set it to 800cpi instead of the default of 400cpi. I also have to use the same application to change the cruise control setting. This is a very powerful mouse, but under Linux it is no better than a normal wireless USB wheel mouse. The user can do a lot of tweaks to improve the situation, but at the present time you can not achieve anything close to the features offered by Logitech SetPoint under Windows. Linux may be free as in beer, but it effectively costs me $50 if it reduces my $80 mouse to the feature set of a $30 mouse.

Now let’s look at some high-end motherboards. As I said, brand new motherboards tend to have flaky Linux support until a new kernel version is released. That is to be expected. However, many enthusiast motherboards produced by companies like Abit and ASUS have extra features not found on the motherboard in your average Dell. Many of these motherboards allow flashing of the BIOS while the OS is running. Others allow live overclocking. I personally would never suggest using such features, but that is besides the point. The point is that the hardware has features which are not available to the Linux user. The advantages of software freedom appear quite diminished when you realize that to get them you will not get everything out of your hardware that you paid for.

I have a Fujitsu P7230 notebook running Ubuntu Gutsy. I am using it to write this very article. It works extremely well, but, as you would expect, not every feature of the laptop is functional under Linux. This laptop has a g-force sensor. In Windows it uses that sensor to determine when to park the drive heads. In Linux this feature is completely unsupported. The fingerprint reader, two custom buttons, and the internal microphones are all unsupported. The internal memory card reader works, but has IO errors with some SD cards. The basic functionality of my laptop computer is all there with Ubuntu, but none of the weird special features are. Those weird and special features might seem relatively unimportant, but people want to use them. When they pop in a Linux LiveCD and a feature they use is not available, to them it is no better than if it hadn’t worked at all.

Let me now bring back my longest lasting Linux gripe, sound. Audio has improved a lot in Linux since I last blogged about it, but it is still the one department where I feel Linux needs the most work. Let us look at the sound card in my desktop as an example. It’s an on-board Nvidia/Realtek sound card. It can produce and capture analog stereo sound, and it can output PCM audio through the optical output. The basic functionality of the sound card works perfectly, and with some tricky configuration of alsa it can do a bit more. However, if you want more than that, just give up. I’ve been waiting for years, and there has been no improvement whatsoever.

Pretty much zero of the advanced features of the sound card are supported under Linux. Under Windows the sound card will mix, in hardware, all outgoing audio into a single Dolby Digital signal and send that out of the optical output. It can also do lots of other things involving the routing of sound to different speakers, or routing the PC speaker to the optical output. It’s actually quite incredible that the on-board sound card has more features than most home theater receivers. Regardless, only the most basic features of playing and recording audio function under Linux. Support for surround sound in Linux in general is complete shit. People these days have these incredible DSPs in their computers capable of advanced hardware audio processing, but under Linux they might as well all be Sound Blaster 16s. This is a case where we have a driver for a piece of hardware, and it works, but it does not implement every available feature of that hardware properly.

For one more example, let’s look at my scanner. It’s a CanoScan LiDE-50. It used to be completely unsupported under Linux, but it works now. However, it works like shit. Under Windows it scans very quickly, under Linux it scans slowly. Also, there are four buttons on the face of the scanner. Under Windows these buttons allow launching of the scanner application, or even taking the current scan and directly attaching it to an e-mail. Under Linux these buttons are unavailable. Sure, it’s nice that the scanner works, but the fact that it works worse than it does in Windows is not going to give someone a reason to switch. What we need to strive for is making the scanner work better in Linux than it does anywhere else. Not only should it scan at the proper speed, but perhaps the functionality of the buttons could be customizable by the user. Perhaps some open source scanning application could find some new and intuitive uses for those buttons and make Linux superior to Windows in even more ways.

When people try out Linux, they don’t care just that their hardware works. Even if Linux hardware support were exactly the same as Windows hardware support, many people would not switch. They have no reason to switch, because there is no advantage. However, if Linux actually supported the hardware better than Windows did, that would be something. Imagine someone putting in a LiveCD to find that their scanner scans faster. Imagine someone finding out that with Linux they can use the g-force sensor in their laptop as a theft alarm. What attracts most average people to Linux in the first place is its superior performance, stability, and security. However, those advantages will be overshadowed if someone finds out that they can’t do everything they used to do with the exact same hardware.

I want to conclude by clarifying that I am well aware that not all of these unsupported hardware problems are a result of incomplete kernel drivers. Many of these problems should be solved in userspace in one way or another. That is all irrelevant. What is important is that when you have a piece of hardware primarily designed to do function X, but capable of Y and Z, you can’t support just feature X and consider that to be satisfactory. Unless every single feature of a given piece of hardware is pushed to the absolute limit by the software, then the user is not getting everything they have paid for in that hardware. The failure to implement features Y and Z is keeping Linux back these days much more so than the failure to implement X. If there are Linux developers out there looking for things to work on, go back and take another look at hardware which is currently considered to be supported, and make sure that every single feature is supported 100%. If not, you’ve got some work to do.

This entry was posted in Technology and tagged , . Bookmark the permalink.

102 Responses to Linux Doesn’t Lack Drivers, it Lacks Complete Drivers

  1. Julian Tan says:

    Great article, and I totally agree. The challenge though lies is that the onus in driver development in the Windows world lies with the manufacturers of the devices – graphics cards, mice, usb devices – they all put out drivers for Windows and Mac.

    In the Linux world, the onus is all on the development community. Until we can convince the manufacturers that developing drivers for Linux makes commercial sense, then we will always be playing catch up.

  2. Harold J. Wolfe says:

    Wireless drivers are hurting. I understand that the latest kernel itiration has a bundle. Specifically, I’ve been crippled by the Ralink RT2500 driver.

    USB scanners are another sore point.

  3. David says:

    No, I disagree. Hardware support is improving all the time but there are huge gaps. USB dial-up modems are one example. For those of us without access to high speed internet, whether we be in the First World or the Third World, the ability to support modems is critical. It is a huge barrier to adoption, especially with the internet needed to download software from repositories these days if one is using a distro like Ubuntu or Fedora.

    Driver support for Lexmark printers is also terrible. The company themself offer some non-open drivers but these do not even install properly. Decent open drivers are needed for these.

    That is just a few examples of the huge gaps that need to be filled. :-(

  4. Aaron says:

    One thing you seem to be missing is the fact that without specs on the hardware, a lot of work has to be done reverse engineering things just to get even basic functionality. This severely limits the ability of the driver developers to implement your advanced features.

  5. Lack of support for advanced feature in hardware is a product of not having the full hardware specifications. It’s much easier to reverse engineer the core functionality than it is to reverse engineer the obscure functionality of a piece of hardware specific to a single vendor.

  6. Chris Done says:

    I like how Julian Tan summed up your whole article in one paragraph.

    Not sure why this was digged.

  7. Rodrigo says:

    That’s a great article … I totally agree with you. We Linux users are used to know pretty well how all our of gadgets, hardware, software works (at cretain level)work. The most common user will want to use the complete functionality of what they’ve paid for, if not he might think using his OS is a waste of money.

    Let’s not forget there are lots of potential users in the “micro-enterprise” sector, and as it goes they might pay less in a windows licence, but they print and scan slower, and this way productivity slows down too … and we loose more money.

  8. Yevgeniy says:

    I found this article an interesting read. I also agree with you on many of the points. The one thing I would like to point out is that, Linux has been pushing hardware to its limits for a while now. The real problem is that hardware manufacturers choose not to support Linux. They often do not even release documentation to the linux community to do their job for them. (Yes I understand that this can get complicated but some effort would be nice…Hats off to AMD and their release of documentation for some ATi graphics chips.)

    Another point to consider is the quality of drivers provided to Linux users. Graphics drivers never seem to perform as well under Linux as they do under Windows. As an example try running Quake Wars Demo under Windows and then try running it under Windows. (Yes there is some skew in a test like this. (ex. the Linux client might potentially be less efficient. But lets also try comparing an older game like UT2004Demo, Both the Windows and Linux clients have been tweaked and bug fixed beyond all belief.)

  9. Yevgeniy says:

    ***try running Quake Wars Demo under Windows and then try running it under Linux***.

    Sorry, missed that.

    Also this article might be of some interest:
    Ubuntu 7.10 + WINE vs. Windows XP =

  10. Charles Wilson says:

    As an old OS/2 advocate, I feel that this problem has gone on long enough. I used to run Lycoris and now run PCLOS and I still see the same ol’ same ol’. BTW, I also have a Canon LIDE 20 and the one advantage to running Linux on this machine is that I can immediately save it in JPEG format. Nice.
    The same cannot be said for my All-In-Wonder 2006 edition. It could be the 1812 edition for all I care.

    Lookit: The daze of old with the MS monopoly should be ending and the cozy relationships between MS and the running scared suppliers should also be gone.

    Can we just get some basic equipment to work properly? Is that too much to ask?


  11. Adam says:

    So true. This program plagues pretty much every piece of hardware I have, from the MX1000 to the on board card reader. This should really be addressed in the future.

  12. Cellanon says:

    @Julian Tan

    “Until we can convince the manufacturers that developing drivers for Linux makes commercial sense, then we will always be playing catch up.”

    You can’t even get companies to write decent Vista drivers before Vista’s release. So that’s a non-argument, I’m afraid. In addition, the problem with the onus of making “the community” do the work is that they can only do the work when provided with proper hardware specifications. Otherwise, you end up with the current situation of “half-working” or “not quite complete” drivers, because reverse engineering can only take you so far in many cases.

  13. Matthew Conolly says:

    You’ve managed to hit apon the very issue that most people dont realise they have.
    Now its time to get some momentum going

  14. VELAYO says:

    I totally agree with your article. As a matter of fact, I tried ubuntu recently on my macbook and the fact that the hardware wasn’t fully supported forced me to stay with osx. Using the touchpad was a nightmare and made the most simple task almost impossible. I even did some code tweaking to get the proper resonse from the hardware and still got the same result. I don’t believe the issue is with the hardware makers, it has more to do with, as you pointed out, the situation years ago when finding a supported piece of hardware was a full time job. Back then the priority was to get as many things as possiblee to work, but know that hardware support is as good as can get, full hardware support should be the new mantra.

  15. You seem to think that the goal of Linux is to get people to switch from Windows. That simply is not the case. Ubuntu has that goal, but not Linux. I suggest that you take all your valid points and file individual bug reports for each one at the Ubuntu Bugzilla (Launchpad). Here:

  16. Albert says:

    This is a very complicate problem, some hardware also have copyrights inside them that keeps good drivers away from linux. Some software vendors will never sell (for example photoshop) linux applications because there’s not good hardware support and (for example scanner developers) hardware vendors will never create linux drivers because there’s no software to use with them.

    A good start point is let people who doesn’t need these kind of advanced functions (for example my aunt, or my boyfriend), people who only use computers for mail and navigate, work pleasantly with linux (this is a big amount of users), and then people will realize that windows is too expensive only for mail and web.

    (A lot of people doesn’t care about software freedom, but if they use ‘free’ software linux will grow up)

  17. Mark S says:

    I think as users who want Linux to succeed we shouldn’t be wasting our time telling the development community that there is more work to do. They know this. But most of the work can realisticly only be done by the hardware manufacturers themselves.

    It really is our own responsibility to buy and promote hardware from companies that publicly release their own drivers or at least all the techncial documentation on their products.

    If you can make your proprietory hardware work at least halfass with some hackish drivers then that’s great, but there’s no point in telling the development community that they are the ones who need to do more work.

  18. Max says:

    Let me throw an analogy here and compare this to the situation of poor people.
    If you’re homeless and starving, you’ll first going to worry about eating and getting a roof over your head. Only once you have those you can then move on to other things that are outside the sphere of survival. One is not gonna think about about going to the dentist when he or she hardly has any money to survive everyday…
    I believe we have just gotten our tummies full linux-wise, and the time has now come to perhaps worry about how we look and how to do things better, since we don’t need to worry anymore if there’s going to be any food on the table tomorrow or not…

  19. Marco Rucci says:

    Yes julian, but the manufacturer should develop open source drivers for linux otherwise the “linux community” will flag them “restricted” and will warn you to install them. They aren’t restricted in functionality but in modificability of the source code.
    I’m using ubuntu 7.10 right now, and i have a strange sensation… oh yes my nvidia restricted drivers are trying to take me to hell… nooooo, help me, i feel not pure because my sources aren’t all open (?) …

    Compliments for the article

  20. paul says:

    (srry, but tl:dr as most linux drivers are its the samne thing (iff you arent trolling(if you are , i proved my point) yess that include you gramarnazi’s)
    if so you prove to update semi-outdated hardeare **clapps spuraddicly* and im waisting my time here as sutch by the 1 post ether/or tl;drwtf why are you here if not the same poster troling

  21. Thomas says:

    Indeed many windows ‘features’ are an application that is dongled to a specific piece of hardware. ‘Instant scan to mail button’ is a background application (which slows down your system), not a hardware feature.

    The bright side is that when Linux implements something new there is no need to buy new hardware ‘just because’ it brings the application with it – the application is there, independent of the hardware.

  22. jake says:

    “If my experience is not uncommon, why is there still a common perception that Linux lacks hardware support?” Maybe because your assumption is wrong. “If you take the newest version of Ubuntu Gutsy Gibbon, you can install it on just about any standard desktop PC, and it will work. The video card will most likely work just fine.” In my experience, that is false.

  23. Stephen Lewis says:

    Very good points – I quite agree but I do feel there is another obstacle in development of drivers for Linux and that is hardware documentation – a lot of companies will not release information on how exactly their hardware works without payment, if at all, and hence open-source developers are left to implement generic functions in the hardware – usually the core aspects of its functionality. Admittedly this does not affect vendor released drivers but for a fairly high percentage of hardware there are no vendor released Linux drivers. Perhaps if hardware manufacturers were willing to release more information about their hardware to developers freely more features could be made available.

  24. damaki says:

    I think the problem lies in what people expect from Linux. On Windows, people expect that hardware will work once they installed the drivers and proprietary apps. On Linux, they expect that it will work automagically, and even more with the Ubuntu side of things.
    It’s no magic. To make your mouse buttons work, you have to install software. To use the advanced sound routing functions, you have to set it up, just like you were doing in Windows. To make use of you keyboard multimedia keys, you need another program.
    Sure, it’s a pain to install software, but most of these will work flawlessly once you installed the adequate things. You could still bitch about the text files configuration and you would be right, though that’s not the point here.

    Don’t expect everything to work in a breeze, because even in the magic Windows operating system, it does not.

  25. Xaviour says:

    The reason there are so many articles complaining about the lack of linux driver mostly stems from companies using enterprise linux distribution like RHEL or SLES.

    Contrarily to desktop distributions like Ubuntu or OpenSuse, the enterprise linux distributions use old kernel versions that lack drivers for modern hardware. The difference at a given time can be up to 1 year delay.

    Small companies that buy their machines from local assemblers instead of big names like Dell to get more bang for their bucks are at risk of ending without drivers or non functional drivers (like the on board Attansic Gigabit Ethernet on new ASUS motherboards).

    So companies are forced to choose between losing support for the proprietary tools they are forced to use (not using an enterprise Linux distribution), paying too much for their hardware (machines based on older hardware is about as expensive as machine based on newer hardware) or ending up having to micromanage their hardware (compile drivers by hand or add an extra Ethernet PCI board).

    Companies do not like this situation and they complain loudly about it. The fancy features you describe (except the g-force sensors) are not fundamental to enterprise customers so there are not so many articles speaking about them.

  26. james says:

    you are aware that the reason some drivers are incomplete is the EXACT same reason that some hardware is unsupported? poor/nonexistent documentation from the manufacturer or vendor-supplied binary only magicware that is incomplete for linux deliberately.

  27. lorg says:

    I agree. I started using Ubuntu about a year ago, and sometimes I do get the feeling that I’m missing out on my hardware.
    It’s not even that I’m not getting my money’s worth from my hardware, it’s more that I want some features that I just can’t have.

  28. Erik Andrén says:

    You make a great – and a very important point.
    The problem lies within that a lot of drivers for Linux are reverse-engineered, which due to the natural complexity of this operation makes the feature-set more incomplete.
    Another aspect is that the kernel developers focuses on delivering mechanisms not policies, this means that the user-space applications need to have better frameworks for displaying and abstracting the underlaying hardware to the user. Such an undertaking is long and hard and there’s much trouble to find the right way ™ to do things. I do believe that Linux and its userspace tools are doing things the right way by trying to conform different hardware devices to a common interface instead of that the device manufacturers supplies its own (often hideous) UI. Look at all the 3d party network-managers that exist for windows, look at all the awful audiomanagers that replace the normal audiocontroller in windows.

    All in all, It’s taking a bit of time but we’re slowly getting there.

  29. Nick Lamb says:

    “they might as well all be Sound Blaster 16s”

    Of course you don’t realise this, but the SB16 was a much more complicated piece of hardware than your generic onboard sound chip. There’s a hardware FM synth, and support for a full MIDI synth daughterboard, plus an analog joystick connector.

    Your onboard sound hardware doesn’t really have any interesting features at all, as with your mouse many of the advertised “features” are just driver tweaks that ought to be part of the userspace. There’s no “powerful DSP” in that sound card AFAIK, all the heavy lifting is done by your CPU.

    Sure, Windows makes it appear to have a synth ? You can install one for your Linux distro too, but I’m afraid it’ll work just as well on anyone else’s cheap sound card. Did it say it had 3D surround mixing? You can do that in ALSA too if you like but it’ll use a lot of CPU.

    There’s lots of examples of this in the PC world and for that matter on Apple’s Macintosh lines. Hardware RAID? Not really, just a BIOS tweak, use Linux software RAID. Volume control on an iMac? There isn’t one, it’s emulated in software. Since most people don’t get the source code for their drivers they can’t tell the difference between “We changed the driver” and “New, improved hardware” and the latter certainly sounds like it’s worth more money, doesn’t it?

    None of this should be taken to mean that you’re entirely wrong-headed. There’s always more work that could be done to improve drivers and userspace support for hardware. But very little of that work is in the Linux kernel these days.

  30. Raphael says:

    Aye, great article, and I agree as well (even though I’d like to have my webcam supported at all). However, you should remove the two occurences of ‘shit’ as they don’t fit into the otherwise well-written text and kind of alienate the reader.

  31. NoWhereMan says:

    I tend to agree with the “Complete driver” thing, but I tend to disagree on some of the contents.

    I’m the unlucky owner of a laptop having a very low-end motherboard (VIA) and graphic card (Unichrome) and still they suffer from bugs and quirks.

    Poor quality HW? Probably; anyway the MESA driver lacks a maintainer, so no compiz for me. Who cares? Yeah, who cares, the most important thing is stuff to work.

    The laptop need to boot with kernel parameters or some (integrated) peripherals won’t work. USB or Wireless: choose, depending on which I have to choose different parameters.

    How having both? irqpoll, but with Gutsy kernel irqpoll is unusable, the system becomes very very slow.

    So the point is not low vs. high end, but of course you got the point: we need *complete* drivers, not *many* drivers :)

    (BTW, beside the rant, at least my PC somehow works… feisty kernel :P)

  32. someone says:

    I think you hit the nail on the head. If drivers are written by the “scratches my itch” model, they are by definition incomplete. Given the current development style of the kernel, manufacturers won’t write drivers. I cannot even say I don’t understand them…

  33. Bragi Ragnarson says:

    Buying new stuff for one of my Linux computers is quite simple. I just look at compatibility and pick components that have Linux support. This usually means I have to skip entry-level offerings and go for higher priced but also higher quality items. But once I get one of this things home it just works and I can use it with my favorite apps.

    Now when it comes to those high-bling-windows-only thingies with multiple buttons and super drivers… Installing any of them on Windows is PITA. First you need to put a driver CD for windows to recognize it. Often you have to put CD and install a pile of crapware EVEN BEFORE actually connecting the hardware.

    In addition vendors doesn’t just provide standard driver, invisible to end-user but allowing all applications to just use the hardware.

    Instead they provide you with their own application that you should use exclusively. This application is user unfriendly, requires at least one tray icon and hijacks all your file associations.

    In the end your windows looks worse than Christmas tree with all those flashy blinking icons and ‘drivers’ – as you call them. Plus work on such system is almost impossible – all those resident applications make system slow and unstable.

    Which brings me to the point: you want bling-bling? Get windows, install any hardware you want and loose your productivity and spend most of time on maintenance.

    If you look for quality instead of flashy look you will get all Linux support you need.

  34. James White says:

    Good article and I agree with most of it. But… Who cares if a windows user switches? In fact, if every windows user in existence switches to Linux, what good would that do the Linux community? (Well, it would cause manufacturers to make good drivers, I guess, and that would be a good thing). But mostly we would wind up with a bunch of Icon clickers, surfing as root, and adding nothing to the community except a desire to make things ever simpler – i.e. lets get this Linux thingie dumbed down to where we can use it.


  35. Mr Zarg says:

    hmmm,I think you may be missing the point, Many device drivers are incomplete because of companies strict non-disclosure agreement and fear of open source ‘ideals’. Most driver developers, who in a large part are unpaid programmers, spend most of their time reverse engineering windows drivers, and practice which is time consuming, ad in the new climate of the dmca increasingly illegal :-(. When buying hardware you need to do your homework first, you can’t just go a buy stuff from companies that do not want linux running on thier hardware. ATI is good example, driversupports allways been crummy, but it took AMD to see the light and start making drivers!! :-)) , so I as a consumer will now consider ATI for my linux system.

    My laptop is not bleeding edge, it’s IBM, and everything is support under LINUX. IBM..linux thinking company! Good quality hardware, linux runs well on it. You’ll find linux developers write drivers for stuff they actually own, so just because you got some brain dead broken motherboard, dont expect linux to run ot it!!! in fact I’d prefer if it did’nt.

    maye you should write to all the companies and
    ask them to either

    a) release open source drivers for the hardware
    b) release programming and specification details,
    so driver development is much faster and easier
    for linux developers.

    To sum up, you are a consumer, you have buying
    power, do you home work, don’t buy hardware
    that is not well supported. simple!

    These companies will soon get the message.

    13 mouse buttons?

    Bios that you can overwrite while the OS is
    running? did someway just say rootkit?

    just because it has more features, does not make
    it make a good idea.

  36. Stavros says:

    I must agree with Julian. It’s simply infeasible to support every device on the market the way the manufacturer expects it to without the manufacturer writing a single line of code. The trouble is that in the typical user’s eyes if a device doesn’t have a driver for Windows, it’s the device’s fault, but if it doesn’t have a driver for Linux it’s Linux’s fault.

  37. Penguin Pete says:

    I agree with everything you say, but, incidentally, I was kind of rolling when you brought up USB laser-guided 13-button mice and fingerprint readers. These are devices that I’d be cautious about buying for fear of lack of support, regardless if I’m running Linux, Windows, FreeBSD, or Plan Nine from Bell Labs (and I have all four!). You can have support issues on any system. I once lost a fight with Windows years ago when it insisted that my CD-ROM didn’t exist, despite my just having re-installed from it.

    It’s little wonder that advanced hardware like your example is lagging behind in support when 97% of the users out there don’t own such a device.

    Still, one must tackle device support with fiery zeal. Onward, Linux, until you support every feature of everything!!!

  38. Christopher H says:

    I agree, both with the article and Julian.
    And one problem is that the manufacturers don’t develop drivers for GNU/Linux. But the “absolute solution” isn’t perhaps to “make” the manufacturers develop the drivers (the problem is to convince them that there’s an commercial “gain” in it [and there is]), as some will still refuse. As the Linux Community has many good developers that (hopefully) want to develop full-functional drivers (that’s much better than those for Windows), “we” can develop them. But it’s not the easiest thing to do. What the developers need is “specs” from the manufacturers that can help the developers in how to make the drivers “talk” with the hardware and take advantage of all it’s functionality, to the fullest.

    I KNOW that we can get drivers (and other software) that beats windows-drivers (and sw) with “”horse-lengths””. We can do better!

    That’s just my humble opinion!

  39. dsd says:

    Indeed a great article though I want to add some additional information. There actually already *is* hardware that works better under Linux than it does under Windows (only experience up to XP here). For example the network multifunctional printer of HP we have here, works better under Linux (and Mac OS X) than it does under Windows. Installation of the drivers under Windows was a hell and the printer does not yet fully work under Windows XP while I have no idea why. Under Linux every feature I need works (the printer is not connected to the telephone network and we don’t need the fax feature anyway, though AFAICS the fax feature also should work).

    Another example is a simple network card. Under Windows XP you first need to install a driver…which is a problem when you don’t have the driver CD any more. The solution was to boot the computer using a Linux Live cd and download the Windows driver to an USB stick and then reboot to Windows (it’s difficult to download a driver under Windows when the network is broken ;-) ).

    But that said, I totally agree that there is still room for improvement in some areas. I’m sure that in a few years Linux will have better hardware support in all areas than Windows.

  40. Bill Gaits says:

    IMO it’s more of developers would just rather work on more interesting things like adding bloat to linux than completing what they start.

  41. Sean Deverell says:

    There are actually very few drivers for Mac. In fact the only way to use OSX is on Apple’s hardware it is very difficult to get OSX on to a PC. I can’t even get drivers for my Creative X-Fi on my PC for Linux. I don’t want to use some second rate open source ones that 3 guys spent a weekend on and slapped it on source forge. I want Creative to make them. So until all my hardware is fully supported I’m not making any switch.

  42. she says:

    “If my experience is not uncommon, why is there still a common perception that Linux lacks hardware support?”

    I think what you should not forget is that there are
    a) different people saying this or that
    b) WHEN someone said something

    In my experience, people do not regularly say this these days. But it was very common few years ago. The Linux Kernel as such, IMHO, has improved, different to what many others say (I compile the kernels on my own too btw, i dont want to rely on Distributions… had too much negative experience intogether, mostly because it takes too LONG to just wait, while on my own I can decide for myself when to switch, learn more this way and ironically have less problems afterall, after an initial learning curve…)

    It is rather long that, in the communities I participate in (mostly smaller distributions, and some communities around the Ruby language), a big factor and grieve with Linux as a whole is not so much the device drivers or similar. In fact, for myself, I lately just compiled sane-backends and sane-frontends, plugging in my USB scanner, and could scan (sadly not directly to a .png file, but I hope the libsane guys will allows this one day… its a little annoying to convert it on your own with imagemagick for example. Anyway)

    We should maybe split the concern of people. I cant speak the least for server guys, nore for the enterprise suits (whose PR annoys me to no end… every year they shout loudly that this will be the year of linux on desktop blablabla but they rarely try to tackle problems with ACTION and CODE, but instead add more and more complexity…) but I *am* able to talk for the Desktop Users “community” (I am one of these Desktop Users, although my Linux machines are servers just as well… its just not their main focus)

    This was a bit lengthy so far.. lets come to my point:

    I believe the biggest problem in Linux as a whole is the Multimedia stuff, followed by technical annoyances (I love the Gobolinux way, it makes a lot more sense than the FHS, but the old nix gurus will never ever change at all).
    Many had the grief with OSS vs Alsa… there is the annoying codecs “solutions” too (which disappears almost completely if you compile mplayer from source and use the essential codecs packs, and I heard even Realmedia will be supported via a Google Summer of code soon…)

    Then there is this NEVERENDING story of Video stuff on Linux, like ATI or Nvidia closed drivers, as far as GAMES are concerned.
    (Also, Linux lacks more quality games such as wesnoth, but this is another topic…)

    My windows-using friends are all buying expensive games, and this is THE biggest issue – if they cant run their games on Linux without a problem, they wont switch. Openoffice may win over the MS Office guys, but whats about the Gamer community?

    This better drivers and better complete drivers, I agree, its a step in the proper direction. But its only a small step…

    Your article is really nice and I hope people will not be silent and instead beat the guys that speak against it on their head over and over again.
    If we dont bitch, and bitch more, they will only cater to the enterprise needs, enterprise which put people with big egos such as Mister Dr*pper into so important areas whereas the community guys get hardly heard anymore…

    If you cant win the community, the enterprise world wont succeed. (Linux as a whole is already so fragmented, the distributions have, instead of solving problems, added to the problem)

    BTW I also think Linus should envision a way for the DESKTOP users to use their computers. Yes, it may not be perfect, and i do NOT say he should say WHAT you should use, BUT he should support a CLEAR way from the Kernel onwards to say what WOULD BE GOOD.

    The reason why Linus should say this is, because no matter what he flames, he is still the real community hero. ;)

  43. marcos says:

    I too find audio support in Linux to be most disappointing. Even managing to get the audio through the spdif output, it still sounds enormously worse than windows. And I’m listening to music all the time, so it’s really frustrating.

  44. Yohan Fidzri says:

    Well said… It’s more of manufacturers wasted too much time on Windows forgetting there’s other OS out there. Even on OSX with free Xcode development kit is still lack of hardware support from manufacturers.

    Hopefully the change of direction will be soon…

  45. Jukka says:

    True, that’s how it usually is. A lot of critics never ask this question: do operating systems support devices, or do devices support operating systems? In the case of Linux, it’s often like the former, but we could also expect Linux drivers from the device manufacturers. Currently, between the two is the team that has promised to work on Linux device drivers for companies, for free. It seems I can’t even find them on google right now, though. It wouldn’t probably even have to be open source, and so the developers could get proper instructions and specs from the manufacturer, which could, hopefully, lead to more mature drivers. Maybe even perfect drivers.

  46. Fawn says:

    I agree 100% .

  47. LudoA says:

    I completely agree. Besides some well-known exceptions (ati, wifi) Linux supports most hardware. These days that’s no longer a problem for me. The problem I do have is indeed the same as yours: support for all features. I hope Greg K-H picks up on your blog.

    Thanks for blogging this.

  48. Robert says:

    “In fact, Linux drivers are among the best in terms of stability, security, and performance.”

    Totally untrue. There hasn’t been a Linux video driver yet that was as good as it’s Windows counterpart, *especially* in performance.

  49. No question about it, you are correct in your assertions.

    For the ex-Windows Linux adopter, full of hopes for a new OS free of limitations and chock full of flexibility and features, this can be a jarring experience. Why? Because he/she has come from an environment in which it should be said, the greater majority of stuff just works – even if at an unacceptable cost.

    My own $0.02 worth is that to get Linux REALLY cooking with gas is a lengthy and complex endeavor. To get Gutsy minimally functional is a breeze, basically clickety-click a few times and you’re done. BUT adjusting your environment so that you’re working on a par with expectations from the old environment is a daunting task for all but the technically proficient.

    Conclusion: There isn’t one really, everything hinges on why the user is installing Linux. If it’s full featured, no-compromise usability that’s needed (and I’m not being a troll here) then buy a Mac of some kind, and then you know that stuff will work, and – just like Linux – there’s a mind bending assortment of great software available, some free some non-free. Most importantly, drivers work, don’t lack features, and don’t give the user headaches. A Mac interface is also simply “damn gorgeous”.

    That said, such beauty (in hardware terms anyway) comes at a price, but once again much depends on why the user is departing from the clutches of the Borg of Redmond.

    Peace & Love y’all!

  50. Ola Dimeji says:

    Extremely well-said! I couldn’t agree more. As the previous comment indicated, until you can outdo Windows in audio – for example, most people will backslide…

Leave a Reply

Your email address will not be published. Required fields are marked *