I am trying to experiment on the sample KMDOD driver provided with WDK for Windows 8 to connect it with two monitors for desktop extension support. I am using Nvidia GEForce UEFI adapter with two video port support as my secondary display adapter. My primary adapter is an Intel graphics card.
With the sample KMDOD code, I have customized MAX_CHILDREN to 2. MAX_VIEWS is kept as 1 only. I assume then there will be one video present sources and two video present targets.
, as Mr.Ivan Brugiolo told, there is no need to add new paths from miniport. Only unnecessary topologies to be removed with respect to constraining VidPn.
I assume I need two paths from my single VidPn source to get my two display monitors working. I have put debug prints in my code to understand my code flow. What I understood is:
EnumVidPnCofuncModality() is being called several times with VidPnSourceID: 0,
VidPnTargetID: 0 and VidPnSourceID:0 and VidPnTargetID:1.
I also see that Pinned Source mode and Pinned target modes have populated values.
But number of paths always remain one and desktop extension works with only one monitor connected to my Nvidia adapter.
My second monitor connected to my Nvidia adapter is not getting detected even in my display properties.
My queries are the following:-
1. I have made only minimal customization to my KMDOD sample to make it work for two display outputs. Does there any other changes expected to initialize it for two display output support?
2. As per KMDOD sample code, EDID is not provided. Does this trigger an issue for the second monitor being not detected and the path not added to the topology?
3. From my debug prints, I assume my RecommendMonitorModes() is not being called. Is that be an issue that causes the second monitor not to be detected.
Please shed some light to my concerns...
Thank you in advance...