Laptop Hardware Compatibility for OS X and macOS [Intel/AMD]

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,859
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Laptop Hardware Compatibility for OS X and macOS [Intel/AMD]

What's the best compatible Laptop?


Most of the time, people ask "Is my laptop compatible". You'll have all your answers in this post!

First of all, getting macOS to work on Laptop is always difficult unless there's a well-written guide. But then also, it may not be possible to get the features that work on Windows or you want to make it work on macOS. This is because of the hardware limitation in the Laptops and the limited support available for such hardware.

You can find the complete Laptop Hardware Compatibility List including limitations.

CPU


For a complete list of CPU Compatibility, refer to the compatibility guide linked below including the limitations as well.

Storage


Generally, all SATA (2.5inch) drives are supported and a majority of NVMe drives as well. However, there are a few exceptions.

For Storage Compatibility, refer to the compatibility guide linked below including the limitations as well.

Graphics


Many laptops have dual graphics such as AMD Radeon or NVIDIA Geforce which utilizes a switching mechanism to switch from the integrated graphics (IGPU) to the discrete graphics as per the graphics demand. The Technology used by NVIDIA is commonly is referred to as Optimus Technology and for AMD it is Switchable Graphics. This type of switching/technology isn't supported on macOS and must be disabled. Disabling discrete Graphics is mandatory when having an Optimus or Switchable Graphics Technology to save Battery life within OS X/macOS, which will generate less heat and noise. When Discrete Graphics isn't disabled, the GPU draws power even if it does not work on OS X/macOS. This can also cause sleep/wake failure.

For a complete list of Graphics Compatibility, refer to the compatibility guide linked below.

LIMITATIONS
  • Most of the Laptops require DMVT Pre-alloc of 64MB or more for IGPU acceleration. A workaround is to either patch the framebuffer to match your BIOS setting or unlock the BIOS.
  • No Mobile APUs are not supported.
  • Most of the discrete Graphics are not supported, regardless of NVIDIA or AMD due to Optimius or Switchable configuration and is therefore advised to disable them and power off the card using DSDT and SSDT.
  • NVIDIA Optimus or AMD Switchable Graphics Technology is not supported.
  • Discrete Graphics can be utilized by OS X/macOS, if the IGPU (For Intel) and APU (For AMD) are factory disabled or have an option in BIOS to disable the integrated Graphics and set discrete graphics as a first graphics device.
  • If the BIOS/UEFI does not have an option to disable the discrete graphics, it can be difficult to install and you might need to block the discrete graphics by using "-wegnoegpu" arg in boot args of your config.plist. The same can be implemented using Device Properties in the config.plist.

Displays


Almost all displays panels are fully supported. However, there are a few limitations.

LIMITATIONS
  • 4K/UHD/QHD+ Displays are supported but the display cannot be driven unless a proper framebuffer patching has been done.
  • When using an internal OLED screen, the backlight doesn't work, even if properly implemented. However, with the HDR mode on, the backlight works normally.
  • HDMI, DP and Type-C ports, if tied to the dedicated Graphics card, all such ports cannot drive the display, regardless of NVIDIA or AMD Graphics.

Keyboard/Trackpad


For most of the time, the laptops use the PS/2 interface for the keyboard and trackpad. The PS/2 keyboard and trackpad can be made to work using a PS/2 driver. RehabMan has developed a VoodooPS2Controller driver which does the job. There are some other drivers which have been developed by other developers like EMiLyDiNeSh. Newer laptops are using I2C trackpad widely, which requires different drivers than the PS/2. Such drivers are work in progress. But Alexandre Dauod, a developer who has written drivers for I2C devices named VoodooI2C has made this possible and the trackpads can be made to work using his drivers. However this isn't easy as using PS/2 drivers.

LIMITATIONS
  • I2C Trackpads require proper DSDT patching before they can work. Patching DSDT for I2C Trackpads requires technical skill and is a complex process.
  • Not all I2C Trackpads are supported. Some I2C Trackpads may have very limited functionality such as basic multitouch.

VendorI2C Input Device ModelSupportNotes
ELANELAN1000I2C patching required
ELANELAN0100I2C patching required
ELANELAN0600
ELANELAN0651Basic MultitouchI2C patching required
ELANELAN1200I2C patching required
ELANELAN1300I2C patching required
SynapticsSYNA7500I2C patching required
SynapticsSYNA0000I2C patching required
FocalTechFTEI2C patching required
CypressCYPA0000I2C patching required
I2C patching required

Audio


Audio is not supported OOTB, however, it can be made to work using AppleALC+Lilu along with a proper Layout ID. Note that, almost every Laptop requires DSDT patching for proper Audio implementation. Patching AppleHDA is no longer required unless the Codec is not supported by AppleALC. Patching AppleHDA for any audio codec is possible, but is a complex process and requires technical skills you may not have, and is time consuming.

