[Spice-devel] [PATCH v10] Implementing WDDM interface to support multiple monitors and arbitrary resolution

Frediano Ziglio fziglio at redhat.com
Mon Aug 22 20:21:06 UTC 2016


> The Direct3D 9 API operates on either the Windows XP display driver
> model (XPDM) or the Windows Vista display driver model (WDDM), depending
> on the operating system installed.
> 
> This patch implements the WDDM interface while using the CCD API to do
> so. Moreover it introduces multiple monitors support and arbitrary
> resolution for Windows 10 while preserving backward compatiblity with
> previous versions of Windows.
> 
> Based on a patch by Sandy Stutsman <sstutsma at redhat.com>
> 
> Signed-off-by: Dmitry Fleytman <dfleytma at redhat.com>
> Signed-off-by: Sameeh Jubran <sameeh at daynix.com>
...

Hi Sameeh,
   I managed to compile Windows 10 driver and try this patches.

When I resize the client screen (using either 1 or 2 QXL card) the screen keep
flickering. Did you notice the same issue?

The log is something like:


4312::INFO::2016-08-20 10:32:03,702::handle_mon_config::0. 1440*682*32 (0,0) 1
4312::INFO::2016-08-20 10:32:03,702::handle_mon_config::1. 0*0*0 (1440,0) 1
4312::INFO::2016-08-20 10:32:03,702::handle_mon_config::1. detaching
4312::INFO::2016-08-20 10:32:03,702::consistent_displays::#qxls 2 #others 0
4312::INFO::2016-08-20 10:32:03,702::custom_display_escape::custom_display_escape: updating \\.\DISPLAY1 resolution
4312::INFO::2016-08-20 10:32:03,702::update_mode_size::update_mode_size: \\.\DISPLAY1 updated path mode to (0, 0 - (1440 x 682)
4312::INFO::2016-08-20 10:32:03,702::set_displays::Set display mode 1440x682
4312::INFO::2016-08-20 10:32:03,702::update_mode_position::update_mode_position: \\.\DISPLAY1 updated path mode to (0, 0) - (1440 x682)
4312::INFO::2016-08-20 10:32:03,702::update_mode_position::update_mode_position: \\.\DISPLAY1 updated path mode to (0, 0) - (1440 x682)
4312::INFO::2016-08-20 10:32:03,702::set_displays::Set display mode 0x0
4312::INFO::2016-08-20 10:32:03,702::get_active_mode::get_active_mode:\\.\DISPLAY2 failed
4312::INFO::2016-08-20 10:32:03,702::debug_print_config::debug_print_config: \\.\DISPLAY1 [Before SetDisplayConfig] (0,0) (1440x682).
4312::INFO::2016-08-20 10:32:03,749::wnd_proc::Display change
4312::INFO::2016-08-20 10:32:03,749::consistent_displays::#qxls 2 #others 0
4312::INFO::2016-08-20 10:32:03,749::update_mode_position::update_mode_position: \\.\DISPLAY1 updated path mode to (0, 0) - (1440 x682)

4312::INFO::2016-08-20 10:32:04,702::handle_mon_config::0. 1440*682*32 (0,0) 1
4312::INFO::2016-08-20 10:32:04,702::handle_mon_config::1. 0*0*0 (1440,0) 1
4312::INFO::2016-08-20 10:32:04,702::handle_mon_config::1. detaching
4312::INFO::2016-08-20 10:32:04,702::consistent_displays::#qxls 2 #others 0
4312::INFO::2016-08-20 10:32:04,702::set_displays::Set display mode 1440x682
4312::INFO::2016-08-20 10:32:04,702::update_mode_position::update_mode_position: \\.\DISPLAY1 updated path mode to (0, 0) - (1440 x682)
4312::INFO::2016-08-20 10:32:04,702::update_mode_position::update_mode_position: \\.\DISPLAY1 updated path mode to (0, 0) - (1440 x682)
4312::INFO::2016-08-20 10:32:04,702::set_displays::Set display mode 0x0
4312::INFO::2016-08-20 10:32:04,702::get_active_mode::get_active_mode:\\.\DISPLAY2 failed
4312::INFO::2016-08-20 10:32:04,702::debug_print_config::debug_print_config: \\.\DISPLAY1 [Before SetDisplayConfig] (0,0) (1440x682).
4312::INFO::2016-08-20 10:32:04,734::wnd_proc::Display change
4312::INFO::2016-08-20 10:32:04,734::consistent_displays::#qxls 2 #others 0
4312::INFO::2016-08-20 10:32:04,734::update_mode_position::update_mode_position: \\.\DISPLAY1 updated path mode to (0, 0) - (1440 x682)


while on Windows 7 (working XPDM) is:


1132::INFO::2016-08-20 13:55:42,927::VDAgent::handle_mon_config::0. 1440*682*32 (0,0) 1
1132::INFO::2016-08-20 13:55:42,927::VDAgent::handle_mon_config::1. 0*0*0 (1440,0) 1
1132::INFO::2016-08-20 13:55:42,927::VDAgent::handle_mon_config::1. detaching
1132::INFO::2016-08-20 13:55:42,927::VDAgent::handle_mon_config::2. 0*0*0 (1440,0) 1
1132::INFO::2016-08-20 13:55:42,927::VDAgent::handle_mon_config::2. detaching
1132::INFO::2016-08-20 13:55:42,927::VDAgent::handle_mon_config::3. 0*0*0 (1440,0) 1
1132::INFO::2016-08-20 13:55:42,927::VDAgent::handle_mon_config::3. detaching
1132::INFO::2016-08-20 13:55:42,927::DesktopLayout::consistent_displays::#qxls 4 #others 0
1132::INFO::2016-08-20 13:55:42,927::DesktopLayout::set_displays::Set display mode 1440x682
1132::INFO::2016-08-20 13:55:42,943::DesktopLayout::set_displays::Set display mode 0x0
1132::INFO::2016-08-20 13:55:42,943::DesktopLayout::set_displays::Set display mode 0x0
1132::INFO::2016-08-20 13:55:42,943::DesktopLayout::set_displays::Set display mode 0x0
1132::INFO::2016-08-20 13:55:42,958::VDAgent::wnd_proc::Display change
1132::INFO::2016-08-20 13:55:42,958::DesktopLayout::consistent_displays::#qxls 4 #others 0
1132::INFO::2016-08-20 13:55:43,927::VDAgent::handle_mon_config::0. 1440*682*32 (0,0) 1
1132::INFO::2016-08-20 13:55:43,927::VDAgent::handle_mon_config::1. 0*0*0 (1440,0) 1
1132::INFO::2016-08-20 13:55:43,927::VDAgent::handle_mon_config::1. detaching
1132::INFO::2016-08-20 13:55:43,927::VDAgent::handle_mon_config::2. 0*0*0 (1440,0) 1
1132::INFO::2016-08-20 13:55:43,927::VDAgent::handle_mon_config::2. detaching
1132::INFO::2016-08-20 13:55:43,927::VDAgent::handle_mon_config::3. 0*0*0 (1440,0) 1
1132::INFO::2016-08-20 13:55:43,927::VDAgent::handle_mon_config::3. detaching
1132::INFO::2016-08-20 13:55:43,927::DesktopLayout::consistent_displays::#qxls 4 #others 0
1132::INFO::2016-08-20 13:55:43,927::DesktopLayout::set_displays::Set display mode 1440x682
1132::INFO::2016-08-20 13:55:43,927::DesktopLayout::set_displays::Set display mode 0x0
1132::INFO::2016-08-20 13:55:43,927::DesktopLayout::set_displays::Set display mode 0x0
1132::INFO::2016-08-20 13:55:43,927::DesktopLayout::set_displays::Set display mode 0x0
1132::INFO::2016-08-20 13:55:43,927::DesktopLayout::consistent_displays::#qxls 4 #others 0


Frediano


More information about the Spice-devel mailing list