Hello,

this series introduces a new mechanism to identify monitors across the
host and guest boundary, using the pair (device_address and
device_display_id). device_address is a HW address of a graphics device
(a PCI address to be specific, though other address domains can be
used as well), device_display_id is an ID of the monitor on that device.

This information is gathered from QEMU (regular spice) or
spice-streaming-agent (for the streaming channels) and a mapping of
(channel_id, monitor_id) -> (device_address, device_display_id) is sent
from spice server to the vd_agent. vd_agent uses this mapping to
translate the former ID in incoming messages to the latter.

This series follows up on the "QXL interface to set monitor ID" series
[1] and then Jonathon Jongsma's "Use the PCI addr and display ID" [2]
follows up on this to make a complete solution.

You can also find the code in the following branches:
https://gitlab.freedesktop.org/lukash/spice-protocol/commits/monitor-id-v3-2
https://gitlab.freedesktop.org/lukash/spice/commits/monitor-id-v3-2
https://gitlab.freedesktop.org/lukash/spice-streaming-agent/commits/monitor-id-v3-2
https://gitlab.freedesktop.org/lukash/vd_agent/commits/monitor-id-v3-2

Cheers,
Lukas


Changes since v1:
* Documentation, coding style updates.
* Renamed StreamMsgDeviceDisplayInfo::id to stream_id.
* Renamed VDAgentGraphicsDeviceInfo::device_info to display_info.
* Moved MAX_DEVICE_ADDRESS_LEN to display-limits.h.
* Fixed the format string for size_t (%lu -> %zu).
* Fixed endianness conversion in receiving the display info message in
  the server.
* Fixed buffer overflow when terminating the device_address string in
  the server.
* Handle stream_channel == NULL in stream_device_get_stream_channel_id.
* Put two supported case examples instead of one unsupported to
  spice_qxl_set_device_info() interface documentation.
* Renamed x-display-info.{c,h}pp to x11-display-info.{c,h}pp in
  spice-streaming-agent.
* Fixed sscanf %n in spice-streaming-agent.
* Made drm_fd and drm_resources private in DrmOutputGetter in
  spice-streaming-agent.


[1] https://lists.freedesktop.org/archives/spice-devel/2019-January/046997.html
[2] https://lists.freedesktop.org/archives/spice-devel/2019-January/046939.html

-- 
2.20.1

_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to