Releases: PluMGMK/vbesvga.drv
Release list
Fourth beta of version 1.0
This release resolves (at least some cases of) random system crashes on Win98FE when starting windowed DOS prompts! 🎉 It also fixes a regression with MOD4WIN, which apparently uses a zero-size cursor bitmap to tell Windows to hide the mouse…
Full Changelog: v1.0-beta3...v1.0-beta4
Third beta of version 1.0
Since we're 50% of the way through the issues for the v1.0.0 milestone (although this may regress if more issues come up!), I decided it was time for another beta release!
This one fixes crashes in games such as Counting on Frank and Wrath of the Gods, caused by unmatched push/pop instructions, and adds support for 16-/32-bit DIBs (but not blitting them directly onto the screen). It also fixes a few issues with Visual Basic 3.0 in 16-bit mode, namely the toolbars rendering in monochrome, and disappearing graphics caused by the lack of 16-bit DIB support.
We're halfway through the year and still only halfway through the v1.0.0 blockers… This doesn't bode well for major feature work, but let's see what the future holds!
Second beta of version 1.0
This second beta release fixes several artefacts related to BITBLT using too much stack, and hopefully prevents that situation from crashing the system if it does occur. It also resolves an issue where SETUP.EXE could not work on Win9x, as the fonts were not where it expected to find them. We also finally have correct version information embedded in VDDVBE.386 – it's right at the end of the file so it should be easy to find!
Enjoy! 🙂
First beta of Version 1.0!
I had hoped to get v1.0.0 out before the end of 2025, but there are so many open bugs on the issues page that I felt the best I could do was "1.0-beta1". Coupled with a bit of scope creep (thanks to some interesting last-minute suggestions), that pushed it three weeks into 2026! 😅 But at least it's here now! 🎉
Main added features:
- Auto-detection of system font size, effectively making
fontsize=setting superfluous (but you can still use it as an override) - Support for "tiny" fonts (48dpi)
- Support for DCI in banked modes, when virtual flat framebuffer device is loaded (
DVA.386or*VFLATD) – but perf probably not good - Version strings in resources for driver and grabber
Over the next few days I'll add version milestones to existing issues to set out when we will get out of beta, and do the next point releases, etc.
Mode-scoring release
This release switches from "mode matching" to "mode scoring", which means that boot failures with "no suitable mode" will be a thing of the past! The driver will now always make the best possible effort to boot with a mode that's "close enough" to what you asked for. Worst case, it boots in 320×200×8, which is a standard VGA mode!
Of course, this may make it harder to understand what's going on if you don't get the mode you expect, so I've added even more detailed output to VIDMODES.COM to help us figure it out!
This is also the first release to include SHA1 sums of the files, so that we can quickly figure out if data corruption is playing a role in any strange behaviours or crashes!
GeForce fix release
This release finally fixes booting in Enhanced Mode on the NVIDIA GeForce GTX 1050Ti, and presumably on the GTX 980 as well! 🥳
It also fixes a bad assumption about bitmap segments which goes all the way back to the Video7 driver, which was known back in the 90s and caused random crashes in Oregon Trail II, and possibly a few other games / programs.
There are also a few tweaks to VIDMODES.COM.
Enjoy! 😄
Linear modes in Standard Mode + EMM386 fix release
This release finally allows the use of linear modes and double buffering in Standard Mode when using a memory manager such as EMM386! Not only that, loading this driver with a linear mode also fixes any other drivers you may load (e.g. the HD Audio driver) that suffered from the same limitation!
This release also fixes SeaBIOS detection being broken in release builds, which would have resulted in, e.g., text not being written correctly in windowed DOS prompts on Win98 under QEMU.
DCI & VBox BSoD fix release
This release includes a couple of under-the-hood overhauls – one in the DCI Provider, the other in the VDD's "nested modeset" code. The former has been rewritten so that badly-behaved DCI Clients which ignore the buffer offset (like Ecco the Dolphin) now function correctly. The latter has been made a bit less hacky, and can finally show BSoDs properly in VirtualBox under all circumstances.
Since the DCI code seems to work so well, it is now enabled by default as part of the standard installation procedure, and no longer has a dedicated section in the README.md with caveats about its experimental nature.
Linear framebuffer access & darker system palette
After two years, this is the first release that supports blitting directly onto the screen as a linear framebuffer, rather than needing to access it one window at a time! For now (probably for ever!) this is only supported in pattern blits (e.g. colouring all or part of the screen) and non-pattern screen-to-screen blits (e.g. scrolling or moving a window), but it definitely gives significant performance improvement on emulated CPUs (e.g. Dosbox, or QEMU without VT-x)!
Now that there is a mechanism within the driver for direct access to a linear framebuffer, for the first time the driver includes a DCI Provider, which can be used with Video for Windows. Admittedly, I don't have much experience with this, so I'm not sure how well it works, but feel free to try it out as per the instructions in the README.md…
The floppy image size in this release has also been reduced from 1.44M to 720k, since there was no need for it to be so large.
Lastly, this release resolves a discrepancy between the logical and physical values of system palette colours 01-06 in 8-bit mode, resulting in a less garish look when using that mode. This discrepancy was present in most if not all 256-colour Windows 3.1 drivers, so there is a config option to re-enable it if you prefer that look!
P.S. You may have noticed that development of this driver has slowed down a bit in the last couple of months. Basically, I was unemployed for the months of May and June, so I was in a position to work on this full-time, which is why there was such a burst of progress at that stage. This is no longer the case, so I'm afraid progress will be quite slow from now on. It hasn't taken that long to get from v0.8.0 to v0.9.0, but it'll probably take quite a lot longer to get from v0.9.0 to v1.0.0!
v0.8.2
This release includes improvements to VIDMODES.COM, namely:
- It now queries your monitor as well as your graphics card, showing more info that may be used by
VBESVGA.DRVduring boot. - It can be used as a diagnostic tool, returning an errorlevel to indicate whether or not
VBESVGA.DRVcan be expected to boot with certain settings. - It now lists the total number of modes found.
- It indicates which Git commit last touched the source it was built from.
VDDVBE.386 now also detects and deals with SeaBIOS properly, fixing a whole family of bugs that can affect windowed DOS boxes when running under QEMU (or otherwise using SeaBIOS):
- Text getting printed on the main screen, outside the DOS window (happened in 40-column mode at least)
- Corruption of the leftmost column of text when scrolling in a DOS window (e.g. output from
dir) - Possibly some other issues I can't think of right now…
Unfortunately, the failure to boot with newer GeForces still stands, although I made an initial stab at it. Maybe it now works for more cards than it did before (but my GTX 1050 is not one of them!)
Lastly, I've been asked to include floppy images in the releases, so starting from this release I'll be doing just that!