VOGONS


VME Broken on AMD Ryzen

Topic actions

Reply 20 of 38, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Azarien wrote:

If there is an alternate code path at all.. they could have thought: so our system requires Pentium "or higher", and we use VME because it's cool, and we don't even check cpuid for it, but that's okay, it's not that it is ever going away...

True, good point.

"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//

Reply 21 of 38, by spiroyster

User metadata
Rank Oldbie
Rank
Oldbie
Azarien wrote:

I'm planning to buy a new machine and I think it'll be Ryzen, but I won't buy it unless I know this issue is fixed.

Likewise.

That's the good thing about AMD, consistency, why break the habit of a life time by making something that works out of the box. No doubt it will be fixed, and it would still be cheaper than Intel, with enough all round performance... but the lower price point is very much justified given the curse of AMD.

And the name 'ThreadRipper' .... eww... please, that is going to sound and look sooooo dated very soon. Lets hope it 'rips' them in a good way o.0

Reply 22 of 38, by Azarien

User metadata
Rank Oldbie
Rank
Oldbie
spiroyster wrote:

And the name 'ThreadRipper' .... eww... please, that is going to sound and look sooooo dated very soon. Lets hope it 'rips' them in a good way o.0

At first I thought it's ThreadReaper 😉

Reply 23 of 38, by Jo22

User metadata
Rank l33t++
Rank
l33t++

VirtualBox 5.1.24 (released 2017-07-18)
"VMM: mask the VME CPUID capability on AMD Ryzen processors for now to make certain guests works, for example Windows XP"

"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//

Reply 26 of 38, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi again! Is the VME bug finally fixed?
I've found contradicting information. Wikipedia says it got fixed with Ryzen 2000, other sources say Ryzen 3000..

Also an user in a Ryzen 3700 focused thread at Reddit said:
[..]
The only showstopper is if you want to run Windows 98 in a VM.
The VME bug has returned and causes crashes.
There's a workaround if you can get it installed, but you won't be able to install Win 98 in VMWare.
I have no idea if the latest AGESA has improved the situation.

AFAIK running a modern OS as a Virtual Machine is fine.
Source: https://www.reddit.com/r/Amd/comments/hgum4t/ … handle_virtual/

So how's the status? Became VME functional again?
Or is that same old "just disable that VME-capability bit in your VM software" workaround still needed?

The PDF that's linked to at Wikipedia is funny, too.
It says "no fix planned".

Attachments

  • vme_doc.jpg
    Filename
    vme_doc.jpg
    File size
    41.99 KiB
    Views
    3139 views
    File license
    Fair use/fair dealing exception

"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//

Reply 27 of 38, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

Still broke on 5950x. I'm hoping vmware will wake up and bring back dynrec due to the m1 cpu but I'm not holding my breath.

How To Ask Questions The Smart Way
Make your games work offline

Reply 28 of 38, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Thank you for the feedback! 👍
Maybe it gets better in the next generation (hopefully).

"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//

Reply 29 of 38, by Silanda

User metadata
Rank Member
Rank
Member
Jo22 wrote on 2021-05-26, 08:36:
Hi again! Is the VME bug finally fixed? I've found contradicting information. Wikipedia says it got fixed with Ryzen 2000, other […]
Show full quote

Hi again! Is the VME bug finally fixed?
I've found contradicting information. Wikipedia says it got fixed with Ryzen 2000, other sources say Ryzen 3000..

Also an user in a Ryzen 3700 focused thread at Reddit said:
[..]
The only showstopper is if you want to run Windows 98 in a VM.
The VME bug has returned and causes crashes.
There's a workaround if you can get it installed, but you won't be able to install Win 98 in VMWare.
I have no idea if the latest AGESA has improved the situation.

AFAIK running a modern OS as a Virtual Machine is fine.
Source: https://www.reddit.com/r/Amd/comments/hgum4t/ … handle_virtual/

So how's the status? Became VME functional again?
Or is that same old "just disable that VME-capability bit in your VM software" workaround still needed?

I thought that quote sounded familar; I'm that user. It's never been fixed on Zen 2, and Zen 3's affected as well? Sort it out AMD!

FWIW, Windows ME can be installed on VMWare Player while Win98 can't. It still has problems, but it handles crashes during installation more gracefully. IIRC it handles crashes more gracefully during operation too.

Reply 30 of 38, by 1541

User metadata
Rank Member
Rank
Member

You can install Win98 on VMware with a workaround (however not on the latest release of VMware), see Re: Windows 98 SE VM on a Ryzen 3000 not working

💾 Windows 9x resources (drivers, tools, NUSB,...) 💾

Reply 31 of 38, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie

Probably it wasn't related to VME at all for Win98 VM issues with hardware virtualization on Ryzen CPU. Other than Win98, WinME/2K/XP all run perfectly with hardware virtualization on Ryzen CPUs. From the symptom and error message from Win98 VM, it seems like DLL page mapping issues and that points to the Win98 TLB invalidation bug, which unfortunately is a flaw in Win98 MMU implementation that violates x86 CPU specification, specifically on AMD CPUs. The issue could have been amplified when CPUs go faster, bigger OOO ROB and loosen memory load/store order to achieve high performance computing.

Yes, Intel CPUs work great for Win98 VM with hardware virtualization ( ... however not for their own HAXM ... 🤣). It is a fact that Intel would manage x86 CPU quirks for legacy software much better than AMD. Intel was also traditionally more conservative with advanced CPU architecture compared to their x86 clone competitors simply because they had manufacturing prowess to achieve performance without advanced architecture.

