Parallels Desktop for Mac computers with Apple silicon M4 chips

Hello!
The issue related to the inability to install/run Linux virtual machines on Apple silicon Macs with M4 chips has been addressed in Parallels Desktop 20.1.3. Please install this version to resolve the issue.

Great!
it works for me with ubuntu22/arm64 with 8 vCPUs on M4 max.
It also seem to run multi-cpu builds faster inside Parallels than in VMware Fusion or docker.app on same cpu/ram settings.
Well done Parallels!
 
It does not fix all problems! I have still trouble to install Java.

#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGILL (0x4) at pc=0x0000ffff73d40c5c, pid=90331, tid=90332
#
# JRE version: (21.0.5+11) (build )
# Java VM: OpenJDK 64-Bit Server VM (21.0.5+11-Debian-1, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# j java.lang.System.registerNatives()V+0 [email protected]
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
 
It does not fix all problems! I have still trouble to install Java.

#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGILL (0x4) at pc=0x0000ffff73d40c5c, pid=90331, tid=90332
#
# JRE version: (21.0.5+11) (build )
# Java VM: OpenJDK 64-Bit Server VM (21.0.5+11-Debian-1, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# j java.lang.System.registerNatives()V+0 [email protected]
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
same issue even with 1 CPU, have this same issue
 
It does not fix all problems! I have still trouble to install Java.

#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGILL (0x4) at pc=0x0000ffff73d40c5c, pid=90331, tid=90332
#
# JRE version: (21.0.5+11) (build )
# Java VM: OpenJDK 64-Bit Server VM (21.0.5+11-Debian-1, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# j java.lang.System.registerNatives()V+0 [email protected]
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

Do you have more info on how to reproduce it? Just an apt install? Which kernel version? Is it on Debian Bookworm? OpenJDK 17 seems to install fine for me, that's the latest I have by default in Debian.

And does it work on CPUs prior to M4?
 
@cmarinas
I installed the Kali Linux out of the box from Parallels. OpenJDK already installed and working. After that, doing an "sudo apt dist-upgrade" and during installation there are installation errors regarding to Java. After the upgrade, Java is not working. Also manually installing Java 21 SDK is not working and I am not able to install apps with packed Java like Jetbrains IntelliJ.
This all happens to M4 Max.
 
It does not fix all problems! I have still trouble to install Java.

#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGILL (0x4) at pc=0x0000ffff73d40c5c, pid=90331, tid=90332
#
# JRE version: (21.0.5+11) (build )
# Java VM: OpenJDK 64-Bit Server VM (21.0.5+11-Debian-1, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# j java.lang.System.registerNatives()V+0 [email protected]
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

I'm also running into this issue. Was trying to upgrade UniFi Network Application and it prefers 21 over 17.
 
After upgrading to the latest version, Ubuntu can run with multiple CPU cores. However, after installing Parallels Tools on Ubuntu 25.10, system applications such as Files and Settings experience issues with missing image elements and flickering in the interface. This problem did not occur before installing Parallels Tools, and everything works fine on Ubuntu 24.04.
 
It does not fix all problems! I have still trouble to install Java.

#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGILL (0x4) at pc=0x0000ffff73d40c5c, pid=90331, tid=90332
#
# JRE version: (21.0.5+11) (build )
# Java VM: OpenJDK 64-Bit Server VM (21.0.5+11-Debian-1, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-aarch64)
# Problematic frame:
# j java.lang.System.registerNatives()V+0 [email protected]
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again

Hello,
I had the same issue with macos 15.2, I rolled back to the 15.1 and no issue at all JDK working with multi CPU or mono CPU
 

Attachments

  • upload_2024-12-30_14-51-30.png
    upload_2024-12-30_14-51-30.png
    40.6 KB · Views: 7
So to the person that that has called me 'annoying' and other like us, it's not smart to pick fights with really angry people.

I just bought two copies of v19 several months ago that now don't work. I've been spending quite a lot on this app over the years, but now it seems they have actually made it impossible to continue. Kudos.
 
It's great to see Parallels engaging with its user community to ensure top-notch quality. For users of Parallels Desktop on Macs with Apple M4 chips, here's my feedback:

  1. Performance: The M4 chip's power is impressive, and Parallels seems to harness it well. The VM performance feels snappy for most tasks, but sometimes resource-heavy applications can lag slightly. Optimizing for those edge cases would be excellent.

  2. Compatibility: It's exciting to see ARM-based VMs running smoothly. Continued support for a broader range of operating systems, especially in ARM architecture, would be a game-changer.

  3. Battery Life: Running a VM does impact battery life significantly. Any tweaks to improve efficiency here would be highly appreciated.

  4. Ease of Use: The UI is intuitive, but some advanced settings could be better explained for non-tech-savvy users. Perhaps a quick guide for optimizing VM settings on M4-powered Macs?
