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?"
I nominate this submission for Slashdot's most lacking in context category.
"Does this fragment the Linux graphics driver space?"
No. That's the point of DRM and KMS. X11, Wayland, DirectFB, Mir, Xynth, whatever all share the same kernel drivers and userspace display and graphics libraries.
looking for a cute asian girl to shit on my face.
Lock in !! Motherfuckers !! Lock in !!
And we call it Mir for that communistic touch !! To make the freetardhippietypes feel more at home !!
Really? Are we not even going to try to pretend to give a shit anymore?
The stories and info posted here are artistic works of fiction and falsehood.
Only fools would take it as fact.
This just proves what everyone was saying last week. This decision was entirely based on NIH (Not in House) Syndrome. Ubuntu is convinced that they have to spend all their development resources on reinventing the wheel because Wayland isn't an internal project (but it could be).
It wasn't 6 months ago that Shuttleworth was complaining that Ubuntu needed to start making money, and here he is wasting development resources on reinventing things. Between Mir, Upstart, Harmony, and all the others he's going to have forked everything but the kernel (hey maybe that's next!, I hear forking the FreeBSD Kernel is common) and his costs only go up while he spends all his time fixing bugs all by himself. The result will be Ubuntu advancement will slow down, or it will become a buggy POS with no long term security.
Either way I think they suffer from NIH disease and maybe they should consider a fork of the FreeBSD kernel. I imagine it won't be long before Mint/Arch or whatever fully replaces all the popularity Ubuntu managed to create. I already see Mint recommended more often than Ubuntu.
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. Mainly because it wasn't their idea. Now it seems all the pissing and moaning is coming from the Red Hat camp. Well karma's a bitch ain't it.
The best education consists in immunizing people against systematic attempts at education. - Paul Feyerabend
"Myrrh was used by the ancient Egyptians, along with natron, for the embalming of mummies."
"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."
IOW, Fuck GPL and collaboration.
Canonical better find an attitude. This is why they are disliked by the Debian team and others.
This is also why I dislike Shuttleworth and Canonical - the lack of helpful upstream collaboration.
We know what a disaster it was when Canonical tried to adopt PulseAudio in Ubuntu. Basically they broke audio for no good reason. (See http://en.wikipedia.org/wiki/PulseAudio#Problems_during_adoption_phase for more info.)
Mir would seem to be an order of magnitude more difficult to pull off, since it's to be developed in-house by Canonical, and video is *much* more complex than audio.
Over all, it seems extremely unlikely to me that Canonical is competent to succeed in this.
They also don't seem to have learned their lesson from the PulseAudio experience in terms of "if it ain't broke, don't fix it."
Find free books.
'We want something like Wayland, but different in almost all the details.'
If you change all the details then won't it be very unlike Wayland?
The great thing about Linux is... You can simply choose to not use Ubuntu. BAM! Problem solved.
When you're on the bottom, the only way to do is up. It would be difficult to build a new GUI and do *worse* than X11, though if that's too difficult for Canonical I can't say. If they take direction from XP, OSX, and Win7 it may be good. If they all have eyes glazed over by words like "mobile" and "cloud" and take more direction from Android, iOS, and Win8, it may well be worse than X11.
I'm almost inclined to cut Canonical some slack here. Almost. I don't think NIH is such a horrible thing if the project in question still isn't anywhere near usable. In a situation like this, it's entirely possible that a team of paid, full time, competent programmers could start over from scratch and quickly surpass the original project. Given equal talent and effort, the Cathedral is always more efficient better than the Bazaar.
However, I haven't seen evidence that Ubuntu possesses the talent or the manpower. Time and again, I've either read about or experienced firsthand halfassed, quite unnecessary 'improvements' while watching them neglect the fundamentals.
So, like most every other thing they've done for the past five years, this decision may be fine in theory (I'm not super familiar with the issues surrounding Wayland, so I can't say for sure), but in practice will quickly become a category five disaster.
Lots of open source project start behind a curtain and then get opened up for all to see, use, change etc.
Personally I like the network nature of X but with lots of things like VNC some of what X brings isn't needed.
"Lots of open source project start behind a curtain and then get opened up for all to see, use, change etc."
Fait accompli
Not many people were bitching when Google went a lot farther than this with every aspect of Android-- some were, but then Android was a huge success and then Google started committing their changes upstream and people shut up about it. This is JUST a display server that's being talked about right now. Can you imagine if Canonical took wayland and dumped so many patches on it that it became something completely different, with different requirements, different goals, etc? They want something different, so they're making something different. It's not complicated. Calm down.
Why not continue using and developing on and for X? It is and remains -the- standard way for UNIX applications to get a graphical user interface. X is also largely platform independent. If I want to run my X server on system A and the applications on system B, it is the X protocol that separates my desktop from my applications. My display is not necessarily directly connected to the computer I run my applications on.
And on the Eighth Day, Man created God.
The first company to get a web-browser running on Rio/Plan9 advances to Alpha Centauri.
Since Wayland hasn't got very far yet there is little to lose by starting a different project that does some of the same things instead of extending Wayland.
You're just betraying your ignorance of Wayland. Wayland does NOT replace X windows. In fact Wayland was designed from scratch so that an X server can run in wayland WITH NO PERFORMANCE PENALTY.
So with Wayland you can STILL run your old legacy X11 apps and get decent performance too!
Win win all around! What is the downside?
the lack of helpful upstream collaboration
You've just got to get downstream from them.
Everybody says "ooh noooo don't kill remote X windows! it's the best!"
except for one thing: IT SUCKS.
Have you ever tried to actually USE remote X? It's just beyond horrible.
The failure is that X was designed for low-latency between the display and the application, and that use case is just not very useful.
In reality the display and the application are connected over a high-latency link and X is UNUSABLE in this context.
VNC does not assume a low-latency link and so it remains responsive and pleasant even over a crappy ADSL connection.
Go ahead and TRY to use Firefox remotely over your ISP connection. It's just a pathetic joke and you will kill it out of frustration before even a single page loads.
Try the exact same thing with a VNC connection and it works just fine.
sound? nope, not happening
3-d effects? nope, not happening
D-BUS integration? nope, not happening
what a mess. kill it now. even the X developers are actively working to kiil X
All those rants about X windows in the Unix Hater's Handbook are STILL TRUE
...when I say "GO FUCK YOURSELF MR SHUTTLEWORTH!"
Filter error: Don't use so many caps. It's like YELLING.
Filter error: Don't use so many caps. It's like YELLING.
They want to integrate the shell into the display server? Wow, we're really regressing to the dark ages of display architectures here.
one of the few here who knows what they are talking about
Hi, I read somewhere that MIR uses a protobuf based RPC mechanism for communication between client and servers. Is that available already? Is it generic to be used outside of MIR? What lanaguages can be used to write clients and servers? Got any links?
Thanks!
It's entirely possible that Shuttleworth weighed up Wayland but discovered blowhard, insufferable assholes at the wheel. Why bother dealing with the deadweight? Wayland has been shuffling along for quite a while now and not really getting anywhere, why do you think that is?
The other day I saw a video of some Wayland developer in front of
group of developers, some of whom were X developers.
It was really embarrassing.
The Wayland guy was all trying to be cool, second guessing X and
poking fun at it and presenting the image of how on earth we all could
have gotten by with tsuch a lousy naive piece of shit.
Almost noone in the audience dared to contradict this totally
unrespectful smug piece of shit, and point out the shoulders that his
shaky boots were standing on.
To me though I saw it coming that the joke was on him. Wayland is
just a name and a lot of foam and fuzz.
X has been around 30 years. They must have done SOMETHING
right.
They don't want upstream reviews because they know their code sucks and they don't want people to point it out before they can get shit done.
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.
The first is the graphics drivers. I have an ATI HD3450. All ATI HD cards below HD5000 level now are totally FUCKING BUSTED in ubuntu 12.04 and 12.10 and as far as I have tested only work in debian squeeze. I appreciate debian for what it is (the last version of linux that seems to support below HD5000).
Do you blame ATI? Do you blame the Xorg? Do you blame the kernel developers? What the hell is going on? Seriously? Oh well. For anyone using an ati HD card below 5000, you are stuck with windows unless you know something I don't. Please feel free to enlighten me. (And please dont say anything about the open source ATI drivers they are a total worthless peice of shit).
It's the only explanation I can think of for the defenders of X Windows.
They've been putting up with BAD for so long that they've lost all objectivity.
Canonical is behaving very "weird" lately.
This is an interview with Jonathan Riddell, the lead on Kubuntu [1].
Quotes:
"I only had contact with the Linux Mint developer recently when Canonical claimed that they needed a licence to use the compiled packages from Ubuntu. This is a dangerous misunderstanding of copyright licencing from a company which should understand it. I advised Linux Mint to say some rude things to Canonical but I think they're too polite for that."
"Canonical has the trademark of Kubuntu so they had to get a trademark licence from Canonical which took many months of long and slow negotiations. It was very frustracting to have Canonical be the blocker for part of the Ubuntu community since Canonical should be an enabler for the Ubuntu community (at least when we don't compete directly). So we did look at changing the name of Kubuntu but were told by Mark we'd be kicked out the project if we did that which would be a worst case scenario for everyone."
"Since then Canonical has started asking for donations when downloading Ubuntu and one option is to give "Better support for flavours like Kubuntu, Xubuntu, Lubuntu Slider thumb". Kubuntu has never received any of these funds or seen any better support, so this is a disappointing case of fraud."
[1] http://www.muktware.com/5369/how-will-changes-ubuntu-affect-kubuntu-exclusive-interview-jonathan-riddell
Read all this cruft and nobody points out that wayland can't do remote windows like the x server can or like rdp
The wonton destruction of openess and community that made Linux what it is today.
Shuttleworth has gone mad and has willfully made Ubuntu a priah.
I appose this initiative.
Neither of these have network transparency, and we're all going to be running a flavor Android on the hardware Wayland and Mir are targetted at.
I mean, NIH is one thing, but this kind of thing goes way past that. Ubuntu is in the full-throttle grip of CADT.
Canonical wants to get into Mobile devices. Most of that hardware has closed source display drivers for Android (and iOS devices are totally off the radar). They want a GFX stack that is compatible with those drivers, to more easily get compatibility. They can't get that with Wayland. Cheers, Nick
Mir is GPLv3, just saying.
If you run a house of developers, their decision is perfectly valid. Yes, collaboration over the internet is a good thing, but if you can just holler to the guy at the next desk, that's better collaboration-wise.
Canonical has something Debian has not, and that's a lot of people in the same office. Not taking advantage of this and refusing to shape their development-model around it is stupid.
As opposed to. Not apposed.
I see no problem with this in the initial phase. If developers are willing to potentially waste time and money, by all means please make multiple options. This is how our "system" has always worked. The one that users like the best will win, and the best parts/features of the others will be merged into the winner. Personally, I'd like to see at least 1 other candidate. The only problem will be if the developers of Wayland and/or Mir don't listen to their peers/users and for the potential problem of Ubuntu being the most used desktop "winning" simply because of their dominance. Hopefully, if Wayland truly is better from a developer and user perspective, a forked distro like Linux Mint will start using it instead over Mir. Then if most of the users start using Linux Mint over Ubuntu, hopefully Canonical will get the picture to drop Mir and use Wayland. Again, the problem is that Canonical is already building a reputation similar to that of Windows. They have dominance, so they refuse to drop Unity and/or the Amazon searches, even though very few users are okay with either. Luckily, in the Linux world, we don't have to put up with this and just switch to another distro/flavor. Either way, the future will be interesting, and I applaud any developers trying to come up with new solutions for X.
The G
Yes, InternAtom requires a round trip, but only a newbie would use it often. If you have a lot of atoms (and any nontrivial X11 application does), you use the XInternAtoms call, which will stream all the requests into a single round trip. You can also use libXcb and do that to all the other calls as well. With proper design you only need 3-4 roundtrips to get your app fully loaded.
I'm guessing canonical wants more flexibility, better control, take advantage of today's hardware technologies. Better organization to improve development and to rely less on others to get things fixed. Like not having to wait on xorg to fix issues so canonical can improve it's compiz windows manager. It's probably same situation with wayland which the project and documentation seems to be disorganized just. It seems to me a lot of linux developers are stuck in the 80's and 90's mindset no need to create new technologies just stick with what works even if it does not take advantage of newer hardware technologies, this is what killed unix. This is why Microsoft is #1 at home and business they change and improve their software they always moved forward not backwards. Metro and Ribbon are both revolutionary and it's sad ppl don't see that.
And why do linux zealots with their mental illness think what canonical is doing will destroy the whole linux foundation? There will always be tons of different linux distros out there. I personally like ubuntu(disabled amazon) and unity and it looks modern compared to the rest of the 1990's lxde, xfce, mate, etc.... Even kde(although graphics and text kind of fuzzy or blurry) is pretty damn nice but not a fan of the windows type start menu's. Canonical wants to turn their ubuntu distro into a usable gaming, business, home desktop to attract more users. I hope Canonical has great success with Mir and hopefully the rest would adapt and move forward on instead of living in the past.
Hopefully it will keep us on X11 for the long-term, where we have network transparency. No proposed replacement without automatic and reliable network transparency for most apps is worth considering. Let Wayland and Mir die.
For every problem, there is at least one solution that is simple, neat, and wrong.
One damn minute, admiral. Here's something from real life. It happens a few times per week.
The application is Handbrake. (Background: Handbrake is a CPU-intense application which transcodes multimedia. Its input data consists of tens of gigabytes of data, and its output is a few gigabytes.)
I sit in front of a machine with an Atom CPU (ION) with no storage other than a small SSD. This machine has a keyboard and a large monitor (actually a TV). It was originally intended to just run mythfrontend all day, but its role has expanded to pretty much general-purpose.
The Atom machine is connected by wifi to another machine, which has a relatively fast CPU (ok, so it's only a quad core Athlon II 610e but everything is relatively fast compared to an Atom) and many terabytes of RAID1 disk. It is headless, and crammed into an out-of-the-way place chosen for convenient network topography.
IMHO it makes sense to run Handbrake on the machine which has the fastest CPU and also happens to have the data available on local disk, rather than have an Atom doing transcoding on NFS-over-wifi data. Agree? Please, please tell me you agree with that premise.
(Even if I upgrade the Atoms (low-power Core i3s could indeed be pretty good, and they would be faster than the Athlon II) there's still the issue of the network. Moving tens of gigabytes over my 802.11n network is slow, and always will be, no matter how you slice it. Even if I could run copper and use gigabit ethernet, it wouldn't be as good as local disk. Not to mention that once you introduce the idea of machine upgrades, I'm going to replace the Athlon II with an i7 long before I ever replace multiple Atoms with i3s.)
Handbrake over X has turned out to be a perfect fit, IMHO. Maybe you could show me tables of benchmark numbers and convince me
but in day-to-day use, I'm not able to spot the problem. OTOH if you take away my remote X and have me transcode on the Atoms, I'm not going to need benchmark tables to see the problem: I'll notice when something that used to take an hour, starts taking a whole day. Unlike X's deficiencies, it'll be within the realm of human perception.
VNC would be a bad replacement, I think, because it would mean the headless server would need to have some kind of graphic display running in the first place, for VNC to mirror. So I'll need gsm (or whatever its equivalent is) and maybe even have to make it auto-login. What a pain in the ass. I presume the machine would also need some kind of monitor hooked up to it, so that Wayland or Mir or whatever we're talking about, would know what size display to initialize and show. Thanks, your solution just cost me money on nearly-but-not-completely useless equipment. Assuming I have room on the shelf for a small monitor.
Dude, please. Don't make this hard. You're talking about a technological regression.
That said, I know the Handbrake example is a little unusual. There are lots of applications where the software is broken into a server and client, which communicate at a higher level than pixels (e.g. deluge-gtk and deluged). Or some are web apps (e.g. sabnzbdplus and your web browser). If Handbrake worked like that, I wouldn't need X.
But Handbrake, as it exists today, is what I have. Given this, I see low-latency X as a very real use case, it's making my life easier, and its performance is just fine. And Handbrake's authors, unlike the deluge and sabnzbd guys, didn't even need to think about it. That's the power of abstraction and indirection. Thank you, X11 team.
It was not easy but I forced myself to walk the fine G+ thread and I learnt a couple of things.
* There is plenty of animosity between RedHat and Canonical.
* Wayland is not the personal initiative of some individuals. RedHat is fully behind it.
* The Wayland developers were or are X developers.
* X is already sentenced but the death sentence will never be publicly executed. X will slowly disappear while "What's exactly wrong with X?" will linger on from here to eternity.
* Mark Shuttleworth used to be a classical South African pale male: a wrapper of soft talk around a core of hard lies. He can be sincere and rough now. Kudos to him.
* The meme has changed. No more "Linux is all about choice", rather "Don't fragment Linux".
* Mir isn't going to fail as some Redhatters wish to think but it will undergo a dozen reincarnations before its final release to users.
* I really hope I'm wrong here but it appears that neither Wayland nor Mir are in any hurry to modify the crappiest aspect of X as far as users are concerned: keyboard input.
"Mechanism not policy".
That's the Nicene Credo of X, and is what's wrong with X.
It was an interesting academic project at MIT in 1982-1984, with the not-particularly-publishable issues of policy relegated as a grad student project.
Policy, and good policy is the really difficult and very important part.
NeXTStep was substantially better by 1988.
Mir is licensed under all 3 - BSDL, GPL3 and LGPL3. Anybody can take any edition of it and run w/ it.
>" In a separate post Halse Rogers answer the question: Does this fragment the Linux graphics driver space?""
Yes. That is why we should work on X12 and ignore anything else :)
Everybody says "ooh noooo don't kill remote X windows! it's the best!"
except for one thing: IT SUCKS.
Have you ever tried to actually USE remote X? It's just beyond horrible.
Remote X enables some compelling use cases that are easier to manage and use compared to alternatives like VNC. We deploy some common X apps on local virtual servers (gigabit LAN). They are multi-user, concurrent access. ssh -X and Bob's your uncle. Simple, easy, secure, and more than fast enough in most cases on the LAN. Nice local WM integration, including cut and paste. It's a great system decomposition point in a virtualized environment. We get great stability for core apps even as our developers are constantly updating and otherwise changing their desktop software load, sometimes in ways that would break the app if it were installed locally.
I think it is too simple to dismiss X network transparency because it's slow. This doesn't seem to allow an honest assessment of its real capabilities and usability.
I dont mind if Ubuntu wants to recreate the wheel. But what I fear is that they will be too controlling over the X-like software. It seems like whenever you want to reconfigure a Ubuntu system running Unity, that there are all kinds of difficulties with getting it to display correctly. There is a limited set of Ubuntu supported applications that display correctly in the taskbar, but once you move ouside their default set and install alternate applications, nothing is integrated properly. Furthermore, the Ubuntu packages are tangled in such a way that it is difficult to remove apparently unrelated packages without removing everything else Ubuntu supplies. In one sense, this could be that Ubuntu wants to force the users to have a certain "look" or suite of applications to call it "Ubuntu". But in another sense, I feel that they are using this as an excuse to make it difficult for users to opt-out of their profit goals. Like the Amazon shopping cart integration and sending all the dash keystokes back to their servers in order to monitize it. Some users really like these automatic "features", while others see this as a potential security threat and a reduction of the privacy benefits linux offers. My fear is that Ubuntu will use Mir as a mechanism to control Ubuntu users into applications and services that channel much of our usage through them. And make it difficult for users to use Mir with a non-standard set of applications. In a similar way that Apple products channel everything through itunes for media usage. Generally itunes is a good product, but in another sense it is too much control over the users. It maximizes profits for Apple, but it limits consumer choice, especially when Apple has the final say over what will and will not be allowed to operate. Because it is in apples interest to make sure the content is channeled through them as the supplier of the media service. So the software is limited in a way that maximizes the channel that provides profit back to them. In the same way, I expect Mir will limit the end users free choice and encourage or force users to use the approved channels such as Ubuntu One and their set of shopping and advertising partners.
I never did see what the fuss was about ubuntu - I'm a smug debian user. Can you see and feel my smugness ? Its oozing everywhere.