Why Some Hardware in Your Computer Doesn't Work With Linux
I read a comment on a popular blog site today where people were complaining that Ubuntu didn’t work with their computer. They’d tried a few different versions and it still didn’t work. Of course, they blamed Ubuntu, not the hardware provider.
Some complained about sound or video or wireless cards not working. I’ve had issues with RAID cards not working beyond a basic level; JBOD only, no RAID support. In the old days, the complaints were with modems (win-modems) not working.
In their mind, Ubuntu wants them to switch from the other operating system and needs to do whatever it takes to support that. Clearly they are confused. Ubuntu has very little to do with which hardware is supported. Very little.
It doesn’t matter that their hardware is fairly popular with 100,000s of units sold. Ubuntu is basically a middleman. They get Linux and drivers from the wholesale market … debian or kernel.org and package it up with lots of other things to be pretty, flashy, then release it to the world. Sometimes they make special effort to support proprietary hardware drivers, especially for the two large video card manufacturers.
At this point, basic support for general hardware in Linux is working. That means Linux can generally handle most hardware that follows old industry standards and will work “good enough” for most. However, the last 20% of the capabilities built into the hardware aren’t available without specific linux drivers.
For sound cards, that means the stereo output works, but the SPDIF doesn’t. Many of us are willing to work with that limitation, provided the rest of Linux works.
Imagine you spent $400 for the hot new video card and install it into a Linux machine only to find that DirectX11 isn’t supported, and will never be supported. If you’re lucky, OpenGL drivers exist for the card and have been optimized enough, although they will never be fully optimized for a non-Windows platform. That could be a show stopper for a commercial graphics creator, but a home user will probably just wipe Linux and install Windows7 to get the latest, hottest drivers.
If the upstream vendors don’t add support for the hardware, then it is up to end users to add it. Scratching an itch, as it were. Scratching an itch isn’t easy for most people, especially when the hardware manufacturer doesn’t help, or worse, actively hinders hackers by refusing to release specifications. For years, nVidia and ATI refused to release any specifications for their video cards. Basic video card support only worked because VESA modes were published and worked. I don’t believe they are releasing their specifications now either, but they do make available proprietary drivers for popular Linux kernels.
So, new non-technical Linux users don’t understand that the hardware providers don’t really want to support Linux. There’s very little money to be made in doing that especially when compared with Windows numbers. It simply isn’t worth their time until enough pressure is applied or a company insider risks their career to push Linux support. Heck, providing pin-out specifications may be all that is needed to help the Linux community create much better drivers for your new hardware.
So, the next time you are trying Linux and see that part of your computer doesn’t work, try to blame the right people. That would be the hardware and chip makers, not the Linux or distribution teams.
Another work around that I’ve used is to run Linux inside a virtual machine. That way, the host OS deals with all the hardware drivers and the VM just has to deal with the virtualized hardware drivers which tend to be well supported by all operating systems.
Trackbacks
Use the following link to trackback from your own site:
https://blog.jdpfu.com/trackbacks?article_id=401