Virtualization on M1 ChipSet with Parallels

Fresh out of the press, I just got a notification from Parallels. Good to see that there is progress, but as some of us assumed (including myself) there is still a lot to do, we are not even yet talking about x86-Windows …

Welcome to the Parallels Desktop 16 for M1 Mac Technical Preview

The Parallels® Team continues to deliver cutting-edge innovations in computing technologies, and we are proud to show you a first preview version. Here at Parallels, we always want to make the product best fit your needs, saving you time and money. That’s why we would greatly appreciate it if you could send us detailed feedback, but before you start, please carefully read this page.

Meet the new Parallels Desktop

To run a virtual machine on a new Mac computer with the Apple M1 chip, the Parallels Engineering team created a new virtualization engine that uses the Apple M1 chip hardware-assisted virtualization and can run ARM-based OS in a virtual machine. Due to the significant difference between Intel x86 and ARM architectures, it’s not possible to either run existing virtual machines created on Mac computers with Intel processors or to create a new virtual machine with Intel x86 based OS.

Many Parallels® Desktop features depend on a virtualization engine and guest OS architecture and must be developed nearly from scratch for the Apple M1 chip: starting from running an OS itself, graphics, the ability to suspend/resume a virtual machine, seamless integration, Coherence mode, Shared Folders, and many more. While our team continues to work hard on bringing all of the best Parallels Desktop features to Mac computers with Apple M1 chip, we are proud to share the results we achieved with this significant milestone.

Step 1: Check what you need.

To install the Parallels Desktop 16 for M1 Mac Technical Preview, you need:

  • A Mac computer with an Apple M1 chip.
  • An ARM-based operating system installation image (VHDX or ISO).

Note: This Technical Preview is limited to Mac computers with Apple M1 chip and will not install on Mac computers with Intel processors.

Step 2: Review Limitations.

As this is a new virtualization engine, there are both some fundamental technical limitations related to the Intel x86 platform, and some temporary limitations due to a work-in-progress product state. Please note well key limitations of this version below:

  • It is not possible to install or start an Intel x86 based operating system in a virtual machine.
  • It is not possible to suspend and resume a virtual machine, including reverting to a “running state” snapshot.
  • It is not possible to use the close button when a virtual machine is running; Shutdown virtual machine instead.
  • ARM32 applications do not work in a virtual machine.

Note: Please keep in mind that this is not a final product and should not be used in a business-critical environment.

Cutting the whole message off here, as the rest includes license data etc.

1 Like

@Paul_Lefebvre There is hope: https://www.xda-developers.com/microsoft-building-arm-based-chips-for-surface-pcs/

If MS moves (at least partially) to ARM, there will be an ARM-based Windows and consequently a few less challenges for the virtualization companies.

There already is an ARM-based Windows 10. I’ve been running it in Parallels on my M1 Mac Mini for a while now. Works well, but I have to throw 3 CPU Cores and 8GB of RAM (and it fills up my swap) at it for what I do. This version of Windows emulates x86 apps.

The only hiccup I have now is that if I use the Parallels mouse driver, then I get some funky issues in some apps. Resolved by uninstalling that driver and selecting the Windows HID-Compliant driver.

You can join the Windows Insider Program and grab your own VHDX of Windows 10 ARM here.

3 Likes

Cool, thank you for the link. Last time I digged into ARM-based Windows 10, apps were reduced to those approved by MS in their App Store, which was basically ridiculous. Does this mean, that you can emulate all x86 apps? How well does this work, in regards to the big apps like Photoshop etc.

I’ve not tried anything like Photoshop, but others have done benchmarks and you can find those via Google. I’ve done a bit of remote debugging, installed and played some older DirectX games, used some .NET apps that I have to fire up every once in a while, and a few other things.

It emulates both 32- and 64-bit apps.

To be clear, Windows ARM is fairly mature as they’ve been running it on ARM Surface devices and the like for a while now.

3 Likes

I actually talked about this quite a bit at the last Xojo Hangout, and have been tweeting my progress at getting Windows 10 ARM running on my M1. I even posted a comparison of the issues I had with different methods in another thread on these forums.

Here’s the post where I compared methods.

1 Like

yeah, I read that post and concluded that I will wait before trying myself :-), I think we need a few more iterations from Parallels to see something usefull …

Yeah it is, I had one for the first ARM Surfaces, good device but at least at that time no emulation and limited to MS apps mainly. Especially for their Surface they will move to ARM, Apple’s competition would else just be too large in regards of watt / per CPU usage, need for fans, performance …

I disagree. It’s been really stable for me with Time Sync disabled and swapping out the mouse driver. I’m very impressed with it.

Me too, meaning that you are seeing good progress, but I understood your post that max resolution is still limited. I’m not complaining but that’s not yet the status of what I need. But at least there is hope, they will get it done one day. I’m seriously only still using my mbp16 sometimes for the screen size and Windows10.

Nope. No limit on resolution with Parallels. Re-read the post. I added an edit two days ago with the fix.

1 Like

Ahh, sorry - I missed that one. Funny that TimeSync has such an influence, good catch! And thank you for spoiling my Sunday, I know what I will play with in and for a few hours :slight_smile: .

1 Like

For those interested, a Windows 10 Pro license key does activate Windows 10 ARM.

5 Likes

Parallels is one of the most important apps in my current setup because I do a lot of development for Windows PCs and servers. When Apple used PowerPC chips, it was more practical to buy a cheap Windows computer, connect it to the local network and use a virtual desktop setup. When they moved to Intel, virtualization software made Windows run very fast, so it was the best solution. With Apple Silicon, we may have to move back to virtual desktops, with the added benefit of broadband being much faster than 15 years ago & remote servers like Amazon EC2 ubiquitous.

So how much does 32/64 bit emulation on an ARM Windows running in Parallels differ from an actual Intel Windows machine? How much can we rely on this as a testing environment given the majority of our customers are running Intel Windows?

We just don’t know yet. You can install a test build of Windows ARM in the parallels beta for M1. It will all depend on the final version of Windows ARM and Parallels and Xojo being able to compile for ARM Windows, or the capabilities of Windows ARM emulating x86.

I’ve been running it with a number of applications from old games to modern applications and have had few, if any, issues with the latest versions of Paralells and Win10ARM.

That said, I wouldn’t use it as a testing environment. You may run in to issues there that you wouldn’t in other environments and vice-versa.

I did notice some issues with one of my Xojo-built apps, but it’s not mission critical and haven’t tracked it down yet.

2 Likes

I agree, this will be indeed (even though not critical) nasty to get debugged. Is it a Xojo issue, a Windows ARM emulation issue, a Parallels virtualization issue, a macOS issue, an Apple Silicon issue … I’m playing around with it too, but I just won’t (yet) use it as a valid testing environment.

1 Like

Yes… I develop applications for PC on Mac but as a valid testing environment I have always been using a real PC computer with Windows.

1 Like

I remote debug to an Intel box that runs Windows 10, and use VMs for older versions. The issues I was seeing were with Direct2D, and I think they’ll be easily sorted by Xojo once I get around to replicating and reporting them. It’s likely the Parallels display driver, but it’s still something I believe they could fix.

1 Like
Forum for Xojo Programming Language and IDE. Copyright © 2021 Xojo, Inc.