Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

w4rm

macrumors regular
Original poster
Jun 6, 2014
102
107
Hey,
Does anyone know if it's possible to virtualize or emulate Mojave on an M1?

I need to run a 32 bit app on my M1? I'm able to use Windows 10 in Parallel 17 to run this 32 app with my M1 but the app isn't compatible with my previous Mac settings so need the 32 bit Mac version.

I see some people running QEMU on M1 to run Leopard etc. successfully.

Any info on how to do this for Mojave?

Best
 
Assuming the app you wish to run is a 32 bit Windows app, you can try the latest version of CrossOver which is able to run Windows 32 bit apps in Big Sur. Depends on which app it is if it can be installed using CrossOver. CrossOver will run using Rosetta 2. CrossOver does have a trial version you can test with.
 
So the app I'm trying to run is a Mac app, it's a music VST so has a Windows and Mac version.

I successfully was able to load the windows 32 bit version but I need the Mac 32 bit version to restore my settings as it's not compatible with the windows version.

So need a way to emulate Sierra or Mojave on my M1.
 
It’s impossible to run Sierra or Mojave on an M1 Mac. There are no workarounds. The M1 can’t emulate or translate the Intel code in those operating systems. Only Big Sur can translate and run Intel based apps using its Rosetta 2 technology.
 
Yes, if you use QEMU, you should be able to run any x86-based OS, like Leopard, Mojave, or any other x86 MacOS release.

QEMU, while it can take advantage of CPU virtualization, can also just use the slow option: it can just simulate a CPU completely. This is also how you use it to simulate ARM processors while the host is x86.

One problem folks have understanding how all these different things work, I think, is a vocabulary one — the kind of multiprocessor fat binaries, like Rosetta uses, is a completely different technology than a VM using CPU virtualization features, like VMWare or VirtualBox use, or a VM which can simulate the entire computer hardware stack in software, which is what QEMU generally does.

HOWEVER, you need to make sure that QEMU has the right hardware configured in it to support a macOS guest — apple generally doesn’t like people running virtualized OS X much. You may need to treat your QEMU configuration and your OS X install into it like a Hackintosh to get it to work.
 
Examples of using QEMU to run OS X as a guest OS:




That last one explains:
“If your host's (your computer) architecture matches the guest's (QEMU) architecture and is running Mac OS 10.10 or higher, then you could speed up execution to near native speed using this option: -accel hvf”

That ‘hvf’ is using the CPU virtualization implementation to get more speed. If you don’t use that, you are just emulating the whole CPU (and the rest of the hardware) in software.
 
  • Like
Reactions: sd70mac
I don't know the specifics of running it, but Leopard can run on the old RISC Macs. Presumably it works because of that.
Macs have had four different processor families. Three of them are technically RISC (M68000, PowerPC, ARM M1), one is technically CISC (x86). All four of these used completely different instruction sets — having a PowerPC binary doesn’t let you run it on ARM any better than running X86, unless you use an emulator like QEMU to completely implement the CPU in software.
 
  • Like
Reactions: sd70mac
Macs have had four different processor families. Three of them are technically RISC (M68000, PowerPC, ARM M1), one is technically CISC (x86). All four of these used completely different instruction sets — having a PowerPC binary doesn’t let you run it on ARM any better than running X86, unless you use an emulator like QEMU to completely implement the CPU in software.
Sorry to well-actually you, and it's a side topic, but 68000 is not a RISC, it's very much a CISC.
 
Examples of using QEMU to run OS X as a guest OS:




That last one explains:
“If your host's (your computer) architecture matches the guest's (QEMU) architecture and is running Mac OS 10.10 or higher, then you could speed up execution to near native speed using this option: -accel hvf”

That ‘hvf’ is using the CPU virtualization implementation to get more speed. If you don’t use that, you are just emulating the whole CPU (and the rest of the hardware) in software.
Thanks for this! Seems a little complicated for me though, but will try to see what I can do with QEMU.

I saw that Monterey allows MacOS virtualization as they opened up some API's for this in Monterey, will this mean in Monterey it will be possible to emulate Mojave without going through a bunch of hoops with QEMU?

 
  • Like
Reactions: sd70mac
Yes, if you use QEMU, you should be able to run any x86-based OS, like Leopard, Mojave, or any other x86 MacOS release.

QEMU, while it can take advantage of CPU virtualization, can also just use the slow option: it can just simulate a CPU completely. This is also how you use it to simulate ARM processors while the host is x86.

