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

tsialex

Contributor
Jun 13, 2016
13,454
13,601
Can we update to fusion 12 in Catalina then?
Should work, but I didn't test it since I'm not going to pay $99 for the Fusion 12 Pro upgrade to be limited to Catalina right now.

Take a look at the Player version or test the full one with the 30-day trial before spending $99.
 

0488568

Cancelled
Feb 17, 2008
406
107
Should work, but I didn't test it since I'm not going to pay the Fusion 12 Pro upgrade to be limited to Catalina right now.

Take a look at the Player version or test the full one with the 30-day trial.

Yeah I don't think too many of us pay for it. ?
 

shadow_999

macrumors member
Feb 1, 2020
49
43
Fusion 12.1 has the same issue.

It's not about the hypervisor itself, Paralles is also using the Apple one and doesn't face the same issue. The XSAVE seems to be used by vmware for some reason parallels doesn't need.

Here the view of the settings of one of my running VM on big sur.


Screenshot 2020-11-22 at 14.28.jpg
 

startergo

macrumors 603
Sep 20, 2018
5,020
2,282
Yes parallels has both Apple and Parallels (kext version) hypervisor options. Both of them work in BigSur. So it is some requirement of VMware in BigSur.
 

feinberj

macrumors newbie
Apr 28, 2008
28
7
Montclair, NJ
I tried both the AAAAAAAAAAAAAAAMAAAAAA== and the AAAAAAAAAAAAAAAEAAAAAA== entries for Cpuid1Data and Cpuid1Mask, then I tried running VMware Fusion 12.1 with a Win10 virtual machine. I am indeed still getting the error "The processor does not support XSAVE". I am willing to try any other Cpuid1Data and Cpuid1Mask that people can suggest, although after reading through this post it seems unlikely that it will help. I am disappointed that I won't be able to use VMware Fusion 12 in Big Sur on my cMP, as it enables me to use my 2010 Mac Pro for my professional work instead of a plain windows machine. I suppose I'll migrate from Mojave to Catalina instead of Big Sur, and once I get close to Catalina's end-of-life I'll have to start using Parallels. The Parallels licensing model is quite onerous and inflexible, and I am not looking forward to needing to use Parallels for this reason. I have been gladly paying for the VMware Fusion Pro license upgrades over the years, and I really like that they let me use it on a couple of machines. I have 3 Mac Pros, one for production and the other 2 for learning new things (like OpenCore) and testing new software versions. When I installed Big Sur on my testbed Mac Pro, all I needed to do was install VMware Fusion 12 and it ran without complaint. But if I wanted to install Parallels on that machine, I am pretty sure it would demand that I get a 2nd license.
 

Attachments

  • VMware fusion 12 xsave error with Big Sur splash screen.png
    VMware fusion 12 xsave error with Big Sur splash screen.png
    126.7 KB · Views: 215

khronokernel

macrumors 6502
Sep 30, 2020
278
1,425
Alberta, Canada
So had some free time today and someone on the OpenCore Legacy patcher discord mentioned VMware Fusion 12 has an XSAVE check. I was curious about this so researched further. The check for XSAVE is present in 3 binaries:
  • vmware-vmx
  • vmware-vmx-debug
  • vmware-vmx-stats
All 3 binaries are pretty similar and are called depending on whether VMWare is launched in debug mode, etc. However for my testing, patching vmware-vmx was enough

The exact check for XSAVE is in a larger function that checks for other important CPU features such as SSE2, NX,XD, TSC, etc. The specific code block we care about is here:

1637020153607.png

I wrote a patch for my FeatureUnlock kernel extension to run and was able to bypass this allowing vmware-vmx succeed on CPU feature checks:

C++:
static const uint8_t kXsaveOriginal[] = {
    0x48, 0x8B, 0x05, 0x29, 0xE7, 0xE8, 0x00, // mov        rax, qword [qword_1012c1b18]
    0xF6, 0x40, 0x43, 0x08,                   // test       byte [rax+0x43], 0x8
    0x75                                      // jne short
};
static const uint8_t kXsavePatched[] = {
    0x48, 0x8B, 0x05, 0x29, 0xE7, 0xE8, 0x00, // mov        rax, qword [qword_1012c1b18]
    0xF6, 0x40, 0x43, 0x08,                   // test       byte [rax+0x43], 0x8
    0xEB                                      // jmp short
};

However after Fusion does the CPU checks, I unfortunately error out on Transport (VMDB) error -14: Pipe connection has been broken:

  • Host was a Westmere-based MacPro5,1 running macOS Monterey (12.1 Beta 1 21C5021h), had an RX470 installed

1637020556522.png


Logs were unfortunately bare:

Code:
2021-11-15T16:19:13.472| ServiceImpl_Daemon: PID 687
2021-11-15T16:19:13.473| ServiceImplRef: Before start().
2021-11-15T16:19:17.870| ServiceImplRef: After start().

