Can WDDM and XPDM play together?

In this thread here:
http://www.osronline.com/showThread.cfm?link=172630

Tim and Ivan both insist that despite all the google otherwise WDDM
and XPDM can coexist on vista and win7. I’m just wondering how exactly
that can be made to work.

Mark Roddy

Mark Roddy wrote:

In this thread here:
http://www.osronline.com/showThread.cfm?link=172630

Tim and Ivan both insist that despite all the google otherwise WDDM
and XPDM can coexist on vista and win7. I’m just wondering how exactly
that can be made to work.

What do you see when you apply your ninja hacker skills to the problem?
Is the XPDM device ignored?


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

The XPDM device loads first and the WDDM device is ignored. From your
question I’m guessing we should reverse the order.

Mark Roddy

On Tue, Nov 30, 2010 at 3:36 PM, Tim Roberts wrote:
> Mark Roddy wrote:
>> In this thread here:
>> http://www.osronline.com/showThread.cfm?link=172630
>>
>> Tim and Ivan both insist that despite all the google otherwise WDDM
>> and XPDM can coexist on vista and win7. I’m just wondering how exactly
>> that can be made to work.
>
> What do you see when you apply your ninja hacker skills to the problem?
> Is the XPDM device ignored?
>
> –
> Tim Roberts, xxxxx@probo.com
> Providenza & Boekelheide, Inc.
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>

It may be basic but my doubt is in which cases two different type of
adapters will be help full? Actually I can’t think of such situation where
we will be needing XPDM & WDDM both adapters.

/sarbojit

On Wed, Dec 1, 2010 at 2:14 AM, Mark Roddy wrote:

> The XPDM device loads first and the WDDM device is ignored. From your
> question I’m guessing we should reverse the order.
>
> Mark Roddy
>
>
>
> On Tue, Nov 30, 2010 at 3:36 PM, Tim Roberts wrote:
> > Mark Roddy wrote:
> >> In this thread here:
> >> http://www.osronline.com/showThread.cfm?link=172630
> >>
> >> Tim and Ivan both insist that despite all the google otherwise WDDM
> >> and XPDM can coexist on vista and win7. I’m just wondering how exactly
> >> that can be made to work.
> >
> > What do you see when you apply your ninja hacker skills to the problem?
> > Is the XPDM device ignored?
> >
> > –
> > Tim Roberts, xxxxx@probo.com
> > Providenza & Boekelheide, Inc.
> >
> >
> > —
> > NTDEV is sponsored by OSR
> >
> > For our schedule of WDF, WDM, debugging and other seminars visit:
> > http://www.osr.com/seminars
> >
> > To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
> >
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

Actually this is all just a development aid for a project I am working
on. It will allow developers to have a partially functional wddm
display and a fully functional xpdm display while they are working on
getting the wddm part functional. Otherwise they are flying blind :slight_smile:

But there are other good reasons to have a primary wddm display and
something else not up to wddm standards.

Mark Roddy

On Tue, Nov 30, 2010 at 11:52 PM, Sarbojit Sarkar wrote:
> It may be basic but my doubt is in which cases two different type of
> adapters will be help full? Actually I can’t think of such situation where
> we will be needing XPDM & WDDM both adapters.
> /sarbojit
>
> On Wed, Dec 1, 2010 at 2:14 AM, Mark Roddy wrote:
>>
>> The XPDM device loads first ?and the WDDM device is ignored. From your
>> question I’m guessing we should reverse the order.
>>
>> Mark Roddy
>>
>>
>>
>> On Tue, Nov 30, 2010 at 3:36 PM, Tim Roberts wrote:
>> > Mark Roddy wrote:
>> >> In this thread here:
>> >> http://www.osronline.com/showThread.cfm?link=172630
>> >>
>> >> Tim and Ivan both insist that despite all the google otherwise WDDM
>> >> and XPDM can coexist on vista and win7. I’m just wondering how exactly
>> >> that can be made to work.
>> >
>> > What do you see when you apply your ninja hacker skills to the problem?
>> > Is the XPDM device ignored?
>> >
>> > –
>> > Tim Roberts, xxxxx@probo.com
>> > Providenza & Boekelheide, Inc.
>> >
>> >
>> > —
>> > NTDEV is sponsored by OSR
>> >
>> > For our schedule of WDF, WDM, debugging and other seminars visit:
>> > http://www.osr.com/seminars
>> >
>> > To unsubscribe, visit the List Server section of OSR Online at
>> > http://www.osronline.com/page.cfm?name=ListServer
>> >
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> For our schedule of WDF, WDM, debugging and other seminars visit:
>> http://www.osr.com/seminars
>>
>> To unsubscribe, visit the List Server section of OSR Online at
>> http://www.osronline.com/page.cfm?name=ListServer
>
> — NTDEV is sponsored by OSR For our schedule of WDF, WDM, debugging and
> other seminars visit: http://www.osr.com/seminars To unsubscribe, visit the
> List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer

There is actually a simple trick that enables coexistence of WDDM main graphics adapter and XPDM secondary graphics adapter on Vista/Win7 (without any ninja-hacking). We currently know of four different companies using this trick offering USB and virtual display driver products. Some of them have been using it for years (three of them were consulted by us). This allows desktop mirroring as well as desktop extension. The only drawback: Aero is temporarily turned off while the XPDM display is attached to the Vista/Win7 desktop.

Marcel Ruedinger
datronicsoft

Marcel,

Could you tell about this trick a little more?
From my experience Displaylink and MCT impersonate additional vidpns on existing video adapters. This is done with major hacking of dxgkrnl.
Am I missing the trick or you’re talking about different vendors?

Anatoly.

Hooking dxgkrnl.sys port/miniport interface is a completely differents story (faking additional monitor connectors on somebody else’s main graphics adapter).

The “simple trick” approach I was mentioning is very different and much simpler. It only involves some slight modifications to an existing XPDM display driver making it co-exist with a WDDM main graphics adapter. It is completely undocumented, but it has proven to be stable enough for products which don’t need to support Aero.

From one of the two vendors mentioned above, we have seen at least two completely different Vista display drivers. One hooking dxgkrnl.sys, the other one running the above named “simple trick” approach.

Marcel Ruedinger
datronicsoft

I get the feeling. Marcel, that you are not so subtly offering to sell
this information here.

Mark Roddy

On Sat, Dec 18, 2010 at 1:23 AM, wrote:
> Hooking dxgkrnl.sys port/miniport interface is a completely differents story (faking additional monitor connectors on somebody else’s main graphics adapter).
>
> The “simple trick” approach I was mentioning is very different and much simpler. It only involves some slight modifications to an existing XPDM display driver making it co-exist with a WDDM main graphics adapter. It is completely undocumented, but it has proven to be stable enough for products which don’t need to support Aero.
>
> From one of the two vendors mentioned above, we have seen at least two completely different Vista display drivers. One hooking dxgkrnl.sys, the other one running the above named “simple trick” approach.
>
> Marcel Ruedinger
> datronicsoft
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>

Do you seriously believe, that anyone would still spend money for non-Aero-capable secondary XPDM display drivers nowadays?

PS: I already gave enough hints. Anyone involved in Windows display driver development should easily be able to discover this info for himself.

Marcel Ruedinger
datronicsoft

Then why not state what your ‘simple trick’ is?
Mark Roddy

On Sun, Dec 19, 2010 at 7:50 AM, wrote:
> Do you seriously believe, that anyone would still spend money for non-Aero-capable secondary XPDM display drivers nowadays?
>
> PS: I already gave enough hints. Anyone involved in Windows display driver development should easily be able to discover this info for himself.
>
> Marcel Ruedinger
> datronicsoft
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>

Matrcel Ruedinger wrote:

Do you seriously believe, that anyone would still spend money for non-Aero-capable secondary XPDM display drivers nowadays?

I seriously believe that approximately 95% of Windows 7 users don’t care one whit whether their displays have Aero or not. It’s fluff, vastly more important to the marketing department than it is to end users who are actually trying to get something done.

PS: I already gave enough hints. Anyone involved in Windows display driver development should easily be able to discover this info for himself.

No, that’s a crock. Now, I fully understand that you might consider this knowledge to be proprietary, but don’t pretend that you’ve been an angel and given away anything useful here. There are no more than 6 companies in the world that are “involved in Windows display driver development”. It has become a very uncomfortable monopoly, surrounded by secrecy and obscurity. It is now essentially impossible for anyone to build a practical WDDM driver without having a team onsite in Redmond, on a first-name basis with the display team. That’s not a good thing for the Windows community.

Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

ATi, Nvidia, Intel and perhaps VIA. What are the rest of two?

Calvin
P.S. USB display solution IMHO doesn’t qualify *real* WDDM development.

> P.S. USB display solution IMHO doesn’t qualify *real* WDDM development.

Can USB display in modern Windows support the GUI apps on it? or only video streams from DirectShow or this-new-replacement-of-DirectShow?


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

Good question.

Mm
On Dec 20, 2010 1:55 AM, “Calvin Guan” wrote:
> [quote]
> There are no more than 6 companies in the world that are “involved in
> Windows display driver development”.
> [/quote]
>
> ATi, Nvidia, Intel and perhaps VIA. What are the rest of two?
>
>
> Calvin
> P.S. USB display solution IMHO doesn’t qualify real WDDM development.
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

VmWare has a WDDM pv driver for its client desktop and Sun/Oracle’s
VirtualBox project is developing an open source WDDM driver. Other
than those projects…

Mark Roddy

On Mon, Dec 20, 2010 at 1:54 AM, Calvin Guan wrote:
> [quote]
> There are no more than 6 companies in the world that are “involved in
> Windows display driver development”.
> [/quote]
>
> ATi, Nvidia, Intel and perhaps VIA. What are the rest of two?
>
>
> Calvin
> P.S. USB display solution IMHO doesn’t qualify real WDDM development.
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>

