diff options
author | Leandro Ribeiro <leandro.ribeiro@collabora.com> | 2020-05-06 18:10:19 -0300 |
---|---|---|
committer | Pekka Paalanen <pq@iki.fi> | 2020-06-02 13:47:15 +0000 |
commit | e57d8ae818c39fc434fcf3bfc97274195296c8d6 (patch) | |
tree | 6ef57186868330b2fcfc9216b0da0441faeaf5d2 | |
parent | 7b37b4d3d723da2c041053472812748465c3ae27 (diff) |
drm-backend: add --continue-without-input command line option to DRM-backend
In the test suite we may want to run a DRM-backend test on a
non-default seat, which may not have a input device associated.
Weston's default behavior is to not open if input devices are
not found, as it may cause troubles. For instance, Weston can
open but if no input device is set than the user can not
interact or leave it.
Add flag --continue-without-input to DRM-backend so we can run
these types of tests with no input. Notice that this won't force
the compositor to skip opening a input device if it finds it on
the non-default seat.
Signed-off-by: Leandro Ribeiro <leandro.ribeiro@collabora.com>
-rw-r--r-- | compositor/main.c | 4 | ||||
-rw-r--r-- | include/libweston/backend-drm.h | 3 | ||||
-rw-r--r-- | libweston/backend-drm/drm.c | 1 | ||||
-rw-r--r-- | man/weston-drm.man | 3 |
4 files changed, 10 insertions, 1 deletions
diff --git a/compositor/main.c b/compositor/main.c index 1a8bf115..65da9dbc 100644 --- a/compositor/main.c +++ b/compositor/main.c @@ -676,7 +676,8 @@ usage(int error_code) " --tty=TTY\t\tThe tty to use\n" " --drm-device=CARD\tThe DRM device to use, e.g. \"card0\".\n" " --use-pixman\t\tUse the pixman (CPU) renderer\n" - " --current-mode\tPrefer current KMS mode over EDID preferred mode\n\n"); + " --current-mode\tPrefer current KMS mode over EDID preferred mode\n" + " --continue-without-input\tAllow the compositor to start without input devices\n\n"); #endif #if defined(BUILD_FBDEV_COMPOSITOR) @@ -2523,6 +2524,7 @@ load_drm_backend(struct weston_compositor *c, { WESTON_OPTION_STRING, "drm-device", 0, &config.specific_device }, { WESTON_OPTION_BOOLEAN, "current-mode", 0, &wet->drm_use_current_mode }, { WESTON_OPTION_BOOLEAN, "use-pixman", 0, &config.use_pixman }, + { WESTON_OPTION_BOOLEAN, "continue-without-input", 0, &config.continue_without_input }, }; parse_options(options, ARRAY_LENGTH(options), argc, argv); diff --git a/include/libweston/backend-drm.h b/include/libweston/backend-drm.h index f6647e28..350eeb0d 100644 --- a/include/libweston/backend-drm.h +++ b/include/libweston/backend-drm.h @@ -223,6 +223,9 @@ struct weston_drm_backend_config { /** Use shadow buffer if using Pixman-renderer. */ bool use_pixman_shadow; + + /** Allow compositor to start without input devices. */ + bool continue_without_input; }; #ifdef __cplusplus diff --git a/libweston/backend-drm/drm.c b/libweston/backend-drm/drm.c index 2aea82f5..ca0f3a86 100644 --- a/libweston/backend-drm/drm.c +++ b/libweston/backend-drm/drm.c @@ -2831,6 +2831,7 @@ drm_backend_create(struct weston_compositor *compositor, NULL, NULL, NULL); compositor->backend = &b->base; + compositor->require_input = !config->continue_without_input; if (parse_gbm_format(config->gbm_format, DRM_FORMAT_XRGB8888, &b->gbm_format) < 0) goto err_compositor; diff --git a/man/weston-drm.man b/man/weston-drm.man index 28cdf3d1..01a336e1 100644 --- a/man/weston-drm.man +++ b/man/weston-drm.man @@ -205,6 +205,9 @@ instead of the seat defined in the environment variable Launch Weston on tty .I x instead of using the current tty. +.TP +.B \-\-continue\-without\-input +Allow Weston to start without input devices. Used for testing purposes. . .\" *************************************************************** .SH ENVIRONMENT |