Are the Wayland and X11 interfaces attempting too much?


#1

I’m mostly concerned here with the wayland interface, but I believe from a conversation with @jdstrand yesterday that the x11 interface is also affected by the same logic (i.e we can s/wayland/x11/g below).

The wayland interface is attempting to do four things across two different contexts.

  1. The four things are:
    1.1. enable running as a Wayland server
    1.2. enable running as a Wayland client
    1.3. Enable a snapped server to permit client connections
    1.4. Enable a snapped client a server

NB On “classic” both servers and clients can be provided by “the system” - it ought to be transparent whether there is a snap on either end or not.

  1. The two contexts are:
    2.1. running as a daemon (usual on Ubuntu Core)
    2.2. running as a user (usual on Ubuntu Classic)

We have, for example, snaps that want to do 1.1 and 1.2 without either of 1.3 or 1.4. I’ve just posted a discussion of the latter. But it seems sensible to consider whether we need to separate an interface that allows running a Wayland server without allowing connections?

(I think it is a bug in the current configuration, but the current wayland interface doesn’t enable use of shm buffers which is essential to providing a server for the Wayland protocol - existing snaps use the mir interface to gain this capability.)