# Hardware Limitations

With macOS, there are numerous hardware limitations you need to be aware of before stepping foot into an installation. This is due to the limited amount of hardware Apple supports, so we're either limited by Apple or what patches the community has created.

The main hardware sections to verify are:

And for more detailed guides on the subject, see here:

# CPU Support

For CPU support, we have the following breakdown:

  • Both 32 and 64-bit CPUs are supported
    • This however requires the OS to support your architecture, see CPU Requirements section below
  • Intel's Desktop CPUs are supported.
    • Yonah through Comet Lake are supported by this guide.
  • Intel's High-End Desktops and Server CPUs.
    • Nehalem through Cascade Lake X are supported by this guide.
  • Intel's Core "i" and Xeon series laptop CPUs
    • Arrandale through Ice Lake are supported by this guide.
    • Note that Mobile Atoms, Celeron and Pentium CPUs are not supported
  • AMD's Desktop Bulldozer (15h), Jaguar (16h) and Ryzen (17h) CPUs
    • Laptop CPUs are not supported
    • Note not all features of macOS are supported with AMD, see below

For more in-depth information, see here: Anti-Hardware Buyers Guide (opens new window)

CPU Requirements

Architecture Requirements

  • 32-bit CPUs are supported from 10.4.1 to 10.6.8
    • Note that 10.7.x requires 64-bit userspace, limiting 32-bit CPUs to 10.6
  • 64-bit CPUs are supported from 10.4.1 to current

SSE Requirements:

  • SSE3 is required for all Intel versions of OS X/macOS
  • SSSE3 is required for all 64-bit versions of OS X/macOS
    • For CPUs missing SSSE3 (i.e. certain 64-bit Pentiums), we recommend running 32-bit userspace (i386-user32)
  • SSE4 is required for macOS 10.12 and newer
  • SSE4.2 is required for macOS 10.14 and newer
  • AVX2 is required for macOS 13 and newer
macOS Ventura and AVX2 Details

macOS Ventura drops support for pre-Haswell CPUs. Much of userspace now requires AVX2 support, along with AMD Polaris GPU drivers and some instances of AVX2 instructions in some kexts. Although the kexts can be patched (opens new window) or downgraded (opens new window), the Polaris GPU drivers and most of userspace rely on AVX2 too much to be able to be patched.

Apple has left a dyld cache that does not use AVX2 instructions in Ventura to support Rosetta on Apple Silicon machines, but this cache is not installed by default. You can use CryptexFixup (opens new window) to force this dyld cache to be installed, but:

  • Apple may remove this cache at any time in the future if they add AVX2 support to Rosetta
  • Delta updates (small 1-3GB updates) will no longer be available and you must install the full update (12GB), as delta updates only contain the non-AVX2 cache on Apple Silicon machines
  • Polaris GPUs remain unsupported on machines without AVX2

Because of these caveats, the Dortania guide will no longer be supporting pre-Haswell CPUs for Ventura and above. The pages for these CPUs will remain updated for Monterey.

Firmware Requirements:

  • OS X 10.4.1 through 10.4.7 require EFI32 (i.e. IA32 (32-bit) version of OpenCore)
    • OS X 10.4.8 through 10.7.5 support both EFI32 and EFI64
  • OS X 10.8 and newer require EFI64 (i.e. x64 (64-bit) version of OpenCore)
  • OS X 10.7 through 10.9 require OpenPartitionDxe.efi to boot the Recovery partition

Kernel Requirements:

  • OS X 10.4 and 10.5 require 32-bit kexts due to only supporting 32-bit kernelspace
    • OS X 10.6 and 10.7 support both 32 and 64-bit kernelspace
  • OS X 10.8 and newer require 64-bit kexts due to only supporting 64-bit kernelspace
    • Run lipo -archs to know what architectures your kext supports (remember to run this on the binary itself and not the .kext bundle)

Core/Thread Count Limits:

  • OS X 10.10 and below may not boot with more than 24 threads (evident by a mp_cpus_call_wait() timeout panic)
  • OS X 10.11 and newer have a 64 thread limit
  • cpus= boot argument can be used as a workaround, or disabling hyperthreading

Special Notes:

  • OS X 10.6 and older require RebuildAppleMemoryMap enabled
    • This is to resolve an early kernel

:::

Intel CPU Support Chart

Support based off of Vanilla Kernels (i.e. no modifications):

CPU Generation Initial support Last supported version Notes CPUID
Pentium 4 (opens new window) 10.4.1 10.5.8 Only used in dev kits 0x0F41
Yonah (opens new window) 10.4.4 10.6.8 32-Bit 0x0006E6
Conroe (opens new window), Merom (opens new window) 10.4.7 10.11.6 No SSE4 0x0006F2
Penryn (opens new window) 10.4.10 10.13.6 No SSE4.2 0x010676
Nehalem (opens new window) 10.5.6 12.7.6 N/A 0x0106A2
Lynnfield (opens new window), Clarksfield (opens new window) 10.6.3 No iGPU support 10.14+ 0x0106E0
Westmere, Clarkdale, Arrandale (opens new window) 10.6.4 0x0206C0
Sandy Bridge (opens new window) 10.6.7 0x0206A0(M/H)
Ivy Bridge (opens new window) 10.7.3 No iGPU support 12+ 0x0306A0(M/H/G)
Ivy Bridge-E5 (opens new window) 10.9.2 N/A 0x0306E0
Haswell (opens new window) 10.8.5 Current No iGPU support 13+ 0x0306C0(S)
Broadwell (opens new window) 10.10.0 0x0306D4(U/Y)
Skylake (opens new window) 10.11.0 Current 0x0506e3(H/S) 0x0406E3(U/Y)
Kaby Lake (opens new window) 10.12.4 0x0906E9(H/S/G) 0x0806E9(U/Y)
Coffee Lake (opens new window) 10.12.6 0x0906EA(S/H/E) 0x0806EA(U)
Amber (opens new window), Whiskey (opens new window), Comet Lake (opens new window) 10.14.1 0x0806E0(U/Y)
Comet Lake (opens new window) 10.15.4 0x0906E0(S/H)
Ice Lake (opens new window) 0x0706E5(U)
Rocket Lake (opens new window) Requires Comet Lake CPUID 0x0A0671
Newer CPUs N/A N/A
AMD CPU Limitations in macOS