Thank you for the opportunity to provide feedback! Looking forward to even greater performance and features in future updates.
For more details please visite https://www.apple.com/mac/
 
I managed to reproduce the JDK problem - just download JDK 23 from Oracles's website, unpack the archive and run './bin/java'. It fails with SIGILL. Under gdb, it shows an INCB instruction. This is an SVE (scalable vector extensions) instruction. I think (not 100% sure since I upgraded macOS before trying) it only happens with macOS 15.2 and a new enough JDK that makes use of SVE instructions.

Comparing /proc/cpuinfo between M2 and M4, it shows a new SVE2 present as per the ID_AA64ZFR0_EL1.SVEver == 0b0001 id register field. So on M4, it looks like macOS 15.2 exposes this feature to guests. IIUC Apple hardware does not implement SVE/SVE2, only SME. ID_AA64PFR0_EL1.SVE == 0b0000 but Linux gets confused and still reports SVE2 to apps (HWCAP) from the ZFR0 register. JDK makes use of the INCB instruction, Linux traps it and since FEAT_SVE is not present, it issues a SIGILL.

I'd say that's a Linux bug, probably a side-effect of the architecture overriding the meaning of the SVEver field when SME was introduced.

We'll need to fix Linux but in the meantime, just pass "arm64.nosve" on the kernel command line. In Debian I think this goes into /etc/default/grub.
 
I managed to reproduce the JDK problem - just download JDK 23 from Oracles's website, unpack the archive and run './bin/java'. It fails with SIGILL. Under gdb, it shows an INCB instruction. This is an SVE (scalable vector extensions) instruction. I think (not 100% sure since I upgraded macOS before trying) it only happens with macOS 15.2 and a new enough JDK that makes use of SVE instructions.

Comparing /proc/cpuinfo between M2 and M4, it shows a new SVE2 present as per the ID_AA64ZFR0_EL1.SVEver == 0b0001 id register field. So on M4, it looks like macOS 15.2 exposes this feature to guests. IIUC Apple hardware does not implement SVE/SVE2, only SME. ID_AA64PFR0_EL1.SVE == 0b0000 but Linux gets confused and still reports SVE2 to apps (HWCAP) from the ZFR0 register. JDK makes use of the INCB instruction, Linux traps it and since FEAT_SVE is not present, it issues a SIGILL.

I'd say that's a Linux bug, probably a side-effect of the architecture overriding the meaning of the SVEver field when SME was introduced.

We'll need to fix Linux but in the meantime, just pass "arm64.nosve" on the kernel command line. In Debian I think this goes into /etc/default/grub.

Initial Linux fix (under review) here: https://lore.kernel.org/r/[email protected]
 
I perhaps first posted this (https://forum.parallels.com/threads...r-with-parallels-20-on-macbook-pro-m4.366259/) in the wrong forum.

But I've installed Parallels 20.1.3 (55743) on my Macbook Pro v4 running Sequoia 15.2. I have it running Windows 11 Home (10.0.26100 Build 26100). However, when I connect an iPhone 13 Pro (running iOS 18.2) to the USB-C port and add it as an external device to Windows 11, the iPhone is recognized with a "Trust this Device" challenge. But then the Apple Mobile Device USB Composite Device always gives me a "This device cannot start. (Code 10)" error and my iPhone isn't recognized in the Windows file system, through iTunes, through Apple Devices, through Apple Music, etc.

I've reinstalled Parallels, Parallels Tools, Windows 11 Home, iTunes (both the Microsoft Store version and the downloadable 64-bit desktop version 12.13.4.4), Windows USB drivers, tried every different USB-C port, tried different USB-C cables to no avail.

My hunch is that there is some driver incompatibility between the Windows 11 Home Apple/iPhone USB drivers and Parallels on a MacBook Pro M4 ARM architecture. The impact being that I am unable to connect my iPhone at all to Parallels-hosted Windows, which is a major limitation for me.

Anyone else face similar challanges or have suggestions?
 
@cmarinas
That was the solution, I forgot to execute this command. Thanks!
Now it is working, until the next macOS update will change some other crucial settings.
 
Trying to install Quickload software on new Mac Mini with M4, Sequoia 15.2, parallels 20.2, Windows 11 - getting checksum error on installation from CD ROM. Software installs and runs fine using previous parallels install 20.2 on mac mini with intel i7 chip and windows 11. Quickload Software developers give me the arms up in the air.
 
Back
Top