I asked this over in the generic graphics forum, they redirected me here.
I am trying to programmatically set a dual-clone configuration via SetDisplayConfig(), ChangeDisplaySettingsEx() or some other method and am unable to. I know this config can be achieved via the Intel HD Graphics Control Panel. How can I do this via C/C++ code? Or some other programmatic way?
We are running the following config in for an embedded product:
- WES7 (though eventually Win10 and this behavior is also the same for standard Win7)
- Intel Graphics driver v10.18.14.4414
- Intel Celeron 2980u
- Intel HD Graphics
I can easily enable/disable one of our external monitors via SetDisplayConfig() or ChangeDisplaySettingsEx(). However, I am unable to "activate" the second monitor via my application. I can, however, activate both external monitors via the Intel HD Graphics Control Panel. Is there an interface that can be leveraged to enable dual external cloned monitors (cloning the internal primary display)? All have the same resolution.
I can see all the monitors enumerated via EnumDisplayMonitors(), but one of the two external devices' StateFlags does not have the "DISPLAY_DEVICE_ACTIVE" bit set. Also, from QueryDisplayConfigDBCurrent(), I don't see the 2nd external monitor listed as a target in the VidPN. But I can't find a way to select it and activate it.
I need to activate the 2nd monitor to essentially have 3 cloned screens w/out the user going in through the intel graphics control panel.
We are not using the IEGD as it isn't supported any more.
Any insight is appreciated.
Hello EVanAlstine ,
Thank you for contacting the Intel Embedded Community.
We have received your questions, but we would like to address the following questions to have a better idea to answer them:
Could you please tell us what is the processor and chipset related to your request?
Could you please clarify us if the affected project has been designed by you or a third party company? In case that it is a third party design, please let us know all the information related to it.
Please let us know all the information that answer the previous questions.
I'll try to dig up the information, but it's rather irrelevant to the question. There is a way, via the Intel Control Panel, to set the cloned output for 2 external monitors. That same setting can't apparently be accessed via the standard Microsoft "resolution" GUI. So how is it being done? Is it a private or public interface and where might there be documents on it? I've searched all the docs I could find related to our CPU, but no luck. Google isn't finding anything either.
Hello EVanAlstine ,
Thanks for your clarification.
Based on your previous communication and since the hardware is irrelevant, we suggest to address your consultation to the https://software.intel.com/en-us/forum Intel(R) Developer Zone Forum, which is a specialized software channel that may help you.
We hope that this information is useful to you.
Thanks for your update.
Please keep in mind our previous suggestion to find a solution to the cited situation.
We hope that the provided information is useful to you.