This is a patch set that handles the PCI address and device dispay ID sent down to the agent by the server, and uses that to maintain a map for looking up a particular xrandr output for a given spice display id. This patch series builds on the patch from Lukas titled "Receive the graphics_device_info message". It incorporates a lot of the code from my previous POC patch series but reorganizes and restructures it. Several of the patches in the series are semi-related cleanups that I ran across while working on the feature. Changes in v3: - Fixed a bug where the X Display was not set properly and caused a crash - moved call to vdagent_x11_send_daemon_guest_xorg_res() to outside the loop to avoid sending multiple times when more than one device is received. (Patch 9) Changes in v2: - Removed some ACKed and merged patches - Fix typo in comment - Fix confusion between output index and crtc index - added a patch to send new display IDs when device info changes - multiple changes from review - factored out function find_device_at_pci_address() - No more initializing X/XRandr - removed goto - improved logging - etc. Jonathon Jongsma (9): Add lookup_xrand_output_for_device_info() Move handling of DeviceInfo to vdagent_x11 Look up and store xrandr output in display map Make clearer distinctions between output ids Use guest output map to determine xrandr output Factor a function out of get_current_mon_config() Use new function in vdagent_x11_send_daemon_guest_xorg_res() Send display_id down to the vdagentd daemon Send display IDs to daemon when device info changes Makefile.am | 14 ++ configure.ac | 1 + src/vdagent/device-info.c | 490 ++++++++++++++++++++++++++++++++++++++ src/vdagent/device-info.h | 27 +++ src/vdagent/vdagent.c | 68 +----- src/vdagent/x11-priv.h | 1 + src/vdagent/x11-randr.c | 306 +++++++++++++++++++----- src/vdagent/x11.c | 7 + src/vdagent/x11.h | 1 + src/vdagentd-proto.h | 1 + src/vdagentd/uinput.c | 23 +- tests/test-device-info.c | 262 ++++++++++++++++++++ 12 files changed, 1063 insertions(+), 138 deletions(-) create mode 100644 src/vdagent/device-info.c create mode 100644 src/vdagent/device-info.h create mode 100644 tests/test-device-info.c -- 2.17.2 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel