Hi!
I come across an old qemu issue today, https://gitlab.com/qemu-project/qemu/-/issues/1115 . It seemed interesting, and since I do have several test win10 guests handy, I tested it with qemu built from tag v7.1.0. And observed the described behavior.
After digging deeper, it turns out the same bios, compiled using different gcc, produces either good or broken binaries. It is not the seabios itself, the diff is the gcc version.
In particular, on debian bookworm, gcc-12 produces seabios which breaks win10 boot. While on debian sid, gcc-13 produces working seabios from the same source.
Everything else can be anything - any qemu version, any seabios version, - any combination. Giving any combination, compile bios with gcc from bookworm - win10 does not boot; compile this same bios using gcc from sid - it works.
The binary in question is vgabios-stdvga.bin.
I tried compiling vgabios-stdvga.bin with gcc-11, - this one produces broken binary too.
This goes up to qemu version 8.1.0, and from where, version of compiler used to build seabios does not matter anymore.
This is a past already, yet it's a quite interesting (to me anyway) observation. Something was (or maybe still is?) quite fragile here.
Maybe it's a good idea to do some bisections, at least to find out when qemu started working again with "broken" bios, to understand the issue better.
FWIW.
Thanks,
/mjt