Matrox is probably the 5th… who is the last one?

And btw: when windows is unable to find video drivers, vga.sys (which is not wddm) takes the place.
if another video card is present (for which windows did find wddm drviers) vga.sys has no choice but “play together” :slight_smile:

Regarding the load order and as I understand things for Win7 and XP (deferring to a .microsoft.com address or to more knowing folks) …

Just as with any HW resource, the OS will first detect a VID/PID on the PCI and PnP will see who is registered for that resource; based on that the OS will load the appropriate driver for the HW detected …

That said …

  • If this is XP then it will load as many XPDM driver(s) as HW is detected for

  • If this is Win7 then it will load either an XPDM or WDDM driver for the *first* HW detected. Subsequent HW detected needs to match the first detected driver type, XPDM or WDDM, or the load will fail. There is an additional requirement that if the driver is WDDM *and* it is WDDM 1.0 then any subsequent HW loads will fail (so, only one WDDM 1.0 driver per machine). With WDDM 1.1 then multiple WDDM 1.1 drivers will load

  • If no HW is detected by PnP then VGA.SYS will be loaded

Regarding the vendors, there are “hard” vendors and “soft” vendors. The “hard” vendors are physical chipset manufacturers like ATI, NVidia, etc. which have a physical GPU attached to the PCI bus and which support the specific WDDM requirements of a) a PCI extended config space read which returns a “video card” result, b) a physical TLP-based interrupt capable of getting an interrupt object from the HAL and c) a GPU capable of responding appropriately to the DirectX v10 spec. The only “soft” vendor widely known is VMWare, who (because they can make a VM guest capable of this) have a WDDM guest driver which uses the VM environment itself to simulate items a) and b) and have both written a native driver capable of communicating with a physical GPU attached to the PCI bus to satisfy item c) for the ESX product *and* written a passthrough viewport interface for the Workstation product capable of communicating with the host Desktop Window Manager using the WDDM driver installed on the host OS to again satisfy item c) …

There are a number of other “soft” vendors which support various mechanisms to emulate points a), b) and c) through various mechanisms: a) can be done by writing a bus driver (like the dynamic toaster example) to which the display driver is then attached and emulating the PCI extended config space read. Item b) can be done by hooking into the OS interrupt vectors and essentially “hijacking” an interrupt (similar to the old shared printer IRQL from DOS days). Similarly, item c) can be emulated in software (albeit at considerable CPU cost) …

Would be nice to know in detail the mechanisms that Marcel uses, but as Mark indirectly pointed out that’s highly unlikely. For those “soft” vendors the path ahead is interesting: Win8 specifically doesn’t support XPDM and the interrupt hijacking hackery is a moving target at best. More to the point, the GPU support upon which Aero depends isn’t just fluff, it’s the basis for the Desktop Window Manager itself for which support is being specifically added to Visual Studio (basically, apps will now open viewports into the DWM and don’t simply spew GDI calls) which means over time the lack of true GPU support will become more noticeable for the “soft” vendors out there …

Craig, what makes you think that I am not sharing this information? I had already taken the initiative and I was in the middle of a professional discussion, when two posts offensively interfered.

I will try discussing one more time shortly…

Marcel Ruedinger
datronicsoft

Marcel wrote …

Craig, what makes you think that I am not sharing this information? I had already taken the initiative and I was in the middle of a professional discussion, when two posts offensively interfered. I will try discussing one more time shortly…

… to which I reply …

… and that specific, detailed information would be appreciated! Look at Doron’s reply a few posts away regarding embedding context information into a IRP that Don had run into before: specific, actionable, usable information is what this list is for and thrives on. Doron’s reply is something I can file away for the future …

Your earlier posts in this thread were “There is actually a simple trick that enables coexistence of WDDM main graphics adapter and XPDM secondary graphics adapter on Vista/Win7 (without any ninja-hacking)”, followed by “The “simple trick” approach I was mentioning is very different and much simpler. It only involves some slight modifications to an existing XPDM display driver making it co-exist with a WDDM main graphics adapter. It is completely undocumented, but it has proven to be stable enough for products which don’t need to support Aero”, and then “PS: I already gave enough hints. Anyone involved in Windows display driver development should easily be able to discover this info for himself” …

You may as well stick out your tongue and say “nyah, nyah, nyah, I know something that you don’t and I’m not telling! Nyah!” If you want to share then share, that’s what the list is for … if not, …

Finally, as Mark alluded to, you’ve made posts in the past [easily searchable by name, thanks Peter!] with a similar “we did this, contact us offline for more information”, “we have done this for other companies, wink wink” tone which look to be more advertisements for datronicsoft than specific, actionable, usable information of the sort Doron provides … I could easily be mistaken, of course, but it appears that I’ve provided more specific, actionable, usable information for this specific WDDM/ mirror driver question in one paragraph than you’ve provided in four nearly identical question replies [again, easily searchable as “WDDM” and “mirror driver”] over the last year … and that seems odd …