Thank you so much! I have been waiting for Win8.1 QXL update for a while now. I'll proceed and do my testing right away! Best regards, Marc Sent from my iPhone > On Aug 24, 2016, at 10:15 AM, spice-devel-request@xxxxxxxxxxxxxxxxxxxxx wrote: > > Send Spice-devel mailing list submissions to > spice-devel@xxxxxxxxxxxxxxxxxxxxx > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.freedesktop.org/mailman/listinfo/spice-devel > or, via email, send a message with subject or body 'help' to > spice-devel-request@xxxxxxxxxxxxxxxxxxxxx > > You can reach the person managing the list at > spice-devel-owner@xxxxxxxxxxxxxxxxxxxxx > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of Spice-devel digest..." > > > Today's Topics: > > 1. Re: [PATCH qxl-wddm-dod 03/26] Add printer class to dump > debug print statements to kernel debugger output (Sameeh Jubran) > 2. Re: [PATCH qxl-wddm-dod 00/26] Win10 support patches > (Sameeh Jubran) > 3. Re: [PATCH v10] Implementing WDDM interface to support > multiple monitors and arbitrary resolution (Frediano Ziglio) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 24 Aug 2016 16:05:07 +0300 > From: Sameeh Jubran <sameeh@xxxxxxxxxx> > To: Frediano Ziglio <fziglio@xxxxxxxxxx> > Cc: Dmitry Fleytman <dmitry@xxxxxxxxxx>, Spice List > <spice-devel@xxxxxxxxxxxxxxxxxxxxx> > Subject: Re: [PATCH qxl-wddm-dod 03/26] Add printer > class to dump debug print statements to kernel debugger output > Message-ID: > <CAKPgXcHLj5dZViC=pUyiLDCd0Kd2r1Ckdozpn3xh4t-a9nxazw@xxxxxxxxxxxxxx> > Content-Type: text/plain; charset="utf-8" > > On Tue, Aug 16, 2016 at 6:59 PM, Frediano Ziglio <fziglio@xxxxxxxxxx> wrote: > >>> >>> From: Sandy Stutsman <sstutsma@xxxxxxxxxx> >>> >>> Allows the usage of Kd_IHVVIDEO_Mask to control print level while >> debugging >>> >>> Signed-off-by: Sameeh Jubran <sameeh@xxxxxxxxxx> >>> --- >>> qxldod/driver.cpp | 24 +++++++++++++++++++++++- >>> qxldod/driver.h | 20 ++++++++++++++++---- >>> 2 files changed, 39 insertions(+), 5 deletions(-) >>> >>> diff --git a/qxldod/driver.cpp b/qxldod/driver.cpp >>> index 4d1913c..d9946aa 100755 >>> --- a/qxldod/driver.cpp >>> +++ b/qxldod/driver.cpp >>> @@ -667,7 +667,29 @@ void DebugPrintFunc(const char *format, ...) >>> va_start(list, format); >>> vDbgPrintEx(DPFLTR_DEFAULT_ID, 9 | DPFLTR_MASK, format, list); >>> } >>> + >>> +kd_debug_printer::kd_debug_printer(ULONG level) >>> +{ >>> + static const ULONG xlate[] = { 0, 0, 1, 2, 3 }; >>> + if (!level || level > 5) { >>> + _level = 0xffffffff; >>> + >>> + } >>> + else { >>> + _level = xlate[level - 1]; >>> + } >>> +} >>> + >>> +void kd_debug_printer::print(const char * fmt, ...) >>> +{ >>> + if (_level == 0xffffffff) { >>> + return; >>> + } >>> + va_list list; >>> + va_start(list, fmt); >>> + vDbgPrintEx(DPFLTR_IHVVIDEO_ID, _level, fmt, list); >>> + va_end(list); >>> +} >>> #endif >>> >>> #pragma code_seg(pop) // End Non-Paged Code >>> - >>> diff --git a/qxldod/driver.h b/qxldod/driver.h >>> index e64c098..752f8e4 100755 >>> --- a/qxldod/driver.h >>> +++ b/qxldod/driver.h >>> @@ -208,15 +208,27 @@ DodSystemDisplayWrite( >>> _In_ UINT PositionY); >>> >>> #if DBG >>> +class kd_debug_printer >>> +{ >>> +public: >>> + kd_debug_printer(ULONG level); >>> + void print(const char * fmt, ...); >>> +private: >>> + ULONG _level; >>> + }; >>> >>> extern int nDebugLevel; >>> void DebugPrintFuncSerial(const char *format, ...); >>> >>> -void DebugPrintFunc(const char *format, ...); >>> +void DebugPrintFunc(const char *format, ...); >>> + >>> +#define DbgPrint(level, line) \ >>> + if (level > nDebugLevel) {} \ >>> + else { \ >>> + DebugPrintFuncSerial line; \ >>> + } \ >>> + kd_debug_printer(level).print line >>> >>> -#define DbgPrint(level, line) \ >>> - if (level > nDebugLevel) {} \ >>> - else DebugPrintFuncSerial line >>> #else >>> #define DbgPrint(level, line) >>> #endif >> >> This can be done much easier with variadic macros and a simple function. >> >> void DebugPrint(int level, const char *fmt, ...); >> >> #define DbgExpandArguments(...) __VA_ARGS__ >> #define DbgPrint(level, line) do { \ >> if (level <= nDebugLevel) DebugPrintFuncSerial line; \ >> DebugPrint(level, DbgExpandArguments line); \ >> } while(0) >> >> >> and the definition >> >> >> void DebugPrint(int level, const char *fmt, ...) >> { >> static const ULONG xlate[] = { 0, 0, 1, 2, 3 }; >> if (level <= 0 || level > 5) >> return; >> >> va_list list; >> va_start(list, fmt); >> vDbgPrintEx(DPFLTR_IHVVIDEO_ID, xlate[level - 1], fmt, list); >> va_end(list); >> } > I'll rework this and resend it. > >> >> >> Cannot test but I can see the print is duplicated to DebugPrintFuncSerial >> and vDbgPrintEx. Is this wanted? > Yes, we print to both serial and Windbg simultaneously. > >> >> Frediano > > > > -- > Respectfully, > *Sameeh Jubran* > *Linkedin <https://il.linkedin.com/pub/sameeh-jubran/87/747/a8a>* > *Junior Software Engineer @ Daynix <http://www.daynix.com>.* > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20160824/777e7ccc/attachment-0001.html> > > ------------------------------ > > Message: 2 > Date: Wed, 24 Aug 2016 16:22:57 +0300 > From: Sameeh Jubran <sameeh@xxxxxxxxxx> > To: Spice List <spice-devel@xxxxxxxxxxxxxxxxxxxxx> > Cc: Dmitry Fleytman <dmitry@xxxxxxxxxx> > Subject: Re: [PATCH qxl-wddm-dod 00/26] Win10 support > patches > Message-ID: > <CAKPgXcHyQkUCwUxhUi+1weUGBcjASu3r5GR8BSqiueCQzhoc1Q@xxxxxxxxxxxxxx> > Content-Type: text/plain; charset="utf-8" > > Can you please review the rest of the patches so I can send v2? > >> On Tue, Aug 9, 2016 at 6:28 PM, Sameeh Jubran <sameeh@xxxxxxxxxx> wrote: >> >> This series contains the latest patches to support Windows 10. >> >> Visual Studio 2015 with Win10 WDK is required to compile this code, >> Current patches may be compiled and will work for Windows 10. >> >> Smoke testing had been done in windows 8.1 seems to be working good. >> >> Dmitry Fleytman (4): >> Replacing <#ifdef USE_FRAMEBUFFER> with runtime logic >> Fixing framebuffer usage logic >> Support future Qxl revisions >> Set SupportNonVGA in QueryAdapterInfo callback >> >> Sameeh Jubran (9): >> Upgrade to Windows 10 WDK >> Add delete operator >> Code Analysis clean up >> Replacing tabs with spaces >> Fix source buffer mapping in PresentDisplayOnly >> Fixing Move rectangles implementation >> Reserved must be set to 0 >> Fixing monitor flicker on resolution change >> Removing unnecessary call to BlackOutScreen >> >> Sandy Stutsman (13): >> Add printer class to dump debug print statements to kernel debugger >> output >> Set DriverStarted flag at the begining of the StartDriver function >> Fix Code Integrity error generated by the Drive Verifier >> Add functions called from non-pageable functions to non-paged segments >> Do not use virtual functions for code that must not be paged >> On power wake call the init functions before setting the vidpn to >> black. Otherwise, BSOD. >> Use SrcPitch when calculating size of memory to map PresentDisplayOnly >> Remove unused notify present display only interrupt and fix interrupt >> mask >> Add arbitrary resolution and monitors_config Escape >> Use the second bar (VRAM) for qxl command buffer. >> Comment out frame buffer mapping. >> Enable HW cursor support and fix handling of monochrome cursors. >> Remove minimum size restrict for custom resolution. >> >> Tools/vs_cmdline.vbs | 23 + >> Tools/vs_run.bat | 26 + >> buildAll.bat | 15 + >> buildAll_NoSign.bat | 19 + >> qxldod Package/qxldod Package.vcxproj | 173 +- >> qxldod Package/qxldod Package.vcxproj.user | 15 + >> qxldod.sln | 106 +- >> qxldod/BaseObject.cpp | 11 + >> qxldod/BaseObject.h | 1 + >> qxldod/QxlDod.cpp | 1280 +++++++++------ >> qxldod/QxlDod.h | 67 +- >> qxldod/buildAll.bat | 31 - >> qxldod/callVisualStudio.bat | 28 - >> qxldod/checkWin8Tools.bat | 8 - >> qxldod/clean.bat | 12 - >> qxldod/driver.cpp | 26 +- >> qxldod/driver.h | 20 +- >> qxldod/include/qxl_windows.h | 1 + >> qxldod/mspace.c | 2437 >> --------------------------- >> qxldod/mspace.cpp | 2439 >> ++++++++++++++++++++++++++++ >> qxldod/qxldod.vcxproj | 247 ++- >> qxldod/qxldod.vcxproj.filters | 2 +- >> qxldod/qxldod.vcxproj.user | 15 + >> 23 files changed, 3619 insertions(+), 3383 deletions(-) >> create mode 100644 Tools/vs_cmdline.vbs >> create mode 100644 Tools/vs_run.bat >> create mode 100644 buildAll.bat >> create mode 100644 buildAll_NoSign.bat >> create mode 100644 qxldod Package/qxldod Package.vcxproj.user >> delete mode 100755 qxldod/buildAll.bat >> delete mode 100755 qxldod/callVisualStudio.bat >> delete mode 100755 qxldod/checkWin8Tools.bat >> delete mode 100755 qxldod/clean.bat >> delete mode 100755 qxldod/mspace.c >> create mode 100644 qxldod/mspace.cpp >> create mode 100644 qxldod/qxldod.vcxproj.user >> >> -- >> 2.7.0.windows.1 > > > -- > Respectfully, > *Sameeh Jubran* > *Linkedin <https://il.linkedin.com/pub/sameeh-jubran/87/747/a8a>* > *Junior Software Engineer @ Daynix <http://www.daynix.com>.* > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20160824/a8bf4bb8/attachment-0001.html> > > ------------------------------ > > Message: 3 > Date: Wed, 24 Aug 2016 10:15:05 -0400 (EDT) > From: Frediano Ziglio <fziglio@xxxxxxxxxx> > To: Sameeh Jubran <sameeh@xxxxxxxxxx> > Cc: Dmitry Fleytman <dmitry@xxxxxxxxxx>, Spice List > <spice-devel@xxxxxxxxxxxxxxxxxxxxx> > Subject: Re: [PATCH v10] Implementing WDDM interface to > support multiple monitors and arbitrary resolution > Message-ID: > <1699709163.4184074.1472048105889.JavaMail.zimbra@xxxxxxxxxx> > Content-Type: text/plain; charset="utf-8" > > I'm probably using an old driver. > I cannot find the current repository, the one at https://cgit.freedesktop.org/spice/ is empty. > Can you provide a newer one? > > Frediano > > ----- Original Message ----- > >> From: "Sameeh Jubran" <sameeh@xxxxxxxxxx> >> To: "Frediano Ziglio" <fziglio@xxxxxxxxxx> >> Cc: "Spice List" <spice-devel@xxxxxxxxxxxxxxxxxxxxx>, "Dmitry Fleytman" >> <dmitry@xxxxxxxxxx> >> Sent: Wednesday, August 24, 2016 7:16:12 AM >> Subject: Re: [PATCH v10] Implementing WDDM interface to support multiple >> monitors and arbitrary resolution > >> Have you tried it with the up-to-date qxl-wddm-dod patches that I have >> recently sent? > >> On Mon, Aug 22, 2016 at 11:21 PM, Frediano Ziglio < fziglio@xxxxxxxxxx > >> wrote: > >>>> 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@xxxxxxxxxx > >> >>> ... > >>> 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 > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20160824/6ab53ede/attachment.html> > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/spice-devel > > > ------------------------------ > > End of Spice-devel Digest, Vol 79, Issue 131 > ******************************************** _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel