This repository contains the necessary files and information to successfully boot macOS on this prebuilt PC.
- Bootloader version: OpenCore 0.8.8
- SMBIOS: iMac18,2
- Kexts version: everything up-to-date with the latest version (check the links below)
- macOS version: Monterey - Release channel
Component | Brand |
---|---|
Mobo | FUJITSU D3400-U1 |
CPU | Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz |
Chipset | Intel H110 |
GPU | ASUS AMD RX560 4GB |
Storage | WD SN750 512GB |
Audio | Realtek ALC671 - layout 15 |
Ethernet | Realtek RTL8111G |
SMC Chip | Nuvoton NCT6792 |
OS | macOS Monterey 12.6.2 (21G320) |
BIOS | V5.0.0.12 R1.26.0 for D3400-U1x |
-
In the config.plist, section
PlatformInfo > Generic
, the following fields are currently edited with "CHANGEME" in order to force the user to generate his own serials. Refer to this guide to know how.MLB
ROM
SystemSerialNumber
SystemUUID
-
OpenCanopy is fully configured with the correct theme from acidanthera, (GoldenGate) but if you want to disable this you should edit the
config.plist
and changePickerMode
fromExternal
toBuiltin
or disableShowPicker
entirely.
I highly suggest to read the OpenCore guide
Must have to boot any macOS version from USB:
- OpenRuntime.efi (bundled in OpenCore package)
- HfsPlus.efi (if you created the USB with this method or with
createinstallmedia
) and can be found either in theOC/Drivers
folder of this repository or in acidanthera/OcBinaryData
Additional drivers for cosmetic stuff:
- AudioDxe.efi for Boot Chime support in UEFI environment (already enabled)
- OpenCanopy.efi (bundled in OpenCore package) for Mac-like GUI support in picker
- AppleALC
- HoRNDIS - for those of you who like to have USB tethering support
- Lilu
- NVMeFix - for the SN750, correct power management
- SMCProcessor - shipped inside VirtualSMC
- SMCSuperIO - shipped inside VirtualSMC compatible with Nuvoton NCT6792
- VirtualSMC
- WhateverGreen
Note: The BIOSes present in the directory Misc/Extracted\ sp132835/
are multiple bin files, and the one made for this laptop is precisely this one
Please note that even though I've listed here the offsets with setup_var
(as modgrubshell.efi
would require) I had to use RU.efi
to edit these. A nice guide on how to use RU.efi
can be found here
-
CFG Lock =
setup_var 0x4ED 0x0
(Disabled) (SectionCpuSetup
) -
DVMT Pre-Allocated =
setup_var 0x796 0x2
(64MB) (or0x4
for 128MB) (SectionSaSetup
) -
DVMT Total Gfx Mem =
setup_var 0x797 0x3
(MAX) (SectionSaSetup
) -
SATA Mode =
setup_var 0x8D2 0x0
(AHCI) - this should be on zero by default (SectionSetup
)
This way, if you applied these settings correctly:
- You won't need
framebuffer-fbmem
andframebuffer-stolenmem
properties underDeviceProperties
for the graphics patch (not present in the source code, I use a dGPU) - You won't need
AppleXCPMCfgLock
or similar kernel quirks because CFG Lock is unlocked.
Remember that you are recommended to apply these settings once you booted macOS:
sudo pmset autopoweroff 0
sudo pmset powernap 0
sudo pmset standby 0
sudo pmset proximitywake 0
sudo pmset tcpkeepalive 0
Hence, the only Booter > Quirks
required to boot are AvoidRuntimeDefrag
, EnableWriteUnprotector
, and SetupVirtualMap
.
MMIO Devirtualization it is not required.
USB Ports are mapped thought the SSDT Method (cleanest way). The SSDT in question is SSDT-xh_rvp08.aml
which was taken from ACPI dump (SysReport.zip) and edited to match the USB ports in the system.
- Apple for macOS
- Acidanthera for OpenCore and Lilu-based kexts
- dreamwhite for helping me to fix the I2C trackpad and with SSDT/ACPI hotpatching
- Gengik84 for introducing me to the
GENG
method used inSSDT-xh_rvp08.aml
- dortania team for its detailed guides
- Corpnewt for SSDTTime and fewtarius for CPUFriend fork (now merged into Corp's repo)