For a complete list of Audio Compatibility, refer to the compatibility guide linked below.

Ethernet


Generally, the ethernet port is built-in into the laptop motherboard. Most of the Ethernet chips found on Laptops are normally supported. Some old chips may be difficult to configure.

For a complete list of Ethernet Compatibility, refer to the compatibility guide linked below.

WiFi and Bluetooth


Recent Laptops are not being shipped with a built-in ethernet port, except for a few. For a Laptop, WiFi is required for portability. Most of the Laptops are either being shipped with Intel WiFi/BT Cards and the other few options are Qualcomm and Realtek. There are very few WiFi models which are supported by macOS. With this, there are some laptops that have a whitelist in the BIOS which prevents you to replace the WiFi hardware. Such BIOS allows certain specific models only which are branded specifically by the manufacturer of the laptop. Sometimes, the BIOS can be unlocked and the whitelist can be removed but sometimes the BIOS can be encrypted. The service manual for your laptop may provide you with a list of compatible cards on your specific model and if one of those WiFi models is compatible with macOS, then you can search for the card and try to replace it. Some laptops such as In many cases, the specific WiFi model with the laptop is not specified when you purchase.

For most of the time, the Bluetooth is built-in to the WiFi card (on the USB bus). Bluetooth works best when using Broadcom Bluetooth hardware.

LIMITATIONS
  • Few BIOS/UEFI may have a WiFi Whitelist which can prevent you to replace the WiFi hardware unless the whitelist is removed. A workaround is to unlock the BIOS and remove the Whitelist or install a rebranded card if the whitelist cannot be removed.
  • Few Laptops have soldered WiFi onto the logic board or combined it with another component making the replacement more difficult and expensive.
  • WiFi speeds may be capped on some Intel and Atheros based cards.
  • BT may not work on a few Intel and Atheros WiFi/BT modules.
  • Some features such as Handoff/Hotspot/AirDrop/Unlocking with Apple watch may not work with a few Atheros and Intel WiFi/BT modules.
  • Any Realtek WiFi/BT isn't supported. Although, BT may work partially.

For a complete list of WiFi and Bluetooth Compatibility, refer to the compatibility guide linked below.

Camera


For most of the time, the built-in camera is USB, some are connected to USB2, and some to USB3. Some will work and some won't. There's no specific pattern.

LIMITATIONS
  • IR Cameras are not supported.

Touchscreen


OS X and macOS doesn't support touchscreen but gestures. However, few laptops have a touchscreen. The touchscreen can be either on the USB bus or the I2C. The touchscreen which is on a USB bus can be made to work without any need for additional drivers. However, the I2C touchscreen will require a different driver. I2C Touchscreen can be made to work using VoodooI2C.

LIMITATIONS
  • Not all I2C Touchscreens are supported.
  • I2C Touchscreen requires proper DSDT patching before they can work. Patching DSDT for I2C Trackpads requires technical skill and is a complex process.

Fingerprint


Fingerprints cannot be emulated to the Touch ID sensor and as a result, none of the fingerprint sensors will work in any OS X and macOS version.

Card Readers


Card Readers are either on the PCI bus and some are on the USB bus. Card Readers based on PCI bus works using a third party driver, however, there are drivers available from the manufacturer for certain Card Readers. USB buses are mostly Plug and Play which work using the class driver built-in to OS X/macOS, however, this may not be possible in every case. You can't know until you try.

LIMITATIONS
  • Intel Card Readers are not supported.

Thunderbolt


Thunderbolt is supported including HotPlug capability. For a complete list of Thunderbolt Compatibility, refer to the compatibility guide linked below.

RECOMMENDATIONS
  • CPU
    • Intel Ivy Bridge to Ice Lake for full native support.
  • Graphics
    • Intel IGPU only.
    • For dedicated Graphics, either BIOS/UEFI should allow to disable IGPU and use dedicated GPU in the first option or the Intel IGPU must be factory disabled.
  • Displays
    • 1366x768
    • 1920x1080
    • Non-OLED Displays
    • Non-eDP Port
  • Keyboard/Trackpad
    • PS/2 or USB Keyboard
    • PS/2 Trackpad
    • ELAN I2C Trackpad
    • Most of the Laptops since Skylake are having I2C Trackpads. I2C Trackpads are supported with the help of VoodooI2C kexts.
  • Audio
    • Realtek onboard Audio Chip
    • Conexant onboard Audio Chip
  • Ethernet
    • Realtek onboard Ethernet Chip
    • Atheros onboard Ethernet Chip
    • Intel onboard Ethernet Chip
  • WiFi/BT
    • For a full WiFi and Bluetooth Functionality, a Laptop should have an option to replace the stock WiFi/BT Card.
    • Non-Whitelisted WiFi/BT Cards are encouraged. For BIOS having WiFi/BT whitelist, either whitelist must be removed or a rebranded card shall be used.
  • Camera
    • Non-IR Camera.
  • Card Readers
    • Built-in USB based Card Readers for native plug/play.
    • Realtek Card Readers are highly encouraged.
  • Thunderbolt
    • Alpine Ridge JHL 6540
    • Titan Ridge JHL 7540

