Announcing printerd
Announcing printerd
Posted May 25, 2012 3:45 UTC (Fri) by quotemstr (subscriber, #45331)In reply to: Announcing printerd by njd27
Parent article: Announcing printerd
Or at least that's what the Wayland people taught me.
Posted May 25, 2012 10:35 UTC (Fri)
by dgm (subscriber, #49227)
[Link]
Now seriously: that's exactly what you have been doing for a few years now unless you limit yourself to Motif applications, because all popular toolkits draw on the client side and then send the pixmaps to the X display via XRender these days. Or at least that's what they told to me.
Posted May 25, 2012 11:55 UTC (Fri)
by sdalley (subscriber, #18550)
[Link] (17 responses)
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. This doesn't mean that remote rendering won't be possible with Wayland, it just means that you will have to put a remote rendering server on top of Wayland. One such server could be the X.org server, but other options include an RDP server, a VNC server or somebody could even invent their own new remote rendering model. Which is a feature when you think about it; layering X.org on top of Wayland has very little overhead, but the other types of remote rendering servers no longer requires X.org, and experimenting with new protocols is easier. It is also possible to put a remoting protocol into a wayland compositor, either a standalone remoting compositor or as a part of a full desktop compositor. This will let us forward native Wayland applications. The standalone compositor could let you log into a server and run an application back on your desktop. Building the forwarding into the desktop compositor could let you export or share a window on the fly with a remote wayland compositor, for example, a friend's desktop.
Posted May 25, 2012 14:28 UTC (Fri)
by renox (guest, #23785)
[Link] (4 responses)
Obviously Wayland devs would say that that Wayland won't create issues for using remote display in a WAN, in practice we will see: it's very possible that this will be a mess..
In a way, it *is* already a bit of a mess: NX isn't integrated in X as it should be IMHO.
Posted May 25, 2012 17:16 UTC (Fri)
by sdalley (subscriber, #18550)
[Link] (3 responses)
We all wish that the Linux desktop experience was better today. But what are your technical objections to Wayland? You admit that the current state of X is non-optimal. Have you got some constructive suggestions to improve the situation?
"The one who says something cannot be done should never interrupt the one who is doing it."
Posted May 25, 2012 18:30 UTC (Fri)
by dlang (guest, #313)
[Link]
Posted May 25, 2012 18:56 UTC (Fri)
by renox (guest, #23785)
[Link] (1 responses)
Not really: the reason why X is not in a good state is due to chronic lack of manpower ( http://www.phoronix.com/scan.php?page=news_item&px=MT... )..
Wayland will "help" by doing less, OK, but let's not pretend that the existence of Wayland is a good thing..
Posted May 25, 2012 22:25 UTC (Fri)
by sdalley (subscriber, #18550)
[Link]
There seems to be some memo that I didn't get. _Why_ is the existence of Wayland a _bad_ thing? What else would be better? It is a long overdue refactoring of the display/rendering/windowing plumbing that is careful not to reinvent new wheels but replace old and wobbly ones. In the medium term it will allow X to drop a load of old cruft.
This will surely end up making the overstretched X maintainers' lives easier, and more fulfilling than bodging improvements that are better and more simply done elsewhere.
It seems to be well supported by Red Hat and hopefully Canonical will soon be getting actively involved too.
As for remote-X issues, I certainly don't disagree there's problems there.
These problems, however, are not within Wayland's scope at present. Its design carefully leaves a clear field in which to fix them. And so long as workarounds like Xvnc and Xpra continue to work, we should at least not go backwards.
What's not to like? It seems to me that Wayland deserves our support and help during the inevitable teething issues rather than criticism.
Posted May 26, 2012 23:51 UTC (Sat)
by butlerm (subscriber, #13312)
[Link] (11 responses)
This is where I get confused. Presumably, the use of direct-to-Wayland backends with toolkits like GTK and QT will normally make things worse (if not impossible) for remote operation. So are the advantages of Wayland with X layered on top substantial enough that it is a major improvement over the status quo? Or do the real advantages of Wayland only come when you eliminate the X layer in-between?
Furthermore, if Wayland does the compositing and the input arbitration, is it really necessary for X to run out of process in this case? Couldn't you just have libXCB or whatever have multiple backends, one a stub for remote operation using the X protocol, and the other an in-process rasterizer for use with Wayland, etc?
Posted May 27, 2012 10:25 UTC (Sun)
by Jonno (subscriber, #49613)
[Link] (3 responses)
Option 1: Remote rendering *on top of* Wayland. In this scenario clients (applications) don't do rendering themselves, but sends rendering commands to the display server, which render the windows and ask the Wayland compositor to display them. This will ofcourse require changes to the clients, or to the toolkit they use. You can use the standard compositor (e.g. Weston) on the display server, but will need a rendering server and protocol as well. One existing solution is to use xserver and X11, but developing a better protocol is a possible future improvement.
Option 2: Remote composition *below* Wayland. In this scenario clients render the windows themselves and ask the local compositor to display them. The local compositor, however, does not, but instead compress the windows and sends them over the network to the display server, which in turn asks its Wayland compositor to display them. This will work with all Wayland clients without modification. You can use the standard compositor (e.g. Weston) on the display server, but will need a proxy compositor and client to forward the windows over the network. This is not yet implemented in production-ready code (though there are abandoned proof-of-concept code for older Wayland versions), but is expected to be the default once done.
Option 2 is often called VNC-like because you send pre-rendered images over the network, but unlike actual VNC, you will get rootless windows that integrate just as well as remote X11 windows, so a better description would be Xpra-like. For most (but not all) applications option 2 will require more bandwidth than option 1, but option 2 will require less roundtrips and are thus not as sensitive to lag (a.k.a. poor ping times).
User of dial-up connections and users on over-saturated local networks might want to deploy option 1 (i.e. no change from today), but most use cases will be better served by option 2 (i.e. better performance than today).
Posted May 27, 2012 21:12 UTC (Sun)
by raven667 (subscriber, #5198)
[Link] (2 responses)
Posted May 28, 2012 5:52 UTC (Mon)
by butlerm (subscriber, #13312)
[Link] (1 responses)
Posted May 28, 2012 6:43 UTC (Mon)
by raven667 (subscriber, #5198)
[Link]
I'm not sure if that's the chicken or the egg, these protocols (RDP, ICA) have been deployed for more than 20 years and I'm not sure that the standards you references aren't just ex post facto documentation of existing practice.
> the usual set of rendering operations, font and image caching, and so on
One more thing to point out is that all the protocols I listed are add-ons to an existing system (mostly MS Windows) that isn't designed around remoting applications and so has to integrate with an infrastructure designed around local display, the same kind of problems that would need to be solved to remote native Wayland applications.
The methods for local display and remote display have little relation to one another and I think experience has shown that this is a good arrangement, trying to do both with the same method leads to a design that is poor for both cases.
Does any of that sound similar to your understanding of the situation? 8-)
Posted May 28, 2012 6:33 UTC (Mon)
by raven667 (subscriber, #5198)
[Link] (6 responses)
The existing robust X backends aren't just going to evaporate, the toolkits are already multi-platform and Wayland is just an additional backend.
> So are the advantages of Wayland with X layered on top substantial enough that it is a major improvement over the status quo?
Yes, it takes the hardware handling out of X and leaves it with just the protocol to support existing apps. The hardware handling can be much better done outside of the X framework than within it. X can be much simpler and more robust if it isn't trying to handle the underlying hardware.
> Or do the real advantages of Wayland only come when you eliminate the X layer in-between?
There is probably sufficient advantage even if the only native Wayland client was the X server although in practice toolkits are going to have a direct Wayland option and eliminate the middleman for local display (only).
> Couldn't you just have libXCB or whatever have multiple backends, one a stub for remote operation using the X protocol, and the other an in-process rasterizer for use with Wayland, etc?
I may be talking above my knowledge level but my guess is that X apps and toolkits just aren't architected in a way where that makes any sense. The people who are designing and implementing Wayland are also the ones who designed and maintain X so my guess is that they are aware of the different architectural options and are picking the best ones.
Posted May 28, 2012 15:59 UTC (Mon)
by butlerm (subscriber, #13312)
[Link] (5 responses)
My question here is basically can the toolkit switch dynamically so that the same application binary be run in both X mode or Wayland mode, depending on the runtime environment?
If so, that would be outstanding, if not that could put a major impediment in the deployment of such applications until some form of remote operation is working. I can't see a server distribution standardizing on applications that can't be accessed remotely.
Posted May 28, 2012 16:19 UTC (Mon)
by raven667 (subscriber, #5198)
[Link]
Posted May 28, 2012 17:40 UTC (Mon)
by Jonno (subscriber, #49613)
[Link] (3 responses)
NB: For Qt 4.8 you need to explicitly configure Qt with -qpa to get the new modular backends, the default is X11 only. In Qt 5.0 the hard-coded X11 port will be gone and replaced with a modular xcb backend.
Posted May 29, 2012 7:51 UTC (Tue)
by butlerm (subscriber, #13312)
[Link] (2 responses)
Posted May 29, 2012 21:53 UTC (Tue)
by nix (subscriber, #2304)
[Link] (1 responses)
Posted May 30, 2012 5:47 UTC (Wed)
by aquasync (guest, #26654)
[Link]
Announcing printerd
Ho, ho, very amusing. But you and the GP demonstrate that the Wayland people haven't been able to teach you anything at all.
Remote display of an entire desktop (as opposed to an X window) is an orthogonal problem. See the Wayland FAQ:
You betray your ignorance of wayland
Is Wayland network transparent / does it support remote rendering?
As far as existing remote X functionality is concerned, look at http://wayland.freedesktop.org/architecture.html , and then at http://wayland.freedesktop.org/xserver.html . You will see from this that the Xserver merely becomes another Wayland client. The intention is that nothing that X was able to do before (e.g. remote windows over the network) is going to be lost, because remote X clients can continue to connect to the X server just as they always have.
Strong words
Strong words
Strong words
Strong words
But what's the better alternative to Wayland?
Using Linux desktops over network X clients has been getting steadily worse over recent years, not because X is getting worse but because it is being asked to do more and more. GLib/cairo-based software expects textures and gradients where previously it was just pixels. SunRay thin clients got round to adding the X RENDER extension a couple of years ago, making the performance of GLib-based software on them merely sucky instead of snailishly unusable.
You betray your ignorance of wayland
You betray your ignorance of wayland
You betray your ignorance of wayland
You betray your ignorance of wayland
You betray your ignorance of wayland
You betray your ignorance of wayland
You betray your ignorance of wayland
You betray your ignorance of wayland
You betray your ignorance of wayland
You betray your ignorance of wayland
You betray your ignorance of wayland
You betray your ignorance of wayland