This repo contains configuration and bootloader files that fully support macOS 12.6.5 Monterey - Ventura & Sonoma 14.0 (23A344) with on MSI B760 motherboard and 13900k processor.

View on GitHub


This repo contains configuration and bootloader files that fully support macOS 14.4 Sonoma (23E214) with on MSI B760 motherboard and 13900k processor.

System Overview

1. Preparation

1.1 Environment:



13th Gen Intel(R) Core(TM) i9-13900K WITH O.C. MODE
G.Skill Trident Z5 RGB 32 GB (2x16) 6000 MHz DDR5 WITH XMP MODE
iCUE H150i ELITE LCD XT Display Liquid CPU Cooler
Intel(R) Wireless Bluetooth(R)
Intel(R) Wi-Fi 6E AX211 160MHz
RTL8125 2.5GbE Controller
High Definition Audio Controller
Intel(R) SMBus - 7A23
Ellesmare Sapphire RX 580 8GB
Intel(R) Shared SRAM - 7A27
Intel Raptor Lake-S GT1 [UHD Graphics 770] DISABLED WITH SSDT PATCH
Hardware List

1.2 BIOS



Secure Boot Disabled
Fast Boot Disabled
MSI Fast Boot Disabled
Re-Size BAR Support Disabled
Initiate Graphic Adapter [PEG]
Integrated Graphics Share Memory [64M]
IGD Multi Monitor Enabled
Discrete Thunderbolt(TM) Support Disabled
XHCI Hand-Off Enabled
Legacy USB Support Enabled
Above 4G Memory Enabled

2. ACPI (Advanced Configuration and Power Interface)

2.1 Introduction

Advanced Configuration and Power Interface (ACPI) specification was developed to establish industry common interfaces enabling robust operating system (OS)-directed motherboard device configuration and power management of both devices and entire systems.

The pseudo-code language, known as ACPI Machine Language (AML), is a compact, tokenized, abstract type of machine language.

If you want see more than about for ACPI you can check that: UEFI.ORG

DSDT's & SSDT's are tables present in your firmware that outline hardware devices like USB controllers, CPU threads, embedded controllers, system clocks and such. A DSDT(Differentiated System Description Table) can be seen as the body holding most of the info with smaller bits of info being passed by the SSDT(Secondary System Description Table).

The following items are required for motherboards later B300 series

Below are also the configurations that should be used for USB port processes on the MSI B760 motherboard. If you are going to install directly on the same model, you can use the USBMap.kext file defined in the configuration file and the SSDT-EC-USBX.aml configuration. If you are trying to install on a different motherboard, please make sure you have mapped to your motherboard model. Before proceeding, make sure your power management is properly configured and XCPM is installed. For detailed information see:

(Don't forget! All Mac hardware only has 15 USB ports.)

2.2 Kexts (Kernel Extensions)

The so-called kernel extension file is actually what we usually call a driver.

The following two drivers are required

Kexts/VirtualSMC.kext Kexts/Lilu.kext The following two drivers are used to monitor CPU temperature and fan speed. They are suitable for both desktop and laptop computers, but can only be used under Intel CPUs.

Kexts/SMCProcessor.kext Kexts/SMCSuperIO.kext The driver above is the using for monitoring Intel CPU temperature driver. Its stable operation depends on having XCPM installed.

Kexts/CPUFriend.kext This kernel extension is produced with the CPUFriend.command file. After performing all power management operations in order, you should check the operating frequency range of your processor with this kext. CPUFriendDataProvider is a subpath of this kext. Don't change the order.

Default Value equal is 2.50-3.00 GHz Core AVG

For more information about CPUFriend, visit this link. CPUFriend on Github

Intel Power Gadget

Kexts/RestrictEvents.kext The following driver is for CPUName Commander.

Kexts/WhateverGreen.kext The following driver is a sound card driver that supports most onboard sound card drivers.

Kexts/AppleALC.kext AppleALC is a kernel extension that will provide native support to your audio driver. If you have a B760 motherboard, do not change the configuration in the config.plist file. Otherwise try using different layout-ids.

Check here to view supported codecs. Audio Layout ID's

Kexts/USBInjectAll.kext RehabMan OS-X-USB-Inject-All If you are using a different motherboard model, implement this instead of USBMap.kext. Then provide your mapping according to the guide mentioned above. If you don't you can download latest version of USBInjectAll.kext.

Kexts/AirportItlwm.kext Kexts/IntelBluetoothFirmware.kext Check OpenIntelWireless

2.3 PCI-Root Locations

The PCI location paths of the components on your motherboard may differ from the paths in the config.plist in the repository you pulled. For the most accurate PCI root location path mapping, you can get help from the Device Manager page in your system's Windows operating system, if available. Alternatively, you can try export log output of PCI Devices via


For this reason you may sure completely deleted all PCI devices on config.plist files.

If you are using OpenShell, make sure that the log you have obtained is as follows.

Mapping table
      FS8: Alias(s):HD2b:;BLK13:
      FS9: Alias(s):HD2d:;BLK15:
     FS10: Alias(s):HD2e:;BLK16:
      FS0: Alias(s):HD0c:;BLK2:
      FS1: Alias(s):HD1b:;BLK4:
      FS5: Alias(s):HD1c:;BLK9:
      FS7: Alias(s):HD1c:;BLK11:
      FS3: Alias(s):HD1c:;BLK7:
      FS6: Alias(s):HD1c:;BLK10:
      FS4: Alias(s):HD1c:;BLK8:
      FS2: Alias(s):HD1c:;BLK6:
    BLK12: Alias(s):
    BLK14: Alias(s):
     BLK0: Alias(s):
     BLK1: Alias(s):
     BLK3: Alias(s):
     BLK5: Alias(s):


All SMBIOS information in config file has been removed for security. Please use the GenSMBIOS tool to obtain an appropriate SMBIOS output for your system. Since the Intel i9-13900k is not natively supported on macOS, it must be emulated to the 10th Gen. At this point, make sure that the output you receive from GenSMBIOS emulates the following device types.

4. Benchmark Results

RX580 Benchmark on GeekBench 6

i9-13900k Benchmark on GeekBench 6

IMPORTANT: The i9-13900k test results give lower values compared to the results of a 13900k running at full performance. This is due to the fact that the processor is not run at full speed in line with user preference. Overclock your CPUFriend settings for truly satisfying results.

Enjoy it.