The question is not so much about what resolutions a monitor should support, the question should be about how to get a report of supported screen modes from the monitor to the PC. The monitor 'tells' the PC what modes are supported through I²C and the PC has to deal with that.
On Linux this looks like (notice I have 2 monitors attached):
€ xrandr
Screen 0: minimum 320 x 200, current 3200 x 1080, maximum 8192 x 8192
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 510mm x 290mm
1920x1080 59.9*+ 60.0
1680x1050 59.9
1680x945 60.0
1400x1050 59.9
1600x900 60.0
1280x1024 75.0 60.0
1440x900 75.0 59.9
1280x960 60.0
1366x768 60.0
1360x768 60.0
1280x800 74.9 59.9
1152x864 75.0
1280x768 74.9 60.0
1024x768 75.1 70.1 60.0
1024x576 60.0
800x600 72.2 75.0 60.3 56.2
848x480 60.0
640x480 72.8 75.0 60.0
720x400 70.1
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 connected 1280x1024+1920+0 (normal left inverted right x axis y axis) 376mm x 301mm
1280x1024 60.0*+ 75.0
1280x960 60.0
1280x800 74.9 59.9
1152x864 75.0
1280x768 74.9 60.0
1024x768 75.1 70.1 60.0
1024x576 60.0
832x624 74.6
800x600 72.2 75.0 60.3 56.2
848x480 60.0
640x480 72.8 75.0 66.7 60.0
720x400 70.1
DP2 disconnected (normal left inverted right x axis y axis)
Unfortunately for this question I have only HDMI attached monitors, but classic VGA monitors talk back to the PC too when attached through 15 pin sub-D. Check DDC (Display Data Channel) on Wikipedia
Actually with --verbose
flag you get all sorts of cool details but that is way beyond the scope of this question.
640×480 is a safe bet for all VGA monitors. So is 800×600 and most of the time 1024×768.