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

stubynyc

macrumors newbie
Original poster
May 4, 2022
13
1
I'm a noob and have Monterey working great on my Mac Pro 2008 3,1 with Opencore. When I run Windows 10 via Parallels 17 it is pretty slow and it looks like my VT-X is not running.

I found this post on how to enable VT-X with rEFIt.

Is there a way to modify the Opencore EFI in a similar way to enable VT-X? As I'm not too familiar as to how this works and I don't want to mess up my current configuration.

If not, are there any other good solutions to getting Parallels to run quicker on 3,1? I also have a MacPro 5,1 set up similarly and Parallels runs fine on that machine.

Thanks!
 
Thanks Dayo, this will save me some unnecessary headache!

Any other suggestions to speed up Parallels? I had Windows running on this 3,1 machine with Dosdude's Catalina patcher and it seemed to run fine.
 
Sorry, I don't know much about Parallels.

For the benefit of anyone coming across this in future, the information in the link to setting VMX support using rEFIt is outdated (posted in 2006). On rEFit variants such as rEFInd and RefindPlus, you only need to enable the enable_and_lock_vmx option in the config file to activate this.

The enable_and_lock_vmx code from rEFInd has been ported to OpenCore and can be activated there by enabling the EnableVmx option in the OpenCore config file.

In both cases, OpenCore and rEFIt variants, this option should only be activated on Intel CPUs that support VMX.
 
Thanks Dayo for all your info. I'm a bit confused, however. I followed the instructions on this post to determine if my machine supports VT-X.

The output shows that my MacPro 3,1 does support it (highlighted in blue).
sysctl -a | grep machdep.cpu.features


Screen Shot 2022-05-04 at 1.59.18 PM.png


sysctl kern.hv_support results:

shows that the feature is turned off:
Screen Shot 2022-05-04 at 2.07.43 PM.png


Is this an inaccurate method of determining my CPU's capability? Is it worth trying the OpenCore activation?
 
Last edited:
Parallels stopped performing properly (Windows runs unbearably slow) on MacPro3,1 when Mojave 10.14.4 was released. Use Mojave 10.14.3 or get a new Intel Mac or PC.
 
The output shows that my MacPro 3,1 does support it
In addition to Joevt's post, I assume you ran your check while booted via OpenCore or a patched installation and you might be seeing spoofed output.

You will want to check CPU features only when booted natively.
 
In addition to Joevt's post, I assume you ran your check while booted via OpenCore or a patched installation and you might be seeing spoofed output.

You will want to check CPU features only when booted natively.
Ah, I see! Thanks so much for all this information. I guess it is asking too much from this old dog☹️
 
I had Windows running on this 3,1 machine with Dosdude's Catalina patcher and it seemed to run fine.
I am curious about this. You're saying Parallels performed well in Catalina? did you compare with High Sierra or Mojave 10.14.3 or earlier?
 
VMX/VT-X support is only available as from the Westmere CPU.
This precludes the MP31 (Penyryn), MP41 (Nehalem) as well as Nehalem CPU MP51 (some have this). When I run

My MacPro 4,1 was flashed to a 5,1 with OpenCore Monterey, Parallels 17 and Win10 & Metal which performs well.
When I run the command
sysctl kern.hv_support

It outputs:
kern.hv_support: 1.
Is that spoofed or the actual processor?

joevt
Yes, I believe I was using Parallels 10 with DosDude's Catalina on the 3,1 and I didn't compare it to the previous OSs. My VM worked very well for a while but messed it up with an improper shutdown. At that point I upgraded to OpenCore Monterey w/ Metal and had to switch to Parallels 17...then the slowdown.
 
Is that spoofed or the actual processor?
No idea. As said earlier, any information you get while running OpenCore MAY be spoofed.

I could be wrong and there might be MP41 versions with Westmere CPUs ... Didn't check
You could try this Applescript snippet from MyBootMgr to check yours ... Paste into 'Script Editor' and run:
AppleScript:
set IsWestmere to false
set ResultString to "Westmere CPU"
try
    set FeaturesCPU to do shell script ("sysctl -a | grep machdep.cpu.features")
    if FeaturesCPU contains "VMX" then
        set StrCPU to do shell script ("sysctl -a | grep machdep.cpu.brand_string")
        if StrCPU contains "E56" or StrCPU contains "L56" or StrCPU contains "X56" or StrCPU contains "W36" then
            set IsWestmere to true
        end if
    end if
on error
    set ResultString to "Completed"
end try
if IsWestmere is false then set ResultString to "*NOT*" & space & ResultString
display dialog ResultString buttons {"OK"} default button 1

OpenCore probably does not spoof the CPU brand string but then, it just as easily could do so.
Therefore best run it, as with any attempt to get real information about your unit, when booted natively into MacOS.
 
Last edited:
Dayo, thank you so much! I'll try to load an old system on it to see what the Applescript spits out.

There seems to multiple variables affecting my setup- Parallels version, OS upgrade, CPU. Was hoping enabling VT-X was the magic bullet.
 
You could try it on the OC instance and if it says it isn't a Westmere/Gulftown, then it definitely isn't since OC wouldn't spoof an older less capable CPU if doing any spoofing.
 
Screen Shot 2022-05-05 at 8.57.27 AM.png

Thank you!
 

Attachments

  • Screen Shot 2022-05-05 at 8.57.27 AM.png
    Screen Shot 2022-05-05 at 8.57.27 AM.png
    10.4 KB · Views: 115
