Hi,
Actually, I spoke too soon. The problematic 24 bpp mode that Windows picks right now is 118 and that's within the standard range so I can't move 144 above it and renumber. What would be considered safer, keeping the same mode numbers or partially renumbering to keep them monotonically increasing except for the standard range?
I wouldn't renumber anything at 0x11B or below - those are defined in the vbe3 spec. Ordering and the numbering of all the other modes can be changed. Despite the comment in the source, modes 0x11C-0x11F do not appear to be standard modes.
Thinking on this further, there's a good chance other systems (in addition to Windows) choose the first valid mode found. So, reordering the 32bit modes above the 24bit modes could cause changes in other systems as well.
Indeed, there is a risk that this reordering uncovers hidden bugs.
I think at least for modern software the risk is pretty small though. Real hardware apparently already lists 32bpp before 24bpp (or stopped supporting 24bpp altogether), otherwise this windows bug wouldn't have managed to hide long enough to make it to the RTM media ...
For oldish 90ies DOS games the risk might be higher.
It might also make use software use 32bpp instead of 24bpp (without breaking stuff), which would be a useful change as qemu uses 32bpp internally so it'll avoid a conversion step and give a small performance benefit.
So, I think it may be too risky to push this into the pending SeaBIOS release.
I expect in case we uncover bugs with this we will probably not notice before we update the seabios version shipped with qemu ...
cheers, Gerd