OpenCore configuration for my personal desktop.
Please do not use this with any newer or older version as some options may no longer exist or be interpreted differently, or new options may be needed in order to successfully boot.
- System: ThinkCentre M93 Tiny (10A4 / A02400)
- CPU: i3 4130T
- GPU: Intel HD Graphics 4400
- RAM: 8 GB Kingston 1333 MHz DDR3
- SSD: 120 GB Samsung SM863
- Wifi: ASUS Broadcom BCM94352HMB
- Audio: Realtek ALC283
See the screenshots under the BIOS
directory. TODO
- SIP is completely enabled
ig-platform-id
is set to0x00030D22
and the device-id is spoofed to0x04120000
for the HD 4400 to work like HD 4600.vault.plist
is disabled for now.- The system is set to play the startup beep/bong on its internal speaker. Drop the Resources folder from OcBinaryData in your EFI/OC folder. Strip out the excess files for languages you don't use for faster bootup times.
ScanPolicy is set to a value of 2162947
or binary 001000010000000100000011
. This means the following flags are set:
OC_SCAN_FILE_SYSTEM_LOCK
(bit 0)OC_SCAN_DEVICE_LOCK
(bit 1)OC_SCAN_ALLOW_FS_APFS
(bit 8)OC_SCAN_ALLOW_DEVICE_SATA
(bit 16)OC_SCAN_ALLOW_DEVICE_USB
(bit 21)
Please refer to the OpenCore manual for the meaning of these flags. In short, these flags allow scanning of APFS partitions (for macOS) on SATA and USB drives only. The USB part should be temporary.
See the ACPI subfolder.
EC
: EC patchEHCx_OFF
: Turns off the EHC1 and EHC2 controllers, instead putting all devices on the USB3 controllerPLUG
: Setsplugin-type
to 1, needed for AGPM and proper CPU power management.PM
: CPU power management data generated by ssdtPRgenUIAC
: SSDT defining which ports to keep enabled, for USB Inject All
PciRoot(0x0)/Pci(0x1b,0x0)
: Realtek ALC283layout-id
:3
, used to tell AppleALC which layout ID to pick to get the onboard sound working. This is the only layout that worked for me with the internal speaker.
PciRoot(0x0)/Pci(0x2,0x0)
: Intel HD Graphics 4400ig-platform-id
:0x19120001
(reversed) to enable a connectorless mode for the onboard graphics. Used to get acceleration working in various areas.
PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)
: Broadcom BCM94352HMBbrcmfx-country
:NL
to make optimal use out of the Broadcom card and to reduce possible interference with surrounding devices.
Not included in this repo, I use the following drivers:
- ApfsDriverLoader
- AudioDxe
- FwRuntimeServices (in the OpenCore package)
- HFSPlus
Not included in this repo, I use the following kexts:
- AirportBrcmFixup: Used to set a country code and also to disable WoWLAN to prevent unnecessary wakeups.
- AppleALC: Fixes for HDMI and onboard audio
- BrcmPatchRAM3 + BrcmFirmwareData + BrcmBluetoothInjector: Used to enable Bluetooth for the Broadcom card.
- IntelMausi: Driver for the built-in Ethernet controller
- Lilu: Requirement for most other kexts in this list
- USB Inject All: Used for injecting only USB ports which are in use, to keep the system inside the 15 port limit
- VirtualSMC: SMC emulator
- WhateverGreen: Required for proper functioning of both the integrated graphics card in headless/connectorless mode, and the RX580
Sometimes, most notably when using System Preferences, the UI hangs for a bit and then graphical corruption and heavy flashing may occur. Needs further investigation.