[OE-core] [PATCH][morty] weston: Add no-input-device patch to 1.11.0.
akuster808
akuster808 at gmail.com
Sat Nov 26 15:36:23 UTC 2016
On 11/24/2016 02:09 PM, Daniel Díaz wrote:
> The included patch, backported from Weston master (and OE-Core
> master since Weston 1.11.1, b6864b1), allows it to run without
> any input device at launch. An ini option is introduced for
> this purpose, so there is no behavioral change.
merged to staging.
Armin
>
> Related change in weston.ini:
> [core]
> require-input=true
>
> Default is true; setting it false allows Weston to run
> without a keyboard or mouse, which is handy for automated
> environments.
>
> Signed-off-by: Daniel Díaz <daniel.diaz at linaro.org>
> ---
> ...on-1.11-config-option-for-no-input-device.patch | 123 +++++++++++++++++++++
> meta/recipes-graphics/wayland/weston_1.11.0.bb | 1 +
> 2 files changed, 124 insertions(+)
> create mode 100644 meta/recipes-graphics/wayland/weston/weston-1.11-config-option-for-no-input-device.patch
>
> diff --git a/meta/recipes-graphics/wayland/weston/weston-1.11-config-option-for-no-input-device.patch b/meta/recipes-graphics/wayland/weston/weston-1.11-config-option-for-no-input-device.patch
> new file mode 100644
> index 0000000..6f5ad66
> --- /dev/null
> +++ b/meta/recipes-graphics/wayland/weston/weston-1.11-config-option-for-no-input-device.patch
> @@ -0,0 +1,123 @@
> +From bbf2e6ebbd9c051775f43e1e3c3a2f41322342e8 Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Daniel=20D=C3=ADaz?= <daniel.diaz at linaro.org>
> +Date: Fri, 21 Oct 2016 14:03:13 -0500
> +Subject: [PATCH] Add configuration option for no input device.
> +MIME-Version: 1.0
> +Content-Type: text/plain; charset=UTF-8
> +Content-Transfer-Encoding: 8bit
> +
> +[Backported from master, 75b7197.]
> +
> +As it has been discussed in the past [1], running Weston
> +without any input device at launch might be beneficial for
> +some use cases.
> +
> +Certainly, it's best for the vast majority of users (and
> +the project) to require an input device to be present, as
> +to avoid frustration and hassle, but for those brave souls
> +that so prefer, this patch lets them run without any input
> +device at all.
> +
> +This introduces a simple configuration in weston.ini:
> + [core]
> + require-input=true
> +
> +True is the default, so no behavioral change is introduced.
> +
> +[1] https://lists.freedesktop.org/archives/wayland-devel/2015-November/025193.html
> +
> +Signed-off-by: Daniel Díaz <daniel.diaz at linaro.org>
> +---
> + man/weston.ini.man | 5 +++++
> + src/compositor.h | 4 ++++
> + src/libinput-seat.c | 6 ++++++
> + src/main.c | 5 +++++
> + weston.ini.in | 1 +
> + 5 files changed, 21 insertions(+)
> +
> +diff --git a/man/weston.ini.man b/man/weston.ini.man
> +index d7c4a6f..c7d0f01 100644
> +--- a/man/weston.ini.man
> ++++ b/man/weston.ini.man
> +@@ -169,6 +169,11 @@ time, the one specified in the command-line will be used. On the other
> + hand, if none of these sets the value, default idle timeout will be
> + set to 300 seconds.
> + .RS
> ++.PP
> ++.RE
> ++.TP 7
> ++.BI "require-input=" true
> ++require an input device for launch
> +
> + .SH "LIBINPUT SECTION"
> + The
> +diff --git a/src/compositor.h b/src/compositor.h
> +index 0bbf458..476b650 100644
> +--- a/src/compositor.h
> ++++ b/src/compositor.h
> +@@ -803,6 +803,10 @@ struct weston_compositor {
> +
> + void *user_data;
> + void (*exit)(struct weston_compositor *c);
> ++
> ++ /* Whether to let the compositor run without any input device. */
> ++ bool require_input;
> ++
> + };
> +
> + struct weston_buffer {
> +diff --git a/src/libinput-seat.c b/src/libinput-seat.c
> +index 8ce0ee0..e1fdcf0 100644
> +--- a/src/libinput-seat.c
> ++++ b/src/libinput-seat.c
> +@@ -255,6 +255,12 @@ udev_input_enable(struct udev_input *input)
> + devices_found = 1;
> + }
> +
> ++ if (devices_found == 0 && !c->require_input) {
> ++ weston_log("warning: no input devices found, but none required "
> ++ "as per configuration.\n");
> ++ return 0;
> ++ }
> ++
> + if (devices_found == 0) {
> + weston_log(
> + "warning: no input devices on entering Weston. "
> +diff --git a/src/main.c b/src/main.c
> +index 3279ac6..09905ea 100644
> +--- a/src/main.c
> ++++ b/src/main.c
> +@@ -1298,6 +1298,7 @@ int main(int argc, char *argv[])
> + struct wl_client *primary_client;
> + struct wl_listener primary_client_destroyed;
> + struct weston_seat *seat;
> ++ int require_input;
> +
> + const struct weston_option core_options[] = {
> + { WESTON_OPTION_STRING, "backend", 'B', &backend },
> +@@ -1373,6 +1374,10 @@ int main(int argc, char *argv[])
> + if (weston_compositor_init_config(ec, config) < 0)
> + goto out;
> +
> ++ weston_config_section_get_bool(section, "require-input",
> ++ &require_input, true);
> ++ ec->require_input = require_input;
> ++
> + if (load_backend(ec, backend, &argc, argv, config) < 0) {
> + weston_log("fatal: failed to create compositor backend\n");
> + goto out;
> +diff --git a/weston.ini.in b/weston.ini.in
> +index 14a4c0c..d837fb5 100644
> +--- a/weston.ini.in
> ++++ b/weston.ini.in
> +@@ -2,6 +2,7 @@
> + #modules=xwayland.so,cms-colord.so
> + #shell=desktop-shell.so
> + #gbm-format=xrgb2101010
> ++#require-input=true
> +
> + [shell]
> + background-image=/usr/share/backgrounds/gnome/Aqua.jpg
> +--
> +1.9.1
> +
> diff --git a/meta/recipes-graphics/wayland/weston_1.11.0.bb b/meta/recipes-graphics/wayland/weston_1.11.0.bb
> index 3ad309d..9740ce9 100644
> --- a/meta/recipes-graphics/wayland/weston_1.11.0.bb
> +++ b/meta/recipes-graphics/wayland/weston_1.11.0.bb
> @@ -14,6 +14,7 @@ SRC_URI = "https://wayland.freedesktop.org/releases/${BPN}-${PV}.tar.xz \
> file://xwayland.weston-start \
> file://make-weston-launch-exit-for-unrecognized-option.patch \
> file://0001-weston-launch-Provide-a-default-version-that-doesn-t.patch \
> + file://weston-1.11-config-option-for-no-input-device.patch \
> "
> SRC_URI[md5sum] = "bc6f90a2039163804aecfa663b69c4c2"
> SRC_URI[sha256sum] = "05e086e9f186a06843b9f7a5e1abf19347b1a6e4be26d7e74927abc17b6b7125"
>
More information about the Openembedded-core
mailing list