On Wed, 27 Jun 2018 20:44:18 -0400
nerdopolis <bluescreen_aven...@verizon.net> wrote:

> This allows the fbdev backend to run on, and use devices from the
> specified seat, similar to the drm backend.
> ---
>  compositor/main.c            |  2 ++
>  libweston/compositor-fbdev.c | 10 +++++++++-
>  libweston/compositor-fbdev.h |  9 +++++++++
>  3 files changed, 20 insertions(+), 1 deletion(-)
> 
> diff --git a/compositor/main.c b/compositor/main.c
> index 7bfe0a33..068cdd8f 100644
> --- a/compositor/main.c
> +++ b/compositor/main.c
> @@ -494,6 +494,7 @@ usage(int error_code)
>               "Options for fbdev-backend.so:\n\n"
>               "  --tty=TTY\t\tThe tty to use\n"
>               "  --device=DEVICE\tThe framebuffer device to use\n"
> +             "  --seat=SEAT\t\tThe seat that weston should run on, instead 
> of the seat defined in XDG_SEAT\n"
>               "\n");
>  #endif
>  
> @@ -1593,6 +1594,7 @@ load_fbdev_backend(struct weston_compositor *c,
>       const struct weston_option fbdev_options[] = {
>               { WESTON_OPTION_INTEGER, "tty", 0, &config.tty },
>               { WESTON_OPTION_STRING, "device", 0, &config.device },
> +             { WESTON_OPTION_STRING, "seat", 0, &config.seat_id },
>       };
>  
>       parse_options(fbdev_options, ARRAY_LENGTH(fbdev_options), argc, argv);
> diff --git a/libweston/compositor-fbdev.c b/libweston/compositor-fbdev.c
> index a78f6fab..09a2eb39 100644
> --- a/libweston/compositor-fbdev.c
> +++ b/libweston/compositor-fbdev.c
> @@ -776,6 +776,13 @@ fbdev_backend_create(struct weston_compositor 
> *compositor,
>  {
>       struct fbdev_backend *backend;
>       const char *seat_id = default_seat;
> +     const char *session_seat;
> +
> +     session_seat = getenv("XDG_SEAT");
> +     if (session_seat)
> +             seat_id = session_seat;
> +     if (param->seat_id)
> +             seat_id = param->seat_id;
>  
>       weston_log("initializing fbdev backend\n");
>  
> @@ -800,7 +807,7 @@ fbdev_backend_create(struct weston_compositor *compositor,
>       wl_signal_add(&compositor->session_signal,
>                     &backend->session_listener);
>       compositor->launcher =
> -             weston_launcher_connect(compositor, param->tty, "seat0", false);
> +             weston_launcher_connect(compositor, param->tty, seat_id, false);
>       if (!compositor->launcher) {
>               weston_log("fatal: fbdev backend should be run using "
>                          "weston-launch binary, or your system should "
> @@ -846,6 +853,7 @@ config_init_to_defaults(struct 
> weston_fbdev_backend_config *config)
>        * udev, rather than passing a device node in as a parameter. */
>       config->tty = 0; /* default to current tty */
>       config->device = "/dev/fb0"; /* default frame buffer */
> +     config->seat_id = NULL;
>  }
>  
>  WL_EXPORT int
> diff --git a/libweston/compositor-fbdev.h b/libweston/compositor-fbdev.h
> index 8b7d900e..540120a4 100644
> --- a/libweston/compositor-fbdev.h
> +++ b/libweston/compositor-fbdev.h
> @@ -52,6 +52,15 @@ struct weston_fbdev_backend_config {
>        */
>       void (*configure_device)(struct weston_compositor *compositor,
>                                struct libinput_device *device);
> +
> +     /** The seat to be used for input and output.
> +      *
> +      * Set first by the XDG_SEAT variable, and overridable by the --seat 
> option.
> +      * If none are specified, the default "seat0" is assumed. The backend 
> will

With the above wording fixed as explained for patch 1, this is:

Reviewed-by: Pekka Paalanen <pekka.paala...@collabora.co.uk>


Thanks,
pq

> +      * take ownership of the seat_id pointer and will free it on
> +      * backend destruction.
> +      */
> +     char *seat_id;
>  };
>  
>  #ifdef  __cplusplus

Attachment: pgpZJi8I6KzLC.pgp
Description: OpenPGP digital signature

_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to