Unfortunately many features in macOS are outright unsupported with AMD and many others being partially broken. These include:

  • Virtual Machines relying on AppleHV
    • This includes VirtualBox, VMWare, Parallels, Docker, Android Studio, etc
    • VirtualBox 6, VMware 10, and Parallels 13.1.0 do support their own hypervisor, however using such outdated VM software poses a large security threat
  • Adobe and Intel MKL/OneAPI Library Support
    • Most of Adobe's suite relies on Intel's Memfast instruction set, resulting in crashes with AMD CPUs
    • Other apps make use of Intel's MKL/OneAPI library, which does not work properly with AMD as they assume macOS exclusively runs on Intel CPUs
    • You can use patchers such as AMDFriend (opens new window) to work around this
  • 32-Bit support
    • For those still relying on 32-Bit software in Mojave and below, note that the Vanilla patches do not support 32-bit instructions
    • A work-around is to install a custom kernel (opens new window), however you lose iMessage support and no support is provided for these kernels
  • Stability issues on many apps
    • Audio-based apps are the most prone to issues, ie. Logic Pro
    • DaVinci Resolve has been known to have sporadic issues as well

# GPU Support

TIP

Please see the GPU Buyers Guide (opens new window) for information about compatible GPUs.

And an important note for Laptops with discrete GPUs:

  • 90% of discrete GPUs will not work because they are wired in a configuration that macOS doesn't support (switchable graphics). With NVIDIA discrete GPUs, this is usually called Optimus. It is not possible to utilize these discrete GPUs for the internal display, so it is generally advised to disable them and power them off (will be covered later in this guide).
  • However, in some cases, the discrete GPU powers any external outputs (HDMI, mini DisplayPort, etc.), which may or may not work; in the case that it will work, you will have to keep the card on and running.
  • However, there are some laptops that rarely do not have switchable graphics, so the discrete card can be used (if supported by macOS), but the wiring and setup usually cause issues.

# Motherboard Support

For the most part, all motherboards are supported as long as the CPU is.

MSI 500-series AMD motherboards note

The exception is MSI 500-series AMD motherboards (A520, B550, and X570). These motherboards have issues with macOS Monterey and above:

  • PCIe devices are not always enumerated properly
  • The BIOS update for Zen 3 support breaks boot

macOS Big Sur or earlier is recommended for these motherboards.

Thanks to CaseySJ, this has been fixed in the latest version of the AMD vanilla patches!

# Storage Support

For the most part, all SATA based drives are supported and the majority of NVMe drives as well. There are only a few exceptions:

# Wired Networking

Virtually all wired network adapters have some form of support in macOS, either by the built-in drivers or community made kexts. The main exceptions:

# Wireless Networking

Most WiFi cards that come with laptops are not supported as they are usually Intel/Qualcomm. If you are lucky, you may have a supported Atheros card, but support only runs up to High Sierra.

The best option is getting a supported Broadcom card; see the WiFi Buyer's Guide (opens new window) for recommendations.

Note: Intel WiFi is unofficially (3rd party driver) supported on macOS, check WiFi Buyer's Guide (opens new window) for more information about the drivers and supported cards.

# Miscellaneous

  • Fingerprint sensors
    • There is currently no way to emulate the Touch ID sensor, so fingerprint sensors will not work.
  • Windows Hello Face Recognition
    • Some laptops come with WHFR that is I2C connected (and used through your iGPU), those will not work.
    • Some laptops come with WHFR that is USB connected, if you're lucky, you may get camera functionality, but nothing else.
  • Intel Smart Sound Technology
    • Laptops with Intel SST will not have anything connected through them (usually internal mic) work, as it is not supported. You can check with Device Manager on Windows.
  • Headphone Jack Combo
    • Some laptops with a combo headphone jack may not get audio input through them and will have to either use the built-in microphone or an external audio input device through USB.
  • Thunderbolt USB-C ports
    • (Hackintosh) Thunderbolt support is currently still iffy in macOS, even more so with Alpine Ridge controllers, which most current laptops have. There have been attempts to keep the controller powered on, which allows Thunderbolt and USB-C hotplug to work, but it comes at the cost of kernel panics and/or USB-C breaking after sleep. If you want to use the USB-C side of the port and be able to sleep, you must plug it in at boot and keep it plugged in.
    • Note: This does not apply to USB-C only ports - only Thunderbolt 3 and USB-C combined ports.
    • Disabling Thunderbolt in the BIOS will also resolve this.