Coopydood / OpenCore-Z490E-CometLake

OpenCore Hackintosh configuration for the ASUS ROG STRIX Z490-E GAMING motherboard with an Intel® Core™ i9-10900K.
GNU General Public License v3.0
18 stars 1 forks source link
asus cometlake efi hackintosh i225-v i9-10900k imac20-2 intel macos macos-sonoma native oc opencore opencore-config osx osx-kvm rog rx5700xt z490 z490-e

OpenCore Z490-E (Comet Lake)
v1.0.0

OpenCore Hackintosh configuration example for the ASUS ROG STRIX Z490-E GAMING motherboard with an Intel® Core™ i9-10900K.

GitHub GitHub repo size Discord



Z490-E Hackintosh

macOS Sonoma running on native hardware.


You can also use this template to make your own writeup for your setup!



Motherboard

ASUS ROG STRIX Z490-E GAMING
Product Page

"The ROG Strix Z490-E Gaming motherboard is designed to cope with the demands of 10th Generation Intel® Core™ processors, with boosted power delivery and an optimised cooling design providing more surface area for heat dissipation."
Product description provided by ASUS.

BIOS

UEFI BIOS Utility
Version 3001 (19/02/2024)

These are the BIOS settings used with this Hackintosh setup.

Setting Value
VT-d Enabled
Above 4G Decoding1 Disabled
ReSizeable BAR1 Disabled
Memory Remap Enabled
Primary Output CPU Graphics
DVMT PreAlloc Size 64MB
iGPU Multi-Monitor Enabled

1 ReSizable BAR and Above 4G Decoding are disabled to allow for the proper virtualisation of macOS under QEMU/KVM with PCI passthrough.



OpenCore

OpenCore
1.0.2

This is the version of OpenCore used, including bundled files. The included config.plist targets this version.

macOS

macOS Sonoma

This is the version of macOS that this OpenCore configuration currently targets. Other versions of macOS that are compatible with it are listed below.

Supported

macOS Sequoia
macOS Ventura
macOS Monterey
macOS Big Sur
macOS Catalina

