If you want to run Linux one of the major things that you need to realise that some hardware vendors just realy suck.
ATI sucks. Broadcom sucks. There is nothing anybody can do about them sucking except broadcom or ati. It's not likely that they are going to change any time soon.
There is nothing that Linux developers can do anything about. It's not a issue of making it easier for proprietary drivers either, because proprietary drivers are a source of instabilities, software bugs, and installation hassles.
Every major OEM vendor will have racks and racks of their machines in testing rooms for Windows compatability. Massive amounts of money is thrown at those things.
So in order for you to get the same level of support in Linux as in Windows you either have to pick the hardware out yourself or, like anybody normal person, purchase the hardware from a vendor that supports Linux on those configurations.
People are starting to use Linux more and more on the desktop. That is why companies like Dell are going to start selling and supporting Linux with PCs in those configurations.
Beleive you-me they are not going to be selling them with ATI video cards and they are not going to be selling them with Broadcom wireless devices.
Were Linux desktop is suitable today is for business environments. Places that have a small handfull of people knowlegable with Linux. They will do things like customize user environments and deployments so that people will be able to use pre-configured GUI systems with little to no training.
Linux will work at home environments were the person is or can depend on somebody who is familar with Linux to set it up and occasionally show up to solve the odd issue.
But the major problem is that the infrastructure for Linux support is non-existant. Nobody at ISP telephone support is going to be trained to take care of hooking Linux up to a cable or DSL linux.
There is no 'geek squad' for Linux. There is no brick-and-mortar stores were you can purchase Linux desktops or laptops or anything.
Linux could have the best hardware support in the world (which it currently pretty much does. Much better then Vista), but without the support elements in the community then it's _just_not_going_to_happen_.
For Manufacturers to get Linux support for hardware is very easy. It's usually much easier nowadays to write a Linux driver for a peice of hardware then a Windows driver. But because Windows is the only suitable and usefull desktop for most people at home your simply not going to see companies spending resources on this.
How Linux is going to enter into people's homes is in two possible ways:
1. custom hardware devices.
Linux on cell phones. Linux on PDAs. Devices like the Nokia N800 and things like Linux support for the PS3. Embedded devices. Most people that use some form of backup will use something like a external drive or NAS device. Most of these NAS devices run Linux or FreeBSD. The XO laptop (aka 100 dollar laptop) is another example.
Intel recently dropped it's retail marketting of the Windows-based UMPCs in favor for smaller Linux-based 'MID's.
Devices like phones and other handhelds are rapidly increasing in complexity and capacity while Linux and supporting software is being refined to use less resources and be more flexible.
Java will probably be open sources. Development tools based on the Eclispe IDE framework for many languages are starting to be compared very favoriably with Microsoft's own Visual Studio tools. Some people even considure them now to be superior, especially for large scale and distributed development systems. (personally I don't care, I still just vim for whatever I need)
2. Business adoption picks up due to the low cost of support, high customizebility, and other such things that Linux may have over Windows for certain people.
If people start using Linux at work they will start needing Linux at home.
The simple realities is that with the current culture regarding PCs Linux is only suitable for home use for people who realy desire to use it for whatever purpose.
It's not difficult to figure out why the proprietary drivers for Nvidia are crapping out, for example. You just have to know how to use the system a little bit first.
Ubuntu's major problem right now is Quality Control. They suck at it.
With this release they did ******-tastic things like get suprised by a bug that stopped jmicron drivers from working with a massive number of motherboards.
They only had the RC out for a few days before the final release. This is _not_ enough time.
They have seemed to start to be figuring this out. It's one thing when you have a lot of excitement about the potential and ease of use around your project driving things forward... it's quite anough when you do end up generating a massive amount of attention from people who never used Linux before and you get a massive amount of poeple to try to use it on the first week that a new release is aviable.
The next release should be a lot better. They've stated that next time they are going to concentrate on stability and refinement then new features, which is a helpful attitude.