Desktop Linux is a great operating system for those who have put in the many hours needed to understand its quirks. It's a great operating system for people who never so much as install a new sound driver. For the remaining 80% of users it's a usability nightmare.
Hmm. Well, Linux is not a desktop OS, it is server OS, on which you can also run a graphical desktop - which you can, incidentally also run on other architectures; I have heard of various X desktops, even for MVS, although that may have been an urban myth, as I have never actually seen one. In UNIX, the graphical desktop and the applications that go with that environment are only applications - together you can them a "sub-system", at most. I don't like the way the GUI layer in Windows seems to reach far down into the OS; a lot of the irritating things in Windows, as well as the many problems over the years, have their roots in this.
As for your "80%", who you claim have a nightmare installing sound drivers, I simply cannot recognise that. It has been years since I had to do anything to get my HW to work. Graphics drivers seem to have been the main problem, but then you download and install something from the OEM and follow the instructions. I'm not big on sound - I use it occasionally, and it just works for me.
This, in turn, means it's all but impossible to provide a simple, straightforward instruction to a user for how to do something with her machine. Even something that should be dead simple. As soon as a user has to modify a config file or open a command prompt that's a huge roadblock. And no I'm not saying "be like Windows". That implication is a cop-out.It's not about doing things the way Windows does them, it's about making it "just work", and when it doesn't offering highly intuitive graphical interfaces for changing the way it works.
Really? I mean, really? In UNIX, you open a text editor, any text editor, and often the config file in question has embedded instructions; and when not, there are several places to find instructions - there's even a command line manual in most cases. KDE, and I believe GNOME as well, have GUI interfaces to most of that stuff, but I find I prefer the command line, not least because once you have learned how to do it in Linux, you automatically know most of how to do it on BSD, AIX, Solaris, HP-UX, etc etc etc, whether it is X configuration, user database, networking, filesystems or whatever. Comparing to Windows, I find that I have trouble finding my way through Control Panel from one release to another, because they change the layout, the names and the icons so often. Plus, of course, it gets even worse if the desktop is in some national language - just try to figure out things in Chinese, Japanese or Korean in Windows; in Linux: not even remotely a problem, you use the command line.
Write drivers that interface with Gnome and KDE environments and provide GUI's for every setting. If a driver doesn't gave a Gnome and KDE GUI that covers 99.99% of use cases it's not finished. Make it so a user never, ever has to open a command prompt.
No. Simple as that. Drivers are loadable kernel modules, and that is where they belong. The GUI desktops already have tools that will help the user configure things and reload drivers, and I believe they are still working on improving things - that will have to be good enough, in my view. GUI tools have no place anywhere near the actual kernel, all sorts of problems lie down that road.