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
