All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Andrew Keesler <ankeesler@google.com>
Cc: alex.bennee@linaro.org,  qemu-devel@nongnu.org
Subject: Re: [PATCH v4 1/1] Support per-head resolutions with virtio-gpu
Date: Wed, 04 Feb 2026 13:47:49 +0100	[thread overview]
Message-ID: <87jywsy8sq.fsf@pond.sub.org> (raw)
In-Reply-To: <20260109202740.362506-2-ankeesler@google.com> (Andrew Keesler's message of "Fri, 9 Jan 2026 20:27:39 +0000")

Sorry for the delay.  Recovering from the coughing plague.

Andrew Keesler <ankeesler@google.com> writes:

> In 454f4b0f, we started down the path of supporting separate
> configurations per display head (e.g., you have 2 heads - one with
> EDID name "AAA" and the other with EDID name "BBB").
>
> In this change, we add resolution to this configuration surface (e.g.,
> you have 2 heads - one with resolution 111x222 and the other with
> resolution 333x444).
>
>   -display vnc=localhost:0,id=aaa,display=vga,head=0 \
>   -display vnc=localhost:1,id=bbb,display=vga,head=1 \
>   -device '{"driver":"virtio-vga",
>             "max_outputs":2,
>             "id":"vga",
>             "outputs":[
>               {
>                  "name":"AAA",
>                  "xres":111,
>                  "yres":222
>               },
>               {
>                  "name":"BBB",
>                  "xres":333,
>                  "yres":444
>               }
>             ]}'
>
> Here is the behavior matrix of the current resolution configuration
> surface (xres/yres) with the new resolution configuration surface
> (outputs[i].xres/yres).
>
> Case: !(xres || yres) && !(outputs[i].has_xres && outputs[i].has_yres)
> Behavior: current behavior - outputs[0] enabled with default xres/yres
>
> Case: (xres || yres) && !(outputs[i].has_xres && outputs[i].has_yres)
> Behavior: current behavior - outputs[0] enabled with xres/yres
>
> Case: !(xres || yres) && (outputs[i].has_xres && outputs[i].has_yres)
> Behavior: new behavior - outputs[i] enabled with outputs[i].xres/yres
>
> Case: (xres || yres) && (outputs[i].has_xres && outputs[i].has_yres)
> Behavior: new behavior - outputs[i] enabled with outputs[i].xres/yres
>
> Signed-off-by: Andrew Keesler <ankeesler@google.com>

[...]

> diff --git a/qapi/virtio.json b/qapi/virtio.json
> index cd67c4f52e..c1a1fb4997 100644
> --- a/qapi/virtio.json
> +++ b/qapi/virtio.json
> @@ -970,15 +970,24 @@
>  ##
>  # @VirtIOGPUOutput:
>  #
> -# Describes configuration of a VirtIO GPU output.
> +# Describes configuration of a VirtIO GPU output.  If both @xres and
> +# @yres are set, they take precedence over root virtio-gpu
> +# resolution configuration and enable the corresponding output.  If
> +# only one or none of @xres or @yres is set, root virtio-gpu
> +# resolution configuration takes precedence and only the first output
> +# is enabled.

So when exactly one of @xres or @yes is present, it's silently ignored?

>  #
>  # @name: the name of the output
>  #
> +# @xres: horizontal resolution of the output in pixels (since 10.2)
> +#
> +# @yres: vertical resolution of the output in pixels (since 10.2)

(since 11.0)

> +#
>  # Since: 10.1
>  ##
>  
>  { 'struct': 'VirtIOGPUOutput',
> -  'data': { 'name': 'str' } }
> +  'data': { 'name': 'str', '*xres': 'uint16', '*yres': 'uint16' } }
>  
>  ##
>  # @DummyVirtioForceArrays:



      parent reply	other threads:[~2026-02-04 12:48 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-09 20:27 [PATCH v4 0/1] Support per-head resolutions with virtio-gpu Andrew Keesler
2026-01-09 20:27 ` [PATCH v4 1/1] " Andrew Keesler
2026-01-09 20:31   ` Andrew Keesler
2026-01-20 13:46     ` Andrew Keesler
2026-02-04 12:47     ` Markus Armbruster
2026-02-06 16:23       ` Andrew Keesler
2026-02-07  6:47         ` Markus Armbruster
2026-02-04 12:47   ` Markus Armbruster [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87jywsy8sq.fsf@pond.sub.org \
    --to=armbru@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=ankeesler@google.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.