This patch set adds support for dynamic resolution changes with the WDDM driver on Windows >= 8. It is based on the one sent by Vadim Rozenfeld with some improvements: - It detects both the XDDM driver and the WDDM driver, and uses the correct API. - It detects if the client is trying to set the same resolution again, and does nothing. This is the result of the client detecting a primary surface destruction/construction when the resolution changes, and asking for a resolution change again. This bug does not happen with the XDDM driver, so it may be avoidable in some other way. - It uses an alternative method to update the list of display modes, that results in a nicer effect when changing the resolution. This method is compatible with the current driver implementation (v0.12), but for best results we have modified the driver to drop the previous method and to improve support of hardware pointers. The source can be found in https://github.com/flexvdi/qxl-dod, and precompiled and signed binaries can be downloaded from http://depot.flexvdi.com/guest-tools/. Changes from v1: - New types and classes have been moved from common/vdcommon.h to vdagent/wddm.h, since they are actually not common to both the vdagent and the vdservice. The code for those classes is in vdagent/wddm.cpp. - Some improvements as suggested by Frediano Ziglio. Javier Celaya (2): Detect and use the new WDDM driver Use CCD API to update the WDDM display modes. Makefile.am | 2 + common/vdcommon.h | 4 + vdagent/desktop_layout.cpp | 69 ++++++++++++--- vdagent/wddm.cpp | 76 +++++++++++++++++ vdagent/wddm.h | 206 +++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 345 insertions(+), 12 deletions(-) create mode 100644 vdagent/wddm.cpp create mode 100644 vdagent/wddm.h -- 2.4.3 _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel