9

I plan to buy an M1 macOS computer.

I do not know what to choose between M1, M1 Pro, and M1 Max.

I need to run an x86 64-bit Windows. This is not for gaming or graphics purposes.

I know M1 Max contains a great GPU, but I do not need a great GPU.

Is there a value add for me to buy an M1 Max or M1 Pro for QEMU x86 emulation? I have read M1 Max has a double bus for memory, but I do not understand if this bus is for GPU or RAM memory access.

0

4 Answers 4

10

None of the M1 / M2 are suitable for hardware based emulation of X86 workloads. You will want an Intel Mac if performance emulating X86 well enough to run windows (or macOS) virtually is your deciding factor.

That won’t stop people from trying, though.

All cores on the M1/M2 family share memory so GPU and CPU don’t have to shuffle data to different memory banks across an interconnect. This removes some bottlenecks on other architectures and also drives some of the massive power savings Apple Silicon has realized. The efficiency of these chips and the software emulation Apple has done with Rosetta 2 (so x86_64 codeset only) in software indicates all M series are quite powerful enough to do software emulation - so you're stuck guessing how efficient your chosen / anticipated software program will be if or when someone releases a purely software emulation tool faithful enough for running Windows x86 and apps on Apple Silicon.

Go for the Pro or Max if you decide you may not need full x86 64-bit Windows or want to attempt running alpha / development versions of attempts to get non-Arm windows running. Assuming someone ships a polished/optimized emulator - the basic chip is going to be powerful enough if you'd be OK running windows on same number of CPU / equivalent GPU as the M1 or M2 alone. I base this opinion on the performance of other commercial hypervisors on a 8 GB / lowest core count M1 Mac mini that's been delightfully capable despite the Max and Pro having double or triple the capabilities and extra custom silicon for other neural engine type tasks.

4

There is no native support for running i386 apps on M1 or any version of macOS >= 10.15.

Rosetta 2 is only a translation layer that makes x86_64 code (not 32 bit, 64 bit only) runnable on ARM.

However, 32 bit WINE can run on macOS with Apple Silicon. CodeWeavers, the developer of Crossover, a tool that allows Windows apps to run on macOS/Linux, has made 32 bit WINE available on macOS.

CodeWeavers has made 32 bit Wine available on macOS however, and have made an open source release of the technology as well.

Using the brew package manager, you can follow Gcenx's guide on how to install CodeWeaver's wine-crossover package, as well as other tools that aid with using WINE on macOS like Wineskin. It is available: https://github.com/Gcenx/homebrew-wine

Alternatively, you can purchase CrossOver for Mac, which is CodeWeaver's main WINE product at: https://www.codeweavers.com/crossover#mac. It's a packaged version of WINE, offering features like pre-packaged installers for Windows apps that you'd normally handle with Winetricks and other tools.

1
  • 1
    This could be a very productive path depending on the app in question. Excellent addition for people to consider.
    – bmike
    Sep 13, 2022 at 7:40
1

Another way of running Windows application is to use Microsoft Windows 11 running on ARM. Windows for ARM can run some Intel Windows apps as MS provides something similar to Rosetta 2.

MS and others have rewritten some software to run under ARM so some software will run at full speed and not run via emulation.

Officially the Windows 11 licence does not allow running under a Virtual Machine but Parallels, VMWare Fusion and UTM all have instructions to run Windows 11

UTM containes an emulator so can run OSs that have a different CPU to the host; so can run Intel Windows - However this will not have high performance as it has to emulate all the code whilst Rosetta, MS Windows and wine all convert system calls to native code.

1
  • Very good options - thanks for filling in some gaps here with specifics.
    – bmike
    Sep 19, 2023 at 13:03
-3

you can run ms windows x86 64 on Mac Silicon using Virtual Box as rosetta will kick in to translate and VirtualBox has guest pass throughs for the graphics to the host OS graphics acceleration.

In short words no longer limited to arm editions of MS Windows...

UTM will not work as it does not have a guest additions for the pass through of graphics to the host OS.

My bias, I had to research this as I want my Mac Studio to build cross platform flutter apps so I do need to be able to run VMs for Linux and MS Windows with graphics acceleration pass through.

4
  • Do you have any supporting info that Rosetta will “kick in to translate?” I’m curious as to how VBox calls to VTx extensions on Intel processors get “translated”.
    – Allan
    Aug 3, 2023 at 12:41
  • Its in Apple's own docs concerning their new changes to their own hypervisor.
    – Fred Grott
    Aug 4, 2023 at 20:04
  • Apple's Hypervisor and Oracle's (VBox) are two very different things. Do you have a link to these docs?
    – Allan
    Aug 4, 2023 at 20:06
  • Rosetta is made to translate prebuilt executables in intel format, to arm code to allow it to run on Mx. This does not work for an entire OS. Sep 19, 2023 at 8:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .