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: Marc-André Lureau
Subject: Re: [Qemu-devel] [PATCH 10/10] display: add -display app launching external application
Date: Tue, 7 Aug 2018 12:33:40 +0200

Hi

On Tue, Aug 7, 2018 at 12:15 PM, Daniel P. Berrangé <address@hidden> 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 <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

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



reply via email to

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