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 display configuration as that most closely resembles how real displays work (hardware displays contain static EDID information that is provided to every connected host). This new behavior must be enabled by setting the edid_name boolean property on the display device (it is disabled by default). 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,name=AAA \ -display vnc=localhost:1,id=bbb,display=vga,head=1,name=BBB \ -device virtio-vga,max_outputs=2,id=vga,edid_name=true Andrew Keesler (2): ui: Allow injection of vnc display name hw/display: Allow injection of virtio-gpu EDID name hw/display/virtio-gpu-base.c | 4 ++++ include/hw/virtio/virtio-gpu.h | 5 +++++ include/ui/console.h | 2 ++ ui/console-priv.h | 1 + ui/console.c | 16 ++++++++++++++++ ui/vnc.c | 8 +++++++- 6 files changed, 35 insertions(+), 1 deletion(-) -- 2.47.0.rc1.288.g06298d1525-goog