If anyone wants to try the patch set themselves, I've attached both a modded FeatureUnlock.kext as well as a .patch file (git diff) for those wanting to play around:
I might take another crack at it to better understand why the pipe error happens, though my main goal for today's project was to bypass the XSAVE issue and I *technically* succeeded ;p
 

Attachments

  • Screen Shot 2021-11-15 at 4.55.08 PM.png
    Screen Shot 2021-11-15 at 4.55.08 PM.png
    118 KB · Views: 118
Last edited:

KvR

macrumors member
Jan 11, 2017
58
48
Amsterdam
If anyone wants to try the patch set themselves, I've attached both a modded FeatureUnlock.kext as well as a .patch file (git diff) for those wanting to play around:
I might take another crack at it to better understand why the pipe error happens, though my main goal for today's project was to bypass the XSAVE issue and I *technically* succeeded ;p
I added your kext to /Volumes/EFI/EFI/OC/Kexts and my config.plist includes the -allow_xsave:
XML:
                        <key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key>
                        <dict>
                                <key>boot-args</key>
                                <string>keepsyms=1 debug=0x100 -allow_xsave -wegtree agdpmod=vit9696 -allow_assetcache</string>
                                <key>csr-active-config</key>
                                <data>
                                AwoAAA==
                                </data>
                        </dict>
I still get the XSAVE error in VMware Fusion. I'm running VMware Fusion Professional Version 12.2.1 (18811640).
Any hints on what I'm missing?
 

startergo

macrumors 603
Sep 20, 2018
5,020
2,282
I added your kext to /Volumes/EFI/EFI/OC/Kexts and my config.plist includes the -allow_xsave:
XML:
                        <key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key>
                        <dict>
                                <key>boot-args</key>
                                <string>keepsyms=1 debug=0x100 -allow_xsave -wegtree agdpmod=vit9696 -allow_assetcache</string>
                                <key>csr-active-config</key>
                                <data>
                                AwoAAA==
                                </data>
                        </dict>
I still get the XSAVE error in VMware Fusion. I'm running VMware Fusion Professional Version 12.2.1 (18811640).
Any hints on what I'm missing?
Did you also add the FeatureUnlock in the config.plist to load?
 

KvR

macrumors member
Jan 11, 2017
58
48
Amsterdam
Did you also add the FeatureUnlock in the config.plist to load?
Yup:


XML:
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>FeatureUnlock.kext</string>
<key>Comment</key>
<string>FeatureUnlock</string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/FeatureUnlock</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>16.0.0</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
 

feinberj

macrumors newbie
Apr 28, 2008
28
7
Montclair, NJ
An update on this... Syncretic is working on implementing the AVX/AVX2 instruction for our 5,1 machines, and that includes the XSAVE instruction. If he succeeds, then we may be in business with Fusion 12 on our machines! See his post here: https://forums.macrumors.com/thread...failures.2283830/?post=30798895#post-30798895

In the thread linked above I asked if he might be able to support XSAVE, and he said that AVX/AVX2 implementation would include XSAVE.
 
  • Like
Reactions: f329

riven2000

macrumors member
Apr 20, 2012
93
6
Looks like it's been a while, so I was wondering where this fix is at this point? I just ran into the XSAVE error in Big Sur on my 5,1, in Fusion 12. Two questions: Does it look now like this can be overcome? And if not, does anyone know if Fusion 12 runs at the same or better speed in Catalina as in Big Sur?
 

sfalatko

macrumors 6502a
Sep 24, 2016
639
364
As far as I know it hasn't been solved yet. Syncretic is still working on it as part of a custom EFI ROM project.

Fusion 12.1 (no later) works in Catalina fine which is how I run it and it works fine.
 

Mac Hammer Fan

macrumors 65816
Jul 13, 2004
1,328
498
Parallels is not free, but it is much better than VMWare Fusion Pro. Even P19 runs fine under Monterey on my cMP 5,1.
 
  • Like
Reactions: haralds

feinberj

macrumors newbie
Apr 28, 2008
28
7
Montclair, NJ
Parallels is not free, but it is much better than VMWare Fusion Pro. Even P19 runs fine under Monterey on my cMP 5,1.
+1 on this. I'm using Parallels v19 on my 5,1 with some pretty hefty VMs and it works very well. The only thing I don't like is the onerous licensing model. It would be better if you could at least easily move the license from one machine to another (like Office 365 does) but no you have to call them if you want to do that. This makes it impractical to test parallels on multiple OS builds for the 5,1 to say the least.
 

haralds

macrumors 68030
Jan 3, 2014
2,990
1,252
Silicon Valley, CA
[...] It would be better if you could at least easily move the license from one machine to another (like Office 365 does) but no you have to call them if you want to do that. This makes it impractical to test parallels on multiple OS builds for the 5,1 to say the least.
You can manage the license on their dashboard. If I remember correctly, you can also enter a license already used and have the app disable the license in the other location.
Parallels is more expensive than VMware for sure, but the company is focused on macOS and maintained with frequent updates. They need to pay developers.
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.