Run x86 (Intel) VMs on Apple M-series/M1 (ARM)

Discussion in 'Parallels Desktop for Mac Feature Suggestions' started by Macintosh Rescue, Dec 23, 2020.

?

If Parallels Desktop could emulate other CPU's, what would you likely do?

  1. run Windows 10 (x86) on an Apple Silicon equipped Mac.

    7 vote(s)
    70.0%
  2. run x86 only software on an Apple Silicon Mac with Linux or another guest type.

    6 vote(s)
    60.0%
  3. run mobile operating systems on any Mac.

    2 vote(s)
    20.0%
  4. Setup ARM virtual machines on an intel Mac

    1 vote(s)
    10.0%
  5. Develop for different hardware types.

    0 vote(s)
    0.0%
Multiple votes are allowed.
  1. Macintosh Rescue

    Macintosh Rescue Member

    Messages:
    55
    With Apple switching to their own ARM style systems Parallels Desktop stands to loose compatibility with most of the Supported Guest list, and some ARM compatible versions of the same system are lacking in the same level of software availability.

    I decided that I wanted to test an aarch64 Linux distribution to potentially replace one of my current intel virtual machines. I used Parallels Desktop to boot into another Linux desktop system to try using QEMU to test software compatibility in the aarch64 environment, to verify that the virtual machine would likely work on any future Mac I buy. I was successful using the nested VM and had a fully working ARM Linux distribution running on my current intel Mac, but sadly I discovered that some of the the packages I needed are not available in aarch64 . So my testing was successful and my conclusion is that I will need to emulate an intel CPU to keep some of my current virtual machines working when I get a new Mac sometime in the future, and that will be done with QEMU.

    There is an opportunity to include the open-source QEMU with Parallels Desktop to be used in conjunction with the current emulated peripheral hardware for example: Windows 10 x64 runs on the qemu64 CPU, but uses the Parallels Display adapter through Metal to provide full compatibility with Windows 32 and 64 bit CAD programmes and games. Also, users of the new Mac Pro can make aarch64 virtual machines in Parallels Desktop for deployment to the cloud.

    The approach of including a CPU emulator for use when the host hypervisor does not match a virtual machines architecture could make host CPU a non issue for developers, and Windows on Mac users.
     
    ylluminate, GonzaloO, JonG89 and 4 others like this.
  2. JonG89

    JonG89 Member

    Messages:
    43
    I'm still fighting through the painful process of trying to recreate all of my x86 VMs as ARM VMs. Trouble is, some of the critical Window software doesn't run properly in the x86 emulation engine within Windows 10 ARM. Certain drivers are broken, networking is glitchy, things just don't work right. Until the Windows world makes the switch to ARM (which I don't see happening anytime soon), Parallels has very little practical value on Apple Silicon unless it can emulate x86 hardware.
     
  3. KorkyPlunger

    KorkyPlunger Hunter

    Messages:
    130
    The only reason I use Parallels is to develop software on Windows, for Windows x86-64 applications. I have been using it successfully for 8 years now, but without x86 emulation on M1 I will finally need to switch to a windows machine and stop using Parallels, which is unfortunate because I prefer working on a Mac. Please consider implementing x86 emulation.
     
    JosepM4 and PascalS9 like this.
  4. JonG89

    JonG89 Member

    Messages:
    43
    I wish I could say that I've found a good solution for this, but there's just nothing reasonable out there. UTM (qemu frontend) has some promise, but the only x86 Windows image currently in their gallery is Windows XP, which is about as useful as MacOS 9.
     
    HenrikN likes this.
  5. JonG89

    JonG89 Member

    Messages:
    43
    (They also have an x86 Windows 7, but...still about as useful as MacOS 9.)
     
    HenrikN likes this.
  6. JonG89

    JonG89 Member

    Messages:
    43
    FWIW, I was able to use UTM's Windows 7 x64 image. Bump up the memory to at least 8GB, replace the 20GB virtual drive with something more reasonable (I went with 100GB), download the latest Windows 10 x64 installer ISO, and use that for the install. Once the VM is running, install spice-guest-tools. It's not blazing fast, and it's not as user-friendly as Parallels, but it runs.
     
  7. BojanA

    BojanA Junior Member

    Messages:
    10
    In cases which can't be covered by the x64 emulation by Windows ARM, running existing Windows 64 images is required. Same for Linux x64. It would be a Rosetta 2 inside Parallels Desktop. This would ease migrations to ARM CPUs (like M1) a lot.
     
  8. BojanA

    BojanA Junior Member

    Messages:
    10
    Microsoft promises that Windows 10+ for ARM will have x86 or x64 emulation, which can be run with PD.

    But who knows how mature that is. And complete reinstallation may be required. Just to remember: Macs were able to do the PowerPC-to-Intel switch automatically! Everything worked afterwards 1:1! I doubt that Microsoft can do that ... because it's Microsoft.

    OTOH writing an emulator for existing Windows VMs and allowing Macs to be virtualization host should be doable. An instruction set of a CPU is a limited thing. It doesn't have to be fast, even if that be done in the past with Java and Amiga 68k JIT compilers.
     
  9. ullo

    ullo Junior Member

    Messages:
    10
    Es ist möglich, dass das Spiel Counterstricke CSgo auf dem Mac läuft, warum nicht eine alte Struktur emulieren, damit die normale Windows-Version die ARM-Version nicht verwenden kann. Auf diese Weise könnten Sie Ihre alten virtuellen Maschinen weiter verwenden, was alles so viel einfacher machen würde.
    Ich überlege schon den M1 wieder zu verkaufen
     
  10. ADiogoAndre

    ADiogoAndre Bit poster

    Messages:
    4
    It would be great if parallels is able to emulate old x86 virtual machines. I hope they implement this feature soon.
     
  11. JonG89

    JonG89 Member

    Messages:
    43
    Win10 (now Win11) ARM does include a very good x86 emulator, but it doesn't extend all the way to the hardware, so things like an x86 driver for a specific USB device might not work at all. That's the primary issue I'm running into...the x86 software development app for my PLC runs just fine, but it can't upload the code to the PLC because the USB driver doesn't work. SolidWorks runs reasonably well, but some of its features don't work because they rely on x86 DLLs that don't work.

    At the end of the day, it's going to be up to the customers to drive the demand. Do we harass Microsoft to flesh out the x86 emulation in Windows ARM? Do we harass Parallels to create an emulation engine in addition to their excellent virtualization engine? Do we harass the various developers to release ARM versions of their apps and drivers?

    For now, maybe all three. Ultimately, though, unless Intel pulls off a technical coup in x86 hardware, ARM is the future. It's smaller, lighter, faster, cooler; all that and a bag of potato chips.
     
    agerbo60 and ADiogoAndre like this.
  12. feff

    feff Bit poster

    Messages:
    3
    In the process of running the arm version of linux using parallels, I found that the arm version of linux supports very little software, and it is not as easy to use as the amd version of linux. The software I often use can hardly be found in arm64 linux. So I especially hope that parallels can run amd64 linux
     
  13. BrandenS

    BrandenS Bit poster

    Messages:
    2
    I want it will emulate x86 so i can run Older version of Mac OS X like 10.11 or 10.12
     
    CUCraig and BernardH like this.
  14. Octo07

    Octo07 Junior Member

    Messages:
    17
    I have been a user of SoftPC and VirtualPC to Emulate dos and windows machine. yes, it was slower, but it was really helpful. When Apple switch to intel, I used the Speedy virtualization. Now on the M series, which can emulated or convert then run an intel app, faster than on intel itself, with Rosetta 2, I dont see why we could not get decent emulation again. I am really surprise that it is not here yet.
     
    JoelC9 likes this.
  15. GampaA@P

    GampaA@P Pro

    Messages:
    442
    Hello @OctoO7, pleased provide the screen shot of the error message you are getting while installing. Thanks, Parallels Team.
     
  16. JoelC9

    JoelC9 Bit poster

    Messages:
    2
    Same here, the driver scene is very bad. I have several peripherals that won't load or show up in parallels because (I'm assuming) drivers were built with x86 and arm does not support x86 driver emulation. That's probably your issue and unfortunately it won't ever be fixed because it would require the manufacturer to convert from source to arm. Its easy but will not happen.
     
  17. JonG89

    JonG89 Member

    Messages:
    43
    Unless Intel has a huge breakthrough that lets them fit x86 into mobile devices, ARM is going to dominate the desktop space just like it dominates the mobile device space.

    Apple is obviously making the switch. Microsoft is now officially supporting ARM processors with Windows 11, and the built-in x86 emulation keeps getting better. There's a reasonable chance that they'll be able to improve the HAL to the point that many (most?) x86 drivers will work. There's also a reasonable chance that manufacturers will either create ARM versions of their drivers or release an open source version of the code so others can do it, especially under pressure from customers.

    But, if you're dealing with legacy drivers that are no longer supported by the manufacturer for whatever reason, and the WinARM HAL doesn't end up supporting them...then, yeah, probably won't happen.
     
  18. JonG89

    JonG89 Member

    Messages:
    43
    In the meantime, UTM is a pretty good emulator -- really just a nice front-end for QEMU, the Swiss Army knife of virtualizers/emulators.
     
  19. HaochenX

    HaochenX Bit poster

    Messages:
    1
    Is supporting x86/x64 emulation an item on the roadmap for Parallels? I'm a software developer and have to use x64 linux/win. As others, right now the only option seems to be using qemu/utm. It would be really nice if Parallels could handle that as well
     
  20. Octo07

    Octo07 Junior Member

    Messages:
    17
    Even wine 7 use Rosetta2 to run Intel app now.
     

Share This Page