yeah ndiswrapper works but the things you run on linux usually won't work (or work correctly) with a windows driver
The problem with Linux is marketing. As it is completely open-source, therefore non-profit, there is no budget for advertising and marketing. Microsoft on the other hand can pump billions of dollars into making Windows the most widely spread operating system on the planet. If Linux was advertised as much as Windows, then it would be the OS of the gods, as popularity drives progression. This then feeds back into general use. As the majority of PCs use Windows, software developers primarily target Windows. Windows has its graphics 'library' called Direct3D (in DirectX) and it will only run on Windows. And as the software developers target Windows, they use DirectX. This means that those games will not run on Linux and the hole gets deeper. OpenGL, I hear you say! Well, OpenGL is also not funded. And with some clever/brute Microsoft propaganda, games developers were conned into thinking that Direct3D was better than OpenGL (which it wasn't at the time). And positive feedback just kept that cycle going. The final part is the consumers themselves. As most PCs have Windows (understand yet? ) most consumers are used to Windows. There is a reluctance with the technologically lacking general public to try something different, something dark and powerful, something shrouded in mystery. "Windows is what I use and what everybody else uses, so why should I be the black sheep and go for something that might work? (and anyways, what is this Linux thing?)" I speak from experience. Linux used to be a terminal driven OS that compared badly for the consumer to Windows. But now, Linux has a full GUI, equal if not better to Windows, and the terminal is only for tech-geeks who want to do things more efficiently. Or just for the people who don't have a mouse I mean, does Aero have the desktop cube? Or wiggly windows? Or even an inbuilt program installer/manager? No? Linux has. See here for more information on OpenGL and Direct3D.