This is the guide for OpenCore 0.8.3 Hackintosh build based on i7 9700KF | Gigabyte Z370N WIFI | RX 6600XT | 32GB RAM | running MacOS 12.5 Monterey like a iMac Pro.
Please read the OpenCore Guide to understand the process and make any changes if you require different settings.
- AMD GPU for full performance;
- h264 and h265 video encoding and decoding working;
- No DRM issues (you can use Apple TV+ and Safari for Netflix and PrimeVideo).
Type | Item |
---|---|
CPU | Intel i7 9700KF 9th generation 8 cores 3,6GHz with Turbo Boost up to 4,9GHz |
Motherboard | Gigabyte Z370N WiFi 1.0 Mini ITX |
RAM | G.SKILL 32GB DDR4 3200MHz F4-3200C16D-32GTZN |
GPU | Sapphire RX 6600XT 8GB Dedicated Video Card |
Wireless | Apple BCM943602CDPAX_2 Orginal Apple Wi-Fi and Bluetooth card pulled from iMac 2017 - A1419 Model (iMac18,3). Used an adapter to replace the Intel card that comes with motherboard |
NVMe | WD Black SN750 500GB PCIe NVMe (Windows) |
NVMe | WD Black SN750 1TB PCIe NVMe (MacOS) |
HDD | Western Digital Blue WD10EZEX-75WN4A0 1TB HDD (Time Machine backup) |
HDD | Seagate BarraCuda ST2000DM008-2FR102 2TB HDD (Archives) |
CPU Cooler | Scythe Big Shuriken 3 low profile and small form factor cooler |
Case Cooler | Scythe KF1425FD18-P 140mm case cooler |
Power Supply | Corsair CX550 Bronze 550W Unit |
Case | XIGMATEK Nebula C Mini ITX |
Gigabyte z370N WIFI using BIOS version F14
- Load optimised defaults
- MIT > Enhanced Multi-Core Performance > Enabled
- MIT > FCLK Frequency for Early Power On > Normal (800Mhz)
- MIT > Extreme Memory Profile(X.M.P.) > Disabled
- MIT > System Memory Multiplier > 26.66 (use plus and minus keys to update)
- MIT > Memory Ref Clock > 133
- MIT > Memory Boot Mode > Enable Fast Boot
- MIT > Memory Enhancement Settings > Enhanced Performance
- SmartFan > Fan Control Mode > PWM
- BIOS > FastBoot > DISABLED
- BIOS > CSM Support > DISABLED
- BIOS > Windows 8/10 Features > Windows 8/10 WHQL
- BIOS > Secure Boot > DISABLED
- Peripherals > Initial Display Output > PCIe 1 Slot
- Peripherals > Above 4G Decoding > ENABLED
- Peripherals > Re-Size Bar > DISABLED
- Peripherals > Intel PTT > DISABLED
- Peripherals > SGX > DISABLED
- Peripherals > Trusted Computing > DISABLED
- Peripherals > SATA and RST Configuration > SATA Mode Selection > AHCI
- Peripherals > SATA and RST Configuration > Aggressive LPM Support > DISABLED
- Peripherals > SATA and RST Configuration > Sata N (all ports) > Hot Plug > DISABLED
- Peripherals > USB Config > Legacy > DISABLED
- Peripherals > USB Config > XHCI Handoff > ENABLED
- Peripherals > USB Config > Port 60/64 emulation > DISABLED
- Chipset > VT-d > DISABLED
- Chipset > Wake On Lan > DISABLED (remind to disable it on adapters too)
- Power > Platform Power Management > ENABLED (enable child items PEG, PCH and DMI ASPM)
- Power > AC BACK > Always Off
- Power > ErP > ENABLED
- Power > Soft-Off by PWR-BTTN > Delay 4 Sec.
- Power > Power Loading > DISABLED
- Power > CEC 2019 Ready > DISABLED
- Save and restart
IMPORTANT! Do not install Intel RST or Optane drivers on Windows, because it changes the operation of SATA ports in BIOS from AHCI (required) to RAID (unsupported).
You can isolate Windows from Mac and vice versa (by choose in BIOS what operating system will start). I'm not using BootCamp because my Windows activation and other software are linked to my motherboard.
To correct date and time, you need patch registry for time sync with MacOS, run regedit as Administrator and go to HKEY_LOCAL_MACHINE
> SYSTEM
> CURRENTCONTROLSET
> CONTROL
> TIMEZONEINFORMATION
and add the property RealTimeIsUniversal with value DWORD=1
TIP! One valid use of Windows setup beyond gamming is to generate the files on
ACPI
folder. You can use SSDTTime tool to generateSSDT-AWAC.aml
,SSDT-EC.aml
,SSDT-HPET.aml
andSSDT-PLUG.aml
files (or other ACPI files your specific motherboard need). TheSSDT-EC-USBW.aml
andSSDT-SBUS-MCHC.aml
can be edited and compiled using MaciASL util. Sources are inother/acpi_src
in this repo.
- Can be direct downloaded from Apple using App Store on a regular MacOS computer;
- Make a USB install disk (the example below uses a USB device named USB and makes Monterey installation disk):
sudo /Applications/Install\ macOS\ Monterey.app/Contents/Resources/createinstallmedia --volume /Volumes/USB
- Use git repo to download the EFI folder
git clone git@github.com:elieserme/hackintosh.git
Use ProperTree to edit the config.plist
file and change PlatformInfo values to your own machine:
- MLB, SystemSerialNumber and SystemUUID can be generated by GenSMBIOS utility;
- Before use a generated SystemSerialNumber, check it on Apple Database (If it is valid, generate another and repeat if necessary until find an invalid and unused one);
- ROM is the Mac address of the en0 network adapter (on Gigabyte z370N WIFI 1.0 is the Intel i219v gigabit port). Use the Network Settings > Advanced > Hardware panel to copy the Mac address (only numbers and letters, without the : chars);
- Inside the
config.plist
search and replace AAAAAAAAAAAA with your generated SystemSerialNumber value, BBBBBBBBBBBBBBBBBB with MLB value, CCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC with SystemUUID value and DDDDDDDD with ROM value:
<key>PlatformInfo</key>
<dict>
<key>Automatic</key>
<true/>
<key>CustomMemory</key>
<false/>
<key>Generic</key>
<dict>
<key>MaxBIOSVersion</key>
<false/>
<key>AdviseFeatures</key>
<false/>
<key>SystemMemoryStatus</key>
<string>Auto</string>
<key>MLB</key>
<string>BBBBBBBBBBBBBBBBBB</string>
<key>ProcessorType</key>
<integer>0</integer>
<key>ROM</key>
<data>DDDDDDDD</data>
<key>SpoofVendor</key>
<true/>
<key>SystemProductName</key>
<string>MacPro7,1</string>
<key>SystemSerialNumber</key>
<string>AAAAAAAAAAAA</string>
<key>SystemUUID</key>
<string>CCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC</string>
</dict>
<key>UpdateDataHub</key>
<true/>
<key>UpdateNVRAM</key>
<true/>
<key>UpdateSMBIOS</key>
<true/>
<key>UpdateSMBIOSMode</key>
<string>Create</string>
<key>UseRawUuidEncoding</key>
<false/>
</dict>
- To make your brazilian ABNT2 keyboard default when Install MacOS, change language and keyboard layout in your
config.plist
inside NVRAM key section:
<key>prev-lang:kbd</key>
<string>pt-BR:128</string>
- Mount the EFI partition of the USB disk using MountEFI utility and copy the EFI folder inside
/Volumes/EFI
- Boot the target machine with USB disk you just made
- Using Modified GRUB Shell we must disable CFG Lock first with command below:
setup_var_3 0x5A4 0x00
Please note that hardcoded value is for F14 BIOS version of the Gigabyte z370N WIFI 1.0 motherboard, if you use another BIOS version or another motherboard model you need to recalculate this value (this command must run every time that BIOS is reflashed or CMOS clear. Some other motherboards can disable CFG Lock on BIOS settings without this hack). Below is the offset table for my tested BIOS versions:
Gigabyte Z370N WiFi BIOS | CFG Lock offset |
---|---|
F10 | 0x0585 |
F14 | Ox05A4 |
- Use Clear NVRAM and reboot to make a clean install
- Use Disk Utility to erase a APFS GUI volume and install MacOS
- Finish normal MacOS setup
The included USBMap.kext
with USB mapping is for the Gigabyte z370N WiFi 1.0 and MacPro7,1 SMBIOS only with some USB 3 ports, one USB type C and one internal Bluetooth USB port enabled.
Keep in mind that you have to choose what ports to enable, because MacOS has a 15 logical ports limit and each port has 2 logical ports (one physical port has one USB 2 and one USB 3 personality, and USB Type C has different ports for each side... so 2 logical ports per physical port) and you have to reserve a port for Bluetooth card.
List of the 15 ports ENABLED:
Label | Name | Type | Comment |
---|---|---|---|
I | HS01, SS01 | 0, 3 | USB 2.0 & 3.1 front 1 |
I | HS02, SS02 | 0, 3 | USB 2.0 & 3.1 front 2 |
F | HS03, SS03 | 0, 3 | USB 2.0 & 3.1 rear 5 |
G | HS04, SS04 | 0, 3 | USB 2.0 & 3.1 rear 6 |
C | HS05 | 0 | USB 2.0 rear 3 |
D | HS06 | 0 | USB 2.0 rear 4 |
E | HS09 | 0 | USB 2.0 only rear Type C |
H | HS10 | 255 | USB 2.0 internal (bluetooth) |
J | HS11 | 0 | USB 2.0 internal (wireless keyboard or mouse dongle) |
E | SS09, SS10 | 10, 10 | USB 3.1 only rear Type C (for each side of the connector) |
List of ports DISABLED:
Label | Port | Comment |
---|---|---|
C | SS05 | Only USB 2.0 active on HS05 |
D | SS06 | Only USB 2.0 active on HS06 |
A | HS07, SS07 | Only to power my desklight |
B | HS08, SS08 | Only to power my soundbar |
J | HS12 | Not used in macOS |
hidden | HS13, HS14, USR1, USR2 | Not used in macOS |
Sometimes after sleep the computer will wake every few minutes. Normal Macs do this for several reasons, like other devices near. If you require a deep sleep without random wakeups, use the commands below to disable this features:
sudo pmset proximitywake 0
This is a desktop machine, you may want to disable hibernation:
sudo pmset hibernatemode 0
If you want to restore the default factory settings:
sudo pmset -a restoredefaults
You know that Power Button can turn on and wake the computer from Sleep and Hibernate modes. But you can make the Power Button works for turn off the display and sleep like a real Mac too with the following command:
defaults write com.apple.loginwindow PowerButtonSleepsSystem -bool yes
To verify the current values on your computer and see what services are preventing the system to sleep, use the following command:
pmset -g live
The commands above works on a real Mac computer too, if you want deep sleeps just follow the same steps.
- If you do not want the Boot Menu, disable it in
config.plist
to boot like a real Mac:
<key>ShowPicker</key>
- <true/>
+ <false/>
After all you will can boot MacOS, Windows and Recovery just like a real Mac computer:
- Hold Option key (or ESC key) to show boot menu (if you hide it);
- Press Space Bar on boot menu to show advanced options (like Recovery and NVRAM reset);
- Update your Mac using the Apple Software Updates;
- Remind update OpenCore before update MacOS.
Final Build