Lead Mir Developer: 'Mir More Relevant Than Wayland In Two Years'
M-Saunders writes Canonical courted plenty of controversy with it announced Mir, its home-grown display server. But why did the company choose to go it alone, and not collaborate with the Wayland project? Linux Voice has an interview with Thomas Voss, Mir's lead developer. Voss explains how Mir came into being, what it offers, and why he believes it will outlast Wayland.
here you go: http://web.archive.org/web/201...
I think the main issue Canonical has with Wayland and X is that they are Not Invented Here. Canonical has their own priorities and regardless of the technical merits vs. Wayland and others Canonical wants to be in control of the display server so they can lead it to their interests and not have to convince other parties to go their way.
Shh.
It appears to be Slashdotted. Someone's got to show them how to use IIS!
What's wrong with Wayland that Mir fixes?
What else does Mir bring to the table that would make people use it over Wayland?
What is preventing Wayland from improving over the next 2 years?
If you want people to click on, read, and discuss articles, Slashdot, you should have articles worth clicking on, reading, and discussing.
I read TFA. Nothing in it answers the questions I have, not even the answer to the same fucking question that the interviewer had.
So that’s looking at Mir in relation to X. The obvious question is comparing Mir to Wayland – so what is it that Mir does, that Wayland doesn’t?
This might sound picky, but we have to distinguish what Wayland really is. Wayland is a protocol specification which is interesting because the value proposition is somewhat difficult. You’ve got a protocol and you’ve got a reference implementation. Specifically, when we started, Weston was still a test bed and everything being developed ended up in there.
No one was buying into that; no one was saying, “Look, we’re moving this to production-level quality with a bona fide protocol layer that is frozen and stable for a specific version that caters to application authors”. If you look at the Ubuntu repository today, or in Debian, there’s Wayland-cursor-whatever, so they have extensions already. So that’s a bit different from our approach to Mir, from my perspective at least.
There was this protocol that the Wayland developers finished and back then, before we did Mir and I looked into all of this, I wrote a Wayland compositor in Go, just to get to know things.
He's even the author of the linked article. When you follow the link, you see it. I think that's disclosed enough?
Wasn't unity supposed to be really relevant and outlast other similar products?
Seriously, what's so broken about X? Is it just a pain in the ass for developers to work with?
I write sci-fi for metalheads
"MIR" is just a simple caesar cyphering away from "NIH'.
Follow the link? What are you, new?
Wish I had mod points. Canonical arn't really interested in Linux or unix in general other than how it can ultimately make them money. Its a means to an end and if that means dropping 30 years of experience because it doesn't quite suit them then they will.
X is far from perfect but its the unix display standard and it isn't going anywhere anytime soon. If canonical want to go their own way then they'll find their user base dropping away even further.
Lead developer of a product that competes with another product says: "mine is better". The only newsworthy thing would have been if he would have said the opposite.
I read TFA, but it turned out to be almost worthless.
Nothing concrete was explained by the interviewee about why we should be interested in Mir rather than Wayland. In fact, he came close to saying that they were both largely the same thing inside anyway.
The only reasoning of substance was versus X11, making the fair point that GL is a more useful foundation for graphics in today's world than X11's 2D-oriented protocol which just adds huge complexity with little gain. But that point is just as much pro-Wayland as pro-Mir.
So no, that wasn't an effective interview about Mir at all.
I hear everybody that you know is more relevant than everybody that I know.
First, having two is better than having one. XFree86 went a little crazy, and so X.org came along. 6 months after X.org had basically taken over, XFree86 said "no, our license really is permissive", but times had already changed. Now we have Wayland and Mir, the "Next Generation" of display servers. Both offer an end to the cruft that XFree86 and (inherited) X.org servers have. It might seem like divided effort, but its healthy. You don't get one saying "I'm the only game in town, worship me peons", and different approaches can show benefits that the other side doesn't have.
Who needs Mir anyway ? Sorry, but I think one space station is more than enough !
The next section of the article isn't actually a new question. The questioner just has an interjection. Here is the rest of the answer:
Questioner: As you do!
Thomas: And I said: you know, I don’t think a protocol is a good way of approaching this because versioning a protocol in a packaging scenario is super difficult. But versioning a C API, or any sort of API that has a binary stability contract, is way easier and we are way more experienced at that. So, in that respect, we are different in that we are saying the protocol is an implementation detail, at least up to a certain point.
I’m pretty sure for version 1.0, which we will call a golden release, we will open up the protocol for communication purposes. Under the covers it’s Google buffers and sockets. So we’ll say: this is the API, work against that, and we’re committed to it.
That’s one thing, and then we said: OK, there’s Weston, but we cannot use Weston because it’s not working on Android, the driver model is not well defined, and there’s so much work that we would have to do to actually implement a Wayland compositor. And then we are in a situation where we would have to cut out a set of functionality from the Wayland protocol and commit to that, no matter what happens, and ultimately that would be a fork, over time, right?.
I question how well you actually "read TFA." :P
Last I checked Ubuntu's market share was falling faster than a skydiver in freefall. I'm surprised to hear anyone even still cares what Canonical does.
Have you seen the videos about why X is fundamentally broken? Did you read the fine article? There are a lot of horrible flaws in X that cannot be fixed short of a rewrite.
I get the impression that you haven't done any research into this issue, and are dismissing it based on a stereotype. Familiarity breeds contempt, and I am sure that to some degree the trend you identify exists. However, devs don't usually go that far out of their way to make work for themselves just on a whim, and I do expect them to actually be able to identify flaws in their software. Also, you should not assume that just because something is 20 or 30 years old, that it does not have major flaws. Even ignoring Shellshock, there's a lot of justification for replacing X with something else. If you believe otherwise, maybe you can pop over to the Wayland dev channel and explain why they're all wrong and that they don't need to be spending time on it.
Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
Because Weyland doesn't need some old russian space station, they've got Nostromo and Sulaco.
...why would it still be relevant now?
We definitely have to dumb down protocols to run on mobile phones with 1024x768 screens and only 1 GHz CPUs and 1GB RAM, because they can't possibly run anywhere near as fast as they did on 1152x900 screens with 10 MHz CPUs and 4 MB RAM running X10, or 640x480 screens with 25-33 MHz 386 CPUs and (I forget how much, but not enough) RAM and X11 with Motif.
And yes, there were really good reasons for running NeWS instead of X, because some changes in which work you did on which end of the wire could make a huge difference in responsiveness and speed, and using Postscript meant that what you saw was really what you'd get, and it let you deal with problems like mouse tracking latency a lot better.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
reinventing the wheel with twenty programs that do the same thing - but none of them do it well, disputes over policies and intricacies of licenses, really fucked up names for programs, and lack of user documentation (end user not developer, although the latter is also lacking in many projects) is why we will never see the 'year of linux on the desktop'.. never, EVER - unless the aforementioned problems are resolved.
Many of the remote management applications I used to do with X are being replaced by HTTP interfaces, optionally with AJAX, or sometimes REST APIs, but there are still a number that aren't.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
There's one that people link to a LOT of Daniel Stone giving an unfinished powerpoint presentation at linuxconf.au 2013 where he forgot his cable so you can't actually see his Wayland desktop. It's the one where he says X is slow and gives startup times of gedit on Gnome3 as proof! That's like saying MS Windows is slow because homemade VB crapware that needs to load a pile of stuff before it can get started is slow. He also has the joke about only three people understanding X input and many people who link to that video do not understand that it is a joke. It's the one where he makes fun of people that want to run applications older than gnome3, or who want to have shaped windows, and makes fun of the Enlightenment window manager which is a project where developers have put in a lot of time to add support for Wayland. I'm pretty sure Daniel Stone would not want that presentation held up as being an authority on the subject especially since it was still a work in progress at the time and had a few obvious errors - I'd have to watch it again before I could tell you where but hopefully I don't have to and there's a finished version somewhere.
The largest mistake I recall was "nobody uses X for sending stuff over the network anymore" which should have been changed to "nobody in the gnome3 project uses it but everyone else does".
I have not seen any other videos on the topic that come close to proof of anything. Care to link one? Even better, something in text instead of the postliterate shit of having to sit down and watch a talking head reading something out that you could read yourself in 1/10 of the time.
Including forgetting to bring his cables, forgetting to finish writing up his presentation, forgetting to remind people that his "three people who understand ..." was a joke, forgetting that gedit needs to start up a pile of gnome3 stuff so it's a poor measure of X speed and so on. You are not seeing him at his best. There must be a video or something out there of the finished presentation. You also need to understand the context is about displays for phones, which is one reason why he is disparaging about running old applications and why there is so much "nobody does whatever" when it's really "nobody in the current gnome project does whatever even if everyone else does.
Daniel Stone has done a bit on X over the last 5+ years and the stuff he is interested in, the gnome3 stuff and phone software, is no longer network transparent. Everything else is, up to and including his Nokia implementation, but you've taken things out of context or heard a rumour that came from misunderstanding Daniel Stone's comments at linuxconf.au 2013.
Surely you could at least have a link to the finished presentation instead of the error filled unfinished draft at linuxconf.au 2013 where he doesn't even have a screenshot and forgot his video cable?
The "X is slow because gedit takes a long time to start" (because it's loading half of fucking gnome3!) is one of the low points, another, which is not his fault just one of people misunderstanding, is where his joke about only three people understanding X input fell flat and had been cited by the clueless as a "fact"!
I got the impression from that video that it was an informal update on the state of Wayland and not meant to be taken as an authority on the subject, especially since his slides were not finished and he didn't have anything to back up some of his assertions mostly because he hadn't written that bit yet.
Also consider the context of it being about the suitability of X on telephones. Does it make more sense now?
Look halfway down the page - point II. The ignorant fucker who wrote that taking Daniel Stone's joke from the video linked above as a fact. Profanity is deserved since whoever wrote it failed to do a truly minimal amount of homework and is just wasting bytes and pixels.
Sorry, that is clearly just a derivative product of the video from someone that watched it without enough background to understand it.
Surely there's something other than that video from close to two years ago or a newbies review of it?
What you missed above - "older versions of gtk".
The other thing you missed is "People using workstations in offices accessing stuff over X remotely" - WTF do you think they are accessing? It's not going to be Firefox they can run that locally. It's not going to be Thunderbird they are running that locally. It's not going to be Chromium they are running that locally.
Noticing a pattern yet? So think then - what on earth is so constrained that they cannot run it on their own box? You didn't think? I'll give you an example - in my workplace it's engineering and scientific software that only runs on RHEL5 (or CentOS) vintage linux, and either serious hardware requirements or licence requirements mean it makes far more sense to run on something big instead of locally. Such software has a long development cycle and a lot of it hasn't even got as far as considering gtk2 let alone gtk3. Surely you knew that or you would not know enough about the subject matter to be able to put together a useful reply - did I really have to spell all of that out just because you missed so many things in a very short post?
So I'll write it again in a different way - hardly anything being displayed remotely with X is going to be using those new toolkits so it's a rather stupid strawman to state that X is broken because some toolkits not in use much for remote displayed applications use a slow transport mechanism. IMHO it's also rather stupid to blame X for the choices made with those more recent toolkits - surely if anyone should be blamed it's whoever chose to change the behaviour in their toolkits? Blaming X for a gnome choice is like blaming a bridge builder for a Humvee breaking down half way across.
NONE of those things is X windows.
http://xkcd.com/927/
I'll stick with Xorg, kthx.
Buck Feta. You know what to do.
"Expert" - there are many that claim they are and a few that actually are. I'm not Carmack or Blinn - I work at a much lower level to them.
To give some context - I've worked with technologies AND companies including Imagination Technologies (including Videologic), Qualcomm, Samsung, ARM, Broadcom and coded extensively at driver level, OpenGL ES, desktop, middleware layers and even designed a few peices of hardware (instruction sets, schedulers, SIMD arrays amongst others). I still won't call myself a "true" expert as the subject is so huge.
I am posting AC to protect the innocent (and also my job prospects)
Here's a couple of big problems...
1 - EGL - it's an abomination and solves almost no problems well and those it does solve are hugely overly complicated.
2 - Industry involvement - these guy (Mir/Wayland) can flail around all they like. They do not produce driver stacks (Mesa _slightly_ excepted) and they do not produce hardware. They are not hardware integrators, they just ride coat-tails on what is out there.
3 - They need to be NOTABLY BETTER than X
4 - X is so out of date it is laughable BUT it gets a job done and until someone demonstrates a major "value-add" many apps will still be X'ish. There's a point when the complexity of the solution and the "it finally works" attitude of all involved over-rides any care about clean code basis and performance.
Solution - fix EGL. A half decent layer here needs to be cross-process and even cross-network BUT allow X style network sharing AND SoC style shared memory. Implementing this is in a good, clean, API is challenging task. Gaining industry adoption is even harder.
OpenGL - Thankfully, since Metal and Mantle, Khronos members appear to be pulling their fingers out. The draw call problem IS a problem. The lack of a really good programming model IS a problem (graph scene is probably the way to go). There are multitude of other problems that are, at present, seemingly fixed by bringing in portions of the OpenCL spec (memory model, barriers and more).
Much of this tech - esp. OpenGL has suffered the classic engineering problems - 1 - adding features instead of asking what it is the user wants or focusing on a very small number of users - indeed - there are actually a very small number of OpenGL programmers. 2 - insane complexity for all but the most basic of operations (and even they are pretty complicated - a "Simple" GL app is going to weigh in at 100's of lines of code just to get pixels on the display - encapsulate & abstract please). 3 - No-one REALLY knows what they are looking for. 4 - backwards compatibility.. 5 - an unwillingness to operate outside of the outdated model of a single program drawing to the screen (abstract a compositor and memory model please.)
Do I have a solution? YES - you need a team of a dozen PAID experts with lots of time, viscous code & spec reviewing and about 2 years.
Anon.
You misunderstood the video. Nobody is using the X protocol to send stuff over the network, the 2D graphics primitives. It's all bitmaps, using extensions to X. I've been looking but I haven't found a better summary. This article goes into some of the security problems of X, which could be summarized as "X doesn't do security." Another issue is the conflict between popups and screensavers, which can't be fixed without breaking X.
Mostly I think that you are hung up on your misunderstanding of network transparency, and that you enjoy ranting. I would suggest that if someone slapped you upside the face to where you realized that you were an ignorant cuss, and you wished to remedy said ignorance, you might go bother the wayland IRC channel, or Daniel Stone directly -- his email is on his blog.
Wayland is not a thing you should be fighting. It's not going to steal your lunch, and it doesn't seem like it's going to be ready for prime time for years yet to come, and nobody is ever going to force it on you if you like the broken shit you're used to. Also, regarding network transparency, you should be happy that Wayland isn't trying to absorb that into its mission -- or do you prefer the systemd approach? If you get around to figuring out why it's out of scope for the project, you might be able to make some constructive comments on the matter. As is, you're hurling insults at all the people going the wrong way -- because you're too dumb to know you're in the wrong lane.
Do some background reading on the topic and watch it again.
An unfinished powerpoint with a few mistakes left in - such as an implication that X is slow just because gedit on gnome3 is slow (as distinct from it being much quicker to start on gnome2), is not convincing.
Three things:
- the presentation was finished, and I have no idea why you keep saying otherwise
- three people understanding the input system wasn't a joke
- LCA had cables but people forgot to return them so I couldn't actually use one on the day; indeed unfortunate
-daniels
Fuck Mir, Fuck canonical.
They should stop trying to re-invent-ALLTHEWHEELS and work on unfucked their broken ass desktop first. It's a buggy, unstable POS.
"If you love someone, set them free. If they come home, set them on fire." - George Carlin