# What works?

  • Keyboard with the special keys like volume or brightness control
  • Brightness control
  • Intel Quartz Extreme and Intel Core Image (QE/CI)
  • Hardware encoding and decoding for codecs like h.264 and h.265 (HEVC)
  • iMessage/FaceTime
  • Ethernet
  • Trackpad with native macOS gestures (disable smart zoom under Scroll & Zoom to avoid two finger touch delays, also happens on real Macbooks. Also disable Force Click and haptic feedback which does not work because of hardware limitations, you can then enable Look up & data detectors to use it with 3 fingers.)
  • Sound (Internal speakers, internal mic, jack audio. No jack microphone!)
  • Battery status and manager
  • External Thunderbolt 3 displays and gpus
  • Thunderbolt 3 hot-plug. Hot-plug means they can be plugged before or after boot and work, if it is before boot it will always work, if you want it to work when plugged after booting check the post installation section
  • USB ports, have been mapped and injected with a codeless kernel extension (like on a real Mac) to avoid the port limit on macOS
  • Sleep
  • Native CPU power management - by looking at PR00 (how the cpu is defined for the laptop according to the ACPI tables) with IORegistryExplorer you can find plugin-type property with a value of 0x01 which indicates X86PlatformPlugin was loaded so native CPUPM is active. CFG-Lock has to be disabled to achieve full CPUPM, the UEFI provides no option to disable it so it has to be done manually with a modified GRUB shell and the corresponding CFG-Lock offset found by extracting the PE32 image section binary from the firmware package which is later converted to a text file.
  • Wi-Fi (2.4Ghz and 5Ghz networks) and Bluetooth (AirDrop, Handoff, Auto Unlock) with Broadcom and Intel cards. The drivers for the intel cards are somewhat new so there might be issues, for Handoff features you might need to log out from iCloud and then log in back.
    Broadcom: Everything works flawlessly by using a card I purchased listed in AliExpress as a BCM94352Z with part number: 08XRYC which carries a bluetooth vendor-id:0x413C and device-id:0x8143, that means it is a DW1550 (4352+20702 combo) but sold as a m.2 form factor 2230 rather than a half mini pcie. Other laptop recommended cards to get everything working are BCM94360NG (make sure to check the macOS tweaks section to configure it properly before first boot), DW1820A, DW1560 or DW1830. The DW1820 is a special case because one needs to manually disabled the Active State Power Management (by injecting the pci-aspm-default = 0x0 to the PCIRootAddr of the card) from the PCI Express 2.0 for the card or else you will never boot macOS, will attach a configuration file with the key to disable aspm so one could replace the corresponding property on the OpenCore configuration file to get this low cost card alternative working as the other cards are beign sold expensive due to the fact there are not much m.2 hackintosh cards.
    Intel: Most if not all features should work but you may experience some issues which might be minor like reduced bandwidth, so if you want to experience full wifi speed consider buying a Broadcom card.
  • HiDPI by using display specific files that need to be placed on the macOS system partition.
  • AirPlay
  • Multiple OS boot support with proper ACPI modifications that macOS require
  • Pretty much every other Mac feature I have forgotten to list or may be problematic when setting up a hackintosh.
  • Sidecar even with non-supported iPads.

# What does not work?

  • SD card slot
  • Hibernation
  • No HDMI video/audio output, it is controlled by the Nvidia Optimus gpu and macOS requires a hardware multiplexer to use a discrete gpu. There are only CUDA drivers prior Mojave (10.14), nor Pascal neither Turing cards will work. The Nvidia card is disabled by an ACPI call to the method (_OFF) at the device scope (_SB.PCI0.PEG0.PEGP)
  • DRM content like Apple TV app or Netflix using Safari, for Netflix one could use a browser with an integrated DRM protector like the new Microsoft Edge, Google Chrome, etc. For the Apple TV app, there is currently no solution, it is a matter of the Whatevergreen driver.
  • FileVault
  • BootCamp?
    Note: BootCamp and FileVault can both fixed with not that much difficulty but I haven't bothered, a pull request is welcome if someone is willing to work on that.