So, here’s the problem that has been plaguing our Linux box. Thanks to the current state of things in the X Windows (you know, the GUI) world, there are any number of things that can go wrong.
First of all, NVidia has split their driver into two pieces; there’s a kernel bit and an X-specific bit. If the two get out of sync, X will not start. It’s very easy to diagnose, but still a problem. Why does it need to be in two pieces?
Secondly, although all the other parts of the system support hotplugging, X does not. It only knows about things in its config file, and panics if it can’t find something.
I have a USB tablet. If I enable it in the X config file, X will refuse to start if it is unplugged at boot time. If I disable it in the X config file, I can’t use it because X does not recognise it when it is plugged in.
In other words, X is very, very brittle. It breaks *way* too easily in very common configurations and makes upgrades a hassle. It’s nice that I no longer have to manually set the monitor refresh rates, but honestly it should just work.
Now, the folks who maintain the X11 tree are not nice people and have long resisted any important improvements. However, the X.org people have a much more welcoming attitude and have made huge strides in the last couple of releases, including a modular version of the code and a compositing manager that enables lots of cool effects.
So, my position is that the single most important feature right now is getting hotplug working. I should no longer have to think about my keyboards, mice, tablets, or monitors; if they’re plugged in and supported, they should just work in my preferred environment. I’ll obviously have to join their mailing list and get on their case; but in this day and age, I shouldn’t have to.