Reply 32 of 38, by Kahenraz

User metadata
Rank l33t
Rank
l33t

I needed to compile some old code using WATCOM today and just discovered this bug affecting my Ryzen 1800X. It would seem that not even virtual machines are immune to this.

I've always used VMware for my hypervisor. Can anyone provide a reliable alternative for hosting older operating systems using exclusively software emulation? I really like the convenience of being able to drag and drop things into the VM using VMware Tools. Is there a solution that can provide at least some of these conveniences?

I only noticed this when trying to install Windows 98 but I suspect it would still be an issue for NT4 if I were to run a 16-bit protected mode application.

Reply 33 of 38, by 1541

User metadata
Rank Member
Rank
Member

You can circumvent this issue on a Ryzen 1xxx following this guide:
https://translate.google.com/translate?hl=&sl … nstallieren.htm

As alternative you can also use PCem or 86box.

💾 Windows 9x resources (drivers, tools, NUSB,...) 💾

Reply 34 of 38, by Jo22

User metadata
Rank l33t++
Rank
l33t++
1541 wrote on 2021-07-31, 16:12:

You can circumvent this issue on a Ryzen 1xxx following this guide:
https://translate.google.com/translate?hl=&sl … nstallieren.htm

As alternative you can also use PCem or 86box.

Thanks for the tip! So there's a recent workaround for Win98 SE, at least. That's good to know.

I haven't tested it yet, though I remember that HW-assisted virtualization caused stability issue with Win98SE+VPC2007.
In my case, I was using an AMD Athlon 64 x2 PC with AMD-V support on Windows 7 x64..

Anyway, I just remembered it. VMware is a totally different beast, so maybe it runs Win98 SE rock stable with AMD-V/Intel-VT.
Also, that FastDisk counterpart to Win9x seems to have been patched by the community.
That's nice to know, as well. It always makes me happy that people keep tinkering.

Even though the KernelEx project has currently come to a halt, for example, that doesn't stop individuals from posting some fixes or updates from time to time.
So even here, people are still showing their interest. Hopefully, XP gets a bit of that love, too, eventually. 😀

"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//

Reply 35 of 38, by Kahenraz

User metadata
Rank l33t
Rank
l33t

Your guide is very useful but I think I'll have to look at software virtualization only at this point. For example, even running WATCOM under Windows XP is producing a general protection fault and I can't know for sure if this is a result of the defective VME or a fault of the compiler. The only way to know for sure is for me to test on actual hardware or software virtualization that doesn't have these bugs.

I just tried VMware 16 using a laptop with an older AMD A10 processor using Windows 10 x64 as the host OS and Windows 98se guest with mixed results. There were a lot of errors but I managed to eventually make it to the desktop. The enormous number of errors I had to click through was worrisome and have opted to to try a Core 2 Duo laptop using Windows 7 x64 as the host OS with WMware 12 to see if it's any better.

This whole experience is very disappointing. So much for hardware accelerated virtualization.

Edit:

Confirming that I was able to install Windows 98se with VMware 12.5.9 on a Core 2 Duo with no errors whatsoever during installation. I did not use any workarounds. It just worked.

Reply 36 of 38, by kjliew

User metadata
Rank Oldbie
Rank
Oldbie
1541 wrote on 2021-07-31, 16:12:

You can circumvent this issue on a Ryzen 1xxx following this guide:
https://translate.google.com/translate?hl=&sl … nstallieren.htm

I don't use VMware, but I checked it out on QEMU WHPX/KVM on Windows 10/Linux. "Disable all 32-bit protected-mode disk drivers" was never a solution. A dude posted such myth on qemu-3dfx and it was shot down immediately to stop spread of misinformation.

Have you tried it out yourself that it was indeed the solution for VMware specifically?

Just use WinME on Ryzen if one needs Win9x compatibility. For non-games VM usage, just use Win2K/XP VMs, they run perfectly fine on any AMD Ryzen CPUs with AMD-V/Vi virtualization at near bare-metal performance on QEMU WHPX/KVM. I presume it would be just the same for VMware.

Win98 VM isn't entirely broken on AMD Ryzen CPUs. One would occasionally get "A [function] from [DLL] is missing" or "One of the library files cannot be found" message box. Just hit "OK" to ignore them. Some games still work and I had demo quite a number of games on QEMU with Win98 VM on Ryzen 2500U.

Reply 37 of 38, by Jo22

User metadata
Rank l33t++
Rank
l33t++

ESDI_506.PDR and NDIS.VXD had its problems, though. 🙁

https://www.os2museum.com/wp/those-win9x-cras … -fast-machines/

The problems were dependent on the processor, though.
If it performed certain instructions with too few cycles.

The clock rate itself didn't matter so much if I understand correctly.
A Pentium IV may have triggered it, but not, say, a later Core2Duo.

"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//

Reply 38 of 38, by 1541

User metadata
Rank Member
Rank
Member

"Disable all 32-bit protected-mode disk drivers" was never a solution.

Have you tried it out yourself that it was indeed the solution for VMware specifically?

Disabling 32 bit disc access is just used temporarily to finish the installation in VMware. After replacing the patched "ESDI_506.PDR" enabling the 32 bit access is possible without any issues.

This workaround does it's job quite well, as there was no real support/workaround in the official VMware forum:
https://communities.vmware.com/t5/VMware-Work … s/td-p/2283642/

💾 Windows 9x resources (drivers, tools, NUSB,...) 💾