Gigabyte z390 Designare Hackintosh
The king is dead. Long live the king.
Thanks to
👑 baughmann for passing the torch for me to maintain this repo. I'll try and keep things up to date for everyone and address issues as they come up. I use this computer daily for work and it has been very reliable. I've made quite a few changes to the format and information of this readme so take a read and let me know if anything is unclear.
Status: Success | Stable
DISCLAIMER:
As you embark on your Hackintosh journey you are encouraged to READ the entire README and Dortania guides before you start, or check out some Youtube videos to get an understanding of the install process. It will save many a message instructing you to read the manual. I am not an expert, I haven't forced you to do anything, so put on your big boy pants and take responsibility for any mess you get yourself into.
With that said I'm happy to help when/where I can. When you encounter bug or want to improve this repo, consider opening an issue or pull request. You can also find a wealth of knowledge on Reddit, TonyMacX86 or Google.
Introduction
This is not a guide!
This is not a complete guide. It should only be used as a reference. I provide tips and tricks that I learned on my journey in building a hackintosh. The best way of using this is as a supplement to the OpenCore guide; if you have questions about how to setup your specific hardware, are unclear about what to do, or would like to see the settings I've used.
I understand that some may simply copy the EFI folder to their EFI partition. For clarity the EFI folder needs to go onto the EFI partition.
EFI (partition)
EFI
├── BOOT
├── OC
It should work and your Gigabyte z390 Designare based hackintosh should boot and work fine. You will at minimum need to generate SMBIOS values if you want Apple services to work. Note that all error reporting/logging has been turned off in the config.plist. You will have a difficult time trouble shooting with the setup provided. You can easily turn on the error reporting and logging if you follow the Dortania guide. Best of luck.
NOTE if you simply wish to copy my EFI please do the following:
- Properly set your BIOS settings
- Generate SMBIOS values and add them in the config.plist (MacPro7,1)
- Ensure the value of
showpicker
istrue
in the config.plist file to provide access to the OpenCore menu while booting.- Prepare your install USB
- Move the entire EFI folder (with your modifications) to the proper partition on your USB (or hard drive once the install is complete).
- Install - You need to select F12 to get the boot menu options and boot from the USB each time the computer restarts until you've copied the EFI folder onto the hard drive. You may also need to select the correct boot option during install, although this is typically done automatically.
This is a guide!
To install macOS follow the guides provided by Dortania
Shout out and credits
Shout out to baughmann the OG of this repo. He entrusted it to my care while he's moving on to bigger and better things. All the best to him and many thanks for his contributions.
Credit to all these great people whom I don't know but have made my hackintosh dreams come true:
- EETagent for his repository (I like the layout of his guide and used it to create this one)
- The guys from Acidanthera that make this possible
- Apple for macOS and HfsPlus.efi
- corpnewt for USBMap and CPUFriendDataProvider
- headkaze for Hackintool
- Mieze for IntelMausiEthernet
- And every other contributor
- People at r/hackintosh for their advice and help
- Useful tools by CorpNewt and headkaze
- CaseySJ Gigabyte Designare Z390 build
Benchmarks (Geekbench 5) 🏎
CPU:
Compute (GPU):
Hardware
My system
Category | Component | Note |
---|---|---|
CPU | Intel Core i7-9700k | Other motherboard compatible CPUs shouldn't be an issue |
MB | Gigabyte Designaire Z390 (rev 1.0) | |
GPU | Saphire Pulse RX 5700 XT | agdpmod=pikera needed for 5000 & 6000 series AMD cards |
SSD | WD Black 250 GB | Boot drive |
SSD | HP EX 950 1TB | Home folder |
SSD | WD Blue 2TB | Video and photo storage |
SSD | WB Blue 250GB | Backup boot drive for testing OS update/upgrades |
HD | Seagate Iron Wolf 6TB | Used as internal time machine backup |
Ethernet | Intel I211 and Intel I219 | Dual Gigabit LAN (both working) |
Memory | 64GB / 3200MHz DDR4 | |
Wifi & BT | Intel® CNVi interface 802.11a/b/g/n/ac | Works with regular Intel wifi/bluetooth limitations |
Case | O11 Dynamic | I have the white version. |
Monitor | LG UltraWide 49 | 49" UltraWide 32:9 Dual QHD (5120 x 1440) IPS Display |
baughmann's system
Component | Product |
---|---|
CPU | Intel Core i9 9900K |
MB | Gigabyte Designaire Z390 (rev 10) |
GPU | AMD Radeon VII 16 GB |
SSD | Samsung EVO 970 (NVMe - 1TB) |
baughmann's other system
Component | Product |
---|---|
CPU | Intel Core i7 8700K |
MB | Gigabyte Designaire Z390 (rev 10) |
GPU | AMD Radeon VII 16 GB |
SSD | Samsung 860 EVO SSD (1TB) |
Other Configurations
- Without a dedicated GPU
- Other AMD GPU's are probably mostly plug-n-play. Be sure to read the fantastic Buyer's Guide by Dortania before you buy!
Main software
Component | Version |
---|---|
macOS Monterey | 12.6 |
OpenCore | v0.8.5 |
ACPI Files
Component |
---|
SSDT-AWAC.aml |
SSDT-EC-USBX-DESKTOP.aml |
SSDT-PNLF-DRTNIA.aml |
SSDT-PMC.aml |
Kernel extensions
Kext | Version |
---|---|
AppleALC | 1.7.5 |
AppleIGB | 5.7.2 |
IntelMausi | 1.0.8 |
Lilu | 1.6.2 |
RestrictEvents | 1.0.8 - only needed with SMBIOS MacPro7,1 |
SmallTreeIntel82576 | 1.3.0 - used for BigSur I211 ethernet port |
SMCProcessor | 1.3.0 |
SMCSuperIO | 1.3.0 |
USBPorts | 1.0.0 |
VirtualSMC | 1.3.0 |
WhateverGreen | 1.6.1 |
The following are included in the EFI 2 enabling the internal WiFi and Bluetooth. The USB map is changed to disable port 11& 12 and enable port 8 & 14. See the USB section below for more details.
Kext | Version |
---|---|
AirportItlwm | 2.1.0 - enable Wifi on Monterey |
AirportItlwmBS | 2.1.0 - enable Wifi on BigSur |
BlueToolFixup | 2.6.4 - needed for Monterey and newer |
IntelBluetoothFirmware | 2.2.0 |
IntelBluetoothInjector | 2.2.0 - used for BigSur only |
IntelBTPatcher | 2.2.0 |
USBPorts | 1.0.1 - disables ports 11 & 12, and enable port 8 & 14 |
UEFI drivers
Driver | Version |
---|---|
HfsPlus.efi | 1.0.0 |
OpenRuntime.efi | OpenCorePkg 0.8.5 |
ResetNvramEntry.efi | 0.8.5 |
Before installation
UEFI/BIOS settings
Note DEL key gets you into BIOS Setting during boot.
Update (or downgrade) your motherboard's BIOS firmware
Use BIOS version F9i or F9 (don't use F9j). You can download F9i from this repo's releases page or F9 (the latest version) from Gigabyte's website.
BIOS configuration
Visit the BIOS configuration page to ensure that your BIOS is configured properly.
Note: If you've recently updated your BIOS firmware, you will need to double-check these as some of them get reset after updating!
⚠️ HIGHLIGHTED CHANGES FROM PREVIOUS EFI ⚠️
The following changes should be noted:
- Audio changed to alcid=11 see
Audio Setup
below - SMBIOS changed to MacPro7,1 (as of OpenCore 0.8.3 release)
- Internal Wifi/Bluetooth enabled in second EFI - see release
- USBPorts.kext changes - highlighted below
- AAPL,ig-platform-id - changed from
0300913E
to0300923E
either should work. I was using the latter and it's working so ¯\(ツ)/¯
Customizing the config.plist
Read the official OpenCore Desktop Guide for Coffee Lake when making changes to the config.plist
and the guide's Gather Files section when picking drivers and kexts.
The following fields have been replaced by [REPLACEME]
(for ease of ⌘+F):
config.plist
>PlatformInfo
SystemSerialNumber
SystemUUID
MLB
- Follow the OpenCore instructions to generate your own unique identifiers.
- Also replace the ROM value of
11223344 5566
as outlined in the OpenCore Instructions - Choose a
SystemProductName
, eitheriMac19,1
orMacPro7,1
see Post Install > Generate your own SMBIOS for details. - All packages are
RELEASE
and debugging is disabled. If you're having issues, be sure to enable debugging as described in the OpenCore docs, and also grab theDEBUG
version of OpenCorePkg.
Own prev-lang-kbd
In the config.plist file you set the default language as outlined in the guide. You can either add it as a string or as a hex data using ProperTree
The setting is found in the config.plist under:
- NVRAM
- 7C436110-AB2A-4BBB-A880-FE41995C9F82
Format is lang-COUNTRY:keyboard as shown below:
🇺🇸 | [0] en_US - U.S --> en-US:0 OR656e2d55 533a30
in HEX
Key | Type | Value |
---|---|---|
prev-lang:kbd | String | en-US:0 |
It is set to English but you can find alternatives here:
Monterey, BigSur or Ventura?
The EFI folder should work for either Monterey, BigSur or Ventura. No idea if it'll work with Catalina. I've set AppleIGB kext to be enabled for Monterey and above to get both ethernet ports working. For BigSur I've enabled the SmallTreeIntel82576 kext. They are controlled using MinVersion and MaxVersion values so no config.plist file changes are required.
Also avoid installing Monterey 12.3 it had issues with AMD GPUs that needed DeviceProperties values set for the PCIE device (not included in this EFI). Google is your friend here but it's easiest just not to install 12.3
I'm primarily using this EFI with Monterey 12.6 at the moment. I have successfully install Ventura (beta) on a secondary drive and everything was working. Let me know if you have issues with BigSur.
Generate your own SMBIOS
Use GenSMBIOS to create your own serial #... based off of your preferred model.
- MacPro7,1 -
What I used
- See below if you want to keep iMac19,1
Note: If you use a different SMBIOS model other than MacPro7,1 or iMac19,1. The provided USB mapping will not work. You will need to edit the USBPorts.kext file. You can right click on the file and select Show Package Contents. From there you can open the Info.plist file in ProperTree and change MacPro7,1 to whatever Model ID you've chosen. This should provide a working USBPorts.kext.
Keeping SMBIOS iMac19,1
If you've used a previous version from this repo and everything is working for you, I would recommend you keep the iMac19,1 SMBIOS so that you don't have to generate new serial numbers etc. In this case you can simply use Propertree to delete the entire PlatformInfo
portion of the config.plist file and replace it (copy and paste) with the PlatformInfo
from your existing config.plist file.
Alternatively you can manually update the PlatformInfo
by adjusting the following:
Key | Type | Value |
---|---|---|
CustomMemory | Boolean | False |
MLB | String | [REPLACEME] ^*^ |
ROM | Data | 11223344 5566 ^*^ |
SystemProductName | String | iMac19,1 |
SystemSerialNumber | String | [REPLACEME] ^*^ |
SystemUUID | String | [REPLACEME] ^*^ |
*Replace these with your values
NOTE: If you have everything working with your own USB mapping file. KEEP IT. Replace the provided USBPorts.kext file with the one in your existing EFI folder and perform a snapshot in Propertree for good measure.
USB Mapping (active ports)
The latest version of USBPorts.kext will work with either SMBIOS iMac19,1 or MacPro7,1.
MacOS has a fifteen port limit. You can read more about the details in the guide. Depending on your specific needs you may want to customize/recreate the port mapping.
USB Mapping EFI 1
This USBPorts.kext file provided enables the following ports:
For reference the associated ports are outlined in the following diagrams (modified from CaseySJ):
USB Mapping EFI 2
Note the difference from EFI 1 is the enabling of ports 8 & 14 and disabling of ports 11 & 12. This was done to enable the internal Wifi and bluetooth.
This USBPorts.kext file provided enables the following ports:
For reference the associated ports are outlined in the following diagrams (modified from CaseySJ):
Custom RAM Config
If you're using SMBIOS iMac19,1 you can safely ignore this and just ensure
Kernel>Add> RestrictEvents.kext
>Enabled
isFalse
.
Using the SMBIOS MacPro7,1 will require either CustomMemory
to be configured or RestrictEvents.kext to be installed. I've enabled the RestrictEvents.kext as default. If you want to create the custom memory values the details can be found in the guide.
Audio Setup
There are three options available that I'm aware of. You can use alcid 7, 11, or 16. All three are used by different Designare EFIs available online. I'm using alcid 11 because it works for what I need. If you have specific audio requirements and alcid 11 isn't working try the other values. ==Previous EFIs in this repo used alcid=7.==
NOTE: Alcid values can be added to the 'NVRAM > boot-args' key or DeviceProperties. The boot-args value will override the DeviceProperties value if both are used. You only need one. This EFI uses the DeviceProperties method.
Audio output quirks
3.5mm jack will show as Internal Speakers depending on the alcid you've chosen:
alcid= | Front jack | Rear jack |
---|---|---|
7 | Headphones | Internal Speakers |
11 | Headphones | Internal Speakers |
16 | Internal Speakers | Headphones |
alcid decimal to hex value table
Decimal | Hex value |
---|---|
7 | 07000000 |
11 | 0B000000 |
16 | 10000000 |
Audio setting method used in EFI
DeviceProperties>Add
Key | Type | Value |
---|---|---|
PciRoot(0x0)/Pci(0x1F,0x3) | Dictionary | |
layout-id | Data | 0B000000 |
Status
What's working ✅
- GPU hardware acceleration / performance
- iMessage, FaceTime, App Store, iTunes Store.
Generate your own SMBIOS
- Intel I219-V Ethernet port
- Intel I211 Ethernet port
- Internal Wifi and bluetooth
- Audio jacks -
front and rear 3.5mm audio jacks work with quirks (see Audio Setup for details)
- Shutdown / Restart / Sleep
- USB 3.0/3/1 -
USB map created.
- Graphical Boot menu
OpenCanopy (I included it in the EFI but I don't use it as I generally skip the boot menu.)
- Thunderbolt 3 -
reported working not tested as I have no TB3 devices
- Sidecar -
reported working, I haven't tested
What's not working ⚠️
- All empty . Your hack should work wonderfully.
Untested 🧪
- Boot chime -
should work I just haven't tried it
- FileVault -
should work I just haven't tried it
- Windows/Linux from OC boot menu -
I'm not dual booting my system but there's no reason it shouldn't work.
Change log 🪵
-
14 Oct 2022
- Update to OpenCore 0.8.5
- Enable internal Wifi and bluetooth in EFI 2 - see Releases
- Change of USB port mapping in EFI 2 for internal bluetooth
-
8 Sept 2022
- Update to OpenCore 0.8.4
- Include SmallTree kext for BigSur (disabled for Monterey with MaxVersion value)
- Enable
DisableIoMapper
by default to resolve networking issues #67 - Ventura beta remains bootable and working
-
7 Aug 2022
-
Minor update to README added USB mapping changes
-
USBPorts.kext modified to be used with either SMBIOS
iMac19,1
orMacPro7,1
-
NOTE: Old USBPorts.kext for SMBIOS
iMac19,1
referencediMacPro19,1
incorrectly #61 and may not have been working properly.
-
-
6 Aug 2022
- Transfer of repo from baughmann to seven-of-eleven
- Update to OpenCore 0.8.3
- Updated readme format/details
- Change of SMBIOS from
iMac19,1
toMacPro7,1
only b/c that's what I'm using - Change alcid from 7 to 11
- Ventura beta 4 is bootable and working
-
11 October 2021
- Updated to OpenCore 0.7.4
- No longer need
slide=0
- Removed a bunch of hacky stuff (including USB ports unlimiter)
- Rebuilt
config.plist
from the ground-up to remove legacy crap that has built up over time - Boot times seemed to have improved
- Tried and failed to use BIOS version F9j
-
30 May 2021:
- Confirmed compatability with Big Sur 11.4
-
10 April 2021:
- Updated OpenCore to 0.6.9
- Fixed USB port issue occurring after upgrade to 11.3 by re-disabling
USBInjectAll.kext
, re-enablingUSBPorts.kext
(this mobo's USB map) and settingKernel
>Quirks
>XhciPortLimit
to0
- Updated all kexts and drivers that needed updating
-
10 April 2020:
- Updated OpenCore to 0.6.8
- Updated all Kexts and Drivers for which there was an update
- Fixed all non-fatal warnings at startup
- Ensured compatability with macOS Big Sur 11.2.3 (20D91)
-
15 December 2020:
- Updated to OpenCore 0.6.4
- Updated All Kexts and Drivers for which there was an update
- Ensured compatability with macOS Big Sur 11.1 (20C69)
-
1 December 2020:
- Modified BIOS suggestions to get Sidecar working (thanks @QueercoreTrash for #19)
- Added a BIOS configuration page with screenshots for user assistance.
-
16 Nov 2020:
- Updated to macOS Big Sur from Catalina
- For some reason, with Big Sur and OC 0.6.3, we no longer need AirportBrcmFix for the Fenvi BT/WiFi Card
- Changed
slide=1
toslide=0
- Kept
USBPorts.kext
inside theconfig.plist
, but disabled it because it seems as thoughUSBInjectAll.kext
does the trick
-
13 August 2020:
- Verified that supplemental update 10.15.6
19G73
=>19G2021
works without issues.
- Verified that supplemental update 10.15.6
-
10 August 2020:
- Added
SmallTreeIntel82576.kext
for enabling the secondary Ethernet port
- Added
-
4 August 2020:
- Updated OC to version 0.6.0
- Updated all of the acidanthera's drivers and kexts
-
1 August 2020:
- Updated OC to version 0.5.9
- Updated all kexts and drivers to the latest
- Removed
ApfsDriverLoader.efi
because it was rolled into OC starting with 0.5.9
-
13 June 2020:
- Updated OC, Kernel Extensions, and Drivers to be compatible with latest macOS update
10.15.5
(and supplemental update). - Somehow the boot picker remembers my choice now, meaning that emulated NVRAM is somehow working?
- IMPORTANT: Upgraded from
DEBUG
toRELEASE
:- Changed all drivers and OC files from the
DEBUG
versions toRELEASE
versions because I seem to have a stable system. - Modified
config.plist
to no longer generate logs (log level now0
). - If you're having problems, switch back to
DEBUG
mode yourself by following this guide.
- Changed all drivers and OC files from the
- Updated OC, Kernel Extensions, and Drivers to be compatible with latest macOS update