Hardware support imo is pretty good on Linux, if not better than on OS X/Windows. Especially legacy hardware.
In themselves, each desktop is OK, the problem is that the UI experience is fragmented across several different toolkits (i.e. gtk, qt, etc) so it doesn't look consistent.
Windows and Mac do not have this problem.
The other problem is that a client-server architecture is inefficient for a locally rendered UI.
In themselves, each desktop is OK, the problem is that the UI experience is fragmented across several different toolkits (i.e. gtk, qt, etc) so it doesn't look consistent.
Windows and Mac do not have this problem.
The other problem is that a client-server architecture is inefficient for a locally rendered UI.