Installing macOS on a Laptop is not easy. You should not expect that you can get everything working. However, there are several successes with Laptops with each and every function working, and that's only possible when you have the right hardware! There are many different laptops that have different hardware configurations and each hardware is unique. It is very likely possible that a laptop might not work even if the hardware mentioned above meets the requirements.

If you want 100% compatibility with all the hardware such as discrete graphics, perfect WiFi and Bluetooth, and no hassles, don't look for installing macOS, buy a MacBook instead. This will not only save you from less trouble but also from wasting your time.
 
Last edited:

oldman20

Member
Joined
Nov 6, 2021
Messages
123
Motherboard
Dell 3558
CPU
Broadwell 5200U
Graphics
Intel HD5500
OS X/macOS
12.0.x
Bootloader
  1. Clover (UEFI)
  2. OpenCore
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Code:
[    1.047936] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
[    1.047995] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
[    1.048040] input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2
[    1.048079] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
[    1.104768] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
[    1.519008] input: DLL06B0:00 06CB:78F1 Mouse as /devices/pci0000:00/INT3433:00/i2c-1/i2c-DLL06B0:00/0018:06CB:78F1.0001/input/input7
[    1.519138] hid-generic 0018:06CB:78F1.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL06B0:00 06CB:78F1] on i2c-DLL06B0:00
[    2.820686] input: Synaptics TM3096-001 as /devices/pci0000:00/INT3433:00/i2c-1/i2c-DLL06B0:00/0018:06CB:78F1.0001/input/input9
[    2.820777] hid-rmi 0018:06CB:78F1.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL06B0:00 06CB:78F1] on i2c-DLL06B0:00
[    3.004622] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.0/0003:046D:C52B.0002/input/input10
[    3.058075] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input11
[    3.062976] hid-generic 0003:046D:C52B.0002: input,hidraw1: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-0000:00:14.0-3/input0
[    3.063079] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1e/LNXVIDEO:01/input/input12
[    3.065008] input: Logitech USB Receiver Mouse as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.1/0003:046D:C52B.0003/input/input13
[    3.065153] input: Logitech USB Receiver Consumer Control as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.1/0003:046D:C52B.0003/input/input14
[    3.122967] input: Logitech USB Receiver System Control as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.1/0003:046D:C52B.0003/input/input15
[    3.123094] hid-generic 0003:046D:C52B.0003: input,hiddev0,hidraw2: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:14.0-3/input1
[    3.124604] hid-generic 0003:046D:C52B.0004: hiddev1,hidraw3: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-3/input2
[    3.332372] logitech-djreceiver 0003:046D:C52B.0004: hiddev0,hidraw1: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-3/input2
[    3.455678] input: Logitech Wireless Device PID:4069 Keyboard as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.2/0003:046D:C52B.0004/0003:046D:4069.0005/input/input17
[    3.455972] input: Logitech Wireless Device PID:4069 Mouse as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.2/0003:046D:C52B.0004/0003:046D:4069.0005/input/input18
[    3.456383] hid-generic 0003:046D:4069.0005: input,hidraw2: USB HID v1.11 Keyboard [Logitech Wireless Device PID:4069] on usb-0000:00:14.0-3/input2:1
[    3.576161] input: Logitech MX Master 2S as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.2/0003:046D:C52B.0004/0003:046D:4069.0005/input/input22
[    3.576301] logitech-hidpp-device 0003:046D:4069.0005: input,hidraw2: USB HID v1.11 Keyboard [Logitech MX Master 2S] on usb-0000:00:14.0-3/input2:1
[    6.353578] input: DELL Wireless hotkeys as /devices/virtual/input/input23
[    6.867359] input: Integrated_Webcam_HD: Integrate as /devices/pci0000:00/0000:00:14.0/usb2/2-5/2-5:1.0/input/input24
[    6.911204] input: Dell WMI hotkeys as /devices/platform/PNP0C14:01/wmi_bus/wmi_bus-PNP0C14:01/9DBB5994-A997-11DA-B012-B622A1EF5492/input/input25
[    7.306338] input: HDA Intel HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.0/sound/card0/input26
[    7.306428] input: HDA Intel HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.0/sound/card0/input27
[    7.306506] input: HDA Intel HDMI HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.0/sound/card0/input28
[    7.306580] input: HDA Intel HDMI HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:03.0/sound/card0/input29
[    7.306660] input: HDA Intel HDMI HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:03.0/sound/card0/input30
[    7.363204] snd_hda_codec_realtek hdaudioC1D0:    inputs:
[    7.440736] input: HDA Intel PCH Headphone Mic as /devices/pci0000:00/0000:00:1b.0/sound/card1/input31
[   14.133895] rfkill: input handler disabled
[   20.845540] rfkill: input handler enabled
[   26.242864] rfkill: input handler disabled