One problem folks have understanding how all these different things work, I think, is a vocabulary one — the kind of multiprocessor fat binaries, like Rosetta uses, is a completely different technology than a VM using CPU virtualization features, like VMWare or VirtualBox use, or a VM which can simulate the entire computer hardware stack in software, which is what QEMU generally does.

HOWEVER, you need to make sure that QEMU has the right hardware configured in it to support a macOS guest — apple generally doesn’t like people running virtualized OS X much. You may need to treat your QEMU configuration and your OS X install into it like a Hackintosh to get it to work.

People often like to say open source is used in these products "in part" to bridge the gap. Maybe that is true for VMWare Tools, but that's about it.
 
Thanks for this! Seems a little complicated for me though, but will try to see what I can do with QEMU.

I saw that Monterey allows MacOS virtualization as they opened up some API's for this in Monterey, will this mean in Monterey it will be possible to emulate Mojave without going through a bunch of hoops with QEMU?

The chance is more like people can virtualise Monterey to run Rosetta 2 that later macOS will not support after a few years, not to allow older macOS (Mojave, High Sierra or even Big Sur) to be virtualised (legally). You still need QEMU to emulate x86 CPU and run Mojave off of it. No change there.

Oh, if your workflow is heavily dependent on 32-bit apps, use High Sierra. Mojave is a mere stopgap as features are being removed from it, not to mention all of those nagging windows. High Sierra is the last macOS that can run 32-bit apps without compromises, not Mojave.

You may also consider M2/M1X and later Mac for better software emulation performance if possible. Sheer raw power sometimes can overcome hardware limitations, just like Hackintosh PC needs to be beefy enough to run macOS decently without tons of lags etc.
 
  • Like
Reactions: w4rm
Hey,
Does anyone know if it's possible to virtualize or emulate Mojave on an M1?

I need to run a 32 bit app on my M1? I'm able to use Windows 10 in Parallel 17 to run this 32 app with my M1 but the app isn't compatible with my previous Mac settings so need the 32 bit Mac version.

I see some people running QEMU on M1 to run Leopard etc. successfully.

Any info on how to do this for Mojave?

Best
Someone was successful in running Catalina on M1 using QEmu. A similar approach should be workable with Mojave as well.
 
  • Like
Reactions: sd70mac and w4rm
Thanks for this! Seems a little complicated for me though, but will try to see what I can do with QEMU.

I saw that Monterey allows MacOS virtualization as they opened up some API's for this in Monterey, will this mean in Monterey it will be possible to emulate Mojave without going through a bunch of hoops with QEMU?

Unfortunately not. Both the host and guest need to be Monterey. Over time you’ll be able to keep using Monterey guests on newer versions of MacOS but right now it is all Monterey.
 
  • Like
Reactions: w4rm
The chance is more like people can virtualise Monterey to run Rosetta 2 that later macOS will not support after a few years, not to allow older macOS (Mojave, High Sierra or even Big Sur) to be virtualised (legally). You still need QEMU to emulate x86 CPU and run Mojave off of it. No change there.

Oh, if your workflow is heavily dependent on 32-bit apps, use High Sierra. Mojave is a mere stopgap as features are being removed from it, not to mention all of those nagging windows. High Sierra is the last macOS that can run 32-bit apps without compromises, not Mojave.

You may also consider M2/M1X and later Mac for better software emulation performance if possible. Sheer raw power sometimes can overcome hardware limitations, just like Hackintosh PC needs to be beefy enough to run macOS decently without tons of lags etc.
Amazing thanks for the tips!

Do you think VMware or Parallels will ever support x86 emulation for older macOS versions?
 
Amazing thanks for the tips!

Do you think VMware or Parallels will ever support x86 emulation for older macOS versions?
No. I personally don’t see Parallel or VMware having enough incentive to invest into emulating other architectures. QEMU kind of takes the space of that world for a long time.
 
  • Like
Reactions: adib
Awesome will try this out and let ya'll know if it works.
I think you are going to be dissatisfied. To quote from the blog post:
The OS is unusable to say the least, and unfortunately won’t get much better even with tinkering.
Also from the blog for example:
The boot process is slow however, and I mean very slow. But after 17min(Reduced to 8min with Force Multicore) we finally reach macOS’s recovery screen!
 
I think you are going to be dissatisfied. To quote from the blog post:

Also from the blog for example:
Windows boots faster, and is actually almost usable if you're patient. Networking is better than before too, it actually works. My M1MBA runs really hot with it too.

Can't activate Windows 7 and Windows 10 is a lot slower.

It can't survive your host going to sleep though.


That shows me they are working on it at least.
 
  • Like
Reactions: sd70mac
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.