Page 2 of 2

Re: PSA: Windows 95/98/98SE/ME can't be installed in VBox >= 6.0 + Ryzen CPUs

PostPosted: 26. Sep 2020, 20:57
by scottgus1
I don't know if you're in the right place, jpbed? My googling shows that Surface Pro 7's come with Intel CPU's, and this thread is about AMD's. Did you post in the wrong topic?

Re: PSA: Windows 95/98/98SE/ME can't be installed in VBox >= 6.0 + Ryzen CPUs

PostPosted: 25. Sep 2021, 13:42
by birdie
mpack wrote:
birdie wrote:It's great your CPU still works.

(1) I've never had a problem with any CPU I've used on any PC since 2008. It's just a matter of setting up the guest correctly.

(2) You didn't say above you had a problem with Ryzen, you said all of those guests had a problem with HW virtualization on modern CPUs. Perhaps you should make up your mind.

I'm using VirtualBox defaults. You've never said something needs to be changed to make Windows 9x work.

Again, VirtualBox developers have admitted that Windows 9x works incorrectly but you always call me out as if I'm lying or making things up. I don't even understand why you continue to argue with me:

Before opening such tickets, please do some due diligence first. Google for "windows 98 ryzen crash" and you will see that this is not a problem with VirtualBox, it's a problem with Ryzen CPUs and Windows 9x, or more likely a bug in Windows 9x. See e.g. here

I believe this blog post explains what the problem is. The method Windows 9x uses to manage page tables does not work (reliably) on AMD Bulldozer and Ryzen CPUs, and it probably only works by accident on other CPUs.

Disabling the I/O APIC of course does nothing, Windows 9x does not use it. But disabling nested paging does a lot, because it hides the TLB management problem referenced above.

Please note that Windows 9x is known to have serious problems on fast CPUs.

Also note that the first generation Ryzens had a bug related to VME (Virtual-8086 Mode Extensions) but VirtualBox works around that and AMD fixed that a long ago.

You can complain to AMD but they will very likely tell you that this is a bug in Win9x that they have no desire working around. Intel has done such things too, various old operating systems no longer work on current Intel CPUs because they did things that they shouldn't have done, and they're no longer commercially important.

The bottom line is that this is not a regression and it's not something VirtualBox can fix. Disabling nested paging may help but Windows 9x still remains an unsupported guest OS in VirtualBox.

And here's how Windows 98 SE "works" with Nested Paging disabled:

nested_paging_disabled.png (19.92 KiB) Viewed 1140 times

Not much better with VirtualBox defaults:

Freezes here infinitely:
freeze.png (16.78 KiB) Viewed 1138 times

Segfaults galore:

crash.png (27.62 KiB) Viewed 1138 times

Re: PSA: Windows 95/98/98SE/ME can't be installed in VBox >= 6.0 + Ryzen CPUs

PostPosted: 25. Sep 2021, 13:45
by birdie
It would be great if @mpack let me know what kind of settings would allow me to run Windows 98 SE on my Ryzen CPU cause nothing that I've tried worked.