Hacker News new | past | comments | ask | show | jobs | submit login

Wayland is intended as a simpler replacement for X, easier to develop and maintain. - http://wayland.freedesktop.org/

Currently it's

Display <- Compositor <- X11 Client <- X11 Server <- App

Wayland:

Display <- Compositor (Wayland) <- App




I'm confused by your diagram. The "X11 Client" is your app (literally, from a process perspective), and the X server displays it.

Edit: You know what, I should be less passive-aggressive about that. I'm not confused by your diagram, it's just wrong. :-)


Oh, right, on a local machine I guess the X11 server doesn't need a client before the compositor.


Maybe what you really mean is:

Display <- X server <- Compositor/WM <- X server <- Your app

Where compositor/WM and your app are X clients, i.e. there's lots of context switches between clients and the server.

I personally don't see much wrong with this design BTW, despite the context switches X is pretty smooth even on some pretty wimpy hardware (eg. Raspberry pi, or Nokia N900, or the wimpy Pentiums I ran X on 15 years ago).


So no more X11 apps over the internet (or network?)


> No, that is outside the scope of Wayland. To support remote rendering you need to define a rendering API, which is something I've been very careful to avoid doing. The reason Wayland is so simple and feasible at all is that I'm sidestepping this big task and pushing it to the clients. It's an interesting challenge, a very big task and it's hard to get right, but essentially orthogonal to what Wayland tries to achieve.

Source: http://wayland.freedesktop.org/faq.html#heading_toc_j_8


To support remote rendering you need to define a rendering API

See, this makes no sense to me. The truth of this statement holds if I substitute s/remote/local/.

The fact is, Wayland manages a shared resource via a well-known API. This is the very definition of client/server architecture. There's no additional technical hurdle to be crossed to support network transparency.


Yes, but the resources it passes around are handles to buffers in memory (as little copying as possible). Not so trivial to pass around the network (well, most networks). I suspect a VNC-like approach would work easiest and most generally, but performance would suffer (though I've found situations where VNC beats remote X11, even over very low latency connections).


Modern X applications mostly shuffle around pixmaps anyway. X11 drawing primitives are not used very often at all.


My understanding of OpenGL (which could be wrong) is that buffers are only transferred when loading textures onto the graphics card, which generally only happens at startup, and is time-consuming anyway (since they must find their way from disk to graphics memory).

So memory buffer handles can still be passed around, since clients rarely touch the raw data. (Indeed, this is exactly how X11 works.)


You can send OpenGL over the network, but I suspect sending the rendered window contents will use less bandwidth. So that's what Wayland is going to do.


That's one of the first questions asked in every discussion about Wayland :) The answer is basically no, it's out of scope. That said, remoting might be added to one or more Wayland compositors in the future. http://wayland.freedesktop.org/faq.html#heading_toc_j_8




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: