Skip to content

[Help]: Windows 11 24H2/25H2: IDD virtual display can no longer be set as primary display #471

@zhangwenjian

Description

@zhangwenjian

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

Metadata

Metadata

Labels

help wantedExtra attention is needed

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions