Jump to content
OSXDev

[Guide] Installing OS X 10.8-10.12 Under VMWare Workstation 8 / 9 / 10 / Player 6 with AMD host CPU

7 posts in this topic

Recommended Posts

While most of the VMWare guest hardware is virtualized, the guest VM CPU reflects the same CPU features the physical host CPU has.
This guide details the additional work that is needed to run OS X 10.8-10.12 with an AMD CPU under VMWare.

 

If your AMD CPU supports SSE3 and SSSE3 (and SSE4.1 for OS X 10.12):

The installation should be pretty simple:
1. Install VMWare Workstation 8.0.6 / 9.0.4 / 10.0.4 / Player 6.0.4.
2. Run VMWare Unlocker 1.3.0.
3. Prepare an installation ISO from the untouched 10.8 (Mountain Lion) DMG using dmg2img.
4. Create a new VM (select "Mac OS X 10.8" as the guest operating system).
5. Set your 'number of cores per processor' to 1 (the number of processors can be set to more than one).
6. A. For OS X 10.8-10.11:

Open the .vmx file of the virtual machine and add the following lines:

cpuid.0.eax="0000:0000:0000:0000:0000:0000:0000:1011"
cpuid.0.ebx="0111:0101:0110:1110:0110:0101:0100:0111"
cpuid.0.ecx="0110:1100:0110:0101:0111:0100:0110:1110"
cpuid.0.edx="0100:1001:0110:0101:0110:1110:0110:1001"
cpuid.1.eax="0000:0000:0000:0000:0000:0110:1111:0001"
cpuid.1.ebx="0000:0010:0000:0001:0000:1000:0000:0000"
cpuid.1.ecx="1000:0010:1001:1000:0010:0010:0000:0011"
cpuid.1.edx="0000:1111:1010:1011:1111:1011:1111:1111"

(this will identify the guest CPU as an Intel Core 2 Merom, and will help you avoid the 'The CPU has been disabled by the guest operating system. Power off or reset the virtual machine.' error)

 

6. B. For OS X 10.12 Sierra:

cpuid.0.eax="0000:0000:0000:0000:0000:0000:0000:1011"
cpuid.0.ebx="0111:0101:0110:1110:0110:0101:0100:0111"
cpuid.0.ecx="0110:1100:0110:0101:0111:0100:0110:1110"
cpuid.0.edx="0100:1001:0110:0101:0110:1110:0110:1001"
cpuid.1.eax="0000:0000:0000:0001:0000:0110:0111:0001"
cpuid.1.ebx="0000:0010:0000:0001:0000:1000:0000:0000"
cpuid.1.ecx="1000:0010:1001:1000:0010:0010:0000:0011"
cpuid.1.edx="0000:1111:1010:1011:1111:1011:1111:1111"

(this will identify the guest CPU as an Intel Core 2 Penryn which supports SSE4.1)

 

7. If your Hardware compatibibility is set to Workstation 9.0 (virtualHW.version = "9") or 10, you must also add the following line:
featureCompat.enable = "FALSE"

8. You can now boot from the ISO and proceed with the installation.

9. Even though I could complete the installation without a hitch with my A8-5600K, a few applications consistently crashed (e.g. Grapher), this was resolved by replacing the kernel with a modified kernel that emulates all missing SSE3 / SSSE3 instructions (see below).


If your AMD CPU does not support SSSE3:

You need to replace the kernel with one that has SSSE3 emulation (see below),
the easiest way to do it is to use another computer that has SSSE3 to create the virtual disk and replace the kernel.

1. After you have a working OS X machine, update to 10.8.5, make a copy of the virtual disk and attach it to the same VM.

2. Change the os settings to show hidden files (see here), and delete the hidden 'mach_kernel' from the root folder of the attached disk.
(alternatively, use the terminal to perform this, e.g. 'sudo chflags nohidden mach_kernel' or 'sudo rm mach_kernel')

3. Put the modified kernel (see below) instead of the one you just deleted (use the same file name).

4. Delete the old kernel cache by deleting the content of the '/System/Library/Caches/com.apple.kext.caches/' directory.

5. Optionally: hide back the kernel (with 'sudo chflags hidden mach_kernel').

6. Create a new VM, update the .vmx files to include the 8 cpuid.* lines from above.

7. You can now use the attached disk to boot OS X 10.8.5 from a VM hosted with an older AMD CPU that does not support SSSE3.

Tested With A8-5600K, A8-3850 and VMWare Workstation 8.0.6 / 9.0.4 / 10.0.4 / Player 6.0.4

Modified Kernel:
For your convenience, I have created a modified 10.8.5 kernel (a.k.a. xnu-2050.48.11) specifically to be used with VMWare, and attached it to this post.
The only modification to this kernel is that it includes OpEmu3, the SSE3 and SSSE3 emulator created by Sinetek and AnV (thanks guys!).
This emulator is only used when necessary (i.e. if your CPU support a specific instruction, the emulator will not be used to execute it).

The source code to OpEmu3 is available here and my adaptaion to 10.8.5 is available here.

10.8.5-OpEmu3.zip

Share this post


Link to post
Share on other sites
Advertisement

Attached OS X 10.11.2 (El Capitan) kernel binary (Including OpEmu3).

Starting from OS X 10.10, 'mach_kernel' has been renamed to 'kernel' and is located in '/System/Libary/Kernels'

 

Source code:

http://www113.zippyshare.com/v/RlmUsc3W/file.html

 

It seems the file isn't available anymore. I can't download it.

 

 

2. Change the os settings to show hidden files (see here), and delete the hidden 'mach_kernel' from the root folder of the attached disk.

(alternatively, use the terminal to perform this, e.g. 'sudo chflags nohidden mach_kernel' or 'sudo rm mach_kernel')

Share this post


Link to post
Share on other sites

Trying to run macOS 10.12 (Sierra) inside VMware Workstation Player 12 (patched), on Windows 10 Pro 64-bit on a laptop with AMD PRO A10-8700B R6. However, on starting the VM, I get the warning popup, which says:

 

"This virtual machine requires AVX2 but AVX is not present. This virtual machine cannot be powered on."

 

However, CPU-Z tells me that both AVX and AVX2 are supported by the above AMD processor. What gives ? How can one proceed to solve this issue ?

 

TIA,

f74

Share this post


Link to post
Share on other sites
On 5/7/2018 at 9:22 PM, falcon74 said:

Trying to run macOS 10.12 (Sierra) inside VMware Workstation Player 12 (patched), on Windows 10 Pro 64-bit on a laptop with AMD PRO A10-8700B R6. However, on starting the VM, I get the warning popup, which says:

 

"This virtual machine requires AVX2 but AVX is not present. This virtual machine cannot be powered on."

 

However, CPU-Z tells me that both AVX and AVX2 are supported by the above AMD processor. What gives ? How can one proceed to solve this issue ?

 

TIA,

f74

falcon74,

 

