More From Canonical Employee On: "Why Mir?"
An anonymous reader writes "Canonical Desktop and Mobile Engineer Christopher Halse Rogers explains in more detail the decision for Mir as apposed to Wayland. Although Halse Rogers 'was not involved in the original decision to create Mir,' he's had 'discussions with those who were.' 'We want something like Wayland, but different in almost all the details.' 'The upsides of doing our own thing — we can do exactly and only what we want, we can build an easily-testable codebase, we can use our own infrastructure, we don't have an additional layer of upstream review.' In a separate post Halse Rogers answer the question: Does this fragment the Linux graphics driver space?"
...This decision was entirely based on NIH (Not in House) Syndrome...
NIH = Not Invented Here
Wayland is being developed by the same people behind X.org. 99.9% of the people lambasting Wayland have no idea what it is, what it's going to accomplish or how entrenched it already is.
Wayland is the future. It will take some time to get everything in place but it's already in play and many other project from the kernel to window managers are already moving towards implementing the plumbing necessary. Given this is slashdot I'm not particularly surprised by the ignorance, nor that people think something as complex as a complete rewrite of the GUI could be accomplished in weeks nor am I surprised that no one has bothered to actually learn about wayland and what it is but frankly the hatred is a bit surprising given the total ignorance. People hate software they know nothing about because they are afraid of change, it's just silly.
You think they would at least try to learn what it is given that almost all the people behind it are the same people behind X.org.
There is a great Slashdot post from one of the developers of Quartz around 2001 about why they chose to reinvent the wheel instead of using X11. The problem is, none of his criticisms applies to X.org circa 2006 or later. It was shown, by counterexample, that it was possible to add all of the missing features that Apple wanted to X11, without breaking backwards compatibility. And, as part of their rewrite, they lost some separation of concerns and they lost compatibility with X11 applications except via an ugly (visually) compatibility layer. The latter wasn't a problem for Apple, because they didn't want to be running X11 apps, they wanted people to write new Cocoa apps. It is a problem for a system attempting to take advantage of the large corpus of existing X11 apps.
I am TheRaven on Soylent News
We could have had a modern display server years ago with XGL/Xegl. But it was killed off because Red Hat and nVidia didn't like.
The disagreement was purely technical.
The XGL approach caused a bunch of peformance problems for various rendering scenarios (stereo3d, overlays like video) - XGL forced everything through a pixmap to be rendered by GL.
No acceleration using the GPU for video / scaling or anything else.
XGL was cool because it was first and everyone got googly eyed at the effects. It probably was a catalyst in getting the right solution (AIGLX), too.
Wayland is being developed by the same people behind X.org.
That explains my number one complaint about Wayland: the documentation is terrible. Truly awful. I mean this in a very specific way: there is insufficient information there to tell me how I could get a surface on which I could render things, and there is insufficient information there to permit me to do an independent reimplementation of the client library. My only recourse would be to read the source code, but right now that doesn't seem to help either. (Sure, I could connect and probably get a surface, but I have no idea what I could do with that surface or how I would change the handle into something that some other library could draw on.) There's just too much information missing, and that's about par for the course with anything produced by the folks from X.org; they can code cleanly enough, but they can't document critical info.
I am a GUI toolkit maintainer. I'm not porting anything away from X11 for now because I just don't see enough of a platform to port to. (Some bits are probably there. Some definitely aren't. I have other things to do as well as filling out gaping holes in others' critical info.)
"Little does he know, but there is no 'I' in 'Idiot'!"