Gigabyte Z490 Vision G Hackintosh OpenCore
About
EFI folder for the Gigabyte Z490 Vision G mainboard I've been working on and refining since September 2020. It's based on Dortania's OpenCore Install Guide and analysis of an .ioreg file from a real iMac20,1. I've dumped the system DSDT
, analyzed it and added missing components and features via SSDT
Hotpaches from Daliansky's "OC-Little" Repo to get it as close to a real Mac as possible. USB Ports are mapped via ACPI
, so no USBPort kext is required. I think this is the most sophisticated Z490 Vision G EFI folder on Github yet! And just for fun, I added a Clover as well which boots super-fast.
This is a genuine Z490 Vision G EFI, built from scratch. Unlike most pseudo Z490 Vision G EFIs posted on Forums and Repos, which are either based on generically patched DSDTs by Olarila/MaLDon (stay away from those!) or on SchmockLords EFI for the Z490 Vision D, which contains unnecessary DeviceProperties for Tunderbolt, an I219 Ethernet Controller and on-board WiFi/BT. My EFI Folder doesn't contain any of this junk.
Tested successfully with macOS Mojave, Catalina, Big Sur and Monterey.
NOTE: For best results, read and follow the install instruction carefully and thoroughly.
The I225-V Ethernet Controller doesn't work in macOS 12 by default. You need to flash a custom firmware. |
600/700-series NVDIA Cards require Geforce Kepler Patcher to enable GPU acceleration. |
Build Info
System Specs (click to reveal content)
System Specs
Component | Details |
---|---|
Board | Gigabyte Z490 Vision G. BIOS: F21. F5 or newer is required to disable CFG Lock . Otherwise enable Kernel Quirk AppleXcpmCfgLock |
CPU | Intel Core i9 10850K (Comet Lake) |
RAM | 32 GB DDR4 2400 Crucial Ballistix Sport LT |
iGPU | Intel UHD 630 (Headless). Use this Framebuffer Patch if you want to use it for driving a display. |
GPU | Saphire RX580 Nitro+ (4 GB) |
Audio | Realtek® ALC1220-VB (Layout-id: 17 ) |
Ethernet | Intel I225-V 2.5GbE. Compatible with macOS 10.15.7 and newer. Requires flashing a custom Firmware for macOS Monterey |
Ethernet (PCI) | Intel PRO/1000 PT Dual Port Server Adapter (any macOS) |
BIOS Settings
BIOS Settings
- Tweaker [TAB]
- Extreme Memory Profile (XMP): Enabled (if supported by RAM)
- Advanced CPU Settings
- VT-d: Enabled
- Intel Speed Shit: Enabled
- Settings [TAB]
- Platform Power
- Platform Power Management: Disabled
- ErP: Enabled (so USB Power turns off, after PC is shut down)
- IO Ports
- Internal Graphics: enabled (if CPU has integrated graphics). NOTE: The config.plist uses dGPU for Display(s) and iGPU for computational tasks only by default. If you want to use the iGPU to drive a display you need a different Framebuffer Patch (see "EFI Install Instructions" for details).
- OnBoard LAN Controller: Enabled
- Audio Controller: Enabled (if On-Board Sound Card is used)
- Above 4G Decoding: Enabled
- Re-Size BAR Support: Disabled
- IOAPIC 24-119 Entries: Enabled
- Super IO Configuration
- Serial Port: Disabled
- USB Configuration
- Legacy USB Support: Disabled
- XHCI Hand-off: Enabled
- Network Stack Configuration
- Network Stack: Disabled
- Platform Power
- Boot [TAB]
- CFGLock: Disabled (only available on newer BIOS versions)
- Windows 10 Features: Windows 10
- CSM: Disabled (to get rid of legacy code from
DSDT
)
OpenCore Details
OpenCore Details
EFI Folder Content
EFI Folder Structure
EFI
├── BOOT
│ └── BOOTx64.efi
└── OC
├── ACPI
│ ├── DMAR.aml
│ ├── SSDT-AWAC-ARTC.aml
│ ├── SSDT-DMAC.aml
│ ├── SSDT-EC-USBX.aml
│ ├── SSDT-FWHD.aml
│ ├── SSDT-PLUG.aml
│ ├── SSDT-PMC.aml
│ ├── SSDT-PORTS.aml
│ ├── SSDT-RX580.aml
│ ├── SSDT-SBUS-MCHC.aml
│ └── SSDT-XSPI.aml
├── Drivers
│ ├── HfsPlus.efi
│ ├── OpenCanopy.efi
│ └── OpenRuntime.efi
├── Kexts
│ ├── AGPMInjector.kext
│ ├── AppleALC.kext
│ ├── CPUFriend.kext
│ ├── CPUFriendDataProvider.kext
│ ├── FeatureUnlock
│ ├── Lilu.kext
│ ├── NVMeFix.kext
│ ├── RestrictEvents
│ ├── SMCProcessor.kext
│ ├── SMCSuperIO.kext
│ ├── VirtualSMC.kext
│ └── WhateverGreen.kext
├── OpenCore.efi
├── Resources (NOTE: removed files of sub-folders from tree view to reduce clutter)
│ ├── Font
│ ├── Image
│ │ ├── Acidanthera
│ │ │ ├── Chardonnay
│ │ │ ├── GoldenGate
│ │ │ └── Syrah
│ │ ├── Blackosx
│ │ │ └── BsxM1
│ │ └── velickovicdj
│ │ └── EnterTwilight
│ └── Label
├── config.plist
└── config_iMac19,1.plist
About included ACPI Tables
My EFI Folder contains additional ACPI Tables besides the usual, which you won't find in the OpenCore Install Guide. Some of them are board-specific, some of them are modified versions of the regular tables, some are just cosmetic.
Here's what the extra tables do:
- DMAR: DMAR replacement table without Reserved Memory Regions so the I225-V LAN Card works in macOS Big Sur and Monterey.
- SSDT-AWAC-ARTC: Special variant of
SSDT-AWAC.
Disables AWAC Clock and enables RTC as ARTC instead. Also disables legacyHPET
device. - SSDT-PORTS: OS-agnostic USB Port Mapping Table for the Z490 Vision G. No additional USB Port kext or quirks are required. Since the USB ports are mapped via ACPI they will work in any macOS. See the "Additional Files" folder for a detailed list of available and mapped ports.
- SSDT-DMAC (optional): Adds a fake Direct Memory Access Controller to the device tree of I/O Registry. Disablked By default, since it's cosmetic.
- SDT-FWHD (optional): Adds fake Firmware Hub Device (FWHD) to I/O Registry. Used by almost every intel-based Mac. Disabled by default since it's comsetic.
- SSDT-PMC (optional): Adds fake Apple-exclusice
PCMR
Device to ACPI. Required for 300-series mainboards but optional on 400-series and newer. Disabled. - SDT-RX580 (disabled) → Improves Metal Performance on Radeon RX580 cards. See the test results
- SSDT-XSPI (optional, enabled): Adds PCH SPI Controller to IORegistry as
XSPI
. So it's not a fake device but probably only a cosmetic change.
NOTE: More info about additional ACPI Tables can be found on my OC Little Repo
Disabled Kexts
The following Kexts are disabled by default since I don't know which CPU, GPU, Hard Disk and SMBIOS you will be using:
AGPMInjector.kext
→ Injects Apple Graphics Power Management for the GPU into I/O RegistryCPUFriend.kext
andCPUFriendDataProvider.kext
. Create your own DataProvider kext using CPUFriendFriend, replace the existing one and enable bothNVMeFix.kext
: recommended for all 3rd party NVMe SSD drivesFeatureUnlock
: see comments for detailsRestrictEvents
: Only required when usingMacPro7,1
SMBIOS. Needsrevpatch=auto
boot-arg to disable Warning about unpopulated RAM slots.
Installation
How to install macOS
Installing macOS
Coming from Windows/Linux: If you are on Windows or Linux, follow the guide provided by Dortania. NOTE: No support from my end for issues related to UBS Installers created in Windows or Linux!
Coming from macOS: If you already have access to macOS, you can either download macOS from the App Store or use ANYmacOS instead. It's a hassle-free app than can download any macOS from High Sierra up to Monterey and create a USB Installer as well.
EFI Install Instructions
EFI Install Guide for OpenCore
- Download latest OC EFI Release and unpack it
- Select the config of your choice and rename it to
config.plist
- Open
config.plist
with OCAT and adjust the following parameters according to your hardware and software configuration:- Change
csr-active-config
based on the macOS version to disable SIP (when using GeForce Kepler Patcher, you have to disable SIP):
- For Monterey:
EF0F0000
(0xFEF) - For Big Sur:
67080000
(0x867) - For Mojave/Catalina:
FF070000
(0x7FF) - For High Sierra:
FF030000
(0x3FF)
IMPORTANT: UsingEF0F0000
also disables incremental system updates on macOS 11 and newer. So everytime an update is available, the full installer will be downloaded. To avoid this, either enable SIP temporarily from the OpenCore GUI or use67080000
instead.
- For Monterey:
- AMD GPUs may require additional
boot-args
. Check WhateverGreen's documentation for details. - If you want to use the Intel UHD 630 integrated graphics to drive a display, do the following in
DeviceProperties
>Add
:- Disable
PciRoot(0x0)/Pci(0x2,0x0)
(put##
in front of it) - Enable
#PciRoot(0x0)/Pci(0x2,0x0)
(delete the#
)
- Disable
- Change
- Getting the Intel(R) I225-V Ethernet Controller to work: read this
- Generate SMBIOS data for iMac20,1 or iMac20,2.
- Save the
config.plist
- Copy the EFI Folder to a FAT32 formatted USB Stick
- Reboot from USB Stick
- Perform an NVRAM Reset (hit Space Bar to reveal Tools)
- Boot macOS
- If your system boots successfully, mount your ESP and copy over the EFI Folder to you HDD/SSD and reboot.
- Continue with Post-Install!
Post-Install
Strengthen Security (recommended)
Once you got macOS running, you may want to change the following settings to make your system more secure:
-
Enable System Integrity Protection (SIP): change
csr-active-config
to00000000
.
NOTE: If you need GeForce Kepler Patcher, SIP needs to be disabled! -
Under
UEFI/APFS
, changeMinDate
andMinVersion
from-1
(disabled) to the correct values for the macOS version you are using. A list with the correct values for can be found here. -
Change
SecureBootModel
fromDisabled
toj185f
(for iMac20,2) orj185
(for iMac20,1). You should test these settings first booting from a USB flash drive since it can prevent the system from booting. Disable it for installing macOS Monterey if you have issues.IMPORTANT
- Since SMBIOS
iMac20,x
is for an iMac with a T2 Security Chip, you won't be notfied about System Updates ifSecureBootModel
is set toDisabled
. To workaround this, enable the following Kernel Patches in the config.plist:- Force IOGetVMMPresent
- Reroute kern.hv_vmm_present patch (1)
- Reroute kern.hv_vmm_present patch (2)
- If you have to use Geforce Kepler Patcher to get your GeForce Kepler Card working, you have to set
SecureBootModel
toDisabled
SecureBootModel
is only applicable to macOS Catalina and newer.
- Since SMBIOS
Optimizing CPU Power Management
You can follow my guide to use CPUFriendFriend to generate a CPUFriendDataProvider.kext
alongside CPUFriend.kext
to optimize the CPU Power Management for a more efficient performance. Have a look at the CPU behavior using Intel Power Gadget. The CPU idle frequency should be lower after adding the kexts:
Calculating Scan Policy (optional)
The items displayed in the Boot Picker Menu are based on a combination of bits representing supported devices (SATA, NVME, USB, etc.) and file systems (APFS, HFS, NTFS, etc.). There are 24 bits which can be turned on and off to modify what's displayed in the Boot Picker. The combination of selected bits create what's called the ScanPolicy
. It's located under Misc > Security in the config.plist.
The default value of my EFI is 0
(everything). Although this is great for compatibility, it will also display EFI Folders on drives which are not the boot drive as well.
To change the ScanPolicy
to your liking, you can make use of this online calculator: https://oc-scanpolicy.vercel.app/. I am using 2687747
for example which hides EFI Folders and NTFS Drives. If I need windows I just boot it from the BIOS Boot Menu (F12).
IMPORTANT: Calculating a wrong ScanPolicy
can lead to the Boot Picker being empty, so you can't boot into macOS. So make sure to test the value first by booting from FAT32 formatted USB Stick containing your EFI Folder with the new value for "Scan Policy".
Changing Themes
Besides the 3 themes from Acidanthera which provide the standard macOS look and feel, I've added 2 additional themes: BsxM1
(default) and EnterTwilight
. To change them, do the following:
- Open
config.plist
- Go to Misc > Boot and change
PickerVariant
to:Blackosx\BsxM1
orvelickovicdj\EnterTwilight
- Save and reboot
To revert these changes, enter Acidanthera\GoldenGate
as PickerVariant
and change the Flavour of the NVRAM Reset Tool back to Auto
.
NOTE: For more config tips and tricks, you can check out this.
Switching between OpenCore and Clover easily
Bootloader Chooser
I recently discovered BootloaderChooser which lets you pick the bootloader of choice prior to booting. This is how the folder structure looks like:
Basically, you put the "Clover" Folder on the same level as the the "OC" Folder and then replace the "BootX64.efi" in the "BOOT" Folder with the one that come with the Bootloader Chooser. Then you can select which Bootloader you want to use. Pretty nice for setting up your USB flash drive having Clover and OC to chose from:
Enabling NVIDIA Kepler Drivers (macOS 12.0 beta 7 and newer)
Patching-in Kepler Drivers
Apple removed Keppler support from macOS Monterey beta 7. So users of NVIDIA GeForce Cards from the Kepler family need to patch them back in post-install using Geforce-Kepler-Patcher. If you require this patch, you can no longer boot with SIP enabled, so you have to disable it!
CPU Benchmark
Credits and Thank yous
- Acidanthera and Team for the OpenCore Bootloader
- Dortania for OpenCore Install Guide
- SergeySlice for Clover Bootloader
- Corpnewt for SSDTTime, GenSMBIOS and ProperTree
- daliansky for OC Little ACPI Hotpatch Collection
- SL-Soft for Kext Updater and ANYmacOS
- Chris1111 for GeForce Kepler Patcher
- jsassu20 for MacDown Markdown Editor