Skip to content

elieserme/hackintosh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hackintosh

This is the guide for OpenCore 1.0.1 Hackintosh build based on i7 9700KF | Gigabyte Z370N WIFI | Radeon RX 6600XT | 32GB RAM | running MacOS 14.6.1 Sonoma like an 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 core 3,6GHz with Turbo Boost up to 4,9GHz
Motherboard Gigabyte Z370N WiFi 1.0 Mini ITX
RAM 2 x Kingston KVR26N19D8/16 16GB DDR4 2666MHz (native jedec speed without XMP profile)
GPU Sapphire RX 6600XT 8GB Dedicated Video Card
Wireless Intel AC 8265NGW WiFi and Bluetooth PCIe card onboard
NVMe WD Black SN750 500GB PCIe NVMe (for MacOS, on the top of the motherboard)
WD Black SN750 1TB PCIe NVMe (for Windows 11 and gamming, on the back of the motherboard)
HDD 2 x Seagate BarraCuda ST2000DM008-2FR102 2TB HDD 3.5"
Coolers Montech DT24 CPU cooler
3 x Fractal Aspect 12 120mm case cooler (System Fan 1 and 2)
Power Supply Super Flower LEADEX III GOLD 850W (use this link to calculate your power supply need)
Case Fractal Pop Mini Silent Micro ATX and Mini ITX support

Memory Note! Do not use memory with speed beyond 2666MHz or XMP Profile on this motherboard, because it have issues with USB and Audio on MacOS.

Network Note! The Intel AT211 Ethernet is disabled in MacOS, so you need to use the Intel i219v Ethernet port when using MacOS. On Windows both ethernet ports are functional.

BIOS settings for Windows

Gigabyte z370N WIFI using BIOS version F12

  • Save & Exit > Load optimised defaults
  • SmartFan > System Fan 1 > Fan Control Use Temperature Input > PCH
  • SmartFan > System Fan 2 > Fan Control Use Temperature Input > PCH
  • BIOS > FastBoot > DISABLED
  • BIOS > CSM Support > DISABLED
  • BIOS > Windows 8/10 Features > Windows 8/10 WHQL
  • BIOS > Secure Boot > ENABLED
  • Peripherals > Initial Display Output > PCIe 1 Slot
  • Peripherals > Above 4G Decoding > ENABLED
  • Peripherals > Intel PTT > ENABLED
  • Peripherals > SGX > DISABLED
  • Peripherals > Trusted Computing > ENABLED
  • Peripherals > SATA and RST Configuration > SATA Mode Selection > AHCI
  • Peripherals > SATA and RST Configuration > Aggressive LPM Support > DISABLED
  • Peripherals > USB Config > Legacy > DISABLED
  • Peripherals > USB Config > XHCI Handoff > ENABLED
  • Peripherals > USB Config > Port 60/64 emulation > DISABLED
  • Chipset > VT-d > ENABLED
  • Chipset > Wake On Lan > DISABLED (remind to disable it on adapters too)
  • Power > AC BACK > Always Off
  • Power > ErP > DISABLED
  • Power > Soft-Off by PWR-BTTN > Delay 4 Sec.
  • Power > CEC 2019 Ready > DISABLED
  • Power > Platform Power Management > ENABLED (enable child items PEG, PCH and DMI ASPM)
  • Save & Exit > Save Profile > Windows (get the first entry and name it)
  • Save & Exit > Save & Exit Setup

Windows 11 setup

You can install Windows 11 as usual. Drivers for this motherboard are below:

TimeCapsule on Windows: To use TimeCapsule driver, first enable the SMB 1.0/CIFS on Windows (use the Turn Windows features on or off dialog for this). The same apply if you have a Windows file server that will be accessed by a MacOS machine or vice-versa.

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 (or run Command Prompt as Administrator and execute the following command):

reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation" /v RealTimeIsUniversal /d 1 /t REG_QWORD /f

You will want to Turn off Memory Integrity on Windows 11 to avoid problems on Opencore boot (and increase gamming performance):

  • Select Start, enter ‘Core Isolation’ in the taskbar, and select Core Isolation from the list of results to open the Windows security app;
  • On the Core isolation page, turn off the toggle for Memory Integrity. You might need to restart the computer.

BIOS settings for MacOS

  • BIOS > Secure Boot > DISABLED
  • Peripherals > Intel PTT > DISABLED
  • Peripherals > Trusted Computing > DISABLED
  • Save & Exit > Save Profile > MacOS (get the second entry and name it)
  • Save & Exit > Save & Exit Setup

MacOS 14 Sonoma setup

  • 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 Sonoma installation disk):
