OpenCore EFI for running macOS on Gigabyte Z490 Visison G with an Intel i9 10850K Processor. Supported macOS: Mojava, Catalina, Big Sur, Monterey and Ventura
EFI folder and config.plist 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
hotpatches 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 USB Port kext is required. I think this is the most sophisticated Z490 Vision G EFI folder available on Github.
This is a genuine Z490 Vision G EFI that has been created from scratch. Unlike many other Z490 Vision G EFIs found on forums and repositories, which are either derived from generic ones by Olarila/MaLDon or from SchmockLord's EFI for the Z490 Vision D, it does not contain any unnecessary properties for devices that are not present on the Vision G, such as Thunderbolt, an I219 Ethernet controller, and on-board WiFi/BT.
Tested successfully with macOS 10.14 to 14 beta. For best results, read and follow the install instruction carefully and thoroughly.
:cautiom: Important Updates |
---|
Upgrading from to macOS 14.3.1 to 14.4 via System Update causes a Kernel Panic during install! The workaround is to create a USB Installer (with OCLP for example) and install macOS 14.4 on a new APFS volume. Use Migration Manager afterwards to get your data onto the new volume (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 |
---|---|
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 (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
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 14.x (10.14 requires iMac19,1 config) |
OpenCanopy | Enabled |
Boot Chime | No |
FileVault | Optional |
SIP | Enabled . Adjust csr-active-config based on your specific needs. |
SecureBootModel | j185f . For iMac20,1 , use j185 . :warning: Set to Disabled if you are using a Kepler GPU and want to install/run macOS Monterey and newer |
USB Port Mapping | Yes, via ACPI. Details here. |
EFI
├── BOOT
│ └── BOOTx64.efi
└── OC
├── ACPI
│ ├── DMAR.aml
│ ├── SSDT-AWAC-ARTC.aml
│ ├── SSDT-EC-USBX.aml
│ ├── SSDT-MCHC.aml
│ ├── SSDT-PLUG.aml
│ └── SSDT-PORTS.aml
├── Drivers
│ ├── HfsPlus.efi
│ ├── OpenCanopy.efi
│ ├── OpenRuntime.efi
│ └── ResetNvramEntry.efi
├── Kexts
│ ├── AdvancedMap.kext
│ ├── AMFIPass.kext
│ ├── AppleALC.kext
│ ├── AppleIGC.kext
│ ├── CPUFriend.kext
│ ├── CPUFriendDataProvider.kext
│ ├── Lilu.kext
│ ├── NVMeFix.kext
│ ├── RadeonSensor.kext
│ ├── RestrictEvents.kext
│ ├── SMCProcessor.kext
│ ├── SMCSuperIO.kext
│ ├── VirtualSMC.kext
│ └── WhateverGreen.kext
├── OpenCore.efi
├── Resources (NOTE: removed files in sub-folders from tree view to reduce clutter)
│ ├── Font
│ ├── Image
│ │ ├── Acidanthera
│ │ │ ├── Chardonnay
│ │ │ ├── GoldenGate
│ │ │ └── Syrah
│ │ ├── Blackosx
│ │ │ └── BsxM1
│ │ └── velickovicdj
│ │ └── EnterTwilight
│ └── Label
├── config_Catalina.plist
├── config_iMac19,1.plist
├── config_MacPro7,1.plist
└── 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.
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 background information 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 monitor. Delete the #
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.NVMeFix.kext
: recommended for all 3rd party NVMe SSD drivesRestrictEvents
:
MacPro7,1
SMBIOS → Disables warnings about unpopulated RAM slots.VMM-x86_64
Board-id so OTA updates work when SIP
and SecureBootModel
are 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 instead.CustomSMBIOSGuid
(prohibits injecting SMBIOS data into Windows)DisableIoMapperMapping
. It eliminates the need for using a modified DMAR Table with removed Reserved Memory regions to "resolve compatibility issues with Wi-Fi, Ethernet and Thunderbolt devices when AppleVTD
is enabled". So you can try this quirk instead of replacing the DMAR table 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)Warning:
- 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. But there's a workaround to apply delta updates so you don't have to download the full installer.
PlatfotmInfo/Generic Section:
iMac20,1
(for Core i9) or iMac20,2
(for Core i5/i7)UpdateSMBIOSMode
from Custom
to Create
Save the config.plist
Once you got macOS running, you should change the following settings to make your system more secure:
csr-active-config
to 00000000
to enable System Integrity Protection (SIP)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.
SecureBootModel
from Disabled
to j185
(for iMac20,1) or j185f
(for iMac20,2).[!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.
NOTES
SecureBootModel
is only applicable to macOS Catalina and newer.iMac20,x
is for an iMac with a T2 Security Chip, you won't be notified about System Updates if SIP
and SecureBootModel
are Disabled
. To workaround this either select the correct SecureBootModel
for your SMBIOS or enable the following settings in the config.plist
:
Skip Board ID
Reroute HW_BID to OC_BID
RestrictEvents.kext
SIP
and SecureBootModel
must stay disabled for booting macOS 12 or newer with patched-in NVIDIA Kepler drivers!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.
[!WARNING]
Don't install Intel Power Gadget on macOS Sonoma 14.2 beta 3 or newer! The
EnergyDriver.kext
it installs causes all cores to permanently run at 100 %! Use the included Uninstaller to get rid of it prior to upgrading to macOS 14!
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]
Calculating an incorrect
ScanPolicy
can lead to a BootPicker without entries, so you can't select any OS. 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 ones: 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, delta OTA updates are no longer available in System Updates. Therefore, each time a System Update is available, the full macOS Installer (12+ GB) will be downloaded – and after the update is installed, OCLP has to re-apply the root patches again.