indirect display driver (IDD) dynamic resolution support and selection at runtime

z0Kng 0 Reputation points
2026-06-19T07:31:46.0766667+00:00

I have an IDD (non remote) that is supposed to support and select new resolutions at runtime. The idea is that the user resizes their local window, the IDD receives the new resolution, which, of course, can be any value and sets it.

  1. Hot Plug the monitor with a new preferred resolution in the EDID. But every hot plug seems to create new registry entries. Windows automatically sets the preferred resolution for a while until there are too many registry entries; then a random resolution is set. Another downside is that since the monitor is gone for a short amount, a msft display is enabled and open application windows get thrown around.
    User's image
  2. Use IddCxMonitorUpdateModes to update the modes at runtime and use a userspace app to select the resolution. I never got this properly to work. If I call IddCxMonitorUpdateModes with the list of old and the new resolution, the monitor goes black for a blink and then is back. But the new resolution does not appear in the windows display settings menu. Also, if I try to set the resolution with SetDisplayConfig, I can only set the sourceMode and not targetMode otherwise the function throws an error. But it seems I also have to set it to targetMode, otherwise the image is distorted. Am I missing something here?

I assume that the second option makes more sense. if it works?

Windows development | Windows Driver Kit (WDK)
0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.