Graesslin Has Compositing Dreams, But is it Yours?
Martin Graesslin has a dream. On the anniversary of the great Martin Luther King, Jr.'s death, it's appropriate to note its importance pales in comparison. Graesslin would like to devise a way to have an "always composited desktop." As far as open source dreams go, it's admirable, but is it advisable?
There are times when one might want to disable compositing. Graesslin's example is in the case of saving battery life. Other's might be when starting a 3D game or other heavy applications, watching movies, or with older or lower resource machines. For these examples, KWin's usual method of unredirecting, or disabling composite on a per application basis while the actual effects engine is still running in the background, might be ineffective, counter-productive, or unsupported in a given application. While Alt+Shift+F12 can turn it off, most users don't know of it or want the hassle of knowing when to use it. So, Graesslin thinks something else should be done.
Coincidently, a colleague has had the same thought and already begun the work. So far under the new method, applications can suspend compositing as whole, stopping the engine in the background as well. This will reduce artifacting and tearing while improving performance. This sounds all well and good, but continuing the trend of desktops across the board these days, user control is being removed and handled automatically under the hood.
Removing the user control in System Settings is a mistake as no provision or consideration is given for slower hardware or uncommon setups such as dual monitors. Not everyone runs applications in fullscreen either. And most significantly, not everyone wants to run compositing on their desktop and they should be able to turn it off (or on) if they choose. In addition, applications will have to be patched to support this new feature and not all will, especially older games that no longer receive updates. The new system might be an improvement in some significant ways, but removing any user control will cause end-users problems and leave KDE open to lots of unintended consequences.
Developers seem little concerned with end-users that fall outside of their target demographic though. Graesslin's co-developer said in the comments to someone asking about older hardware, "Of course KWin will only allow compositing on systems which support it. But it is not our fault if users want to run the latest software on old hardware. Some day we have to start thinking about not supporting legacy hardware." Fortunately, he did go further and say that the Alt+Shift+F12 option would remain for those that know of it, but automatically handling features while removing user choice and control is an ugly path and a troubling trend to pursue.
Graesslin hopes to have all this integrated by KDE 4.8.