[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] spice: add display & head options
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH] spice: add display & head options |
Date: |
Tue, 21 Feb 2017 08:52:29 +0000 |
Hi
On Tue, Feb 21, 2017 at 11:58 AM Gerd Hoffmann <address@hidden> wrote:
> This allows to specify display and head to use, simliar to vnc.
>
>
Does "head" in qemu always match the head for multi-monitor spice? (with a
single qxl/virtio). I don't clearly understand the relation, I would need
to do some research.
Signed-off-by: Gerd Hoffmann <address@hidden>
> ---
> ui/spice-core.c | 6 ++++++
> ui/spice-display.c | 22 +++++++++++++++++++++-
> 2 files changed, 27 insertions(+), 1 deletion(-)
>
> diff --git a/ui/spice-core.c b/ui/spice-core.c
> index d613f1a..e18ad77 100644
> --- a/ui/spice-core.c
> +++ b/ui/spice-core.c
> @@ -498,6 +498,12 @@ static QemuOptsList qemu_spice_opts = {
> },{
> .name = "seamless-migration",
> .type = QEMU_OPT_BOOL,
> + },{
> + .name = "display",
> + .type = QEMU_OPT_STRING,
> + },{
> + .name = "head",
> + .type = QEMU_OPT_NUMBER,
> #ifdef HAVE_SPICE_GL
> },{
> .name = "gl",
> diff --git a/ui/spice-display.c b/ui/spice-display.c
> index 64e472e..9c58e5a 100644
> --- a/ui/spice-display.c
> +++ b/ui/spice-display.c
> @@ -1029,9 +1029,26 @@ static void qemu_spice_display_init_one(QemuConsole
> *con)
>
> void qemu_spice_display_init(void)
> {
> - QemuConsole *con;
> + QemuOptsList *olist = qemu_find_opts("spice");
> + QemuOpts *opts = QTAILQ_FIRST(&olist->head);
> + QemuConsole *spice_con, *con;
> + const char *str;
> int i;
>
> + str = qemu_opt_get(opts, "display");
> + if (str) {
> + int head = qemu_opt_get_number(opts, "head", 0);
> + Error *err = NULL;
> +
> + spice_con = qemu_console_lookup_by_device_name(str, head, &err);
> + if (err) {
> + error_report("Failed to lookup display/head");
> + exit(1);
> + }
> + } else {
> + spice_con = NULL;
> + }
> +
> for (i = 0;; i++) {
> con = qemu_console_lookup_by_index(i);
> if (!con || !qemu_console_is_graphic(con)) {
> @@ -1040,6 +1057,9 @@ void qemu_spice_display_init(void)
> if (qemu_spice_have_display_interface(con)) {
> continue;
> }
> + if (spice_con != NULL && spice_con != con) {
> + continue;
> + }
> qemu_spice_display_init_one(con);
> }
> }
> --
> 1.8.3.1
>
>
> --
Marc-André Lureau