Skip to content

Aazamandius/hackintosh

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hackintosh

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.

Table of Contents

Warning

Please read the OpenCore Guide to understand the process and make any changes if you require different settings.

Why use iMac Pro model

  • 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).

Hardware

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

BIOS settings

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

Windows 10

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 generate SSDT-AWAC.aml, SSDT-EC.aml , SSDT-HPET.aml and SSDT-PLUG.aml files (or other ACPI files your specific motherboard need). The SSDT-EC-USBW.aml and SSDT-SBUS-MCHC.aml can be edited and compiled using MaciASL util. Sources are in other/acpi_src in this repo.

MacOS 12 Monterey

  • 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

USB Ports

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.

Motherboard

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

Sleep and Hibernate

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.

Cleaning the EFI

  • If you do not want the Boot Menu, disable it in config.plist to boot like a real Mac:
	<key>ShowPicker</key>
-	<true/>
+	<false/>

Final comments

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.

Build images

Final Build

Logi1

Anurag's GitHub stats

About

Hackintosh PC that runs MacOS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 85.4%
  • Shell 8.0%
  • Batchfile 3.7%
  • ASL 2.9%