This is pretty obviously a bug pertaining to an edge case, but I'm running a computer dedicated to playing old DOS games (via DOSBox) and other older Windows games. I am using integrated graphics for the display, which is a CRT monitor connected through an active HDMI converter. The board in question happens to be using an Intel Celeron N3160, which, if I recall correctly, has Intel HD Graphics 400.
I can get it to recognize 640x400 as a native display resolution such that the option to "Maintain Display Scaling" is available, and setting it causes the monitor to properly display it as a native 640x400 resolution. Same goes for 640x480. The issue is that it absolutely refuses to remember that setting of "Maintain Display Scaling" or any other sub-800x600 resolution. It doesn't remember the scaling mode at all. It keeps defaulting to "Center Image", which is awful for my usage.
As far as I can tell, scaling modes are picked and remembered based on aspect ratio. For some reason, these lower resolutions don't apply. The only solution I have right now is to override my EDID to specify that 640x400 and 640x480 are my only available "primary" resolutions, in that order. At that point, I have to set my desktop resolution to 640x400 and set the display scaling to "Maintain Display Scaling". Once that is done, anything that is run fullscreen at 640x400 will remember the desktop scaling, and whenever it switches to 640x480 it will display natively since there's nothing higher recognised to letterbox it into.
There are obvious, horrendous drawbacks to this setup, though. The most obvious is that I have to run my desktop at 640x400 (or, at best, 640x480) unless I want to go through the arduous process of switching EDID back and forth. The other is that, while it will remember that I set "Maintain Display Scaling" for the session, shutting down/rebooting the system will result in it going back to "Center Image", forcing me to manually switch it back again.
This is so frustrating. It's so very close to working like it should, and I doubt it would take much time for the engineers to fix. I would even be happy with a compromise, like letting me set a universal scaling mode instead of one for each aspect ratio and ensuring that sub-800x600 resolutions honor it. The actual bug could be something as simple as the fact that the Intel control panel doesn't normally recognise and handle resolutions lower than 800x600. I can only get it to display 640x480 if I have the desktop resolution set to that or below. Meanwhile, Windows 10 will show all the typical VGA resolutions at 640x480 and below so long as I have my desktop set to any of those resolutions.
Any chance of helping me out with this? I know I'm in the minority, but like I said, I get the feeling this would be a trivial issue for the engineers to fix except that they probably don't know it exists.