Like many geeks, I’ve moved less tech-savvy relatives to Linux and, in my mother’s case, common ideology goes a long way to overlooking bugs and rough edges. However, working with her has revealed a serious problem in the Linux desktop as implemented by all major distros.
Once every month or so, I get called in because “Linux froze”. Almost every time, it turns out that some program
XGrabPointer‘d the mouse, then froze, leaving the system live and the mouse moving… but no clicks being received. (The exceptions are when she’s using her laptop and an Intel graphics driver bug freezes the X server)
While not ideal, there used to be a clean workaround for this. Just set the appropriate
xorg.conf toggle and teach them to use one of
Ctrl+Alt+KP_Divide to recover. However, these days, the old approaches don’t work, the system is in upheaval, and nobody with any significant Google PageRank seems to care enough to keep their documentation up to date.
Despite my loyalty to the platform, I’m not too blind to recognize that this problem, in and of itself, is easily enough to keep Linux on the desktop constrained to households with a full-time geek. (If for no other reason than because it’s an easy PR weakness for Microsoft and Apple to attack if Linux gains any ground)
Wayland could fix this problem if it gains adoption… but it has its own issues:
- It’s still very young
- Some people (me) need high-performance 3D drivers, GPU acceleration for HD video, and professional-quality dual-head support, but I haven’t heard anything on whether nVidia will support it with their binary drivers (or ATi for that matter).
- There is no clear plan for a replacement for
ssh -Xthat’s better than mere VNC.
- I haven’t been promised a compositor which will forbid client-side window decorations (CSD for short).
The others, I can see being solved with time, but that last one is a big issue. The KWin developers have already said they’ll force force-server side window decorations, but…
- There’s apparently nothing beyond “peer pressure will save the world” and “applications which don’t use popular widget toolkits are a myth” to prevent an application from insisting that it also show client-side ones.
- What if I want to forbid CSD but whitelist Chrome and preserve the effect I get by maximizing Firefox and hiding the windeco? (No, not fullscreen. Even with Xinerama hints, Firefox modifies its UI when it detects that.)
- Most important: I run LXDE because I value a useful desktop over a glitzy one. Given current trends, it’ll be at least a decade before KDE 4 is as stable and responsive as KDE 3.5 was. (I used to be a loyal KDE 3.5 user, so nobody was more disappointed by Konqueror 4 and KDE 4.1 through 4.6 as I was.)
When Linux Freezes… by Stephan Sokolow is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.