
The ways of Wayland - iso-8859-1
http://lwn.net/Articles/536862/
======
dmm
It's really frustrating reading all of the misunderstandings regarding Wayland
and remote access.

The rendering modes modern applications use (SHM and dri2) are already just
swapping image buffers around. The applications(the toolkits mostly) are doing
all the rendering. So you if you are accessing X11 remotely you are _already_
sending image buffers over the network. Wayland can will be no worse at that
and can potentially be much better.

~~~
rwmj
For people using old X programs it's probably still sending X core protocol
messages, but you're right that there are misunderstandings. What I and most
people want is "ssh [-Y]" to continue to transparently forward the display so
we can run programs. Luckily it seems that xpra[1] will do this for Wayland at
some point, although the real test will be how simple it is to set up (like
ssh -Y it should Just Work for the majority of users).

[1] <http://xpra.org/>

~~~
zanny
From my understanding, it seems like what we want is a VNC switch in ssh
rather than necessarilly display server specific functionality. Go even
further and maybe the ssh server could just use the RFB protocol vnc uses.

Any Linux VNC server worth its salt already support tunneling RFB over ssh. To
take it a step further, you would just need very little display server support
for an ssh server to request the framebuffer of an application it opens and
send it via RFB or the vnc server to the client.

And I'd imagine Wayland already has some mechanism for other applications to
read somethings frames. If it is generic enough, ssh should be able to use
that. My only concern is that Wayland would need to be rendering programs but
not displaying them locally, and I don't have any understanding of Wayland's
internal implementation enough to know if it supports hidden windows like
that.

------
ChuckMcM
I really like the Wayland path (and as an old Sun guy that says a bit ;-) I
expect the folks worried about "remote wayland" really should be thinking
about browsers, not window systems. Seriously.

In my opinion a browser window running Javascript is a much better 'remote
window' to an application on a server elsewhere than X ever was.

~~~
ajross
Except that there are people actually relying on remote GUI apps right now,
that aren't web apps and won't be. Seriously.

This is one of the reasons why Wayland is, after 4+ years, still not seriously
deployed anywhere. It's easy to sit back and pontificate about how things
"should" be. It's a much more involved proposition to actually getting around
to breaking people's software. No one wants to pull the trigger with Wayland.

And, I suspect, that's part of the reason Canonical went with Mir (and for the
record: I completely agree that the technical justification there is bunk).
Wayland is forever-evolving and never quite there. Shuttleworth wants
something to ship. If your requirement is to pull a trigger, you at least want
to know that you own the gun.

Is that good or bad for Ubuntu or the community? I don't know and won't try to
guess. But I will say that at least some of the ire directed at Ubuntu might
be better directed at the Freedesktop folks for not getting something ready
years earlier.

Basically, if X sucked so much, why wasn't there more urgency directed at
replacing it? Crying now because someone else got there first seems
counterproductive.

