Marc-André Lureau <[email protected]> writes:
> Hi
>
> On Tue, Jul 8, 2025 at 9:07 PM Andrew Keesler <[email protected]> wrote:
>>
>> 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",
>> }
>> ]}'
>>
>
> (there are still invalid trailing ',' in this example)
Yes:
$ qemu-system-x86_64: -device {"driver":"virtio-vga", "max_outputs":2,
"id":"vga", "outputs":[ { "name":"AAA", }, { "name":"BBB", }]}: JSON parse
error, expecting value
Should be fixed for the merge.
> Reviewed-by: Marc-André Lureau <[email protected]>
>
>
>> Signed-off-by: Andrew Keesler <[email protected]>