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@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel