Add a new display backend that will configure Spice to allow a remote
client to control QEMU in a similar fashion as other display backend
like GTK.
For this to work, we set up Spice server with a unix socket, and
register a VC chardev that will be exposed as Spice ports. A QMP
monitor is also exposed as a Spice port, this allows the remote client
fuller qemu control and state handling.
- doesn't handle VC set_echo() - this doesn't seem a strong
requirement, very few front-end use it
- spice options can be tweaked with other -spice arguments
- Windows support shouldn't be hard to do, but will probably use a TCP
port instead
- we may want to watch the child process to quit automatically if it
crashed
Signed-off-by: Marc-André Lureau <address@hidden>
---
qapi/ui.json | 3 +-
ui/app.c | 179 +++++++++++++++++++++++++++++++++++++++++++++++
qemu-options.hx | 5 ++
ui/Makefile.objs | 5 ++
4 files changed, 191 insertions(+), 1 deletion(-)
create mode 100644 ui/app.c
diff --git a/qapi/ui.json b/qapi/ui.json
index 4ca91bb45a..9b96f1f9d7 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -1057,7 +1057,8 @@
##
{ 'enum' : 'DisplayType',
'data' : [ 'default', 'none', 'gtk', 'sdl',
- 'egl-headless', 'curses', 'cocoa' ] }
+ 'egl-headless', 'curses', 'cocoa',
+ 'app'] }