[Spice-devel] Spice-devel Digest, Vol 79, Issue 131
Marc Cyr
marccyr at gmail.com
Wed Aug 24 15:17:55 UTC 2016
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 at lists.freedesktop.org wrote:
>
> Send Spice-devel mailing list submissions to
> spice-devel at lists.freedesktop.org
>
> 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 at lists.freedesktop.org
>
> You can reach the person managing the list at
> spice-devel-owner at lists.freedesktop.org
>
> 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 at daynix.com>
> To: Frediano Ziglio <fziglio at redhat.com>
> Cc: Dmitry Fleytman <dmitry at daynix.com>, Spice List
> <spice-devel at lists.freedesktop.org>
> Subject: Re: [Spice-devel] [PATCH qxl-wddm-dod 03/26] Add printer
> class to dump debug print statements to kernel debugger output
> Message-ID:
> <CAKPgXcHLj5dZViC=pUyiLDCd0Kd2r1Ckdozpn3xh4t-a9nxazw at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> On Tue, Aug 16, 2016 at 6:59 PM, Frediano Ziglio <fziglio at redhat.com> wrote:
>
>>>
>>> From: Sandy Stutsman <sstutsma at redhat.com>
>>>
>>> Allows the usage of Kd_IHVVIDEO_Mask to control print level while
>> debugging
>>>
>>> Signed-off-by: Sameeh Jubran <sameeh at daynix.com>
>>> ---
>>> 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 at daynix.com>
> To: Spice List <spice-devel at lists.freedesktop.org>
> Cc: Dmitry Fleytman <dmitry at daynix.com>
> Subject: Re: [Spice-devel] [PATCH qxl-wddm-dod 00/26] Win10 support
> patches
> Message-ID:
> <CAKPgXcHyQkUCwUxhUi+1weUGBcjASu3r5GR8BSqiueCQzhoc1Q at mail.gmail.com>
> 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 at daynix.com> 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 at redhat.com>
> To: Sameeh Jubran <sameeh at daynix.com>
> Cc: Dmitry Fleytman <dmitry at daynix.com>, Spice List
> <spice-devel at lists.freedesktop.org>
> Subject: Re: [Spice-devel] [PATCH v10] Implementing WDDM interface to
> support multiple monitors and arbitrary resolution
> Message-ID:
> <1699709163.4184074.1472048105889.JavaMail.zimbra at redhat.com>
> 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 at daynix.com>
>> To: "Frediano Ziglio" <fziglio at redhat.com>
>> Cc: "Spice List" <spice-devel at lists.freedesktop.org>, "Dmitry Fleytman"
>> <dmitry at daynix.com>
>> 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 at redhat.com >
>> 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 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
> -------------- 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
>
>
> ------------------------------
>
> End of Spice-devel Digest, Vol 79, Issue 131
> ********************************************
More information about the Spice-devel
mailing list