sudo /Applications/Install\ macOS\ Sonoma.app/Contents/Resources/createinstallmedia --volume /Volumes/USB
  • Download the git repo sources and use the EFI folder or clone it with following command:
git clone git@github.com:elieserme/hackintosh.git

Download ProperTree to edit the config.plist file and change PlatformInfo values to your own machine:

  • MLB, SystemSerialNumber and SystemUUID can be generated by downloading and use 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);
  • The System UUID can be used if you will not dual boot with Windows. If you plan to dual boot use the Windows system UUID noted in the step above installing Windows;
  • 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>iMacPro1,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>
  • Mount the EFI partition of the USB disk with MountEFI utility and copy your EFI folder to /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 F11, F12, F13, F14a, F14b and 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).

  • 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 iMacPro1,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 3 USB 2.0 & 3.1 front 1
I HS02, SS02 3 USB 2.0 & 3.1 front 2
F HS03, SS03 3 USB 2.0 & 3.1 rear 5
G HS04, SS04 3 USB 2.0 & 3.1 rear 6
C HS05 3 USB 2.0 rear 3
D HS06 3 USB 2.0 rear 4
E HS09 9 USB 2.0 only rear Type C
H HS10 255 USB 2.0 internal (bluetooth)
J HS11 3 USB 2.0 internal (wireless keyboard or mouse dongle)
E SS09, SS10 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

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.

Final Steps

The EFI folder configuration already comes with SecureBootModel and WiFi and Bluetooth Kexts disabled by default. After successfully installing MacOS you can enable these options as below.

MacOS Update: Using Sonoma 14.4 and later, every time you update MacOS, you need to first disable SecureBootModel (Disabled) and also disable all Intel WiFi and Bluetooth Kexts. After the update, you can enable it again. Please remind to Clear NVRAM each time you enable or disable this settings.

  • Enable the SecureBootModel in config.plist:
	<key>SecureBootModel</key>
-	<string>Disabled</string>
+	<string>Default</string>
  • Enable the Intel WiFi and Bluetooth Kexts in config.plist:
	<dict>
		<key>Arch</key>
		<string>Any</string>
		<key>BundlePath</key>
		<string>AirportItlwm.kext</string>
		<key>Comment</key>
		<string>AirportItlwm.kext</string>
		<key>Enabled</key>
-		<false/>
+		<true/>
		<key>ExecutablePath</key>
		<string>Contents/MacOS/AirportItlwm</string>
		<key>MaxKernel</key>
		<string></string>
		<key>MinKernel</key>
		<string></string>
		<key>PlistPath</key>
		<string>Contents/Info.plist</string>
	</dict>
	<dict>
		<key>Arch</key>
		<string>Any</string>
		<key>BundlePath</key>
		<string>IntelBluetoothFirmware.kext</string>
		<key>Comment</key>
		<string>IntelBluetoothFirmware.kext</string>
		<key>Enabled</key>
-		<false/>
+		<true/>
		<key>ExecutablePath</key>
		<string>Contents/MacOS/IntelBluetoothFirmware</string>
		<key>MaxKernel</key>
		<string></string>
		<key>MinKernel</key>
		<string></string>
		<key>PlistPath</key>
		<string>Contents/Info.plist</string>
	</dict>
	<dict>
		<key>Arch</key>
		<string>Any</string>
		<key>BundlePath</key>
		<string>IntelBTPatcher.kext</string>
		<key>Comment</key>
		<string>IntelBTPatcher.kext</string>
		<key>Enabled</key>
-		<false/>
+		<true/>
		<key>ExecutablePath</key>
		<string>Contents/MacOS/IntelBTPatcher</string>
		<key>MaxKernel</key>
		<string></string>
		<key>MinKernel</key>
		<string></string>
		<key>PlistPath</key>
		<string>Contents/Info.plist</string>
	</dict>
	<dict>
		<key>Arch</key>
		<string>Any</string>
		<key>BundlePath</key>
		<string>BlueToolFixup.kext</string>
		<key>Comment</key>
		<string>BlueToolFixup.kext</string>
		<key>Enabled</key>
-		<false/>
+		<true/>
		<key>ExecutablePath</key>
		<string>Contents/MacOS/BlueToolFixup</string>
		<key>MaxKernel</key>
		<string></string>
		<key>MinKernel</key>
		<string></string>
		<key>PlistPath</key>
		<string>Contents/Info.plist</string>
	</dict>

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/>

Dual Boot

To switch between Windows and MacOS you must enter the BIOS and change the Boot order to the Windows or MacOS disk according to your choice and also load the BIOS settings profile depending on the operating system you are going to start:

  • Save & Exit > Load Profile > Windows or MacOS
  • Save & Exit > Save & Exit Setup

About

Hackintosh PC that runs MacOS

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published