[Spice-devel] [PATCH linux vdagent v3 0/9] Use the PCI addr and display ID

Jonathon Jongsma jjongsma at redhat.com
Mon Jan 7 21:50:17 UTC 2019


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



More information about the Spice-devel mailing list