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.
- 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.
- 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.)