I am trying to build the KMDOD driver and run it on Windows 7 (the ultimate goal being to port an existing Windows 7 XPDM driver to WDDM).
I’ve loaded the SLN file into VS Pro 2013, but the only build configurations I see are Windows 8 and Windows 8.1? I tried building the Windows 8 configuration, but it won’t load on Windows 7.
Any advice?
Thanks,
Noel
First, I thought: Silly question - it is well known and documented that KMDOD driver model was introduced only for Windows 8 (and above).
Then, I surprisingly noticed, that WDK KMDOD sample documentation states “Windows 7” as “Operating system requirements”, indeed.
I assume it is a bug in the documentation.
This assumption is backed by a different WDK documentation paragraph “Display Samples”. There, WDK documentation states Windows 8 as target OS is for KMDOD sample.
Another indicator is the fact that there is no Windows 7 build environment for the sample.
Marcel Ruedinger
datronicsoft
Thank you, Marcel. I’ll abandon that path then.
Can anyone recommend any open source or sample code that illustrates a WDDM driver that runs on both Windows 7 and 8? At least at the source-level? (separate Win7 and Win8 builds is fine)
Target HW is Xen/QEMU
Thanks!
Noel
xxxxx@Gmail.com wrote:
Thank you, Marcel. I’ll abandon that path then.
Can anyone recommend any open source or sample code that illustrates a WDDM driver that runs on both Windows 7 and 8? At least at the source-level? (separate Win7 and Win8 builds is fine)
There is certainly no open source code. Graphics drivers have become so
specialized and complicated that all WDDM code is tightly-held and
proprietary. There is a sample in the Vista WDK, but I’m not sure how
much it is worth today. There are perhaps 4 or 5 teams in the world
making graphics hardware, and virtually all of the WDDM knowledge is
sequestered in those teams.
Marcel tends to disagree with my discouraging assessments.
Target HW is Xen/QEMU
What does that mean? You are providing a virtual device? KMDOD on
Windows 8 will do that, but I’m not convinced it’s possible in Windows 7
without a fair amount of hackery. The original WDDM interfaces assumed
the presence of real hardware.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
Xen is a hypervisor and QEMU provides a virtual device. But to the Windows guest OS, this QEMU device appears to be a legitimate VGA device with memory, I/O, interrupt, etc, all the things WDDM expects to find in a GPU. On Windows 7, the Standard VGA driver works fine on it, and I expect the Basic Display Driver will also (once we solve other Windows 8 issues, and can boot a Windows 8 guest OS).
But there is also a special display driver that can run on the Windows 7 guest OS, as well. This is part of a guest-tools package, similar to what you see with VirtualBox, VMWare, etc. It is an XPDM display driver that knows how to communicate back to the hypervisor special display information, to support dynamic display resize, integrated mouse pointer, stuff like that. I need to convert that special display driver to support WDDM.
I was hoping to pull the WDDM front end out of KMDOD, and stick it on my driver, and that would be that. But it looks like it will be more to it than just that.
Thanks!
Noel
“port an existing XPDM driver to WDDM” is pretty much the wrong approach.
There is very little common code between the two.
You can port KMDOD back to win7 but you have to create your own user mode
half to replace the WARP engine used in user mode by KMDOD. That is a lot
of work.
Mark Roddy
On Tue, Apr 28, 2015 at 9:45 AM, wrote:
> I am trying to build the KMDOD driver and run it on Windows 7 (the
> ultimate goal being to port an existing Windows 7 XPDM driver to WDDM).
>
> I’ve loaded the SLN file into VS Pro 2013, but the only build
> configurations I see are Windows 8 and Windows 8.1? I tried building the
> Windows 8 configuration, but it won’t load on Windows 7.
>
> Any advice?
>
> Thanks,
> Noel
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> 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
>
If you are open source you can take a look at what virtual box has done to
get their WDDM driver running in win7. The working version currently has no
3D capabilities, but it does run as a WDDM rather than XPDM driver.
Citrix has a functional win7 WDDM driver in its XenClient Xen/Qemu product.
We deprecated it however as after struggling with its performance issues we
decided that the XPDM driver for win7 had fewer terminally aggravating
features. We also released hardware virtualization support for intel
graphics on Haswell platforms, and that works great for both win7 and win8.
Software rendering for WDDM is always going to be less than optimal.
Mark Roddy
On Tue, Apr 28, 2015 at 1:05 PM, wrote:
> Thank you, Marcel. I’ll abandon that path then.
>
> Can anyone recommend any open source or sample code that illustrates a
> WDDM driver that runs on both Windows 7 and 8? At least at the
> source-level? (separate Win7 and Win8 builds is fine)
>
> Target HW is Xen/QEMU
>
> Thanks!
> Noel
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> 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
>
What would you recommend as the correct approach?
Let’s say for the moment that I can abandon Windows 7 support altogether and continue to use the existing XPDM driver on Windows 7.
For Windows 8, then, what? Start with KMDOD, and add our back-channel communications to that? Some other path?
Thanks,
Noel
For win8 porting the KMDOD sample to a xen hv with qemu is entirely
do-able, as I have done it.
I would leave win7 at XPDM support, that is not really an option for win8.
Note that Win8 will run the in-box version of KMDOD on your win8 VM on xen,
but it is less than optimal. You can do better than that without an
enormous effort.
Mark Roddy
On Tue, Apr 28, 2015 at 1:56 PM, wrote:
> What would you recommend as the correct approach?
>
> Let’s say for the moment that I can abandon Windows 7 support altogether
> and continue to use the existing XPDM driver on Windows 7.
>
> For Windows 8, then, what? Start with KMDOD, and add our back-channel
> communications to that? Some other path?
>
> Thanks,
> Noel
>
> —
> NTDEV is sponsored by OSR
>
> Visit the list at: http://www.osronline.com/showlists.cfm?list=ntdev
>
> OSR is HIRING!! See http://www.osr.com/careers
>
> 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
>