Vanilla OS X / macOS does not support AMD processors, so to progress you will have to install a modified kernel that supports AMD processors. The CPUID masking technique was tried by Donk, but could not get a consistently working OS X VM. SO I think a modified kernel is the best solution.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By MSoK
      This is the current version of VMware Tools for OS X / macOS from the VMware CDS repository for Fusion 11.0.3
       
      Please note: In the latest VMwareGfx.kext from Fusion 8.5.5 onwards VMware have discontinued the 2D-Acceleration code, and graphics performance is better now, thanks to Zenith432 for the update.
       
      To check for the latest version visit http://softwareupdate.vmware.com/cds/vmw-desktop/fusion/. The various VMware Tools downloads are located under the packages folder for each version.
       
      Instructions for extracting darwin.iso
      - Download the file above
      - Extract com.vmware.fusion.tools.darwin.zip.tar
      - darwin.iso is located in the "payload" folder
       
       
    • By cgilley
      Bear with me please, the vmware site is almost hopeless, so I ran across insanelymac.. So, I have a fairly high end laptop that has enabled me to push much of my development environment into virtual machines.  One of these VMs was a macOS High Sierra install.  As a developer, I always have an interest in learning new things, and some of my co-workers are Apple advocates.  Plus, there was some s/w I wanted to try that would only work on the mac.  Using unlocker, etc, I was easily able to create a Mac workstation (what the hell do you call this - mac, macos, apple, mac VM?  lol, I don't have the lingo down right....).  I've been using it for the last 4 months.
       
      Then came the VM Workstation 14.1.6 update.  It kept nagging at me, so I finally allowed it to install.  Brain fart on my part, I should have backed up all of my virtual machines.  All the Windows VMs came through fine, but the Mac is stuck in a perpetual re-boot cycle.  I'm sure this is a vmware issue, but I was hoping maybe a reader has seen this before and has some ideas.  I've gone through the vmware logs until my eyes bleed - lots of interesting but useless information...
       
      regards,
       
      cg
       

    • By br0adband
      Currently using VMware Workstation 15.0.3, with High Sierra 10.13.6 fully updated - Mojave has some issues because of changes to how the GUI is drawn so the performance is slower so I stick with High Sierra. But I've noted - over the years this has always been the case with using macOS or OSX in VMware Workstation as a guest OS sitting on top of Windows - that the actual networking performance is pretty lackluster and I've always wondered why.
       
      I have a Windows 7 VM that I created for testing purposes, so here's the setup in terms of the physical host hardware:
       
      HP EliteBook Folio 9470m
      Intel i5-3427u CPU (2 cores/4 threads)
      12GB of DDR3 1600 (dual channel mode, gets about 22GB/s reads and 21GB/s writes so it's fast enough)
      Samsung 860 EVO 500GB SATA SSD (540MB/s reads and 520MB/s writes tested and verified regularly, no issues)
      Intel Gigabit NIC (no issues)
      Gigabit Internet service (I regularly pull 950-960Mbps without issues)
      Windows 7 Professional x64 fully updated as of March 15th (no issues whatsoever)
       
      Doing a speedtest from my ISP I get ~950Mbps results, downloading large contiguous files from some services gives me 70-90MB/s (that's Megabytes per second) sustained bandwidth during the downloads.
       
      For the VM, it's:
       
      VMware Workstation 15.0.3 (unlocked with Donk's unlocker)
      macOS High Sierra 10.13.5 installed from ISO then upgraded to 10.13.6 from App Store
      4GB assigned to the VM (of the 12GB physical hardware RAM)
      2 "CPUs" assigned to the VM (meaning I just have it set for 1 CPU 2 cores, using the extra two threads from Hyperthreading causes some audio glitches with the VM)
      VMware Tools installed (latest available directly from VMware)
       
      Everything in the VM is "stock" meaning I haven't and probably can't alter the hardware profile. Now, if I go do a download from someplace that I know is fast and can provide significant bandwidth in excess of 50MB/s (that's 400Mbps by the math) like Google Drive or Microsoft OneDrive, or perhaps some Linux distro mirror site in my region, I end up seeing a maximum speed of about 150Mbps (that's Megabits per second) or about 18-19MB/s.
       
      Considering it's a Gigabit NIC being fed to the VM, and Gigabit Internet service, I'd like to think the VM should be showing faster speeds but it's not. No matter what I do, even if it's copying files from a network share to the VM (as a shared folder set up in the VM settings) it still maxes out at roughly ~150Mbps and I can't for the life of me figure out why.
       
      Anyone else notice this slow performance?
       
      Here's why I bring it up:
       
      With the Windows 7 VM I use for testing, as a guest OS on top of Windows 7 itself, I can pull 850-950Mbps in the same speed testing situations. But with the macOS VM, 150Mbps tops it seems.
       
      I wonder if there's a reason for this, perhaps the NIC driver in VMware Tools is just crazy inefficient with respect to using macOS on a Windows host which isn't supposed to be done, of course, but we do it anyway because we actually can (thanks to Donk and many others over the years, I have my own storied history as part of The OSx86 Project when it started up long ago).
       
      Just wondering if anyone else has ever noticed this issue. It's not a big huge hassle, of course, but it is somewhat irritating knowing the networking for the VM should be significantly faster. When I look at the Network Adapter properties inside macOS it shows a Gigabit link as far as the VMware networking driver is concerned so, again, it's just odd why it's so limited, almost a flat line at ~150Mbps and I've never been able to get it to go any faster.
       
      Bizarre...
    • By Utku
      Hi guys, I have a big problem for VT -x. I tried any things for example: dark=0 or already bios option is virtualization is enable. I don't understand this problem.
       
      Thanks guys!! And yes I have intel Q8400 quad core cpu, motherboard is Asus asus p5g41c-m lx.
       


    • By twikoffin
      Hello. My hardware is:
      AMD Athlon X2 7750 dual-core
      Gigabyte NVIDIA 8400GS 512MB ( [VGA] ,HDMI,DVI)
      Motherboard Gigabyte based on NFORCE without AHCI support (only IDE)
      I have successfully installed Mac OS Yosemite, Mavericks and El Capitan with AppleNFORCEATA.kext
      But I can't use it with Mac OS 10.8, don't know why, it just gives error and my internal HDD's are not appearing in Disk Utility.

       
         
×