qemu-devel
[Top][All Lists]
Advanced

[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 :|



reply via email to

[Prev in Thread] Current Thread [Next in Thread]