~~~
ChuckMcM
I don't think X is going away any time soon, you your GUI apps are safe. I've
observed that a number of things that used to be GUI apps for me have become
web apps though, sometimes to dedicated controllers running embedded web
servers but web apps none the less. I would be interested to hear about apps
that are both "remote GUI apps" and there is no path to them becoming web
apps. (not 'in the cloud' but driven by an application framework that replaces

"local X client executable" + "local X server" + "remote server"

or

"local X server" + "remote X client" + "remote server"

Which can't be replaced with:

"local browser" + "remote script" + "remote server"

There just seems to be a wealth of tools to support that.

That said, I am not sure that people using X11 is why Wayland hasn't really
been present. There really is a bunch of things that all have to be true and
getting all of those things true has always been difficult, and its even more
difficult in open source.

My background is from Sun, where we had this cool set of applications and
stuff called "SunTools" which were awesome but not widgety. Dave Rosenthal was
a big proponent of X11 and after a few years it looked like it _might_ be
useful and Sun put a lot of effort around aligning the kernel the user land
tools, the libraries, etc. We all worked for the same company and it was still
a horribly arduous task. Because of that experience, my feeling is that
Wayland's progress has been par for the course for something which changes as
much of the underlying stuff as it does. There is a _lot_ of change in there.

We also may disagree on Mir, I think Canonical is backing Mir because they
"own" it, and got tired of waiting for negotiations to settle out before
moving forward. I don't know of course, I don't have any inside knowledge, but
I do think the rate of implementation Shuttleworth has pushed for is
antithetical to something that needs as many players in the game as Wayland
does and still leave it open to consensus decision making. I been building a
Weston based application off and on the PandaBoard for a couple of years and
have followed events around there a bit. A lot of strong, correct, and
incompatible opinions makes for slow going. Part of the challenge is everyone
brings their own requirements which makes their opinion more applicable. It
looked to me like Canonical said "We're going to align all decisions on this
to the point 'makes Unity Next work well'"

My guess, is that X has survived as long as it has because the pain of
replacing it is great. However I predict that once either Mir or Wayland hit
the tipping point people will abandon X rapidly and leave it in the dustbin of
history. Only time will tell.

------
saidajigumi
From TFA:

    
    
        > The first important idea is that in Wayland, every 
        > frame is regarded as "perfect." That is, the client 
        > application draws it in a completed form [...]
    

This is interesting, but also seems to run counter to recent work on the
importance of very low latency feedback. See John Carmack's recent article on
latency mitigation for VR headsets[1][2] for a very detailed example of this
issue. Similar ideas also apply to touch[3][4] and even good old keyboard &
mouse input schemes. There's a tradeoff between "perfect" frames and latency
(see Carmack's post). From the quote, it appears that Wayland's design choice
may limit achievable latencies for low-latency applications.

[1] [http://www.altdevblogaday.com/2013/02/22/latency-
mitigation-...](http://www.altdevblogaday.com/2013/02/22/latency-mitigation-
strategies/)

[2] #1 on HN: <https://news.ycombinator.com/item?id=5265513>

[3] <https://dl.acm.org/citation.cfm?id=2380174>

[4] <https://www.youtube.com/watch?v=vOvQCPLkPt4>

~~~
rayiner
Low latency feedback is important for some things, but complete double
buffering is the right default for a window system, because flicker is even
worse than touch lag.

This is one of the reasons people think iOS is so "snappy." It goes to great
lengths to never show you a partially-drawn frame. If you compare Safari to
say Internet Explorer on Windows RT, you see that IE looks like ass when
rendering complex pages, because it'll happily show you frames it's done
laying out yet.

------
iso-8859-1
The talk is available as video here:
<http://mirror.linux.org.au/linux.conf.au/2013/ogv/>

------
stesch
But somehow canonical doesn't like it and has to implement Mir.

~~~
fingerprinter
You are literally the first comment in the entire thread and you have nothing
to offer but to chide Canonical, who by the way, were not even mentioned in
the article. Neither was Ubuntu. In fact, you have to go about 4-5 threads
deep in the comments to see a mention of Ubuntu or Canonical (specifically).

This article is about Wayland. Do you have any thoughts on Wayland? Weston?
The future? X, even? Maybe some specific question about Mir and how it relates
to thing things Wayland wants to do as well? The advantages of one vs the
other? No? You don't have anything constructive to add? Greeeeeeeeeaaaaaaaat.

It's times like these I wish I could downvote a comment more than once.

~~~
batgaijin
I hope you're happy when you watch a superior open source project stagnate
before it had a chance to grow.

~~~
pyre
The most likely outcome is the Canonical toils away themselves on Mir, and
everyone else works on Wayland/Weston. Maybe at some point Canonical decides
that it's better to just use Wayland, but that's about it.

Wayland is already at 1.0, and has support from Valve, Nvidia, and AMD behind
it. I don't see it disappearing soon. Especially since the implementation of
Mir isn't even usable yet (while Wayland is).

~~~
ElliotH
Sadly, it seems neither Nvidia or AMD have specific plans for this:

Nvidia
[http://www.phoronix.com/scan.php?page=news_item&px=MTE5M...](http://www.phoronix.com/scan.php?page=news_item&px=MTE5MTk)

AMD
[http://www.phoronix.com/scan.php?page=news_item&px=MTE2N...](http://www.phoronix.com/scan.php?page=news_item&px=MTE2NDQ)

A great pity.

------
moron4hire
In regards to X and it's growing pains, in the era of source control, why is
backwards compatibility with ancient systems still a concern? If you're trying
to put together an old OS for some old hardware, why not take it out of the
source history and let the head progress forward unhindered?

~~~
wmf
I get the impression that many Linux users have specific old versions of
software (often a window manager, which complicates the issue) that they want
to keep using forever, but want to simultaneously use the latest version of
some other software (like a browser).

~~~
chimeracoder
Linux is pertinent here because we're talking about X11, but it should be
noted that this is by no means specific to Linux - the same could be said
about any OS with widespread use by different groups of people.

