[RFC wayland 00/18] Wayland network transparency :)

Derek Foreman derekf at osg.samsung.com
Tue Feb 9 16:55:47 UTC 2016


I saw a presentation once where someone said that even the simplest
implementation of wayland network transparency that just pushed the
existing protocol over tcp/ip would still be better than X.

Let's test that theory.
Hint - application startup time is shockingly fast due to wayland's
excellent protocol design, but my poor damage tracking and lack of
compression hurts.  Damage tracking is especially bad for anything
that doesn't use wl_surface.damage_buffer() - so weston-terminal may
be rough but terminology is much snappier.

To try it out (and open a gaping security hole because I've punted on
kind of authentication), just add:
wl_display_add_remote_socket(display, "foo");
to weston right before load_modules in main.  Use at your own risk.

That's a literal "foo" because I haven't bothered defining how that
name string changes the port.

I've written up a short blog post over here:
http://blogs.s-osg.org/wow-wayland-over-wire/

(It lists other decisions I haven't bothered to make for this trial
run.)

For those of you that want to view PDF files over the network, EFL's
etui viewer comes highly recommended. ;)

Derek Foreman (17):
  os-compatability: Allow creation of 0 byte anonymous files
  os: make set_cloexec_or_close private instead of static
  cursor: use wl_os_set_cloexec_or_close instead of local copy
  os-compatability: Remove cursor's private os compat stuff entirely
  client: Check remaining connection buffer status after each
    queue_event()
  protocol: Add fd_static type
  protocol: Use new fd_static type for keymaps
  os: Add wl_os_resize_file()
  scanner: Add the concept of "pre hooks"
  os: Add wl_os_read() and wl_os_write()
  os: Add a wl_os_socket_reuseaddr
  connections: Add remote sockets
  shm: properly resize remote buffers
  connection: support sending the contents of fds as bulk data
  connection: Use bulk transfers for fd_static on remote connections
  protocol: Add a wl_buffer.transmit
  protocol: Add hooks for network transparency

Giulio Camuffo (1):
  shm: add getters for the fd and offset

 Makefile.am               |   5 +-
 cursor/os-compatibility.c | 148 -------------------------
 cursor/os-compatibility.h |  34 ------
 cursor/wayland-cursor.c   |  15 +--
 protocol/wayland.dtd      |   1 +
 protocol/wayland.xml      |  40 ++++---
 src/connection.c          | 150 +++++++++++++++++++++++++-
 src/network-client.c      | 269 ++++++++++++++++++++++++++++++++++++++++++++++
 src/scanner.c             | 117 ++++++++++++++++++--
 src/wayland-client-core.h |  10 ++
 src/wayland-client.c      | 120 +++++++++++++++++----
 src/wayland-os.c          | 162 ++++++++++++++++++++++++++--
 src/wayland-os.h          |  19 ++++
 src/wayland-private.h     |  13 +++
 src/wayland-server-core.h |  13 +++
 src/wayland-server.c      | 146 +++++++++++++++++++------
 src/wayland-shm.c         |  63 ++++++++++-
 17 files changed, 1045 insertions(+), 280 deletions(-)
 delete mode 100644 cursor/os-compatibility.c
 delete mode 100644 cursor/os-compatibility.h
 create mode 100644 src/network-client.c

-- 
2.7.0



More information about the wayland-devel mailing list