Page 1 of 1

Use hardware virtualization for a Win98 guest

Posted: 28. Feb 2012, 16:00
by Hugh2
I discovered that hardware-assisted virtualization (VT-x) makes a huge difference to the performance of a Win98 guest. I clocked a 10-fold slowdown in boot time when disabling it. (actually it was initially disabled in my host PC's BIOS, which Virtualbox didn't warn me about. Win98 installation took hours. I only discovered the fix by accident when looking at BIOS settings for something else). I have an Intel CPU (Core 2 Duo, DG965WH MoBo), so can't speak for performance on AMD.

This bit of information should really be added to the topic "Tutorial: Windows 95/98 guest OSes" in the forum "Windows Guests", but I can't post there for some reason.

Also, this is probably an opportunity for optimization of some V86-mode emulation code in VBox... but maybe nobody cares.

Re: Use hardware virtualization for a Win98 guest

Posted: 28. Feb 2012, 16:11
by mpack
Win98 VMs used to work better, it's only recent versions of VirtualBox (not sure when: sometime around 4.0.0?) which for some reason make Win98 run like a pig. As you say, it runs very nicely when VT-x is enabled.

I have moved your topic btw. Posts about Windows guests should go in the "Windows Guests" forum.

Re: Use hardware virtualization for a Win98 guest

Posted: 28. Feb 2012, 17:23
by michaln
Win9x runs like a pig with VT-x and 16-color VGA. It's always been that way, and there's not much to be done about it. With VT-x and a sane display driver, it's blazingly fast. Seen on Core 2 and Core i7 CPUs.

Re: Use hardware virtualization for a Win98 guest

Posted: 28. Feb 2012, 17:38
by mpack
michaln wrote:Win9x runs like a pig with VT-x and 16-color VGA. It's always been that way, and there's not much to be done about it. With VT-x and a sane display driver, it's blazingly fast. Seen on Core 2 and Core i7 CPUs.
Nah, that is not the extent of the problem.

I've had a Win98SE VM (used for for test purposes) going since 2008. In all that time I've always used the BearWindows VESA driver in 32bit color mode - I never changed that. All of a sudden around v4.0.0 (I think, it may have been a couple of revs before) this VM suddenly started taking minutes to boot up, where it used to take ~20s. I had made no changes to the settings. It took so long in fact that I thought it had hung: there was no sign of disk or network activity. I documented this in beta discussions at the time. Eventually I discovered if I turned VT-x on then the VM just flew - better than ever. This is a plus, but doesn't really answer the original mystery of what changed. Not that it really matters, unless I ever need to run Win98 on a non VT-x host.

Re: Use hardware virtualization for a Win98 guest

Posted: 28. Feb 2012, 17:46
by michaln
Oh wait, I misunderstood the complaint. The issue is that without VT-x, stuff runs slow? That's not exactly a surprise, really...

Re: Use hardware virtualization for a Win98 guest

Posted: 28. Feb 2012, 18:38
by mpack
michaln wrote:That's not exactly a surprise, really...
Well, it was definitely a surprise when it started happening for no obvious reason. It is not inevitable that it runs so slow: previous VBox versions did better.

Re: Use hardware virtualization for a Win98 guest

Posted: 28. Feb 2012, 19:05
by michaln
Yes, and I'm sure the older versions also ran a lot of other stuff worse. The truth is that performance of Win9x guests is in no way important when releasing new VirtualBox versions. That reflects the commercial importance of Windows 9x, which is zero. I'm sure you understand how it works...

Re: Use hardware virtualization for a Win98 guest

Posted: 28. Feb 2012, 19:19
by mpack
michaln wrote:The truth is that performance of Win9x guests is in no way important when releasing new VirtualBox versions
"No way"? That seems a little strong. I'd say that the importance quotient is definitely greater than zero, but not a priority. If it couldn't run Win98 in a decent way at all then it would be rather more important: as it is, a client who's stuck with an old VXD-using app running like a sloth can upgrade the hardware, which fixes the problem very well.

I appreciate that Oracle will regard as important anything that brings in bucks from paying customers. I have no way of knowing how many Win98 clients Oracle has, much less would have if VBox had a reputation for running it well.

Re: Use hardware virtualization for a Win98 guest

Posted: 28. Feb 2012, 19:47
by michaln
mpack wrote:I have no way of knowing how many Win98 clients Oracle has
If you read carefully (perhaps between the lines), I answered that question :)

In my experience, the commercial importance of Windows 9x nowadays is simply nonexistent. It's ironic, but on MSDN you can still download MS-DOS 6.x and Windows 3.1x, but not Windows 9x. That no doubt reflects the relative importance of those OSes to Microsoft's customers. I'm quite certain that more business critical applications run on OS/2 these days than on Windows 9x.

I was playing with Win9x VMs a while ago and with HW virtualization, it's really not that bad once a sensible display driver is installed. I don't know why it took until XP for Microsoft to have a VBE fallback driver built in... that would have worked very nicely.