Hi,

To activate EGL support in Xwayland, one needs to pass “-eglstream” to
the Xwayland command line.

As Xwayland is automatically started by the Wayland compositors
(gnome-shell/mutter, weston, etc.), this needs to be added in the
compositor.

However, if the Xwayland was not built with eglstream support, the
command line option "-eglstream" is not supported and Xwayland will
bail out.

As the Wayland compositor has no (easy) way to tell whether EGL support
was enabled and built time in Xwayland, it cannot reliably use
“-eglstream”.

But even if Xwayland supports EGL stream, using “-eglstream” on hardware
which do not have EGL stream will cause an abort() at startup because
the EGL extensions are missing.

Also, if glamor is disabled early (either because "-shm" is passed or 
"-eglstream" fails to initialize), we would abort() in apply_output_change()
because some Wayland events remained unprocessed after InitOutput().

So ideally, one could use “-eglstream” regardless of the hardware and
Xwayland would neither crash, abort or even disable glamor altogether
because EGL stream is not supported, so that a compositor could decide
to add “-eglstream” to the Xwayland command line and Xwayland would
adapt automatically and play nice.

This the goal of that series of patches (plus one little code cleanup).

Cheers,
Olivier

Olivier Fourdan (5):
  xwayland: Allow "-eglstream" option
  xwayland: "EGL_EXT_device_base" required for eglstream
  xwayland: process Wayland events after adding screen
  xwayland: Do not disable glamor if eglstream failed
  xwayland: small xdg_output cleanup

 hw/xwayland/xwayland-glamor.c |  3 +++
 hw/xwayland/xwayland-output.c |  4 +++-
 hw/xwayland/xwayland.c        | 22 +++++++++++-----------
 hw/xwayland/xwayland.h        |  1 -
 4 files changed, 17 insertions(+), 13 deletions(-)

-- 
2.17.0

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to