People often say that although Linux has made some major steps forward lately it still can’t beat Windows, especially on hardware recognition.
But, this is not (always) true. Windows itself isn’t very good at supporting hardware, it’s even not very flexible. For example, when you move your harddisk containing the Windows installation to another setup it won’t work, or give at least a lot of trouble. The reason why so many things work is that all hardware manufacturers write their own drivers, because without support for the most poplar operating system they’ll go bankrupt, because way too few people will buy their products.
When a new hardware component is found in Ubuntu it will work or you’ll see jockey(Hardware Drivers) pop up, which will ask you to install restricted drivers. Unfortunately there are some products that don’t work with Linux, but that’s mostly because they’re very obscure or closed. It’s very hard to support all devices available, Microsoft can’t do that too.
I’m using temporally a RaLink RT2561/RT61 802.11g PCI for networking. It gave some problems in earlier versions of Ubuntu(read: before 2.6.24), but now I’ve got hardy installed it worked right after I booted. All I had to do is to select the right network.
However, on Windows it didn’t work. I had to download the drivers from the Internet(which I couldn’t do, I needed to get the RaLink working first before I could look the drivers up at the internet) or install them using a diskette or CD. I couldn’t use a diskette, since RaLink doesn’t provide diskettes, but I also couldn’t find the CD. You could say that it’s my fault and that to get things working in Ubuntu you sometimes also need to download the drivers, but a fact is that things work more often out of the box in Linux than in Windows when they’re not closed. And it’s not the only thing that required more action to work. At another computer that’s running Windows there are problems with the front USB hub. Windows keeps asking for drivers to install and they don’t work for all things.
And you’ve got the screen recognisition. Before X 7.3 things were better in Windows. But now I think you can say that X has beaten Windows. I’m using temporaly a new screen with a different ratio and lower resolution and when I boot Ubuntu for the first time the resolution was adapted. Unfortunately the maxmimum resolution wasn’t detected properly(https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/180601) so the resolution is set to 1024×768 everytime I boot, whereas the monitor can handle up to 1400×1050. But I can solve that easily by changing the resoltution in nVidia’s configuration utility.
When I booted in Windows the screen resolution was lower than I had set it, since my other screen can handle higher resolutions, but still in the other ratio and my screen had black space at its side, which I didn’t have with Linux.
And there is more. When you connect an USB stick to the computer that hasn’t been connected to it before Windows needs to do all the hardware driver checking again, which happens everytime it finds a new piece of hardware. This takes some time.
However, when you connect that same USB stick to Linux it just mounts normally.
And there are other things, but that’s more a lucky coincidence. For example the way Linux handles digital cameras. When you want to import photos from your camera on Windows you’ll probably have to install the huge suites provided by the manufacturer. But on GNOME you have the slim program GPhoto, which can be used to import from any camera. There are also other ways to import photos on Windows, but they don’t work very easy or out of the box. So at the end you’ll have more free space and an easier way to get your photos to your harddisk, exactly the way you want them to be and the same way for all cameras.
The conclusion? I think that the only reason that Windows has better hardware support is that the hardware producers are begging to be included in Windows. All of them write their own drivers for Windows, a lot less also for Linux. But when the hardware is actually supported by Linux, which is improving a lot, it works better and faster than on Windows.