[PATCH xserver 1/5] xwayland: Allow "-eglstream" option
Emil Velikov
emil.l.velikov at gmail.com
Mon Jun 4 14:24:04 UTC 2018
On 24 May 2018 at 15:10, Olivier Fourdan <ofourdan at redhat.com> 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");
Something is really weird here:
On one hand '-eglstream' is recognised and used (by potential user) on
the other "... support is not _enabled_" is printed.
Surely you meant "not built", right? After all explicitly passing the
enable (runtime) flag should be enough to enable it ;-)
-Emil
More information about the xorg-devel
mailing list