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

Lyude Paul lyude at redhat.com
Fri May 25 20:32:47 UTC 2018


Reviewed-by: Lyude Paul <lyude at redhat.com>

On Thu, 2018-05-24 at 16:10 +0200, Olivier Fourdan wrote:
> The command line option "-eglstream" used to enable EGLi stream support
> for NVidia GPU was made available only when Xwayland was built with EGL
> stream support enabled.
> 
> Wayland compositors who spawn Xwayland have no easy way to tell whether
> or not Xwayland was built with EGL stream support enabled, and adding
> "-eglstream" command line option to Xwayland when it wasn't built with
> EGL support would prevent Xwayland from starting (“Unrecognized option”
> error).
> 
> Make sure we support the command line option "-eglstream" regardless of
> EGL stream support in Xwayland, obviously without EGL stream support
> this has no effect.
> 
> Signed-off-by: Olivier Fourdan <ofourdan at redhat.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..b4049d2cc 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: eglstream backend support not
> enabled\n");
>  #endif
> +        }
>      }
>  
>  #ifdef XWL_HAS_GLAMOR
-- 
Cheers,
	Lyude Paul


More information about the xorg-devel mailing list