Multi seat with nested servers?

2022-12-08 Thread Phillip Susi
Only one Wayland server can control a given GPU, but if you have two
monitors on one GPU, isn't it possible to run a root server that
displays two nested servers each on their own monitor to get a multi
seat setup?

Has anyone done this?  What would a good server be to use for the root?
Could you have the nested servers directly bind to their keyboard/mouse
or would the root server also have to multiplex those out to the nested
servers?



[ANNOUNCE] libei 0.4

2022-12-08 Thread Peter Hutterer
libei 0.4 is now available. libei is a library to send
Emulated Input (EI) to a matching Emulated Input Server (EIS) which can
receive those events with libeis, also part of this project.

libei uses GitLab releases, for tarballs please see:
https://gitlab.freedesktop.org/libinput/libei/-/releases/0.4

Notable changes since 0.3:
- ei_setup_backend_portal() was removed. The portal it connected to never
  really existed and all the efforts since have gone into supporting libei
  connections through the RemoteDesktop and the InputCapture portals. Note
  that these changes are not yet merged into upstream xdg-desktop-portal.
- a new library "liboeffis" takes the place of the above. It is a helper
  library to connect to the RemoteDesktop portal via DBus with a minimal API
  and retrieve the EIS socket.
  This library is intended to be used by tools that cannot easily talk DBus
  themselves (this includes Xwayland).
- the libei/libeis log handlers have a new API which makes handling log
  messages a bit simpler.
- version exchange between client/server make it possible (in the future) to
  have multiple supported protocol versions.

This is a development snapshot and neither API nor ABI should be considered
stable. Anyone using libei or libeis must keep both in sync, there are no
accommodations made for libei/libeis from different versions and the wire
protocol may break at any time.

Please see the API documentation here:
https://libinput.pages.freedesktop.org/libei/

The git shortlog is below:

Olivier Fourdan (7):
  README: Xwayland is a Wayland client
  Fix absolute events filtering
  util: Add block/release signals API
  util: Protect system calls against signals
  util: Add a wrapper for dup() and pipe2()
  ei: Use the signal protected wrappers
  liboeffis: protect from interrupted system calls

Peter Hutterer (44):
  Add a comment that reserved properties cannot be set by the API
  reis: fix return code handling in allow_capabilities
  reis: drop unnecessary variable rc
  proto: reformat according to the Google Style Guide
  proto: specify that Configure messages must be sent before connection
  eis: capabilities can only be reduced
  proto: document ConfigureCapabilities
  proto: split the Configure messages out a bit
  proto: document that only one ConfigureName is possible
  Remove a double semicolon
  util: only do flag_* operations if the bit fits
  test: rename the ei AUTOCONNECT behavior to HANDLE_CONNECT
  test: set up libreis support in eierpecken
  eis: send out the list of existing properties on connect
  eis: add eis_client_has_capability
  test: add a few tests for reis
  eis: default the client to only the capabilities we know about
  tools/demo-client: stop means stop sending events
  tools/demo-client: keep a ref to the ptr/kbd/abs devices
  tools: print property values in the demo client and server
  proto: split the client's SetProperty from the server event
  log: allocate the log message on demand
  log: enforce single logical messages only
  Drop the trailing newline from the log messages
  log: abstract the auxiliary information into a log message context
  tools: drop help for obsolete --sender option from the eis-demo-server
  Add a version macro for grepable version numbers
  proto: add a version exchange prior to connect
  proto: allow the client to set the protocol version
  proto: add versioned Configure transactions
  Fix some logging linebreak issues
  proto: separate pre-connection properties into ConfigureProperty
  doc: fix two references to function calls
  doc: fix a doxygen warning about a wrong parameter name
  doc: fix a comment in util-mem.h
  meson.build: fix an indentation issue
  CI: purge all references to the master branch
  CI: bump to Fedora 37
  CI: bump to latest ci-templates
  README: swap to RemoteDesktop over the nonexistent EmulatedInput portal
  Purge the portal code
  liboeffis is a wrapper library for the RemoteDesktop communication
  util: change the signal handler to a context-manager like macro
  libei 0.4




signature.asc
Description: PGP signature