Sometimes, when we buy new hardware, we always have a perspective that the new thing will work flawlessly under Linux as it does under Windows (since the vendor supply the required driver). The problem is that most vendor is not willing to share or publish their specification for their products, resulting to a broken or unusable devices when being used in Linux. Thanks to lots of people (mostly are hackers, not crackers), they tried to make some magic by doing some research (perhaps reverse engineering) and make the driver for that device.
There are lots of reference to consult with before you buy new hardware. For example, you have LinuxHardware, Mandriva's HCL and many more. You can also check Linux Driver Project to see some devices that still doesn't have a driver. You can use the information to help you decide which hardware should you buy. Most of the time, the availability of a driver is only a matter of time. Soon or later, the driver will come up. Most of the problems is sound card. My friend also had a problem with his new Lenovo laptop which can't produce any sound (it works well on Windows though). Few days ago, he installed Mandriva 2008.0 and the sound card is detected and sound is available. He was very happy with it. It only took 1-2 months to get the driver available in ALSA Project.
The power of community is very dominant and absolutely amazing. Sometimes they don't get paid for doing that, but they do it for fun and hobby