utmapp / UTM

Virtual machines for iOS and macOS
https://getutm.app
Apache License 2.0
27.01k stars 1.34k forks source link

Automatically disable HVF when pc 1996 system is selected #2420

Closed conath closed 2 years ago

conath commented 3 years ago

Using the macOS Hypervisor causes the VM to see the host CPU instead of the QEMU emulated CPU.

When running older operating systems, this causes ACPI-related kernel exceptions (BSOD when running Windows). It is not transparent to the user when the HVF is active, and the Preference toggle to disable it is global instead of per VM.

This leads me to suggest that the hypervisor be automatically disabled when the VM uses the pc system, because we can assume the guest OS will be incompatible. From my experience, any 32-bit Windows older than 7 will not work with the Hypervisor.

(It’s worth noting that, at this point in time, for some reason 64-bit Windows guests also don’t work though this seems to be a HFV bug as technically it should work).

osy commented 3 years ago

There should be some sort of UI change for this because it'll be hard for the user to tell if it's using the hypervisor or not.

conath commented 3 years ago

That's true, and it's already not possible to tell from the UI if the Hypervisor is used. Currently one must check in the QEMU arguments to make sure.

conath commented 3 years ago

This could be implemented along with #2493

brunocastello commented 3 years ago

But surely Windows XP can benefit from HVF?!

conath commented 3 years ago

But surely Windows XP can benefit from HVF?!

Windows XP 64-bit crashes when installing with HVF. While 32-bit XP works fine, you have to choose the version 2.9 system.

brunocastello commented 3 years ago

I have mixed reports of HVF working and not working with Windows 98? One of these reports must be lying then. I tried it and, while I can reach the login screen, the machine crashes as soon as it gets there. Meanwhile, I can get away with HVF on Windows XP SP3 Professional 32 bit.

conath commented 3 years ago

I agree. Win98 is unstable using hvf