Key metrics and engagement data
Repository has been active for 4 years, 5 months
⭐100
Want deeper insights? Explore GitObs.com
TABLE of CONTENTS
This repository provides an OpenCore EFI folder for the Gigabyte Z490 Vision G mainboard, meticulously crafted and maintained 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, eliminating the need for a USB kext.
Tested successfully with macOS 10.14 to 15 beta. For best results, read and follow the install instruction carefully and thoroughly.
⚠️ Important Updates |
---|
Don't report any issues unless you are using the latest BIOS version (F23)! |
macOS Tahoe beta 2 Notes:
|
Intel I225-V NIC now has a dedicated kext (AppleIGC), rendering previous fixes obsolete. |
Upgrading from macOS 14.3.1 to 14.4+ via System Update causes a Kernel Panic. Fix: disable SecureBootModel (Details). |
600/700-series Nvidia Cards require root patching with OpenCore Legacy Patcher in Post-Install in order to work. |
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. For unknown reasons it only works at 100 mbps for me although it's connected via a CAT 7 cable to a Gigabit switch. This happens in macOS as well as Windows. I have seen other people reporting the same issue with this NIC, so you might consider buying a PCIe LAN Card instead. |
Ethernet (PCIe) | Intel PRO/1000 PT Dual Port Server Adapter (any macOS version). |
Resources:
DSDT
)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. |
1EFI2├── BOOT3│ └── BOOTx64.efi4└── OC5 ├── ACPI6 │ ├── DMAR.aml7 │ ├── SSDT-AWAC-ARTC.aml8 │ ├── SSDT-EC.aml9 │ ├── SSDT-MCHC.aml10 │ ├── SSDT-PLUG.aml11 │ ├── SSDT-PORTS.aml12 │ ├── SSDT-SBUS.aml13 │ └── SSDT-USBX.aml14 ├── Drivers15 │ ├── HfsPlus.efi16 │ ├── OpenCanopy.efi17 │ ├── OpenRuntime.efi18 │ └── ResetNvramEntry.efi19 ├── Kexts20 │ ├── AdvancedMap.kext21 │ ├── AMFIPass.kext22 │ ├── AppleALC.kext23 │ ├── AppleIGC.kext24 │ ├── CPUFriend.kext25 │ ├── CPUFriendDataProvider.kext26 │ ├── Lilu.kext27 │ ├── NVMeFix.kext28 │ ├── RestrictEvents.kext29 │ ├── SMCProcessor.kext30 │ ├── SMCRadeonSensors.kext31 │ ├── SMCSuperIO.kext32 │ ├── VirtualSMC.kext33 │ └── WhateverGreen.kext34 ├── OpenCore.efi35 ├── Resources (NOTE: removed files in sub-folders from tree view to reduce clutter)36 │ ├── Font37 │ ├── Image38 │ │ ├── Acidanthera39 │ │ │ └── GoldenGate40 │ │ └── Blackosx41 │ │ └── BsxM142 │ └── Label43 └── config.plist
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:
DMAR
] (optional): DMAR replacement table with specific Reserved Memory Regions removed. For 3rd party LAN/Wifi/BT cards that won't work if VT-D
and the Intel I225-V controller are enabled (macOS Big Sur and newer).SSDT-AWAC-ARTC
: Custom variant of SSDT-AWAC.
Disables AWAC Clock and enables RTC
as ARTC
instead. Also disables legacy HPET
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 version of macOS. Check this pdf for a detailed list of mapped ports.SSDT-PLUG.aml
: Not required for macOS 12 and newer or when using CPUFriend.kext
and CPUFriendDataProvider.kext
.NOTES:
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
: If your BIOS does not provide the option to disable CFG Lock (requires BIOS Update), enable this Quirk.CustomSMBIOSGuid
: If you don't have Microsoft Windows installed, you can unselect it.DisableIoMapperMapping
: Introduced in OpenCore 0.9.2, it is used to "resolve compatibility issues with Wi-Fi, Ethernet and Thunderbolt devices when AppleVTD
is enabled". Needs to be enabled when using AppleIGC.kext
for driving the Intel I225-V NIC and 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 and for installing macOS Sonoma and newer. 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) → Default Require if you need to apply root patches with OCLP.030A0000
(0xA03) → Required for systems with legacy NVIDIA GPUs that require root patchin with OCLP and loading 3rd party kexts (Nvidia WebDrivers)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.
AppleHDA
was removed from beta 2 so on-board audio does not work out of the box → Fix with OCLP ModDisableIoMapper
is enabledOn my system, macOS Tahoe beta 1 only runs, if the RX580 GPU is disabled and the iGPU is used for graphics. The table below lists the tested config scenarios.
Test | SMBIOS Model | GPU | iGPU (Mode) | Boot Arguments | Result |
---|---|---|---|---|---|
1 | iMac20,2 | On | Enabled (Headless) | None | Fails to boot macOS Tahoe |
2 | MacPro7,1 | On | Disabled | -wegnoigpu | Fails to boot macOS Tahoe |
3 | iMac20,2 | On | Enabled (Display) | None | Fails to boot macOS Tahoe |
4 | iMac20,2 | Off | Enabled (Display) | -wegnoegpu | Boots macOS Tahoe via iGPU (Display on onboard HDMI) |
Advise Features
setting on GPU/iGPUAdvise Features
is disabled-wegnoegpu
to disable the RX580Here's a table summarizing the boot behavior and issues with different macOS versions based on the GPU, iGPU configuration, and Advise Features
setting:
macOS Version | GPU Enabled | iGPU Configured for Display (Framebuffer Patch) | Advise Features | Boot Outcome | Notes |
---|---|---|---|---|---|
Sequoia and older | Yes | Yes | Disabled | Fails to boot | System won't boot any macOS. |
Sequoia and older | Yes | Yes | Enabled | Boots successfully | Firefox glitches, but display works with GPU and iGPU. |
Tahoe | Yes | Yes | Enabled | WindowServer crashes | Requires -wegnoegpu to disable RX580 for successful boot. |
This table assumes the use of an RX580 GPU and the iGPU configured for display output with a Framebuffer Patch.
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.