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:
- GPU Buyers Guide
- Check if your GPU is supported and which macOS version you can run.
- Wireless Buyers Guide
- Check if your WiFi card is supported.
- Anti-Hardware Buyers Guide
- Overall guide on what to avoid and what pitfalls your hardware may hit.
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
- Arrendale 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
::: details 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
SEE 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
)
- For CPUs missing SSSE3 (i.e. certain 64-bit Pentiums), we recommend running 32-bit userspace (
- SSE4 is required for macOS 10.12 and newer
- SSE4.2 is required for macOS 10.14 and newer
- SSE4.1 CPUs are supported with telemetrap.kext
- Newer AMD drivers also require SSE4.2 for Metal support. To resolve this, see here: MouSSE: SSE4.2 emulation
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 PartitionDxe.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)
- Run
Special Notes:
- Lilu and plugins require 10.8 or newer to operate
- We recommend running FakeSMC for older versions of OS X
- OS X 10.6 and older require RebuildAppleMemoryMap enabled
- This is to resolve an early kernel
:::
::: details 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 | 10.4.1 | 10.5.8 | Only used in dev kits | 0x0F41 |
Yonah | 10.4.4 | 10.6.8 | 32-Bit | 0x0006E6 |
Conroe, Merom | 10.4.7 | 10.11.6 | No SSE4 | 0x0006F2 |
Penryn | 10.4.10 | 10.13.6 | No SSE4.2 | 0x010676 |
Nehalem | 10.5.6 | Current | N/A | 0x0106A2 |
Lynnfield, Clarksfield | 10.6.3 | ^^ | No iGPU support 10.14+ | 0x0106E0 |
Westmere, Clarkdale, Arrandale | 10.6.4 | ^^ | ^^ | 0x0206C0 |
Sandy Bridge | 10.6.7 | ^^ | ^^ | 0x0206A0(M/H) |
Ivy Bridge | 10.7.3 | ^^ | No iGPU support 11+ | 0x0306A0(M/H/G) |
Ivy Bridge-E5 | 10.9.2 | ^^ | N/A | 0x0306E0 |
Haswell | 10.8.5 | ^^ | ^^ | 0x0306C0(S) |
Broadwell | 10.10.0 | ^^ | ^^ | 0x0306D4(U/Y) |
Skylake | 10.11.0 | ^^ | ^^ | 0x0506e3(H/S) 0x0406E3(U/Y) |
Kaby Lake | 10.12.4 | ^^ | ^^ | 0x0906E9(H/S/G) 0x0806E9(U/Y) |
Coffee Lake | 10.12.6 | ^^ | ^^ | 0x0906EA(S/H/E) 0x0806EA(U) |
Amber, Whiskey, Comet Lake | 10.14.1 | ^^ | ^^ | 0x0806E0(U/Y) |
Comet Lake | 10.15.4 | ^^ | ^^ | 0x0906E0(S/H) |
Ice Lake | ^^ | ^^ | ^^ | 0x0706E5(U) |
:::
::: details 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 VMWare, Parallels, Docker, Android Studios, etc
- VirtualBox is the sole exception as they have their own hypervisor
- VMware 10 and Parallels 13.1.0 do support their own hypervisor, however using such outdated VM software poses a large security threat
- Adobe Support
- Most of Adobe's suite relies on Intel's Memfast instruction set, resulting in crashes with AMD CPUs
- You can disable functionality like RAW support to avoid the crashing: Adobe Fixes
- 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, however you lose iMessage support
- 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 becomes much more complicated due to the near-infinite amount of GPUs on the market, but the general breakdown is as follows:
- AMD's GCN based GPUs are supported in the latest versions of macOS
- AMD APUs are not supported however
- AMD's Lexa based cores from the Polaris series are also not supported
- Special note for MSI Navi users: Installer not working with 5700XT #901
- This issue is no longer present in macOS 11 (Big Sur).
- Nvidia's GPU support is complicated:
- Maxwell(9XX) and Pascal(10XX) GPUs are limited to macOS 10.13: High Sierra
- Nvidia's Turing(20XX,16XX) GPUs are not supported in any version of macOS
- Nvidia's Ampere(30XX) GPUs are not supported in any version of macOS
- Nvidia's Kepler(6XX,7XX) GPUs are supported in the latest versions of macOS (including macOS 11 Big Sur)
- This is due to Apple still supporting a few MacBook Pros with Nvidia GPUs
- Intel's GT2+ tier series iGPUs
- Ivy Bridge through Ice Lake iGPU support is covered in this guide
- Info on GMA series iGPUs can be found here: GMA Patching
- Note GT2 refers to the tier of iGPU, low-end GT1 iGPUs found on Pentiums, Celerons and Atoms are not supported in macOS
- Ivy Bridge through Ice Lake iGPU support is covered in this guide
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.
For a full list of supported GPUs, see the GPU Buyers Guide
::: details Intel GPU Support Chart
GPU Generation | Initial support | Last supported version | Notes |
---|---|---|---|
3rd Gen GMA | 10.4.1 | 10.7.5 | Requires 32-bit kernel and patches |
4th Gen GMA | 10.5.0 | ^^ | ^^ |
Arrendale(HD Graphics) | 10.6.4 | 10.13.6 | Only LVDS is supported, eDP and external outputs are not |
Sandy Bridge(HD 3000) | 10.6.7 | ^^ | N/A |
Ivy Bridge(HD 4000) | 10.7.3 | 10.15.7 | ^^ |
Haswell(HD 4XXX, 5XXX) | 10.8.5 | Current | ^^ |
Broadwell(5XXX, 6XXX) | 10.10.0 | ^^ | ^^ |
Skylake(HD 5XX) | 10.11.0 | ^^ | ^^ |
Kaby Lake(HD 6XX) | 10.12.4 | ^^ | ^^ |
Coffee Lake(UHD 6XX) | 10.13.6 | ^^ | ^^ |
Comet Lake(UHD 6XX) | 10.15.4 | ^^ | ^^ |
Ice Lake(Gx) | 10.15.4 | ^^ | Requires -igfxcdc and -igfxdvmt in boot-args |
Tiger Lake(Xe) | N/A | N/A | No drivers available |
Note: Apple has kept Ivy Bridge's iGPU drivers present in macOS 11, Big Sur, however they are slated for removal. Please be aware they may be removed at a later time.
:::
::: details AMD GPU Support Chart
GPU Generation | Initial support | Last supported version | Notes |
---|---|---|---|
X800 | 10.3.x | 10.7.5 | Requires 32 bit kernel |
X1000 | 10.4.x | ^^ | N/A |
Terascale | 10.4.x | 10.13.6 | ^^ |
Terascale 2/3 | 10.6.x | ^^ | ^^ |
GCN 1 | 10.8.3 | Current | ^^ |
GCN 2/3 | 10.10.x | ^^ | ^^ |
Polaris 10, 20 | 10.12.1 | ^^ | ^^ |
Vega 10 | 10.12.6 | ^^ | ^^ |
Vega 20 | 10.14.5 | ^^ | ^^ |
Navi 10 | 10.15.1 | ^^ | Requires agdpmod=pikera in boot-args |
Navi 20 | 11.1 | ^^ | ^^ |
:::
::: details Nvidia GPU Support Chart
GPU Generation | Initial support | Last supported version | Notes |
---|---|---|---|
GeForce 6 | 10.2.x | 10.7.5 | Requires 32 bit kernel and NVCAP patching |
GeForce 7 | 10.4.x | ^^ | Requires NVCAP patching |
Tesla | 10.4.x | 10.13.6 | ^^ |
Tesla V2 | 10.5.x | ^^ | ^^ |
Fermi | 10.7.x | ^^ | ^^ |
Kepler | 10.7.x | Current | N/A |
Kepler V2 | 10.8.x | ^^ | ^^ |
Maxwell | 10.10.x | 10.13.6 | Requires webdrivers |
Pascal | 10.12.4 | ^^ | ^^ |
Turing | N/A | N/A | No drivers available |
Ampere | ^^ | ^^ | ^^ |
:::
For the most part, all motherboards are supported as long as the CPU is. Previously, B550 boards had issues:
However thanks to recent developments, B550 boards are now bootable with the addition of SSDT-CPUR. More info will be provided in both Gathering Files and Zen's config.plist section
For the most part, all SATA based drives are supported and the majority of NVMe drives as well. There are only a few exceptions:
- Samsung PM981, PM991 and Micron 2200S NVMe SSDs
- These SSDs are not compatible out of the box (causing kernel panics) and therefore require NVMeFix.kext to fix these kernel panics. Note that these drives may still cause boot issues even with NVMeFix.kext.
- On a related note, Samsung 970 EVO Plus NVMe SSDs also had the same problem but it was fixed in a firmware update; get the update (Windows via Samsung Magician or bootable ISO) here.
- Also to note, laptops that use Intel Optane Memory or Micron 3D XPoint for HDD acceleration are unsupported in macOS. Some users have reported success in Catalina with even read and write support but we highly recommend removing the drive to prevent any potential boot issues.
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:
- Intel's 2.5GBe i225 networking
- Intel's server NICs
- Workarounds are possible for X520 and X540 chipsets
- Mellanox and Qlogic server NICs
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 for recommendations.
- 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.