Zhiyi Zhang (@zhiyi) commented about dlls/win32u/sysparams.c:
if (info->cb >= offsetof(DISPLAY_DEVICEW, DeviceString) + sizeof(info->DeviceString)) { if (monitor) asciiz_to_unicode( info->DeviceString, "Generic Non-PnP Monitor" );
else lstrcpyW( info->DeviceString, adapter->dev.device_string );
else
{
sprintf( buffer, "\\\\.\\DISPLAY%d", adapter->id + 1 );
asciiz_to_unicode( info->DeviceString, buffer );
This is wrong. DeviceString is something like "AMD Radeon RX 6600 (RADV NAVI23)" not "\\.\DISPLAY*"