*** ## What works? ### macOS - [x] macOS Sequoia - [x] macOS Sonoma - [x] macOS Catalina ### Hardware - [x] Dedicated GPU (RX 5700 XT) - [x] iGPU (UHD 630) - [x] NVMe drives - [x] SATA drives - [x] USB 3.1 (XHCI) - [x] Ethernet - [x] Wi-Fi - [x] Bluetooth - [x] Camera - [x] Sound ### Software - [x] AirDrop - [x] iMessage - [x] FaceTime - [x] Sidecar - [x] Unlock with Apple Watch - [x] QE/CI graphics acceleration - [x] Metal support (Metal 3) - [x] Temperature sensors - [x] Sleep / Wake - [x] RTC (protection) - [x] Hyperthreading - [x] Virtualisation - [x] Memory bank configuration
*** ## Problems ### 🎉 ALL MAJOR PROBLEMS HAVE BEEN FIXED!
*** ## System The specs of my main system that the OpenCore configuration targets. | **Motherboard** | ASUS ROG STRIX Z490-E GAMING | |-----------------|:-------------------------------------------------------------:| | **CPU** | Intel® Core™ i9-10900K | | **Chipset** | Z490 | | **Generation** | Comet Lake | | **Memory** | 64 GB DDR4 3200MHz | | **Storage** | 500 GB WD Blue NVMe M.2 | | **GPU** | Intel UHD Graphics 630
AMD Radeon RX 5700 XT
~~NVIDIA RTX 3090~~ * | | **NIC** | Intel I225-V 2.5Gb Ethernet | > [!NOTE] > The system contains an **NVIDIA RTX 3090** graphics card, but it has been intentionally disabled through a custom SSDT (``SSDT-GPU-DISABLE.aml``). ### Geekbench Scores | **Intel Core i9-10900K** | **Windows** | **Linux** | **macOS** | |-------------------------- |------------- |----------- |----------- | | Single Core | 1,694 | 1,936 | 1,751 | | Muti Core | 9,279 | 10,229 | 9,883 | | **GPU** | **Windows**
Vulkan | **Linux**
Vulkan | **macOS**
Metal | |---------------------------- |----------------------- |--------------------- |-------------------- | | NVIDIA
GeForce RTX 3090 | 182,120 | 194,027 | - | | AMD
Radeon RX 5700 XT | 68,514 | 76,096 | 101,291 | | Intel
UHD 630 Graphics | 6,275 | 5,702 | 6,312 |
*** ## ACPI SSDTs used: - SSDT-AWAC - SSDT-EC-USBX-DESKTOP - SSDT-GPU-DISABLE - SSDT-PLUG-DRTNIA - SSDT-RHUB - SSDT-RX5700XT [⎋](https://www.tonymacx86.com/threads/amd-radeon-performance-enhanced-ssdt.296555/) > [!IMPORTANT] > ``SSDT-GPU-DISABLE`` is a custom SSDT used to disable an **NVIDIA RTX 3090** graphics card. It should be removed if config is being used on a different system. > > ``SSDT-RX5700XT`` is an *EXPERIMENTAL* custom SSDT used to enhance the performance of an **AMD RX 5700 XT** graphics card. It should be removed if config is being used on a different system. *** ## DeviceProperties The following tables display the added PCI devices and their child keys. ### PciRoot(0x0)/Pci(0x2,0x0) Intel UHD Graphics 630 | **Key** | **Type** | **Value** | |--------------------------|:--------:|:------------:| | AAPL,ig-platform-id | Data | ``07009B3E`` | | device-id | Data | ``9B3E0000`` | | enable-metal | Data | ``01000000`` | | disable-agdc | Data | ``01000000`` | | enable-hdmi-dividers-fix | Data | ``01000000`` | | enable-hdmi20 | Data | ``01000000`` | | framebuffer-con0-busid | Data | ``02000000`` | | framebuffer-con0-enable | Data | ``01000000`` | | framebuffer-con0-flags | Data | ``C7030000`` | | framebuffer-con0-index | Data | ``02000000`` | | framebuffer-con0-pipe | Data | ``0A000000`` | | framebuffer-con0-type | Data | ``00080000`` | | framebuffer-con1-busid | Data | ``04000000`` | | framebuffer-con1-enable | Data | ``01000000`` | | framebuffer-con1-flags | Data | ``C7030000`` | | framebuffer-con1-index | Data | ``03000000`` | | framebuffer-con1-pipe | Data | ``08000000`` | | framebuffer-con1-type | Data | ``00080000`` | | framebuffer-con2-busid | Data | ``01000000`` | | framebuffer-con2-enable | Data | ``01000000`` | | framebuffer-con2-flags | Data | ``C7030000`` | | framebuffer-con2-index | Data | ``01000000`` | | framebuffer-con2-pipe | Data | ``09000000`` | | framebuffer-con2-type | Data | ``00080000`` | | framebuffer-patch-enable | Data | ``01000000`` | | framebuffer-stolenmem | Data | ``00003001`` | | rps-control | Data | ``01000000`` | | hda-gfx | String | ``onboard-1`` | | model | String | ``Intel UHD Graphics 630`` | | igfxfw | Data | ``02000000`` |

📄 Show as property list data


Expand this if you want to copy and paste the entries above as .plist data!
You can paste this data straight into plist editors like ProperTree. ```xml PciRoot(0x0)/Pci(0x2,0x0) AAPL,ig-platform-id BwCbPg== device-id mz4AAA== disable-agdc AQAAAA== enable-hdmi-dividers-fix AQAAAA== enable-hdmi20 AQAAAA== enable-metal AQAAAA== framebuffer-con0-busid AgAAAA== framebuffer-con0-enable AQAAAA== framebuffer-con0-flags xwMAAA== framebuffer-con0-index AgAAAA== framebuffer-con0-pipe CgAAAA== framebuffer-con0-type AAgAAA== framebuffer-con1-busid BAAAAA== framebuffer-con1-enable AQAAAA== framebuffer-con1-flags xwMAAA== framebuffer-con1-index AwAAAA== framebuffer-con1-pipe CAAAAA== framebuffer-con1-type AAgAAA== framebuffer-con2-busid AQAAAA== framebuffer-con2-enable AQAAAA== framebuffer-con2-flags xwMAAA== framebuffer-con2-index AQAAAA== framebuffer-con2-pipe CQAAAA== framebuffer-con2-type AAgAAA== framebuffer-patch-enable AQAAAA== framebuffer-stolenmem AAAwAQ== hda-gfx onboard-1 igfxfw AgAAAA== model Intel UHD Graphics 630 rps-control AQAAAA== ```

