[SeaBIOS] [PATCH] vgabios: Reorder video modes to work around a Windows bug

Gerd Hoffmann kraxel at redhat.com
Thu Oct 20 12:53:06 CEST 2016


  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




More information about the SeaBIOS mailing list