Linked by martini on Tue 23rd Oct 2012 22:02 UTC
X11, Window Managers Wayland 1.0 was officialy released on October 22. Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol. The compositor can be a standalone display server running on Linux kernel modesetting and evdev input devices, an X application, or a wayland client itself. The clients can be traditional applications, X servers (rootless or fullscreen) or other display servers.
Permalink for comment 539893
To read all comments associated with this story, please click here.
RE[2]: Comment by stabbyjones
by butters on Wed 24th Oct 2012 14:44 UTC in reply to "RE: Comment by stabbyjones"
butters
Member since:
2005-07-08

I'm not optimistic about network transparency in Wayland unless it coincides with a major push to bring network transparency to D-Bus. In fact, one could argue that Wayland should be built on top of a network-transparent message bus.

The client-server paradigm is the original sin of UNIX and everything/everybody that was influenced by it. Clients often want to talk to one another. Servers often want to talk to one another. Servers often want to make requests on clients. In modern software systems, the distinction between clients and servers often breaks down or creates artificial limitations.

This is why D-Bus (or COM in the Windows world) has become such an important architectural element of modern operating systems. Of course, it was implemented in userspace, and it wasn't until years later that anyone even thought to suggest that maybe the Linux kernel should have a native pub-sub socket type -- so ingrained is the client-server mindset.

We live in a peer-to-peer world, with peer-to-peer programming models and a fantastic peer-to-peer network architecture, and the extent to which we shoehorn this all into the client-server paradigm is shameful.

Just look at how web frameworks have evolved as crude and awkward bastardizations of the MVC pattern, which doesn't really translate from object-oriented programming to a client-server protocol like HTTP.

In both X11 and Wayland, clients aren't really pure clients, because they respond to requests from the server to handle input and exposure events. So what we're really talking about are applications of the generalized peer-to-peer message bus.

We need a first-class, network-transparent, pub-sub, multicast socket implementation in the kernel. D-Bus would be a thin abstraction of that, and since the kernel implementation would replace two expensive copy operations with a cheap page table mapping, Wayland could ride on the D-Bus without performance issues, gaining network transparency as a matter of course.

Reply Parent Score: 4