[PATCH weston 01/11] compositor-headless: Support starting with zero outputs
Armin Krezović
krezovic.armin at gmail.com
Sat Jun 18 17:15:16 UTC 2016
This patch adds a new command line option which can be
used to tell headless backend not to create any
virtual outputs.
This will be used for output hotplug emulation, where
weston will start with no outputs available, and the
virtual output will be created at runtime.
Signed-off-by: Armin Krezović <krezovic.armin at gmail.com>
---
src/compositor-headless.c | 7 +++++--
src/compositor-headless.h | 1 +
src/main.c | 4 +++-
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/compositor-headless.c b/src/compositor-headless.c
index 45e47ca..05dd8af 100644
--- a/src/compositor-headless.c
+++ b/src/compositor-headless.c
@@ -235,8 +235,11 @@ headless_backend_create(struct weston_compositor *compositor,
if (b->use_pixman) {
pixman_renderer_init(compositor);
}
- if (headless_backend_create_output(b, config) < 0)
- goto err_input;
+
+ if (!config->no_outputs) {
+ if (headless_backend_create_output(b, config) < 0)
+ goto err_input;
+ }
if (!b->use_pixman && noop_renderer_init(compositor) < 0)
goto err_input;
diff --git a/src/compositor-headless.h b/src/compositor-headless.h
index 79f39c8..b128ab0 100644
--- a/src/compositor-headless.h
+++ b/src/compositor-headless.h
@@ -44,6 +44,7 @@ struct weston_headless_backend_config {
int use_pixman;
uint32_t transform;
+ int no_outputs;
};
#ifdef __cplusplus
diff --git a/src/main.c b/src/main.c
index ec3d799..dc6529d 100644
--- a/src/main.c
+++ b/src/main.c
@@ -526,7 +526,8 @@ usage(int error_code)
" --height=HEIGHT\tHeight of memory surface\n"
" --transform=TR\tThe output transformation, TR is one of:\n"
"\tnormal 90 180 270 flipped flipped-90 flipped-180 flipped-270\n"
- " --use-pixman\t\tUse the pixman (CPU) renderer (default: no rendering)\n\n");
+ " --use-pixman\t\tUse the pixman (CPU) renderer (default: no rendering)\n"
+ " --no-outputs\t\tDo not create any virtual outputs\n\n");
#endif
#if defined(BUILD_RDP_COMPOSITOR)
@@ -1037,6 +1038,7 @@ load_headless_backend(struct weston_compositor *c,
{ WESTON_OPTION_INTEGER, "height", 0, &config.height },
{ WESTON_OPTION_BOOLEAN, "use-pixman", 0, &config.use_pixman },
{ WESTON_OPTION_STRING, "transform", 0, &transform },
+ { WESTON_OPTION_BOOLEAN, "no-outputs", 0, &config.no_outputs },
};
parse_options(options, ARRAY_LENGTH(options), argc, argv);
--
2.9.0
More information about the wayland-devel
mailing list