-
-
Notifications
You must be signed in to change notification settings - Fork 343
Description
Which OS?
Win11 Pro
Which release?
24H2
Driver Version
master
Device Specifications
I developed an Indirect Display Driver (IDD) for Windows based on the open-source IddSampleDriver project. In the following description, this driver is referred to as IDD. It is used as part of my VDI remote desktop protocol and deployed inside cloud desktops.
When a remote desktop client connects to a cloud desktop, the IDD driver creates a virtual display (IDD display). This virtual display is then set as the primary display, while the original display device is disabled. During runtime, the IDD display is expected to support arbitrary resolution changes, because the remote desktop client window can be resized at any time, and the desktop resolution inside the remote session needs to dynamically adapt to the window size.
This behavior works correctly on Windows 10 and Windows 11 23H2.
However, starting from Windows 11 24H2, the IDD driver no longer behaves as expected. For example, after connecting to the cloud desktop, whenever I use an IOCTL interface to request a new arbitrary resolution for the virtual display, the operation inside the driver succeeds. However, from user mode, any attempt to switch the desktop to the new resolution using ChangeDisplaySettingsEx always fails.
If I open “Advanced display settings” inside the cloud desktop, I can observe that for the IDD virtual display:
The “Active signal mode” has already changed to the new resolution and refresh rate that were dynamically set in the driver.
The “Desktop mode” still remains at the old resolution and refresh rate.
If I then open the “Choose a refresh rate” dropdown and perform any refresh rate change (for example, switching from 60 Hz to another value), and even cancel the confirmation dialog so that the refresh rate is effectively unchanged, the new resolution immediately becomes active. At that point, the Desktop mode becomes equal to the Active signal mode.
Based on this behavior, I suspect that Windows 11 24H2 introduced significant changes related to refresh rate handling or display mode validation, and that newly created or dynamically updated modes in an IDD driver are no longer immediately accepted and applied by the system.
What issue are you experiencing or what do you need help with?
What changes or additional handling are required in the IDD driver and/or the user-mode application to ensure that an IDD virtual display can continue to support arbitrary resolution changes that take effect immediately, as it did on earlier Windows versions?
Troubleshooting steps taken
No response
Expected outcome
No response
Additional information
No response
Contact Details
No response