seem my trackpad not supported?
 

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
3,859
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
11.0.x
Bootloader
  1. OpenCore
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Code:
[    1.047936] input: Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
[    1.047995] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
[    1.048040] input: Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2
[    1.048079] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
[    1.104768] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input4
[    1.519008] input: DLL06B0:00 06CB:78F1 Mouse as /devices/pci0000:00/INT3433:00/i2c-1/i2c-DLL06B0:00/0018:06CB:78F1.0001/input/input7
[    1.519138] hid-generic 0018:06CB:78F1.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL06B0:00 06CB:78F1] on i2c-DLL06B0:00
[    2.820686] input: Synaptics TM3096-001 as /devices/pci0000:00/INT3433:00/i2c-1/i2c-DLL06B0:00/0018:06CB:78F1.0001/input/input9
[    2.820777] hid-rmi 0018:06CB:78F1.0001: input,hidraw0: I2C HID v1.00 Mouse [DLL06B0:00 06CB:78F1] on i2c-DLL06B0:00
[    3.004622] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.0/0003:046D:C52B.0002/input/input10
[    3.058075] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input11
[    3.062976] hid-generic 0003:046D:C52B.0002: input,hidraw1: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-0000:00:14.0-3/input0
[    3.063079] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:1e/LNXVIDEO:01/input/input12
[    3.065008] input: Logitech USB Receiver Mouse as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.1/0003:046D:C52B.0003/input/input13
[    3.065153] input: Logitech USB Receiver Consumer Control as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.1/0003:046D:C52B.0003/input/input14
[    3.122967] input: Logitech USB Receiver System Control as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.1/0003:046D:C52B.0003/input/input15
[    3.123094] hid-generic 0003:046D:C52B.0003: input,hiddev0,hidraw2: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:14.0-3/input1
[    3.124604] hid-generic 0003:046D:C52B.0004: hiddev1,hidraw3: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-3/input2
[    3.332372] logitech-djreceiver 0003:046D:C52B.0004: hiddev0,hidraw1: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-3/input2
[    3.455678] input: Logitech Wireless Device PID:4069 Keyboard as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.2/0003:046D:C52B.0004/0003:046D:4069.0005/input/input17
[    3.455972] input: Logitech Wireless Device PID:4069 Mouse as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.2/0003:046D:C52B.0004/0003:046D:4069.0005/input/input18
[    3.456383] hid-generic 0003:046D:4069.0005: input,hidraw2: USB HID v1.11 Keyboard [Logitech Wireless Device PID:4069] on usb-0000:00:14.0-3/input2:1
[    3.576161] input: Logitech MX Master 2S as /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.2/0003:046D:C52B.0004/0003:046D:4069.0005/input/input22
[    3.576301] logitech-hidpp-device 0003:046D:4069.0005: input,hidraw2: USB HID v1.11 Keyboard [Logitech MX Master 2S] on usb-0000:00:14.0-3/input2:1
[    6.353578] input: DELL Wireless hotkeys as /devices/virtual/input/input23
[    6.867359] input: Integrated_Webcam_HD: Integrate as /devices/pci0000:00/0000:00:14.0/usb2/2-5/2-5:1.0/input/input24
[    6.911204] input: Dell WMI hotkeys as /devices/platform/PNP0C14:01/wmi_bus/wmi_bus-PNP0C14:01/9DBB5994-A997-11DA-B012-B622A1EF5492/input/input25
[    7.306338] input: HDA Intel HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:03.0/sound/card0/input26
[    7.306428] input: HDA Intel HDMI HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:03.0/sound/card0/input27
[    7.306506] input: HDA Intel HDMI HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:03.0/sound/card0/input28
[    7.306580] input: HDA Intel HDMI HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:03.0/sound/card0/input29
[    7.306660] input: HDA Intel HDMI HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:03.0/sound/card0/input30
[    7.363204] snd_hda_codec_realtek hdaudioC1D0:    inputs:
[    7.440736] input: HDA Intel PCH Headphone Mic as /devices/pci0000:00/0000:00:1b.0/sound/card1/input31
[   14.133895] rfkill: input handler disabled
[   20.845540] rfkill: input handler enabled
[   26.242864] rfkill: input handler disabled

seem my trackpad not supported?
Seems like it's I2C from Dell and should be supported.
 
  • Like
Reactions: oldman20

Forum statistics

Threads
749
Messages
7,928
Members
6,855
Latest member
Breakthru81