I think the real issue here is hardware that just works. And the main missing part, that it
must work *well*.
My ATI Radeon Mobility X600 has been a PITA for the past 3 years... Yeah, I've got everything
working but compiz never didn't work until now and suspend/hibernate never worked. I felt
dissapointed because it worked, but my system didn't perform as well as I expected.
I've got a logitech notebook webcam that performs pretty well in windows but not in linux. The
reason? The light conditions are not handled by the linux driver. So, in a simple application
like gnome Cheese, I don't see anything or got everything too bright. Yes, it works, but it
doesn't work *as well* as expected again. And it performed poorly because my xorg.conf didn't
include XV overlay as default. I had to figure that out, after reading some docs...
For a hardware to work, there is a need for a driver. That's being covered in kernel or
userspace; and I'm thankfully that I don't need to worry about installing drivers, just plug
it in and it's automatically recognized. That's amazing!
The issue is that it doesn't work always well. Many times the windows "driver" installer puts
a lot of extra software that its needed and it's missing in linux. Or the linux port is far
away of being comparable to the windows port, or it's too complicated to get the "useful"
The hardware needs more than a driver for proper support.