You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qemu/include/hw/display
Andrew Keesler 454f4b0f59 hw/display: Allow injection of virtio-gpu EDID name
Thanks to 72d277a7, 1ed2cb32, and others, EDID (Extended Display
Identification Data) is propagated by QEMU such that a virtual display
presents legitimate metadata (e.g., name, serial number, preferred
resolutions, etc.) to its connected guest.

This change adds the ability to specify the EDID name for a particular
virtio-vga display. Previously, every virtual display would have the same
name: "QEMU Monitor". Now, we can inject names of displays in order to test
guest behavior that is specific to display names. We provide the ability to
inject the display name from the frontend since this is guest visible
data. Furthermore, this makes it clear where N potential display outputs
would get their name from (which will be added in a future change).

Note that we have elected to use a struct here for output data for
extensibility - we intend to add per-output fields like resolution in a
future change.

It should be noted that EDID names longer than 12 bytes will be truncated
per spec (I think?).

Testing: verified that when I specified 2 outputs for a virtio-gpu with
edid_name set, the names matched those that I configured with my vnc
display.

  -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"
              },
              {
                 "name":"BBB"
              }
            ]}'

Signed-off-by: Andrew Keesler <ankeesler@google.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20250709121126.2946088-2-ankeesler@google.com>
4 days ago
..
bcm2835_fb.h hw/arm: Introduce Raspberry PI 4 machine 1 year ago
bochs-vbe.h vga: move bochs vbe defines to header file 7 years ago
dm163.h hw/display : Add device DM163 1 year ago
dpcd.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 5 years ago
edid.h hw/display: Allow injection of virtio-gpu EDID name 4 days ago
i2c-ddc.h Use OBJECT_DECLARE_SIMPLE_TYPE when possible 5 years ago
macfb.h include/system: Move exec/memory.h to system/memory.h 3 months ago
ramfb.h ramfb: add migration support 2 years ago
vga.h hw/mips/jazz: Inline vga_mmio_init() and remove it 4 years ago
xlnx_dp.h xlnx_dp: Introduce a vblank signal 3 years ago