> [!IMPORTANT] > The connector patches in the table above are new as of the **25th August 2024** and were implemented to **fix HDMI output**. Please add these new entries to enable HDMI! > [!NOTE] > The NEW configuration of the **UHD Graphics 630** can run in both ***display and headless*** modes! > [!TIP] > The ``enable-metal`` key is now included to enable **Metal 3** graphics support with the UHD Graphics 630! > > This means various macOS apps can now utilise the iGPU - even while headless - for more trivial tasks, such as rendering Finder. This frees up the dGPU's resources for other more intensive tasks. > > You can even see this in action by [enabling the hidden GPU tab in Activity Monitor](https://github.com/Coopydood/OpenCore-Z490E-CometLake#show-gpu-tab-in-activity-monitor).
### PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0) Intel I225-V 2.5Gb Ethernet | **Key** | **Type** | **Value** | |--------------------------|:--------:|:------------:| | device-id | Data | ``F2150000`` |

📄 Show as property list data


Expand this if you want to copy and paste the entries above as .plist data!
You can paste this data straight into plist editors like ProperTree. ```xml PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0) device-id 8hUAAA== ```

> [!NOTE] > The **Intel I225-V** requires a special patch mentioned in [Kernel](https://github.com/Coopydood/OpenCore-Z490E-CometLake/?tab=readme-ov-file#patches). > > This only applies to macOS Big Sur and older. > [!TIP] > For improved compatibility with macOS Big Sur and older, the ``I225-V`` model has now been masked as the near-identical ``I225-LM`` model. After extensive testing, it appears functionality is the same.
### PciRoot(0x0)/Pci(0x1b,0x0) Apple ALC | **Key** | **Type** | **Value** | |--------------------------|:--------:|:------------:| | AAPL,ig-platform-id | Data | ``0300220D`` | | layout-id | Data | ``01000000`` |

📄 Show as property list data


Expand this if you want to copy and paste the entries above as .plist data!
You can paste this data straight into plist editors like ProperTree. ```xml PciRoot(0x0)/Pci(0x1b,0x0) AAPL,ig-platform-id AwAiDQ== layout-id AQAAAA== ```

*** ## Kernel The following shows the kernel configuration. ### Kexts Kexts used: - Lilu - WhateverGreen - AirportItlwm - IntelBluetoothFirmware - NVMeFix - VirtualSMC - AppleALC - BlueToolFixup - IntelBTPatcher - SMCProcessor - SMCSuperIO - SMCRadeonSensors - RestrictEvents - FeatureUnlock - RTCMemoryFixup - Z490E_USBMap > [!NOTE] > ``Z490E_USBMap.kext`` is a custom kext containing the USB mappings of my ASUS ROG STRIX Z490-E GAMING motherboard ports - your mileage may vary! > [!NOTE] > ``RestrictEvents.kext`` has been added to utilise its OTA software update patches. It does NOT apply any other patches. > [!TIP] > There are multiple versions of ``AirportItlwm.kext`` installed to support various versions of macOS. > > You don't have to remove any - they have all been individually configured to only be injected based on the macOS version booted. ### Patches Intel I225-V 2.5Gb Ethernet | **Key** | **Type** | **Value** | |-------------|:--------:|:---------------------------------------:| | Arch | String | Any | | Base | String | __Z18e1000_set_mac_typeP8e1000_hw | | Comment | String | I225-V patch | | Count | Number | 1 | | Enabled | Boolean | True | | Find | Data | ``F2150000`` | | Identifier | String | com.apple.driver.AppleIntelI210Ethernet | | Limit | Number | 0 | | Mask | Data | | | MaxKernel | String | 20.4.0 | | MinKernel | String | 19.0.0 | | Replace | Data | ``F3150000`` | | ReplaceMask | Data | | | Skip | Number | 0 |

📄 Show as property list data


Expand this if you want to copy and paste the entries above as .plist data!
You can paste this data straight into plist editors like ProperTree. ```xml Arch Any Base __Z18e1000_set_mac_typeP8e1000_hw Comment I225-V patch Count 1 Enabled Find 8hUAAA== Identifier com.apple.driver.AppleIntelI210Ethernet Limit 0 Mask MaxKernel 20.4.0 MinKernel 19.0.0 Replace 8xUAAA== ReplaceMask Skip 0 ```

*** ## Security **SecureBootModel 》** j185f **Vault 》** Optional > [!NOTE] > The secure boot model ``j185f`` corresponds to an ``iMac20,2`` from August 2020. *** ## NVRAM Contents stored in NVRAM.
### 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 | **Key** | **Type** | **Value** | |------------------------|:--------:|:------------:| | DefaultBackgroundColor | Data | ``00000000`` |
### 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 | **Key** | **Type** | **Value** | |---------------|:--------:|:---------:| | rtc-blacklist | Data | |
### 7C436110-AB2A-4BBB-A880-FE41995C9F82 | **Key** | **Type** | **Value** | |---------------------------|:--------:|:------------------------------------------------------------------------------:| | ForceDisplayRotationInEFI | Number | 0 | | SystemAudioVolume | Data | ``46`` | | boot-args | String | keepsyms=1 debug=0x100 alcid=1 agdpmod=pikera igfxgl=1 forceRenderStandby=0 itlwm_cc=GB revpatch=sbvmm | | csr-active-config | Data | ``00000000`` | | prev-lang-diags:kbd | Data | ``656E2D47 42`` | | prev-lang:kbd | Data | ``656E2D47 423A32`` | | | StartupMute | Data | ``00`` |

📄 Show as property list data


Expand this if you want to copy and paste the entries above as .plist data!
You can paste this data straight into plist editors like ProperTree. ```xml 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14 DefaultBackgroundColor AAAAAA== 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 rtc-blacklist 7C436110-AB2A-4BBB-A880-FE41995C9F82 ForceDisplayRotationInEFI 0 boot-args keepsyms=1 debug=0x100 alcid=1 agdpmod=pikera igfxgl=1 forceRenderStandby=0 itlwm_cc=GB revpatch=sbvmm prev-lang-diags:kbd ZW4tR0I= prev-lang:kbd ZW4tR0I6Mg== csr-active-config AAAAAA== StartupMute AA== SystemAudioVolume Rg== ```

*** ## SMBIOS ### iMac20,2 Due to the system having a 10-core i9-10900K, the CPU model is similar to the one found in an **iMac 5K 27-inch (i9, 2020)**, with a model identifier of ``iMac20,2``. *** ## UEFI Drivers in use: - HFSPlus - OpenCanopy - OpenRuntime - ResetNvramEntry *** ## Post-Install Tweaks This is just a collection of my post-install tweaks I apply after installing macOS. They're not really related to OpenCore or the overall functionality of the configuration.

Dark Menu Bar and Dock

Okay, so I'm a bit of a macOS boomer. Having used macOS since long before Mojave's *dark mode*, I'm accustomed to the regular light appearance of the windows - but I always enabled the "Dark menu bar and dock" option as I loved the look. While I still like dark mode (and use it on iOS), the hybrid light/dark mode on macOS is still my favourite! The following commands restore that functionality: **Window Server** ```sh defaults write -g NSRequiresAquaSystemAppearance -bool Yes ``` **Notification Centre** ```sh defaults write com.apple.notificationcenterui NSRequiresAquaSystemAppearance -bool No ``` **Control Centre** ```sh defaults write com.apple.controlcenterui NSRequiresAquaSystemAppearance -bool No ``` **About This Mac + System Profiler** ```sh defaults write com.apple.SystemProfiler.AboutExtension NSRequiresAquaSystemAppearance -bool No defaults write com.apple.SystemProfiler.AboutExtension NSRequiresAquaSystemAppearance -bool No ```

Show Hidden Files

Does what it says on the tin. Shows all files, including hidden ones, in the Finder. ```sh defaults write com.apple.Finder AppleShowAllFiles YES killall Finder ```

Show GPU Tab in Activity Monitor

Unhides the hidden sECrET GPU tab in macOS' Activity Monitor, helpful for seeing which apps are running on what GPU! ```sh defaults write com.apple.ActivityMonitor ShowGPUTab -bool true ```

AirDrop over Ethernet

Makes AirDrop scan Ethernet too! ```sh defaults write com.apple.NetworkBrowser BrowseAllInterfaces 1 killall Finder ```

Frosted Glass Terminal Theme

Some macOS eye candy. ```sh curl -OL https://raw.githubusercontent.com/Coopydood/OpenCore-Z490E-CometLake/main/EXTRAS/HyperTerm.terminal ``` Import through Terminal's preferences.
*** ## Gallery *** ## Disclaimer This repo is simply a dump of my current and up-to-date OpenCore stuff that I use on my machine. Feel free to use it as an example and modify it however you'd like, but please don't expect it to "just work" - because it won't. *** ## Contribute! If you've found a way to make the configuration better, or have solved issues outlined in the **Problems** section, please share your changes on GitHub for us all to use! Thank you! ***