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 concur. What the hell are they talking about?
"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.
This is follow-up to this story from a week ago.
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.
I can think of no context in which a furniture designer engineer, no matter how agile or standards-conforming would have as similarly viable alternatives a former Russian space station and an animated sycophant.
Go to the comments in TFA about details. There is some really juicy repartee between Seigo (OSS developer) and Shuttleworth (guy who funds Ubuntu).
There is a dust up going on between people working on the replacement for X under Ubuntu, and on the merits or lack thereof in choosing the Mir project over Weyland. Seigo and others make some interesting points, especially about the selection criteria.
Because inexperienced, but otherwise intelligent, people often believe that they can do stuff better than everyone before them, there is a trend among hackers to rewrite otherwise perfectly fine code. Since X dates back decades, according to this line of thinking, it must need to be rewritten. "Wayland" is on such attempt (actually, what they are doing isn't nearly as sophisticated as X). Since Cannonical believes they are the shit, they want to be in control of the X successor. Their candidate is "Mir". I know nothing about Mir. The truth of the matter is that neither of these projects is going to go anywhere because it will require redoing lots of hard word (the video drivers, which are for some terrible reason part of X itself). X could use some work, but destroying the decades of compatibility is not the way to do it. The right way to do this would be to try to gather some kind of very broad support (say... from the developers of Qt and GTK) and get the two of these groups to converge on some modern subset of X, and implement the deprecated remainder as a legacy library. Of course, this doesn't let you "own" the end result, and it requires a LOT of work, so that won't ever happen. Also there's a feud between them, so it's probably impossible to do that.
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."
Your assertion that Wayland will not go anywhere seems to be predicated on the incorrect assumptions that Wayland is born of naïvety (it's not; it's developed by people with a LOT of real experience working on the current X-centric stack), and that it needs to entirely supplant X to succeed (it doesn't; it deliberately does a lot less, and it can host a rootless X server, and indeed this is the only realistic use case for it on regular desktop distributions for the next couple of years).
Yes, there are many projects that are started for the reasons you describe, and go on to fail for those same reasons. But Wayland is not one of them. That is not to say that its success is guaranteed—but rather only that your reasons to assume its failure is inevitable are invalid.
Wayland does not need to destroy decades of compatibility. In fact, its approach is quite the opposite: to maximize compatibility initially (pass almost everything through to a rootless X server with XWayland if you want), and then offer an optional smooth migration path away from X for applications that don't need its complexity, would like to push the complexity into separate components, or would like to take advantage of some of the things that you simply can't achieve with X today, e.g., flicker-free from boot, to playing a game, and then on to playing hardware-accelerated videos.
You concede that the current state of video drivers being too tightly tied to X is terrible, so I assume you agree that the work has to be done to resolve that at some point, whatever path we collectively take. That also happens to be the only thing I'm aware of that's really holding Wayland back from mainstream use today. Everything else is just little bits and pieces that need to be finished or polished up, and then it could be dropped in to real general purpose distros.
Your assertion that Wayland will not go anywhere seems to be predicated on the incorrect assumptions that Wayland is born of naïvety (it's not; it's developed by people with a LOT of real experience working on the current X-centric stack)
His point wasn't that they are inexperienced with X, it's that they are inexperienced with software development in general. It's fairly common for inexperienced (though otherwise skillful) programmers to decide to re-implement a huge chunk of code in the hopes to make it better. It rarely works out very well.
"First they came for the slanderers and i said nothing."
Apple did it and it seems to be working out just fine. They could have tried to use X but probably had the same reasons as Canonical, full control.
Sometimes the only way to get better results is to tear it all down and start over. You learn from the past but let go of the baggage.
A fool throws a stone into a well and a thousand sages can not remove it.
"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.
His point wasn't that they are inexperienced with X, it's that they are inexperienced with software development in general
Which is just an incorrect point, since as the poster you replied to pointed out these are the SAME PEOPLE who have developed many of the modern enhancements to X that keep it useful today.
How does he make any sense at all when he talks about how great X is and that they should pay attention to those who worked on it when they ARE the people who worked on it?
'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.
Maybe.
Having worked on the X Server in no way means their choice to create a new server is correct. Whenever someone forks software that's worked fine for nearly 30 years, the default position is, "they're making a mistake."
Maybe you're right and it's a great thing. We'll see.
"First they came for the slanderers and i said nothing."
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.
This, everyone seems to think wayland is more than it is. For now it's basicaly an overhyped screen multiplexer for X.
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.
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.
His point wasn't that they are inexperienced with X, it's that they are inexperienced with software development in general. It's fairly common for inexperienced (though otherwise skillful) programmers to decide to re-implement a huge chunk of code in the hopes to make it better. It rarely works out very well.
That assumes that X11 was universally well-designed in the first place. It also assumes that experienced developers have been maintaining it (they all got laid off in the 1990s and nothing happend for 10 years). And it assumes that X11 is full of stuff that people care about, when much of it is legacy and not used by modern applications.
Eventually someone is going to have to suck it up and do something. Even if it was removing all the crap and making an "X12".
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 comments from e.g. Dave Airlie, Kristian Høgsberg, Daniel Stone are even better, IMO, since they are Xorg/Wayland guys. Though Aaron is certainly a graphics guy, just at a higher level on the stack.
Climate Progress - Hell and High Water
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.
it has "canonical" in it.
that means it's a tech article about canonical doing some re-inventing of the wheel to get rid of some options shown to user.
world was created 5 seconds before this post as it is.
Not many people were bitching when Google went a lot farther than this with every aspect of Android
There's a small difference: Google wasn't a two-bit Linux shop with a chronic lack of cash.
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
Not many people were bitching when Google went a lot farther than this with every aspect of Android
There's a small difference: Google wasn't a two-bit Linux shop with a chronic lack of cash.
Android was a two-bit Linux shop with a chronic lack of cash UNTIL GOOGLE BOUGHT THEM
one of the few here who knows what they are talking about
it's that they are inexperienced with software development in general.
So WHY do we let them fix X bugs?
First - it's not a fork. Forks are branches of the code. Wayland is a completely new display server.
And I'll just say I'm glad Apple decided NOT to use X by default on OSX. They managed to create a much more efficient display engine by not continuing to base it on the largely obsolete X protocol. Though, guess what, there is also a perfectly usable backwards-compatible optional X-server you can install if you want (which is a goal of Wayland, and I assume Mir, as well).
mechanism for communication between client and servers
I hope you meant remote clients and servers. Otherwise it's just X all over again, but slightly different. One thing Windows and OS X get right is that their GUI is based around local API calls.
So what exactly is wrong with X? Please be specific.
"I know I will be modded down for this": where's the option '-1, Asking for it'?
I concur. What the hell are they talking about?
Its about some guy that thought he wanted to go out with Wayland Smithers, but would like him to have great muscle tone, be in to martial arts, and many more things. He was thinking of putting Wayland on a body building and martial arts course but then decided it would be quicker just to go with Frank Mir instead.
I hope they had the same reasons that most intelligent engineers have; X Sucks.
Quote from book: Steve Jobs told the USENIX audience in Phoenix, in June 1987, "that x was brain-damaged"
Source: http://books.google.de/books?id=CpAlTYwJJgAC&lpg=PA54&dq=%22Steve%20Jobs%20told%20the%20USENIX%20audience%20in%20Phoenix%2C%20in%20June%201987%2C%20%22that%20x%20was%20brain-damaged%22%22&hl=de&pg=PA54#v=onepage&q=%22Steve%20Jobs%20told%20the%20USENIX%20audience%20in%20Phoenix,%20in%20June%201987,%20%22that%20x%20was%20brain-damaged%22%22&f=false
One thing Windows and OS X get right is that their GUI is based around local API calls.
That's the difference in a nutshell.
The X protocol is limited by the fact that the whole API has to be serialized, and in many cases, a network round-trip has to be performed even though nothing is drawn on the screen.
And HELLO, accelerated video on the server is not much good when 90% of the latency is in the network. Oh big deal, you optimized the part of the system that least needs it.
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.
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
Google "The Unix Haters Handbook" start reading on page 123
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.
What you pointed out is actually a quality.
Code quality is important. If you can't satisfy the basic quality criteria, then of course your commits will be rejected.
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.
So what exactly is wrong with X? Please be specific.
It's legacy. And it's a real dog on my Sun 3/60. Those 20 MHz haven't got room to spare you know.
Also having the old style drawing code in the server but paged out to disk unused, while technically it doesn't use any resources or slow anything down, offends my delicate sensibilities.
Oh, and I hate being able to remote windows or choose my own window management scheme.
SJW n. One who posts facts.
In other words, all you can do is parrot decades old grumbling.
Alex had more sense than you.
"I know I will be modded down for this": where's the option '-1, Asking for it'?
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
X windows hasn't changed, why do the arguments need to change?
There's a small difference: Google wasn't a two-bit Linux shop with a chronic lack of cash.
There's another thing. Google aren't trying to replace the GUI on desktop Linux. You could expect a lot of justified whining if google tried to oust X on the desktop.
SJW n. One who posts facts.
Because they suck at design, not at implementation?
Contrary to the popular belief, there indeed is no God.
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 think I am soiling Alex' memory by comparing him to you.
"I know I will be modded down for this": where's the option '-1, Asking for it'?
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.
That Canonical's citing of Wayland's limitations were mostly refuted speaks to the larger issue of Canonical just not speaking to the non-Canonical dev community. Or at least this is the perception. Now that Caonical has influence, the non-Canonical devs perceive more and more that Shuttlecock is effectively developing a closed system that abandons the cooperative consensus that has driven community progress in the past. And when their Contributor License Agreement provides for non-free copyright, if Canonical chooses, with contributions toCanonical code, the fear is heightened. Of course the lens/privacy issue confirmed that fear. Basically Canonical is seen as more and more as throwing its corporate weight in ways that aren't pretty. It may or may not be good for linux going mainstream, but it's not pretty.
"He's using a quantum encryption scheme! That'll take hours to break!"
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
Apple did it and it seems to be working out just fine. They could have tried to use X but probably had the same reasons as Canonical, full control.
Sometimes the only way to get better results is to tear it all down and start over. You learn from the past but let go of the baggage.
Wasn't that the point of Wayland, to tear it all down and start over so as to get better results. You did get it right, though. Canonical did this because they want full control, they even say so. They developed Unity because they want full control. Canonical should have based Ubuntu on one of the BSDs because then they wouldn't have to worry about the troublesome "upstream" that they site as the reason for developing Mir.
Don't get me wrong, they are in their right to do with what they want with their product. However, they already had the reputation of taking more than the gave to the overall community and this just makes it more evident.
The word Ubuntu actually means "I am what I am because of who we all are." I think sometimes Canonical sometimes forgets that it is the "...who we all are" part of the definition that gives meaning to who they are.
I'm beginning to wonder if anyone can write a summary anymore, or if there are any /. editors left to separate the wheat from the chaff.
Your political party doesn't care about your rights and only represents corporate interests.
Steve Jobs told the USENIX audience in Phoenix, in June 1987, "that x was brain-damaged"
I would rather be brain-damaged than a total asswipe. What Jobs did to Chrisann Brennan was, or should have been unforgivable.
Yes, because Apple were just a bunch of hackers... not.
X11 poses more problems than it solves. For one, it insists on being an independant entity so pressing archetictural concerns will always be denigrated (or not recognized at all) in favor of the status quo.
We can see the results of this in how, for decades, desktop environments struggled with the actually simple task of managing display settings (because the service did not ever save config info itself and the config file format was so open-ended, there was no canonical way for third parties to interpret or write the config data which means they all had a tendency to bungle it). And also the fact that X11, that whiz of "network transparency", ignored the need to efficiently *share* displays over the Internet (demerits for cluelessness if you reply and mention VNC); OS X and Windows got this capability back around 2000.
The config handling issue is partially fixed now (though not if multiple displays are involved). As for sharing and Internet-worthiness, there is the development of NX/freeNX but X.org seems indifferent to mainlining any of it.
If an entity like Canonical wants to have a go at supplanting X11, I say 'go for it'! I don't agree with all of Shuttleworth's positions (he still misses the point of personal computing), but in his insistence on copying Apple's footsteps he is at least marginally advancing the coherence and usability of Ubuntu (the Dash thing was a step back, however... OS X still makes it easy for a user to browse Apps heirarchically whereas Ubuntu 12.04 strips that ability).
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.
Since Cannonical believes they are the shit, they want to be in control of the X successor. Their candidate is "Mir".
You say a lot of words. I can answer the question in three:
Embrace. Extend. Extinguish.
Support my political activism on Patreon.
the merits or lack thereof in choosing the Mir project over Weyland
Embrace. Extend. Extinguish.
One day Git will be Bzr. One day Gnome will be Unity. One day X will be Mir. One day Linus Torvalds will be a gray-haired beggar on the street, still acting like an immature teenager, implying that people on the LKML would do better spending more of their time sucking cocks; and Canonical will be running the new, improved, coded-from-scratch, Linux-compatible Ubrik kernel.
Support my political activism on Patreon.
> They managed to create a much more efficient display engine
You couldn't tell this by running an actual Mac.
This cult of Apple admirers would be amusing if they weren't potentially so destructive. They seem to blindly follow Apple without actually having any real experience with the product. They just swallow the usual media hype wholesale and then go on to replicate Apple's mistakes.
They also don't understand how an X server relates to the rest of MacOS.
A Pirate and a Puritan look the same on a balance sheet.
It would be much more convincing if Wozniak had said it.
Jobs is a glorified salesman.
A Pirate and a Puritan look the same on a balance sheet.
> ignored the need to efficiently *share* displays over the Internet (demerits for cluelessness if you reply and mention VNC); OS X and Windows got this capability back around 2000.
Are you kidding? This aspect of MacOS is why I object so loudly to Wayland. What MacOS has SUCKS. It's the best possible advertisement you could have for X11.
Whatever structural purity it might have on the inside, it fails miserably at one key feature of modern desktops (not just X).
It helps to actually USE MacOS before putting it on a pedestal.
The Wayland cabal are trapped in 2000.
A Pirate and a Puritan look the same on a balance sheet.
I've used OS X for over seven years.
In any case, you can complain about the implementation in OS X (maybe it does suck). It doesn't change the fact that it would be idiotic to try and use X11 for the purpose of conferencing when you could use Windows.
Apple at least gets points for trying here.
OS X is certified Unix. It's not X, but X isn't Unix.
The UI has a lineage going back to the 1984 Mac (and Lisa) but everything else is NeXT/OpenStep.
Do you even lift?
These aren't the 'roids you're looking for.
In fact, its approach is quite the opposite: to maximize compatibility initially (pass almost everything through to a rootless X server with XWayland if you want), and then offer an optional smooth migration path away from X
How is this different from "Embrace, extend, extinguish"? Using X guarantees that I will get certain features from my GUI. If Wayland cannot provide those guarantees, it is a step back. That is not acceptable.
Give me Classic Slashdot or give me death!
Apple did it and it seems to be working out just fine.
What features are missing from OS X's display system that were present in OS 9?
What features are missing from Wayland that are present in X.
Answer these questions and you'll see why Apple's transition worked well, while Wayland will be a disaster.
Give me Classic Slashdot or give me death!
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.
Because no one else wants to do it.....
"First they came for the slanderers and i said nothing."
Well, arguably, they are -- via ChromeOS.
But not in a desktop OS that has a history as a traditional-style desktop Linux distribution.
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.
Christ, the X11 implentation then. You're telling me that lump of crap is a paragon of good code? Let me get my laughing hat on here...
Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
X has won...
Uh, that doesn't make X a great engine (or protocol, whatever, mother) It simply means no one until Canonical has decided to to something about it.
Python: 'And then suddenly you have a language which says "we're all stuck with whatever the whiniest coder wants".'
What features are missing from OS X's display system that were present in OS 9?
The OS9 Finder' which was powerful
Use of Fitt's law in design
Interface consistency
First controls differ in location and in tone
Symbols consistent with actions.
Clickable action and light up zone matching
Variable spacing for controls as a preference
Control of justification and spacing on the menu bar
etc...
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.
I'd be quite happy if Google tried to oust X on the desktop. They could commit Apple-like resources if they chose to.
Canonical isn't good enough, and rich enough to do a good job---that's the problem. A bad job here is worse than spending their modest money working on something else.
1) X applications can't share an application and the video buffer. There has to be a memory copy. On high performance complex video this introduces lag which humans can detect. Human's are very good at detecting lag. Worse they seem to be about 10 times better at detecting lag when touch is involved, because the spacing between the finger and the objects being moved shifts. When we start talking high density screens (retina display) 10" + touch there is just no feasible hardware solution in the next decade using X.
2) In terms of WAN network transparency i.e. remote over a network does not compensate effectively for lag. There is too much server to to client communication. This is unfixable because of the speed of light. We need to redistribute what is done client and server side.
3) The X codebase is really hard to change and complex because of legacy. That drives up development times and uses resources inefficiently.
Mir is licensed under all 3 - BSDL, GPL3 and LGPL3. Anybody can take any edition of it and run w/ it.
This cult of Apple admirers would be amusing if they weren't potentially so destructive. They seem to blindly follow Apple without actually having any real experience with the product. They just swallow the usual media hype wholesale and then go on to replicate Apple's mistakes.
They also don't understand how an X server relates to the rest of MacOS.
Broad generalizations and assumptions never helps your point. I have worked on kernel and userspace graphics and video overlay drivers for Linux/X11, so I know plenty about how X11 and display servers in general work.
I do have a Mac. I also have a PC running Windows, and one running Linux (and honestly at this point VMs on these machines running more than one OS at a time - with fairly good unity/coherence modes, as long as we are talking display servers and window managers).
Some of us use computers as tools for accomplishing what we want at work, home, entertainment, etc and have no interest in blind Apple admirers OR blind Apple detractors (or Microsoft, or Linux, or any other software for that matter). Why does technology have to be like politics to some people?
(oh, and to your other comment, MacOS is more "UNIX" than Linux is, and is certified SUSv3 (for what that's worth, but it's worth more than your opinion on the matter).
Apparently you have never programmed with X11 , because that is one of the most stupid comments I have ever heard and bears no relation to reality.
The X protocol contains various graphics primatives, facilities for dealing with fonts, setting colors, color managment facilities, and so on. There are extensions for non-rectangular windows, for faster video, shared memory buffers, and other things that have become desired over the years. There is really nothing in X11 that an application could not use to render its user interface. Nothing really useless. It is concievable that an application could use all of the features the X server provides and use them well and many still do. So the feature are there because applications may need to use them and to make sure applications continue to be supported.
What has happened is that some x11 extensions have been offered that offer an alternative way to do things, such as with handling fonts. This added some capability, but the additional capability is not necessarily needed by all apps. Programs can still use the old way and things will be perfectly fine and functional.
The way you talk about things you make it sound like X is bloated. This is an old canard that goes back to the days when 1 MB was a lot of RAM. X is only bloated if your computer has 1 MB of RAM. X itself is lean, in fact, esp. in comparison to modern software like Firefox, taking only a few megabytes for the core protocol code. So basically, you want to remove what would amount some fraction of a megabyte of protocol code and break compatability with hundreds of applications. You sir are an idiot that no one ought to ever listen to.
>" 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 :)
And neither can Mir.
It might not directly answer the question asked, but it does solve the problem. The Wayland developers have made clear that no one expects X11 to disappear from Linux distributions in the foreseeable future. Since every toolkit on Linux already supports X, you can use the X backend of whatever toolkit when running the application remotely, and the Wayland backend otherwise.
I have no idea if you are just completely trolling or if you think you are serious... I have seen Ubuntu 12.04 systems with ATI HD3450 cards working perfectly fine - without needing the proprietary drivers. My system is a Fedora 16 box with a 4670 card and it also runs perfectly fine and doesn't need the proprietary drivers at all. I did a live boot of Fedora 18 and it ran fine though I have not done the install yet. I have no idea how you would want to say they are "fucking busted." Unless you specifically mean that in your delusional rage you cannot possibly run the regular drivers and thus attempt to use the proprietary drivers and these fail in some manner making everything "totally FUCKING BUSTED" for some reason. Wow... but hey those functional drivers must be a "peice of shit."
"but money is the God of Algiers & Mahomet their prophet." - Rich. O'Bryen June 8th 1786
"I know I will be modded down for this": where's the option '-1, Asking for it'?
I understand your case and I add that many developers use Apple machines (with OSX or Linux).
However, We the nerds are in minority. I support the rest.
The assumption that Apple customers made a better and more informed choice than their PC peers is wrong. Customers are mostly or statistically clueless on this particular subject, but Apple advertising/salesmen makes them believe that they made a better choice. Clever!
This is why an Apple user is superior to a PC user whenever they call me with the same problem. Usually they want me to confirm whatever justification they adopted from their shop.
So while "the right tool for the job" is a good point (personally all my tools are GNU/Linux branded but my thinking is the same so I use several distros), it doesn't invalidate the reality of the "cult like" axioms of the larger Apple user base.
It's psychological, I suspect, since most PC users start the conversation with how stupid they are with computers. Apple users are equally "stupid" but they know for a fact that they can't be wrong about their Apple choice, and allow themselves a fair portion of smugness, which makes these calls so hilarious.
If asked, I say I use GNU/Linux which shares a heritage with OSX, but has the freedom of PCs and comes at no cost. Sans any smugness.
Defining Statistics and Social Research
On modern X servers the video buffer is shared, and media playback is done by direct writes into a shared buffer. If I am wrong, or you mean something different, can you provide a link? (And on a side note, I've never seen systematic video problems traceable back to X, only incidental ones, and no system is free from those).
I'm losing you. Are you talking XDirectFB or something else? As far as systematic video problems from X11, that's easy to reproduce. Boot your computer to Windows or OSX as appropriate. Start running some video streams while holding down and moving them. So you have: multiple video streams with at least one in motion. Assuming your video card(s) aren't excellent relative to your screen, you should be able to get slight hiccups and noticeable lag.
Now reboot to Linux. Take the same streams moving at the same speed. You'll see an obvious difference.
X worked in days when the network standards were slower and less responsive, and today it should be worse?
X worked in the days when bandwidth was much worse. Latency is a different issue. Latency on average is drifting upwards as:
a) The amount of distance between server and client is going from meters to thousands of miles.
b) The number of routers in between increasing
c) Higher latency connections (like cell phone tethering) are being used, also QoS based connections increase latency to decrease jitter.
On the plus side routers in broad use are much faster today than 15 years ago. Ultimately (b) and (c) are solvable issues, but the fact that the size of the earth is big relative to the speed of light means (a) isn't solvable. At the end of the day 1ms (what's needed for responsive touch) cannot possibly happen over distances 90 miles, 10ms latency (what's needed for most mouse interactions to feel instant) 900 miles. Can't be fixed even if all the other problems were go to zero, which ain't happening anytime soon.
The alternatives of shoving full bitmap images over the lines for remote rendering can hardly improve the situation.
Sure it can. Once the client has the bitmap it can render it essentially instantly. Also more and more we are moving towards vector graphics. Obviously a large bitmap relative to bandwidth introduces a 1x cost in latency but it is one time. Same as caching fonts on a printer.
jbolden:The X codebase is really hard to change and complex because of legacy. That drives up development times and uses resources inefficiently.
mbdwedge: Boohoo. Complex problems lead to complex code. Oh those poor programmers, they don't get to reinvent the wheel for fame and glory. Fuck them.
You are actually making a different claim. My claim was that bug fixes were taking long because of a complex code base. Your counter in the article is that developers would rather rebuild than fix. Your claim may also be true. But that only compounds the problem if X11 is leading to the maintainers being bored while they are excited to work on Wayland I'm hard pressed to see how that's an argument against Wayland. The people who were working on XFree86 in the 1990s primarily were working for commercial X servers which used parts of the codebase like Hummingbird. The people working on X11 today are associated with distributions primarily Suse and RedHat. I can easily see them being less interested in maintenance work, getting people to do work they don't want to do requires money. The commercial X servers had more money to spend on X11 than the distributions have.
So even if your counter were a counter and even if it were true, how is that an argument for Wayland?
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 have rarely seen problems with multiple video streams, and only on systems where decoding the video was the bottleneck. Rendering has always been as good as on Windows (which pre-XP wasn't very good either).
As for pro-Wayland: I think there is a misunderstanding; I am not arguing in favour of or against Wayland, I am arguing against what in my view are shortsighted and badly founded claims against X.
Sure, it's old and complex code, that takes some getting used to. Throwing it away is however not the answer. Xorg was a step in the right direction, and I wonder why people gave up on that and started pushing the new hotness (aside from the CADT model applying, of course).
"I know I will be modded down for this": where's the option '-1, Asking for it'?
Xorg was a step in the right direction, and I wonder why people gave up on that and started pushing the new hotness (aside from the CADT model applying, of course).
Well that's easy. They pushed through most of the stuff that had been backlogged that the XFree86 guys hadn't wanted that kept them busy for a few years. What was left was stuff that was hard to do with the X11 codebase.
I have rarely seen problems with multiple video streams, and only on systems where decoding the video was the bottleneck. Rendering has always been as good as on Windows (which pre-XP wasn't very good either).
I'm talking Windows 7, maybe Vista. Or OSX 10.4 or later. You have to be using modern video codecs for this comparison.
Sorry, but I can't help but comment on "GNU/Linux" - I doubt all of your "tools" are GNU/Linux. "OSS"/Linux, maybe, but I thought only Stallman tries to pretend all of a Linux distro userspace is GNU :)
There's a workaround by downgrading Xorg that you may try
This is linked to in linuxmint 14's release notes, which are almost immediately reached from the front page when you when to get to the distro.. That's why I can provide you with this link even though I don't have ATI or AMD cards.
http://www.ubuntuvibes.com/2012/10/how-to-install-amd-catalyst-legacy.html
It's just about AMD saving money and resources. Blame them, and/or yourself because every one know only nvidia does fast and long term linux/unix drivers.
As I said, I have rarely seen video problems, and most of them I've seen on machines that were not powerful enough to decode modern codecs at the prerequisite framerates to run multiple video streams.
Short of actual numbers, all we have is anecdotes of people saying 'X video playback sucks' and people saying 'works for me'. That in itself is no ground to make decisions on.
"I know I will be modded down for this": where's the option '-1, Asking for it'?
Short of actual numbers, all we have is anecdotes of people saying 'X video playback sucks' and people saying 'works for me'. That in itself is no ground to make decisions on.
I didn't say playback sucks. I gave you a repeatable experiment to prove the problem. Now this problem might not be a problem for an end user. Lag is highly activity dependent, of 2-3 ms are a problem for drawing. Lags of 2-3 seconds might not a problem for watching a movie full screen.
You don't need numbers. I gave you a simple test you can do on any X11 that should be repeatable. My assertion is simple pick a workload (video frames in motion) that stresses the video card causing minor problems under Windows or OSX (recent versions) and under X11 it will be disastrously overtaxed. You do numbers when the differences aren't obvious, this is obvious.
You want to see problems overwhelm your hardware. Any hardware can be overwhelmed. Increase the number of megapixels. Increase the number of number of things the card is having to do. Heck if you have a really fast setup have it flip between a Blu-ray movie and a highres game 30x per second interleaving the frames 60x / second. I doubt your card can handle that. If you get nothing slow it down till you get something that's jarring but understandable.
I have an nvidia 650M which is an excellent laptop card. I'm using OSX which is arguably the best design for video around. Because I have a 5mega pixel screen and virtualization that Apple does I can get visible lag fairly easily. If I throw the computer into Intel 4000 mode it is hard not to get visible lag.
_____
You asked for an example. This is an infinitely repeatable example demonstrating the problem.
Forgot it was /. I replied to.
Standing by for public flogging.
Defining Statistics and Social Research
And yet I run an Intel 945 and I see none of the problems you describe.
Again, anecdotes do not make for reliable data.
"I know I will be modded down for this": where's the option '-1, Asking for it'?
No, not a flogging, just a teasing ;)
I have no experience from the IT/support side of things, but as far as users being "superior" - I don't think choice of computer makes anyone superior, but looking at the choice of computer of highly technically proficient users is interesting at least.
It's almost eerie how many people in the tech industry in SV, at least (developers, marketing, execs, etc) have started using MacBooks in the last few years. It seems 4 out of 5 people in meetings are using them. In fact, the exception to the rule was almost comical at a meeting with Microsoft - half the table was MacBooks, half was Ultrabooks (and half iPhone/Android, half Windows Phone ;) ) Apple haters can claim *all* of those people are just fanboys getting overpriced electronics for the image (I'm sure some do, but that's the exception rather than the rule of those I know). But it just comes across as a fairly petty and ignorant attitude - probably more so than the attitude they are railing against.
As I said, I have a Mac (Macbook Pro retina, my first Apple in 25 years) and I *really* like the hardware (the software I'm getting used to, but with VMs it's somewhat irrelevant). To go to the logical extreme of "the right tool for the job" - a few weeks ago I needed to install a Windows-based compiler toolchain on my Linux workstation at work so I could integrate it into our makefile-based automated build, but I was working from home. So I ran the Windows installer in Wine on my Linux workstation over VPN and an ssh tunnel from my laptop popping up the intstall window on the X11 server running on MacOS. Worked perfectly, and my head almost esplode. And this was all just to cross compile an app for the Nintendo Wii U :-D
And today I am home sick, so I'm about to fire up Windows running in a Parallels VM to play Planescape Torment on that Mac. And the only thing I see wrong with that picture is that I haven't finished Torment long ago!
Software is just a tool, not a religion... and there is no single "right tool" for all jobs... ;)
At the end of the day 1ms (what's needed for responsive touch) cannot possibly happen over distances 90 miles, 10ms latency (what's needed for most mouse interactions to feel instant) 900 miles. Can't be fixed even if all the other problems were go to zero, which ain't happening anytime soon.
Uh, these millisecond times are just bullshit. Display updating at 60Hz, that is every 16ms, feels completely smooth, and that means shortest possible average delay from finger movement to it showing on screen in half of that. Because it actually jitters between 0..16ms + rendering delay, realistic best case is, display will show response after next frame, that means delay of in 16...33ms.
No latency is much lower than 16ms under that situation. It is close to 0, it is just relying on the fact that the visual system will fill in missing details at 60hz. But it will fill in the detail with continuing the previous motion. 33ms would be a problem except that the later frames will be inconsistent with the delay so the brain fixes it. If the delay were really 33ms then it would be visually stressing.
This has been tested. With computer graphics up to about 125fps and instant response feels better. Do a web search on frame rates and computer graphics.