[PATCH xserver 1/5] xwayland: allow "-eglstream" option

Olivier Fourdan ofourdan at redhat.com
Tue Jun 5 17:37:54 UTC 2018


The command line option "-eglstream" used to enable EGLStream support
for NVidia GPU was made available only when Xwayland was built with
EGLStream support enabled.

Wayland compositors who spawn Xwayland have no easy way to tell whether
or not Xwayland was built with EGLStream support enabled, and adding
"-eglstream" command line option to Xwayland when it wasn't built with
EGLStream support would prevent Xwayland from starting (“Unrecognized
option” error).

Make sure we support the command line option "-eglstream" regardless of
EGLStream support in Xwayland. Obviously, if Xwayland was built without
EGLStream support, this has no effect.

Signed-off-by: Olivier Fourdan <ofourdan at redhat.com>
Reviewed-by: Lyude Paul <lyude at redhat.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
---
 hw/xwayland/xwayland.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
index 1d6b49979..d9548a874 100644
--- a/hw/xwayland/xwayland.c
+++ b/hw/xwayland/xwayland.c
@@ -96,9 +96,7 @@ ddxUseMsg(void)
     ErrorF("-rootless              run rootless, requires wm support\n");
     ErrorF("-wm fd                 create X client for wm on given fd\n");
     ErrorF("-listen fd             add give fd as a listen socket\n");
-#ifdef XWL_HAS_EGLSTREAM
     ErrorF("-eglstream             use eglstream backend for nvidia GPUs\n");
-#endif
 }
 
 int
@@ -117,11 +115,9 @@ ddxProcessArgument(int argc, char *argv[], int i)
     else if (strcmp(argv[i], "-shm") == 0) {
         return 1;
     }
-#ifdef XWL_HAS_EGLSTREAM
     else if (strcmp(argv[i], "-eglstream") == 0) {
         return 1;
     }
-#endif
 
     return 0;
 }
@@ -988,11 +984,13 @@ xwl_screen_init(ScreenPtr pScreen, int argc, char **argv)
         else if (strcmp(argv[i], "-shm") == 0) {
             xwl_screen->glamor = 0;
         }
-#ifdef XWL_HAS_EGLSTREAM
         else if (strcmp(argv[i], "-eglstream") == 0) {
+#ifdef XWL_HAS_EGLSTREAM
             use_eglstreams = TRUE;
-        }
+#else
+            ErrorF("xwayland glamor: this build does not have EGLStream support\n");
 #endif
+        }
     }
 
 #ifdef XWL_HAS_GLAMOR
-- 
2.17.1



More information about the xorg-devel mailing list