[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 10/10] display: add -display app launching exter
From: |
Daniel P . Berrangé |
Subject: |
Re: [Qemu-devel] [PATCH 10/10] display: add -display app launching external application |
Date: |
Tue, 7 Aug 2018 11:15:05 +0100 |
User-agent: |
Mutt/1.10.0 (2018-05-17) |
On Fri, Aug 03, 2018 at 07:36:14PM +0200, Marc-André Lureau wrote:
> 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>
> + type_register(&char_vc_type_info);
> +
> + sock_path = g_strjoin("", tmp_dir, "/", "spice.sock", NULL);
> + qopts = qemu_opts_create(qemu_find_opts("spice"), NULL, 0, &error_abort);
> + qemu_opt_set(qopts, "disable-ticketing", "on", &error_abort);
> + qemu_opt_set(qopts, "unix", "on", &error_abort);
> + qemu_opt_set(qopts, "addr", sock_path, &error_abort);
> + qemu_opt_set(qopts, "image-compression", "off", &error_abort);
> + qemu_opt_set(qopts, "streaming-video", "off", &error_abort);
> + qemu_opt_set(qopts, "gl", opts->has_gl ? "on" : "off", &error_abort);
Hmm, so ultimately "-display app" is just syntactic sugar for a hardcoded
set of "-display spice" arguments, plus automatic launching of the client
app. I'm thinking users may well ask for ability to control some of those
spice arguments over time. So if we want auto-launching of a remote app,
I think it is preferrable to do it via extra args to the existing
"-display spice" format. eg we could add a "client=yes|no" to control
launching the client
-display spice,client=yes
would do what your "-display app" proposes, and still let users tweak
all the other spice args as desired. Another option "autoquit=yes|no"
could control whether QEMU automatically exits when the client quits,
vs whether it stays alive.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
- [Qemu-devel] [PATCH 04/10] spice: avoid spice runtime assert, (continued)
- [Qemu-devel] [PATCH 04/10] spice: avoid spice runtime assert, Marc-André Lureau, 2018/08/03
- [Qemu-devel] [PATCH 05/10] spice: merge options lists, Marc-André Lureau, 2018/08/03
- [Qemu-devel] [PATCH 06/10] spice: do not stop spice if VM is paused, Marc-André Lureau, 2018/08/03
- [Qemu-devel] [PATCH 07/10] char: move SpiceChardev and open_spice_port() to spice.h header, Marc-André Lureau, 2018/08/03
- [Qemu-devel] [PATCH 08/10] char: register spice ports after spice started, Marc-André Lureau, 2018/08/03
- [Qemu-devel] [PATCH 09/10] build-sys: add gio-2.0 check, Marc-André Lureau, 2018/08/03
- [Qemu-devel] [PATCH 10/10] display: add -display app launching external application, Marc-André Lureau, 2018/08/03