I could be wrong and there might be MP41 versions with Westmere CPUs ... Didn't check
The Westmere Xeon family was launched by Intel back in January 7 2010, the first Macs to have one from the factory were the mid-2010 i27" Mac in May and some weeks later in July, the mid-2010 Mac Pro with the high end hexa-core models.

Apple continued to use Nehalem Xeons with several of the mid-2010s and some of the mid-2012s models, usually the entry level/cheaper ones.

Apple never used a Westmere with an early-2009 Mac Pro and the MP4,1 firmware does not even support one, you need to cross-flash to MP5,1 to install a Westmere Xeon in an early-2009 Mac Pro.
 
  • Like
Reactions: JedNZ and Dayo
Apple never used a Westmere with an early-2009 Mac Pro
Btw, on reconsidering things following the engagement on this thread, it just struck me that while I have been limiting MyBootMgr setting VMX support based on Westmere and advised the OP accordingly, Westmere CPUs did add Apple HyperVisor support but this is perhaps not the same thing as a CPU having VMX capability.

That is, older CPUs may indeed have VMX support but not Apple HyperVisor support. In this case, they might be able to have VMX enabled in OpenCore or rEFIt variants for Windows.

Any thoughts on this?





UPDATE: See https://forums.macrumors.com/posts/33655480
 
Last edited:
The Westmere Xeon family was launched by Intel back in January 7 2010, the first Macs to have one from the factory were the mid-2010 i27" Mac in May and some weeks later in July, the mid-2010 Mac Pro with the high end hexa-core models.

Apple continued to use Nehalem Xeons with several of the mid-2010s and some of the mid-2012s models, usually the entry level/cheaper ones.

Apple never used a Westmere with an early-2009 Mac Pro and the MP4,1 firmware does not even support one, you need to cross-flash to MP5,1 to install a Westmere Xeon in an early-2009 Mac Pro.
Oh man, I just remembered I did a Xeon 5650 upgrade when I first got the 4,1 and flashed it to 5,1. Totally forgot about that. Apologies, I'm sure that makes a big difference.
 
Btw, on reconsidering things following the engagement on this thread, it just struck me that while I have been limiting MyBootMgr setting VMX support based on Westmere and advised the OP accordingly, Westmere CPUs did add Apple HyperVisor support but this is perhaps not the same thing as a CPU having VMX capability.

That is, older CPUs may indeed have VMX support and just not Apple HyperVisor support. In this case, they might be able to have VMX enabled in OpenCore or rEFIt variants for Windows.

Any thoughts on this?
From memory, the Westmere added the VMX unrestricted support, with several changes related to memory support like huge pages, Apple Hypervisor and several other applications, like Docker, require it. The question is, enabling VMX with a CPU that doesn't have VMX unrestricted support will help anyone? Docker for example won't run with anything older than a Westmere Xeon.
 
  • Like
Reactions: Dayo
Did hardware passthrough for secondary video cards (ignored by the macOS host) ever end up happening, or is that just a no-way, no-how in macOS?
 
Did hardware passthrough for secondary video cards (ignored by the macOS host) ever end up happening, or is that just a no-way, no-how in macOS?
AFAIK, never worked with Apple Hypervisor, but works with other type 1 (or type 1 like) hypervisors - KVM works for this.

Proxmox seems to be the choice for this today with several people using it successfully with Mac Pros, there is a thread about it here.
 
  • Like
Reactions: mattspace
AFAIK, never worked with Apple Hypervisor, but works with other type 1 (or type 1 like) hypervisors - KVM works for this.

Proxmox seems to be the choice for this today with several people using it successfully with Mac Pros, there is a thread about it here.
I'm assuming these are things you install to the bare metal, rather than having macOS booting directly on the hardware?
 

After searching and tinkering a bit, this brought Parallels to a decent, usable state. I downgraded to Parallels 16 and set it up with the following configuration:

Processors used: 1
Memory 4 GB (4096 MB)
Adaptive hypervisor: Off
Graphics card: memory automatically.
 
I had stopped using Parallels for Windows VM on my MacPro3,1 because performance was terrible since Mojave 10.14.4. My Windows 7 VM had 4 CPUs.

I just tried using latest Parallels on MacPro3,1, Monterey 12.3.1. Using one CPU in the VM, 8 GB memory, 2 GB vram. It seems to have reasonable performance. I have 62 GB, so I'll try upping the RAM. It seems to work fine with 32 GB memory assigned as well. It seems to work slower with 2 CPUs but still usable. I then tried one CPU and Adaptive Hypervisor: On. That seems to work even better than one CPU without Adaptive Hypervisor.
4 CPUs is still unusable.
 
I had stopped using Parallels for Windows VM on my MacPro3,1 because performance was terrible since Mojave 10.14.4. My Windows 7 VM had 4 CPUs.

I just tried using latest Parallels on MacPro3,1, Monterey 12.3.1. Using one CPU in the VM, 8 GB memory, 2 GB vram. It seems to have reasonable performance. I have 62 GB, so I'll try upping the RAM. It seems to work fine with 32 GB memory assigned as well. It seems to work slower with 2 CPUs but still usable. I then tried one CPU and Adaptive Hypervisor: On. That seems to work even better than one CPU without Adaptive Hypervisor.
4 CPUs is still unusable.
Strange that the best performance is with 1 CPU, isn't it? I'm just glad it is working again. Which version of Parallels are you using?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.