[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