[PATCH xserver 0/5] Xwayland fixes wrt eglstream support

Olivier Fourdan ofourdan at redhat.com
Thu May 24 14:10:58 UTC 2018


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



More information about the xorg-devel mailing list