Hi On Tue, Aug 7, 2018 at 12:15 PM, Daniel P. Berrangé <berra...@redhat.com> wrote: > 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 <marcandre.lur...@redhat.com> > >> + 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
You can do it via additional -spice arguments. > 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 There is no -display spice, atm. However there is a -display vnc. It's a bit unclear to me the relation between -display and -vnc/-spice/-curses etc. In the end, I tend to think of -display foo as a shortcut for a longer -foo configuration. So -display spice,client=yes is a reasonable proposal to me, making it clear that it will run spice. (client=yes is less clear to me but fine) I wanted a simple and short replacement for "gtk", "app" was generic enough, and could be also further tweaked if needed (specify vnc, spice, auto-quit etc) > > 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. Yes, I haven't looked at that in details, but we could either have extra URI args, use a .vv file with extra config keys, use a dedicated spice message to tell the client, or have a global client config. Too many options to chose from :) -- Marc-André Lureau