TABLE of CONTENTS
OpenCore EFI folder for the Gigabyte Z490 Vision G mainboard created from scratch and updated and refined regularly since September 2020. The configuration is based on Dortania's OpenCore Install Guide and analysis of an .ioreg
file from a real iMac20,1
. USB Ports are mapped via ACPI
, so no USB Port kext is required.
Tested successfully with macOS 10.14 to 15 beta. For best results, read and follow the install instruction carefully and thoroughly.
⚠️ Important Updates |
---|
Upgrading from to macOS 14.3.1 to 14.4 and newer via System Update causes a Kernel Panic during install! The workaround is to temporarily disable SecureBootModel (Background) |
The Intel I225-V Ethernet Controller finally got a dedicated kext called AppleIGC so the previous fixes are now obsolete! |
600/700-series Nvidia Cards require root patching with OpenCore Legacy Patcher to reinstall Nvidia drivers. |
Component | Details |
---|---|
Mainboard | 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. |
dGPU | Saphire RX580 Nitro+ (4 GB) |
Audio | Realtek® ALC1220-VB (Layout-id: 17 ) |
Ethernet (on-board) |
Intel I225-V 2.5GbE. Compatible with macOS 10.15.7 and newer. |
Ethernet (PCIe) | Intel PRO/1000 PT Dual Port Server Adapter (any macOS). Currently unused. |
Intel® 400 Series Chipset Datasheets (PDF): Vol. 1 | Vol. 2 | Specs Update
Parameter | Details |
---|---|
SMBIOS | iMac20,2 . For i5/i7 CPUs, use iMac20,1 . SMBIOS data needs to be generated. I use OCAT for this |
Supported macOS | macOS 10.14 up to 15.x (10.14 requires iMac19,1 config) |
OpenCanopy | Enabled |
Boot Chime | No |
FileVault | Optional |
SIP | Current value: 03080000 . Adjust csr-active-config based on the used OS and your specific needs. |
SecureBootModel | Disabled . Change to j185f for iMac20,2 SMBIOS. For iMac20,1 , use j185 . :warning: Needs to be set to Disabled when using an NVIDIA Kepler GPU in macOS 12 or newer (requires root-patching with OCLP) |
USB Port Mapping | Yes, via ACPI. Details here. |
Coming from Windows/Linux: If you are on Windows or Linux, follow the guide provided by Dortania. I provide no support for issues with UBS Installers created in Windows or Linux or when installing macOS into a VM!
Coming from macOS: If you already have access to macOS, you can either download macOS from the App Store, via the OpenCore Legacy Patcher App or use ANYmacOS. Botch can download macOS High Sierra to Ventura and create a USB Installer as well.
Please read the following explanations carefully and thoroughly and follow the given instructions. In order to boot your PC with this EFI successfully, adjustments to the config.plist
and used kexts may be necessary to adapt the config to your system configuration and the macOS version you want to install/run.
In general: if your system has the same hardware specs as mine, you can use the EFI folder as us. You only need to enter the required data in the PlatformInfo/Generic
section (Model, Serial Number, MLB, ROM, etc.).
config.plist
Download my latest EFI Folder from the Releases section and unpack it. Make sure to check the included Changelog.md
as well, since it contains important information about config changes and useful explanations.
Select the config of your choice and rename it to config.plist
. Open it with OCAT or a ProperTree and check the following sections/settings and adjust them to your needs:
ACPI/Add Section. Add/Enable/Disable SSDTs as needed
SSDT-AWAC.
Disables AWAC Clock and enables RTC
as ARTC
instead. Also disables legacy HPET
device.CPUFriend.kext
and CPUFriendDataProvider.kext
.NOTE: Additional info about these ACPI Tables can be found on my OC Little Repo
ACPI/Delete Section
DisableIoMapperMapping
. It works independently of DisableIoMapper
and addresses reoccurring connectivity issues in macOS 13.3+ which weren't there before. If your configuration required to drop/replace the DMAR table before it still does now!SSDT-PORTS.aml
can replace it.Booter Section
SecureBootModel
and SIP
in oder to install and load the GPU drivers.ResizeAppleGpuBars
to 0
. But leave UEFI/Quirks
at -1
to not affect the BAR size in other OSes.DeviceProperties
#PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
→ Disabled device-id spoof for the Intel I-225V. → Only required when running macOS Catalina! Delete the #
to enable it. Requires Kernel/Patch
as well. Read this for getting the Intel(R) I225-V Ethernet Controller to work on different versions of macOS.#PciRoot(0x0)/Pci(0x2,0x0)
→ Disabled Framebuffer for using the iGPU for driving a display. Delete the leading #
to enable it.PciRoot(0x0)/Pci(0x1F,0x3)
→ Settings for on-board audio. Also contains the Layout-idPciRoot(0x0)/Pci(0x2,0x0)
→ Headless Framebuffer for using the iGPU for computational tasks only.
iMacPro1,1
or MacPro7,1
SMBIOS.enable-metal
property when using a AMD (Big) Navi Card, since these cards support Metal 3.Kernel/Add Section. The following Kexts are disabled by default since I don't know which CPU, GPU, Hard Disk and SMBIOS you will be using:
CPUFriend.kext
and CPUFriendDataProvider.kext
. Create your own CPUFriendDataProvider in Post-Install with CPUFriendFriend to optimize CPU Power Management as explained here. It is recommended to create a new Data Provider kext after switching the SMBIOS and/or updating/upgrading macOS.RestrictEvents
:
MacPro7,1
SMBIOS → Disables warnings about unpopulated RAM slots.VMM-x86_64
Board-id so OTA updates work when SIP
is not fully enabled and SecureBootModel
is set to Disabled
(necessary when using NVIDIA Kepler Cards in macOS 12+).AppleALC.kext
: Slimmed version of AppleALC I compiled myself. It only contains Layout 17
and is only 86 kB in size. If you want to use a different Layout, you need to use the regular version of AppleALC or compile your own.Kernel/Quirks:
AppleXcpmCfgLock
Quirk.UpdateSMBIOSMode
from CustomSMBIOSGuid
(prohibits injecting SMBIOS data into Windows) to Create
DisableIoMapperMapping
. It can be used to "resolve compatibility issues with Wi-Fi, Ethernet and Thunderbolt devices when AppleVTD
is enabled". So you can try this quirk to address issues with 3rd party WiFi/BT cards.Misc/Security:
SecureBootModel
:
j185
(for iMac20,1) or j185f
(for iMac20,2).Disabled
if you are using an NVIDIA Kepler Card. Otherwise the system will crash on boot. In this case you also need to enable RestrictEvents.kext
to enable the VMM-x86_64
board-id so OTA updates will work. More details here. NVRAM/Add
4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102
:
revpatch:sbvmm
→ Setting for RestrictEvents.kext to enable the board-id VMM spoof. Only required if you have to disable SIP
and SecureBootModel
in order to boot with patched in NVIDIA Drivers for Kepler GPUs.dk.e1000=0
(macOS Big Sur) and/or e1000=0
(macOS Monterey+). -allow_amfi
→ Required for OpenCore Legacy Patcher so Kepler Drivers can be installed7C436110-AB2A-4BBB-A880-FE41995C9F82
:
csr-active-config
to disable SIP:
00000000
03080000
(0x803) → My default so macOS doesn't bother me. This is also the required value if you need to apply root patches with OCLP.EF070000
(0x7EF)FF030000
(0x3FF)PlatfotmInfo/Generic Section:
iMac20,1
(for Core i9) or iMac20,2
(for Core i5/i7)UpdateSMBIOSMode
from Custom
to Create
Save the config.plist
[!IMPORTANT]
- AMD GPUs may require additional `boot-args`. Check WhateverGreen's documentation for details.
- Applying root patches with OCLP results in a broken security seal which affects System Updates: incremental (or delta) system updates won't work after that. Instead, the full macOS installer (about 12 GB) will be downloaded every time a system update is available. See https://github.com/5T33Z0/OC-Little-Translated/blob/main/S_System_Updates/OTA_Updates.md for a workaround to apply incremental updates so you don't have to download the full installer every time.
Once you got macOS running, you should change the following settings to make your system more secure:
SecureBootModel
from Disabled
to j185
(for iMac20,1) or j185f
(for iMac20,2). SecureBootModel
is only applicable to macOS Catalina and newer.csr-active-config
to 00000000
to enable System Integrity Protection (SIP). Lower/Disables SIP when using a legacy NVIDIA GPU!UEFI/APFS
, change MinDate
and MinVersion
from -1
(disabled) to the correct values for the macOS version you are using. A list with correct values can be found here.[!WARNING]
You should have a working backup of your EFI folder on a FAT32 formatted USB flash drive since changing these settings can prevent the system from booting. You may have to disable them for installing macOS Monterey if you have issues.
You can follow my guide to generate a CPUFriendDataProvider.kext
which works alongside CPUFriend.kext
to optimize 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.
The items displayed in OpenCore's 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 in the config.plist
under Misc/Security
. 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 use the OpenCore ScanPolicy Generator. I am using 2687747
for example which hides EFI Folders and NTFS Drives. To add a custom entry for a Windows Disk to OpenCore's Boot Picker follow my guide. Otherwise you can just boot Windows from the BIOS Boot Menu (F12) which also bypasses all the OpenCore injections.
[!IMPORTANT]
Using an incorrect
ScanPolicy
can lead to an empty Boot Menu without any entries. So make sure you have a working Backup of your EFI folder!
Besides the included 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:
config.plist
PickerVariant
to: Blackosx\BsxM1
or velickovicdj\EnterTwilight
To revert the 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.
Listed below, you find results of benchmark tests conducted with Geekbench 5. I was testing Metal 3 performance of the iGPU for 3 different cases: default configuration vs. using Apples GUC Firmware vs. using RPS Control.
iGPU: UHD 630 in "offline/headless" configuration AAPL,ig-platform-id: 0300C89B SMBIOS: iMac20,2 macOS: 13.2 Geekbench: 5.5.0
Test # | Added Properties | Compute Score | Notes |
---|---|---|---|
1 | enable-metal |
4671 |
|
2 | enable-metal igfxfw=2 |
4808 |
|
3 | enable-metal igfxfw=2 rebuild-device-tree |
4796 |
|
4 | enable-metal rps-control |
4754 |
|
5 | enable-metal igfxfw=2 rebuild-device-tree rps-control |
4798 |
|
Conclusions:
igfxfw=2
.igfxfw=2
takes precedence over rps-control
, so you shouldn't combine these two properties!Booter/Quirks
: change ResizeAppleGpuBars
from -1
to 0
which will update GPU registers to their defaults when booting macOSUEFI/Quirks
: Leave ResizeGpuBars
at -1
so other OSes are not affected by this changeAbove 4G Decoding
(otherwise the Resizable BAR option is not available)Auto
NOTES:
If you have an AMD GPU and want to benefit from improved performance of Polaris, Vega and (Big) Navi and cards, you can switch to SMBIOS iMacPro1,1
or MacPro7,1
instead. Since these Macs don't have an iGPU, tasks like Quick Sync Video and HEVC encoding are then handled by the GPU instead. More details about choosing the right SMBIOS can be found here
Mind the following:
CpuFriendDataprovider.kext
with CPUFriendFriend and replace the previously used on tp adapt CPU Power Management to the new SMBIOS.The shikigva
boot-arg previously used to address DRM issues is no longer supported in macOS Monterey and newer.
Instead, 'unfairgva=x' (x = number from 1 to 7) must be used now. It's a bitmask containing 3 bits (1, 2 and 4) which can be combined to enable different features (and combinations thereof) as explained here
Apple removed support for NVIDIA GeForce Cards from macOS Monterey beta 7 onward. So users with NVIDIA Kepler GPUs (GTX 700, etc.) need to reinstall them in post-install using OpenCore Legacy Patcher.
Change the following settings in config.plist
:
Misc/Security/SecureBootModel
: Change it to Disabled
→ Required to load NVIDIA drivers – otherwise the system would crash during bootKernel/Add
: Enable RestrictEvents.kext
→ This enables the VMM board-id spoof. Required for OTA System Updates to work with SIP disabledcsr-active-config
: Change to 03080000
before applying root patches with OCLP[!IMPORTANT]
Applying root patches breaks the seal of the snapshot volume. Once the seal is broken, incremental OTA updates are no longer available in System Updates. Therefore, each time a System Update is available, the full macOS Installer (approx 15 GB) will be downloaded – and after the update is installed, OCLP has to re-apply the root patches again.