Superfurry, what you wrote makes sense to me.
Thanks a lot for the explanation, too.
It reminds me of my father's tech voodoo, who wrote a whole CP/M FDD driver for his Z80 PC when he was young..
Another approach - How about not using VGA specific technology, at all?
Virtualbox deprecated its synthetic "VGA" device (VBoxVGA) a longer time ago, anyway.
That's why 3D acceleration broke for Win XP guests from v6.1 onwards, also.
The old VGA device became unsafe, so its pass-through feature was scrapped/disabled.
The newer releases feature a different device, or two (VBoxSVGA, VMSVGA), strictly speaking.
https://superuser.com/questions/1403123/what- … a-in-virtualbox
Windows 3.1 itself isn't dependent on VGA, if non-Windows applications aren't used.
Also, Windows 3.0 started to have more flexible drivers and Windows 3.1 improved upon this (GDI acceleration, first GUI accelerators).
Windows 2.x driver, by comparison, were static still and could be selected during Windows installation only.
With a *little bit* of thinkering and the help of the Win 3 SDK/DDK, a matching Windows 3.1 driver could be compiled in the future.
Maybe one that's using the communications channels of the VM, even.
So it could draw an overlay output directly using the host's OpenGL, not sure.
If not, it could at least use the VMs frame buffer device directly, without any BIOS/VGA specific mechanisms.
I'm speaking under correction, of course. I'm merely a layman, after all.
Edit: From what I remember, Wabi was essentially loading the Windows 3.x Enhanced-Mode kernal atop of Solaris/Linux kernal.
It successfully ran it without any VGA or DOS support.
Linux desktops with Wabi
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//