- Joined
- May 4, 2018
- Messages
- 145
- Motherboard
- Gigabyte B550 Vision D-P
- CPU
- Ryzen 9 3950X
- Graphics
- RX 6800
- Mac
- Mobile Phone
Update (01/19/2020):
OpenCore added to the guide.
Update (01/11/2020):
Began testing with OpenCore. So far successful, everything works. I will write up an OpenCore section of the guide soon.
Update (04/12/2019):
Installed GC-Titan-Ridge TBT3 AIC. Upgraded PSU to EVGA 850 P2, with CableMod cables.
Update (02/27/2019):
Some changes made to formatting, added information, and updated SSDT-UIAC for USB map.
Update (02/25/2019):
I will be doing a massive overhaul of this guide over the coming weeks. 64GB memory kit is complete.
Update (02/10/2019):
I swapped my h100i AIO out for an NZXT Kraken X52 for aesthetic and performance purposes. Fan configuration is push/pull (very tight in the h500I case).
Components
GIGABYTE Z390 AORUS PRO Motherboard
https://www.amazon.com/dp/B07HRZRBRJ/?tag=tonymacx86com-20
https://www.newegg.com/Product/Product.aspx?Item=N82E16813145098
Intel Core i9-9900K Processor
https://www.amazon.com/dp/B005404P9I/?tag=tonymacx86com-20
https://www.newegg.com/Product/Product.aspx?Item=9SIAAM18E33412
NZXT H500i ATX Case
https://www.amazon.com/dp/B07C3STSDB/?tag=tonymacx86com-20
https://www.newegg.com/Product/Product.aspx?item=N82E16811146284
CORSAIR Vengeance RGB Pro 32GB 2666MHz x2
https://www.amazon.com/dp/B07GSKMJ6D/?tag=tonymacx86com-20
EVGA 850w P2
https://www.amazon.com/dp/B010HWDOH6/?tag=tonymacx86com-20
Sapphire AMD Radeon Vega 64 8GB
https://www.amazon.com/dp/B074HCCWW9/?tag=tonymacx86com-20
Already Owned
SAPPHIRE Nitro+ RX 580
https://www.amazon.com/dp/B071QX74F9/?tag=tonymacx86com-20
https://www.newegg.com/Product/Product.aspx?Item=N82E16814202280
EVGA 750W GQ Power Supply
https://www.amazon.com/dp/B017HA3RGE/?tag=tonymacx86com-20
https://www.newegg.com/Product/Product.aspx?Item=9SIA6ZP3R86346
Broadcom BCM94360CD
https://www.amazon.com/dp/B012LOT512/?tag=tonymacx86com-20
Samsung 960 PRO Series 1TB PCIe NVMe M.2 SSD
https://www.amazon.com/dp/B01LYRCIPG/?tag=tonymacx86com-20
https://www.newegg.com/Product/Product.aspx?Item=9SIA12K54C9645
Comments
To be frank, this is far more of an upgrade than a new build, but I figured with a new system core (processor, motherboard), and an overall new look, this would be more appropriate. I built my first ‘Hackintosh’ in May 2018, and, while the system itself was a complete monster, my workload soon began to outpace the capability of the system, most notably the i7 -700. Crazy, I know. Luckily, Intel has very recently dropped their i9-9900K, which I was hoping would be a successful successor to this monster I managed to build previously.
New Hacks: Install & First Steps
1. Change BIOS Settings
• Save & Exit → Load Optimized Defaults
• BIOS → Fast Boot : Disabled
• BIOS → LAN PXE Boot Option ROM : Disabled
• BIOS → Storage Boot Option Control : UEFI
• Peripherals → Trusted Computing → Security Device Support : Disable
• Peripherals → Network Stack Configuration → Network Stack : Disabled
• Peripherals → USB Configuration → Legacy USB Support : Enabled
• Peripherals → USB Configuration → XHCI Hand-off : Enabled
• Chipset → Vt-d : Disabled (Important for our overclock later!)
• Chipset → Internal Graphics → Enabled
• Chipset → DVMT Pre-Alloc → 64M
• Chipset → DVMT Total Gfx Mem → 256M
• Chipset → Audio Controller → Enabled
• Chipset → Above 4G Decoding → Enabled
• Chipset → Wake on LAN Enable : Disabled
• Chipset → IOAPIC 24-119 Entries : Enabled
2. Prepare USB Installer with UniBeast for Mojave
2a. Make some minor modifications to USB EFI Partition using Clover Configurator
• Open USB Stick EFI Partition, navigate to EFI/CLOVER/
• Drag config.plist onto Clover Configurator app icon to open
• System Parameters → Inject Kexts : Yes
• SMBIOS → Product Name : iMac18,3 (Headless iGPU) / Macmini8,1 (iGPU Display)
• Boot:
Darkwake=0 dart=0 debug=0x100 slide=0 shikivga=40
• Rt Variables → CsrAcrtiveConfig : 0x67
• Close Clover Configurator, select "OK" if warning dialog for permanent volume storage
2b. Add a few kexts to the USB Stick EFI Partition → EFI/CLOVER/kexts/Other Folder
+ Lilu.kext
+ Whatevergreen.kext
+ USBInjectAll.kext
+ FakeSMC/VirtualSMC (Your choice - i'm using VirtualSMC currently)
2c. Add these to the USB Stick EFI Partition → EFI/CLOVER/drivers64UEFI Folder
3. Install Mojave
3a. Restart
3b. Hold F12 during BIOS to enter boot menu
3c. Select your USB Stick EFI (For best results, insert the USB in a USB 2.0 port.)
3d. When installer boots, enter Disk Utility and format "Erase" the SSD. Choose the recommended filesystem option (Journaled). I went with APFS.
3e. Exit Disk Utility
3f. Install macOS Mojave
4. Copy EFI from USB Stick to Main Hard drive
4a. Open Clover Configurator on your USB stick main Partition
4b. Mount EFI → SSD → Mount Partition
4c. Mount EFI → SSD → Open Partition
4d. Mount EFI → USB Stick → Mount Partition
4e. Mount EFI → USB Stick → Open Partition
4f. Copy the entire contents from the USB Stick EFI volume to the SSD EFI Volume (Replace)
5. Post Install
Get iMessage and iCloud working.
Create a custom SSDT for USBInjectAll.kext
USBInjectAll.kext and SSDT with the GIGABYTE Aorus Pro Z390
One of the very first things one should always do after successful install or upgrade is create a custom SSDT for USB injection. I won’t go into too many details here, as @RehabMan’s guide linked above covers every aspect of the process in extremely fine and clear detail. What I will say about this, is what my port configuration ended up looking like.
· HS01 – Unused
· HS02 – Unused
· HS03 – Down and 2 Left of Aorus Logo
· HS04 – Down and Left of Aorus Logo
· HS05 – Up one row from Ethernet, and far left.
· HS06 – USB-C (w/Switch)
· HS07 – 2 Left of Ethernet
· HS08 – Left of Ethernet
· HS09 – Front USB (Next to Power Switch in my case)
· HS10 – Front USB (Second away from Power Switch in my case)
· HS11 – Internal USB 2.0 Header, populated by my NZXT USB Hub
· HS12 – Unused
· HS13 – 4x USB 2.0 Ports in the top row of IO
All ports work with zero issues.
9900K and the iGPU
OpenCore
Top score here is my new i9-9900k, the bottom score is my old i7-8700
OpenCore added to the guide.
Update (01/11/2020):
Began testing with OpenCore. So far successful, everything works. I will write up an OpenCore section of the guide soon.
Update (04/12/2019):
Installed GC-Titan-Ridge TBT3 AIC. Upgraded PSU to EVGA 850 P2, with CableMod cables.
Update (02/27/2019):
Some changes made to formatting, added information, and updated SSDT-UIAC for USB map.
Update (02/25/2019):
I will be doing a massive overhaul of this guide over the coming weeks. 64GB memory kit is complete.
Update (02/10/2019):
I swapped my h100i AIO out for an NZXT Kraken X52 for aesthetic and performance purposes. Fan configuration is push/pull (very tight in the h500I case).
Components
GIGABYTE Z390 AORUS PRO Motherboard
https://www.amazon.com/dp/B07HRZRBRJ/?tag=tonymacx86com-20
https://www.newegg.com/Product/Product.aspx?Item=N82E16813145098
Intel Core i9-9900K Processor
https://www.amazon.com/dp/B005404P9I/?tag=tonymacx86com-20
https://www.newegg.com/Product/Product.aspx?Item=9SIAAM18E33412
NZXT H500i ATX Case
https://www.amazon.com/dp/B07C3STSDB/?tag=tonymacx86com-20
https://www.newegg.com/Product/Product.aspx?item=N82E16811146284
CORSAIR Vengeance RGB Pro 32GB 2666MHz x2
https://www.amazon.com/dp/B07GSKMJ6D/?tag=tonymacx86com-20
EVGA 850w P2
https://www.amazon.com/dp/B010HWDOH6/?tag=tonymacx86com-20
Sapphire AMD Radeon Vega 64 8GB
https://www.amazon.com/dp/B074HCCWW9/?tag=tonymacx86com-20
Already Owned
https://www.newegg.com/Product/Product.aspx?Item=N82E16814202280
https://www.newegg.com/Product/Product.aspx?Item=9SIA6ZP3R86346
Broadcom BCM94360CD
https://www.amazon.com/dp/B012LOT512/?tag=tonymacx86com-20
Samsung 960 PRO Series 1TB PCIe NVMe M.2 SSD
https://www.amazon.com/dp/B01LYRCIPG/?tag=tonymacx86com-20
https://www.newegg.com/Product/Product.aspx?Item=9SIA12K54C9645
Comments
To be frank, this is far more of an upgrade than a new build, but I figured with a new system core (processor, motherboard), and an overall new look, this would be more appropriate. I built my first ‘Hackintosh’ in May 2018, and, while the system itself was a complete monster, my workload soon began to outpace the capability of the system, most notably the i7 -700. Crazy, I know. Luckily, Intel has very recently dropped their i9-9900K, which I was hoping would be a successful successor to this monster I managed to build previously.
New Hacks: Install & First Steps
1. Change BIOS Settings
• Save & Exit → Load Optimized Defaults
• BIOS → Fast Boot : Disabled
• BIOS → LAN PXE Boot Option ROM : Disabled
• BIOS → Storage Boot Option Control : UEFI
• Peripherals → Trusted Computing → Security Device Support : Disable
• Peripherals → Network Stack Configuration → Network Stack : Disabled
• Peripherals → USB Configuration → Legacy USB Support : Enabled
• Peripherals → USB Configuration → XHCI Hand-off : Enabled
• Chipset → Vt-d : Disabled (Important for our overclock later!)
• Chipset → Internal Graphics → Enabled
• Chipset → DVMT Pre-Alloc → 64M
• Chipset → DVMT Total Gfx Mem → 256M
• Chipset → Audio Controller → Enabled
• Chipset → Above 4G Decoding → Enabled
• Chipset → Wake on LAN Enable : Disabled
• Chipset → IOAPIC 24-119 Entries : Enabled
2. Prepare USB Installer with UniBeast for Mojave
2a. Make some minor modifications to USB EFI Partition using Clover Configurator
• Open USB Stick EFI Partition, navigate to EFI/CLOVER/
• Drag config.plist onto Clover Configurator app icon to open
• System Parameters → Inject Kexts : Yes
• SMBIOS → Product Name : iMac18,3 (Headless iGPU) / Macmini8,1 (iGPU Display)
• Boot:
Darkwake=0 dart=0 debug=0x100 slide=0 shikivga=40
• Rt Variables → CsrAcrtiveConfig : 0x67
• Close Clover Configurator, select "OK" if warning dialog for permanent volume storage
2b. Add a few kexts to the USB Stick EFI Partition → EFI/CLOVER/kexts/Other Folder
+ Lilu.kext
+ Whatevergreen.kext
+ USBInjectAll.kext
+ FakeSMC/VirtualSMC (Your choice - i'm using VirtualSMC currently)
2c. Add these to the USB Stick EFI Partition → EFI/CLOVER/drivers64UEFI Folder
- EmuVariableUefi-64.efi
- OsxAptioFix2Drv-free2000.efi
3. Install Mojave
3a. Restart
3b. Hold F12 during BIOS to enter boot menu
3c. Select your USB Stick EFI (For best results, insert the USB in a USB 2.0 port.)
3d. When installer boots, enter Disk Utility and format "Erase" the SSD. Choose the recommended filesystem option (Journaled). I went with APFS.
3e. Exit Disk Utility
3f. Install macOS Mojave
4. Copy EFI from USB Stick to Main Hard drive
4a. Open Clover Configurator on your USB stick main Partition
4b. Mount EFI → SSD → Mount Partition
4c. Mount EFI → SSD → Open Partition
4d. Mount EFI → USB Stick → Mount Partition
4e. Mount EFI → USB Stick → Open Partition
4f. Copy the entire contents from the USB Stick EFI volume to the SSD EFI Volume (Replace)
5. Post Install
Get iMessage and iCloud working.
Create a custom SSDT for USBInjectAll.kext
USBInjectAll.kext and SSDT with the GIGABYTE Aorus Pro Z390
One of the very first things one should always do after successful install or upgrade is create a custom SSDT for USB injection. I won’t go into too many details here, as @RehabMan’s guide linked above covers every aspect of the process in extremely fine and clear detail. What I will say about this, is what my port configuration ended up looking like.
· HS01 – Unused
· HS02 – Unused
· HS03 – Down and 2 Left of Aorus Logo
· HS04 – Down and Left of Aorus Logo
· HS05 – Up one row from Ethernet, and far left.
· HS06 – USB-C (w/Switch)
· HS07 – 2 Left of Ethernet
· HS08 – Left of Ethernet
· HS09 – Front USB (Next to Power Switch in my case)
· HS10 – Front USB (Second away from Power Switch in my case)
· HS11 – Internal USB 2.0 Header, populated by my NZXT USB Hub
· HS12 – Unused
· HS13 – 4x USB 2.0 Ports in the top row of IO
All ports work with zero issues.
1. CPU & Ram
1. Enter the BIOS by pressing the “Delete” button
2. Enter “Advanced Frequency Settings”
3. RAM:
a. Change XMP to “Profile 1” .
4. CPU Multiplier:
The formula to calculate the frequency of your CPU is: CPU Base Clock * CPU Clock Ratio. The Intel i9-9900K CPU has a Base Clock of 100 and CPU Clock Ratio of 47 for a frequency of 100 * 47 = 4700MHz. In this guide I will be overclocking to 5.1GHz for a 400MHz increase. Set your CPU Clock Ratio to “51”.
1. Enter the BIOS by pressing the “Delete” button
2. Enter “Advanced Frequency Settings”
3. RAM:
a. Change XMP to “Profile 1” .
4. CPU Multiplier:
The formula to calculate the frequency of your CPU is: CPU Base Clock * CPU Clock Ratio. The Intel i9-9900K CPU has a Base Clock of 100 and CPU Clock Ratio of 47 for a frequency of 100 * 47 = 4700MHz. In this guide I will be overclocking to 5.1GHz for a 400MHz increase. Set your CPU Clock Ratio to “51”.
- Use Page UP and Page Down to Set your “CPU Clock Ratio” to 5100MHz.
- Disable “Enhanced Multi-Core Performance”
- Enter “Advanced CPU Core Settings”
- Change “Uncore Ratio” to 4700MHz (Currently testing 4800MHz)
- Disable “Ring to Core offset (Down bin)”
- Hit “ESC” twice to return to the main M.I.T. screen, and enter “Advanced Voltage Settings”
- Enter “Advanced Power Settings”
- Set “CPU Vcore Loadline Calibration” to “Extreme”
- Go back one page (ESC) or from the main BIOS page (M.I.T) select “Advanced Voltage Control”, then Select “CPU Core Voltage Control”
- CPU Vcore: Raising this helps keeps the system stable at higher CPU frequencies. However, it also increases the amount of heat your CPU produces. I suggest you keep Vcore under 1.35V depending on your CPU cooling solution. Most CPU’s should be able to overclock to 5.1GHz on all the cores at this voltage, however CPUs are not all created equally. Some may need more voltage, some less.
- Set Vcore to “1.25” to start. If your system is not stable raise the voltage in increments of .01 with a maximum of 1.40V.
- Set all of the Power Limit TDP (Watts) options to “4000”. Don't worry - this won't allow your processor to pull 4k watts. What it WILL do is remove the artificial limit imposed by Intel. A little further down, make set Core Current Limit (Amps) to 255. While you're down there, make sure Voltage Optimization is Disabled as well. This should be disabled already from disabling “Enhanced Multi-Core Performance”.
- Head over to the “Save & Exit” page, to save your new profile. After you’ve named and saved your profile, “Save & Exit Setup” to enjoy your new overclock.
9900K and the iGPU
dGPU + Headless iGPU
- SMBIOS: Use either iMac18,3 or iMacPro1,1.
- Devices: IntelGFX = 0x0
- Devices: Devices* = PCIRoot(0x0)/Pci(0x2,0x0)
Properties:- Key = framebuffer-patch-enable | Value = 01000000 | Type = Data
- Key = AAPL,ig-platform-id | Value = 0300923E | Type = Data (you may also try 0300913E)
- Key = device-id | Value = 9B3E0000 | Type = Data
- Graphics: FB Name = Orinoco (only for RX580)
- Graphics: ig-platform-id = <make sure this is empty>
- Graphics: Inject Intel = false
- Graphics: Inject ATI = false
iGPU Display through HDMI +/- RX580
- SMBIOS: Use Macmini8,1.
- Graphics: Totally empty. No ig-platform-id, no Inject**
Code:
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>
BwCbPg==
</data>
<key>AAPL,model</key>
<string>Intel UHD 630</string>
<key>AAPL,slot-name</key>
<string>Internal</string>
<key>device-id</key>
<data>
mz4AAA==
</data>
<key>device_type</key>
<string>Graphics Processor</string>
<key>enable-hdmi20</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con0-busid</key>
<data>
BQAAAA==
</data>
<key>framebuffer-con0-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con0-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con0-index</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con0-pipe</key>
<data>
EgAAAA==
</data>
<key>framebuffer-con0-type</key>
<data>
AAQAAA==
</data>
<key>framebuffer-con1-busid</key>
<data>
BgAAAA==
</data>
<key>framebuffer-con1-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con1-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con1-index</key>
<data>
AgAAAA==
</data>
<key>framebuffer-con1-pipe</key>
<data>
EgAAAA==
</data>
<key>framebuffer-con1-type</key>
<data>
AAQAAA==
</data>
<key>framebuffer-con2-busid</key>
<data>
BAAAAA==
</data>
<key>framebuffer-con2-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con2-flags</key>
<data>
xwMAAA==
</data>
<key>framebuffer-con2-index</key>
<data>
AwAAAA==
</data>
<key>framebuffer-con2-pipe</key>
<data>
EgAAAA==
</data>
<key>framebuffer-con2-type</key>
<data>
AAgAAA==
</data>
<key>framebuffer-con3-busid</key>
<data>
AAAAAA==
</data>
<key>framebuffer-con3-enable</key>
<data>
AQAAAA==
</data>
<key>framebuffer-con3-flags</key>
<data>
IAAAAA==
</data>
<key>framebuffer-con3-index</key>
<data>
/////w==
</data>
<key>framebuffer-con3-pipe</key>
<data>
AAAAAA==
</data>
<key>framebuffer-con3-type</key>
<data>
AQAAAA==
</data>
<key>framebuffer-patch-enable</key>
<data>
AQAAAA==
</data>
</dict>
OpenCore
OpenCore Bootloader – Catalina 10.15.2 (DRM VIDEO WORKS – AppleTV App & Netflix )
Recommended BIOS settings (Bios Revision F11)
• Enter BIOS → Press F12 → Enter Setup
• Save & Exit → Load Optimized Defaults
• Boot -> Windows 8/10 Features -> Win 8/10
• Boot -> CSM Support -> Disabled
• Favorites -> Extreme Memory Profile (X.M.P.) -> Profile1
• Favorites -> VT-d -> Disabled (Can be set to Enabled or Disabled, Your choice)
• Settings -> IO Ports -> USB Configuration -> XHCI Hands-off -> Enabled
• Settings -> IO Ports -> Internal Display Output -> PCIe 1 Slot
• Settings -> IO Ports -> Internal Graphics -> Enabled
• Settings -> IO Ports -> DVMT Pre-Allocated -> 64M
• Settings -> IO Ports -> DVMT Total GFX0-Allocated -> 256M
• Settings -> IO Ports -> Aperture Size -> 256MB
• Settings -> IO Ports -> Audio Controller -> Enabled
• Settings -> IO Ports -> Above 4G Decoding -> Enabled
• Settings -> IO Ports -> USB Configuration -> Legacy USB Support -> Enabled
• Settings -> IO Ports -> USB Configuration -> XHCI Hand-off -> Enabled
• Settings -> Platform Power -> Platform Power Management -> Enabled
• Settings -> Platform Power -> ErP -> Enabled
• Settings -> Platform Power -> RC6(Render Standby) -> Enabled
• Save & Exit → Save & Exit Setup
Building the Installer
Download the following:
https://github.com/acidanthera/OpenCorePkg/releases
https://github.com/acidanthera/AppleSupportPkg/releases
https://github.com/corpnewt/MountEFI or Clover Configurator for mounting EFI partitions
USB: Using DiskUtility, format your USB drive to Mac OS Extended (Journaled) with GUID Scheme. I named mine OpenCore Installer.
While you don't need a fresh install of macOS to use OpenCore, some users prefer having a fresh slate with their boot manager upgrades.
Once the drive is properly formatted, mount the EFI partition using mountEFI or Clover Configurator. Now, using the release packages for OpenCorePkg and AppleSupportPkg, construct your baseline EFI folder.
|--EFI
| |--BOOT
| | |--BOOTx64.efi
| |--OC
| | |--ACPI
| | |--Drivers
| | | |--ApfsDriverLoader.efi
| | | |--FWRuntimeServices.efi
| | | |--HFSPlus.efi
| | | |--VirtualSmc.efi
| | |--Kexts
| | | |--AppleALC.kext
| | | |--IntelMausiEthernet.kext
| | | |--Lilu.kext
| | | |--VirtualSMC.kext
| | | |--WhateverGreen.kext
| | | |--USBInjectAll.kext
| | | |--XHCI-unsupported.kext
| | |--OpenCore.efi
| | |--Tools
| | | |--CleanNvram.efi
| | | |--Shell.efi
| | | |--VerifyMsrE2.efi
SSDTs -> ACPI
OpenCore will require some patching to really run right. In my case, I’ve already done a lot of the leg work with patching using my original Clover setup. .
For those that haven’t already patched their system up, you will need to ensure your EC is patched appropriately. I don’t need to do this, as I have already patched my DSDT.
Luckily, there’s a lovely tool called SSDT-Time by the amazing corpnewt that will help most of your patching process. I won’t cover USB Patching, as I have referred other, far better guides for that already in this post.
To generate the required EC patch:
ACPI -> Add: This is where your inclusion list for all of your SSDT’s will go. OpenCore is different than Clover in this regard – ACPI additions/injections, as well as Kexts, must be defined, and defined in the order of injection.
To start, open the sample.plist file from the OpenCorePkg folders in Docs. You can open/edit this using XCode, Sublime, or any .plist editor / IDE. PLEASE PLEASE PLEASE DO NOT TRY EDITING THIS IN TextEdit!
I will be showing examples of the raw .plist for reference, opened from BBEdit (it displays the same as it would if you were using Sublime or any other proper IDE).
Here, I am first loading my patched DSDT, followed by my TTB3 implementation, USB Inject All patch, and SSDT-PLUG.
Notice each block has the very same format, where the Comment string is the name of the patch without .aml, Enabled key set to true or false, then the path to the patch AML. These always go in EFI/OC/ACPI.
ACPI -> Patch: Here we apply a few patches to our ACPI injection: GFX0 to IGPU, HECI to IMEI, HDAS to HDEF, SAT0 to SATA, and an RTC _STA bug fix.
ACPI -> Quirks:
Booter -> Quirks:
Remember, we want to inject these in the order that’s required. As Lilu is a dependency for Whatevergreen, VirtualSMC, etc., it must be loaded first.
Kernel -> Patch
Kernel -> Quirks
NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> boot-args:
dart=0 shikigva=128 alcid=1 agdpmod=pikera
NVRAM -> PlatformInfo
For the MLB, Board Serial, and SysUUID, you can either use Clover Config to generate numbers based on the SMBIOS version you choose (iMac19,1 in my example) or use acidanthera's macserial application.
To get the SMBIOS info generated with macserial, you can run it with the -a argument (which generates serials and board serials for all supported platforms). You can also parse it with grep to limit your search to one SMBIOS type.
The order is Product \| Serial \| Board Serial (MLB).
UEFI -> Drivers:
This is where you list the EFI/OC/Drivers contents.
UEFI -> Input:
Your completed config.plist should look something like this:
Recommended BIOS settings (Bios Revision F11)
• Enter BIOS → Press F12 → Enter Setup
• Save & Exit → Load Optimized Defaults
• Boot -> Windows 8/10 Features -> Win 8/10
• Boot -> CSM Support -> Disabled
• Favorites -> Extreme Memory Profile (X.M.P.) -> Profile1
• Favorites -> VT-d -> Disabled (Can be set to Enabled or Disabled, Your choice)
• Settings -> IO Ports -> USB Configuration -> XHCI Hands-off -> Enabled
• Settings -> IO Ports -> Internal Display Output -> PCIe 1 Slot
• Settings -> IO Ports -> Internal Graphics -> Enabled
• Settings -> IO Ports -> DVMT Pre-Allocated -> 64M
• Settings -> IO Ports -> DVMT Total GFX0-Allocated -> 256M
• Settings -> IO Ports -> Aperture Size -> 256MB
• Settings -> IO Ports -> Audio Controller -> Enabled
• Settings -> IO Ports -> Above 4G Decoding -> Enabled
• Settings -> IO Ports -> USB Configuration -> Legacy USB Support -> Enabled
• Settings -> IO Ports -> USB Configuration -> XHCI Hand-off -> Enabled
• Settings -> Platform Power -> Platform Power Management -> Enabled
• Settings -> Platform Power -> ErP -> Enabled
• Settings -> Platform Power -> RC6(Render Standby) -> Enabled
• Save & Exit → Save & Exit Setup
Building the Installer
Download the following:
https://github.com/acidanthera/OpenCorePkg/releases
https://github.com/acidanthera/AppleSupportPkg/releases
https://github.com/corpnewt/MountEFI or Clover Configurator for mounting EFI partitions
USB: Using DiskUtility, format your USB drive to Mac OS Extended (Journaled) with GUID Scheme. I named mine OpenCore Installer.
While you don't need a fresh install of macOS to use OpenCore, some users prefer having a fresh slate with their boot manager upgrades.
- Format the USB as HFS+/MacOS Journaled with GUID partition map, must be 16GB for Catalina
- Download a copy of macOS
- AppStore: Catalina
- GibMacOS with the BuildmacOSInstallApp.command
- sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/OpenCore Installer
Once the drive is properly formatted, mount the EFI partition using mountEFI or Clover Configurator. Now, using the release packages for OpenCorePkg and AppleSupportPkg, construct your baseline EFI folder.
|--EFI
| |--BOOT
| | |--BOOTx64.efi
| |--OC
| | |--ACPI
| | |--Drivers
| | | |--ApfsDriverLoader.efi
| | | |--FWRuntimeServices.efi
| | | |--HFSPlus.efi
| | | |--VirtualSmc.efi
| | |--Kexts
| | | |--AppleALC.kext
| | | |--IntelMausiEthernet.kext
| | | |--Lilu.kext
| | | |--VirtualSMC.kext
| | | |--WhateverGreen.kext
| | | |--USBInjectAll.kext
| | | |--XHCI-unsupported.kext
| | |--OpenCore.efi
| | |--Tools
| | | |--CleanNvram.efi
| | | |--Shell.efi
| | | |--VerifyMsrE2.efi
SSDTs -> ACPI
OpenCore will require some patching to really run right. In my case, I’ve already done a lot of the leg work with patching using my original Clover setup. .
For those that haven’t already patched their system up, you will need to ensure your EC is patched appropriately. I don’t need to do this, as I have already patched my DSDT.
Luckily, there’s a lovely tool called SSDT-Time by the amazing corpnewt that will help most of your patching process. I won’t cover USB Patching, as I have referred other, far better guides for that already in this post.
To generate the required EC patch:
- Download SSDT-Time and unzip the folder
- Open SSDTTime-master folder
- Right-click open SSDTTime.command
- This will open Terminal
- Please make a selection: 2
- Drag and drop your DSDT.aml
- SSDTTime will automatically open a Results folder
- Copy SSDT-EC.aml from the Results folder and place it in EFI/OC/ACPI
ACPI -> Add: This is where your inclusion list for all of your SSDT’s will go. OpenCore is different than Clover in this regard – ACPI additions/injections, as well as Kexts, must be defined, and defined in the order of injection.
To start, open the sample.plist file from the OpenCorePkg folders in Docs. You can open/edit this using XCode, Sublime, or any .plist editor / IDE. PLEASE PLEASE PLEASE DO NOT TRY EDITING THIS IN TextEdit!
I will be showing examples of the raw .plist for reference, opened from BBEdit (it displays the same as it would if you were using Sublime or any other proper IDE).
Code:
<array>
<dict>
<key>Comment</key>
<string>DSDT</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>DSDT.aml</string>
</dict>
<dict>
<key>Comment</key>
<string>SSDT-Z370-AORUS-TB3HP-SLOT4</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-Z370-AORUS-TB3HP-SLOT4.aml</string>
</dict>
<dict>
<key>Comment</key>
<string>SSDT-DTPG</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-DTPG.aml</string>
</dict>
<dict>
<key>Comment</key>
<string>SSDT-UIAC</string>
<key>Enabled</key>
<false/>
<key>Path</key>
<string>SSDT-UIAC.aml</string>
</dict>
<dict>
<key>Comment</key>
<string>SSDT-PLUG</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-PLUG.aml</string>
</dict>
</array>
Notice each block has the very same format, where the Comment string is the name of the patch without .aml, Enabled key set to true or false, then the path to the patch AML. These always go in EFI/OC/ACPI.
ACPI -> Patch: Here we apply a few patches to our ACPI injection: GFX0 to IGPU, HECI to IMEI, HDAS to HDEF, SAT0 to SATA, and an RTC _STA bug fix.
Code:
<array>
<dict>
<key>Comment</key>
<string>Rename GFX0 to IGPU (Graphics)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>R0ZYMA==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>SUdQVQ==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Rename HECI to IMEI (PAVP)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>SEVDSQ==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>SU1FSQ==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Rename HDAS to HDEF (Audio)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>SERBUw==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>SERFRg==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Rename SAT0 to SATA (Disk)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>U0FUMA==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>U0FUQQ==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Fix RTC _STA bug</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>oAqTU1RBUwE=</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>oAqRCv8L//8=</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>RFNEVA==</data>
</dict>
</array>
ACPI -> Quirks:
- FadtEnableReset -> False
- NormalizeHeaders -> True
- RebaseRegions -> True
- ResetHwSig -> True
- ResetLogoStatus -> False
Booter -> Quirks:
- AvoidRuntimeDefrag-> True
- DevirtualiseMmio -> False
- DisableSingleUser -> False
- DisableVariableWrite -> True
- DiscardHibernateMap -> False
- EnableSafeModeSlide -> True
- EnableWriteUnprotector -> True
- ForceExitBootServices -> False
- ProtectCsmRegion -> False
- ProvideCustomSlide -> True
Code:
<dict>
<key>Add</key>
<array>
<dict>
<key>BundlePath</key>
<string>Lilu.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/Lilu</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>WhateverGreen.kext</string>
<key>Comment</key>
<string>Video card</string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/WhateverGreen</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>USBInjectAll.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/USBInjectAll</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>VirtualSMC.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/VirtualSMC</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>USBMap.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<false/>
<key>ExecutablePath</key>
<string></string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>AppleALC.kext</string>
<key>Comment</key>
<string>Sound</string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/AppleALC</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>IntelMausiEthernet.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/IntelMausiEthernet</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>XHCI-unsupported.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string></string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
</array>
<key>Block</key>
<array>
<dict>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<false/>
<key>Identifier</key>
<string>com.apple.driver.AppleTyMCEDriver</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
</dict>
</array>
Remember, we want to inject these in the order that’s required. As Lilu is a dependency for Whatevergreen, VirtualSMC, etc., it must be loaded first.
Kernel -> Patch
Code:
<key>Patch</key>
<array>
<dict>
<key>Base</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<false/>
<key>Find</key>
<data>dS4Ptg==</data>
<key>Identifier</key>
<string>com.apple.driver.AppleRTC</string>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>Replace</key>
<data>6y4Ptg==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
</dict>
<dict>
<key>Base</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<false/>
<key>Find</key>
<data>dTMPtw==</data>
<key>Identifier</key>
<string>com.apple.driver.AppleRTC</string>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>MaxKernel</key>
<string>18.5.0</string>
<key>MinKernel</key>
<string>18.5.0</string>
<key>Replace</key>
<data>6zMPtw==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
</dict>
<dict>
<key>Base</key>
<string>_AcpiOsVprintf</string>
<key>Comment</key>
<string></string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<false/>
<key>Find</key>
<data></data>
<key>Identifier</key>
<string>com.apple.driver.AppleACPIPlatform</string>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>MaxKernel</key>
<string>18.5.0</string>
<key>MinKernel</key>
<string>18.5.0</string>
<key>Replace</key>
<data>ww==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
</dict>
</array>
Kernel -> Quirks
- AppleCpuPmCfgLock -> False
- AppleXcpmCfgLock -> True
- AppleXcpmExtraMsrs -> False
- CustomSMBIOSGuid -> False
- DisableIoMapper -> False
- ExternalDiskIcons -> False
- IncreasePciBarSize -> False
- LapicKernelPanic -> False
- PanicNoKextDump -> True
- PowerTimeoutKernelPanic -> False
- ThirdPartyDrives -> False
- XhciPortLimit -> True
- ConsoleBehaviourOs -> Graphics
- ConsoleBehaviourUi -> Text
- ConsoleMode ->
- HibernateMode -> None
- HideSelf -> True
- PollAppleHotKeys -> False
- Resolution -> MAX
- ShowPicker -> True
- Timeout -> 20 (This is up to you, this is the amount of time that OpenCore gives you to select what you’re booting)
- UsePicker -> True
- DisableWatchDog -> True
- DisplayDelay -> 0
- DisplayLevel -> 2147483650
- Target -> 19
- AllowNvramReset -> True
- AllowSetDefault -> True
- AuthRestart -> False
- ExposeSensitiveData -> 3
- HaltLevel -> 2147483648
- RequireSignature -> False
- RequireVault -> False
- ScanPolicy -> 0
NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> boot-args:
dart=0 shikigva=128 alcid=1 agdpmod=pikera
NVRAM -> PlatformInfo
Code:
<key>PlatformInfo</key>
<dict>
<key>Automatic</key>
<true/>
<key>Generic</key>
<dict>
<key>MLB</key>
<string>GENERATE ME</string>
<key>ROM</key>
<data>ESIzAAAA</data>
<key>SpoofVendor</key>
<true/>
<key>SupportsCsm</key>
<false/>
<key>SystemProductName</key>
<string>iMac19,1</string>
<key>SystemSerialNumber</key>
<string>GENERATE ME</string>
<key>SystemUUID</key>
<string>GENERATE ME</string>
</dict>
<key>UpdateDataHub</key>
<true/>
<key>UpdateNVRAM</key>
<true/>
<key>UpdateSMBIOS</key>
<true/>
<key>UpdateSMBIOSMode</key>
<string>Create</string>
</dict>
For the MLB, Board Serial, and SysUUID, you can either use Clover Config to generate numbers based on the SMBIOS version you choose (iMac19,1 in my example) or use acidanthera's macserial application.
To get the SMBIOS info generated with macserial, you can run it with the -a argument (which generates serials and board serials for all supported platforms). You can also parse it with grep to limit your search to one SMBIOS type.
Code:
macserial -a | grep -i iMac19,1
The order is Product \| Serial \| Board Serial (MLB).
UEFI -> Drivers:
This is where you list the EFI/OC/Drivers contents.
Code:
<array>
<string>ApfsDriverLoader.efi</string>
<string>FwRuntimeServices.efi</string>
<string>HFSPlus.efi</string>
<string>VirtualSmc.efi</string>
</array>
UEFI -> Input:
- KeyForgetThreshold -> 5
- KeyMergeThreshold -> 2
- KeySupport -> True (This is so we can use our beyond in the OpenCore picker screen to select which partition we are booting)
- KeySupportMode -> Auto
- KeySwap -> False
- PointerSupport -> False
- AppleBootPolicy -> False
- AppleEvent -> False
- AppleImageConversion -> False
- AppleKeyMap -> False
- AppleSmcIo -> False
- AppleUserInterfaceTheme -> False
- ConsoleControl -> True
- DataHub -> False
- DeviceProperties -> False
- FirmwareVolume -> True
- HashServices -> False
- OFInfo -> False
- UnicodeCollation -> False
- AvoidHighAlloc -> False
- ClearScreenOnModeSwitch -> False
- ExitBootServicesDelay -> 0
- IgnoreInvalidFlexRatio -> False
- IgnoreTextInGraphics -> False
- ProvideConsoleGop -> TRUE -> THIS IS REQUIRED
- ReconnectOnResChange -> False
- ReleaseUsbOwnership -> True
- ReplaceTabWithSpace -> False
- RequestBootVarFallback -> False
- RequestBootVarRouting -> False
- SanitizeClearScreen -> False
- UnblockFsConnect -> False
Your completed config.plist should look something like this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ACPI</key>
<dict>
<key>Add</key>
<array>
<dict>
<key>Comment</key>
<string>DSDT</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>DSDT.aml</string>
</dict>
<dict>
<key>Comment</key>
<string>SSDT-Z370-AORUS-TB3HP-SLOT4</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-Z370-AORUS-TB3HP-SLOT4.aml</string>
</dict>
<dict>
<key>Comment</key>
<string>SSDT-DTPG</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-DTPG.aml</string>
</dict>
<dict>
<key>Comment</key>
<string>SSDT-UIAC</string>
<key>Enabled</key>
<false/>
<key>Path</key>
<string>SSDT-UIAC.aml</string>
</dict>
<dict>
<key>Comment</key>
<string>SSDT-PLUG</string>
<key>Enabled</key>
<true/>
<key>Path</key>
<string>SSDT-PLUG.aml</string>
</dict>
</array>
<key>Block</key>
<array>
<dict>
<key>All</key>
<true/>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<false/>
<key>OemTableId</key>
<data></data>
<key>TableLength</key>
<integer>31898</integer>
<key>TableSignature</key>
<data></data>
</dict>
</array>
<key>Patch</key>
<array>
<dict>
<key>Comment</key>
<string>Rename GFX0 to IGPU (Graphics)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>R0ZYMA==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>SUdQVQ==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Rename HECI to IMEI (PAVP)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>SEVDSQ==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>SU1FSQ==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Rename HDAS to HDEF (Audio)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>SERBUw==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>SERFRg==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Rename SAT0 to SATA (Disk)</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>U0FUMA==</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>U0FUQQ==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data></data>
</dict>
<dict>
<key>Comment</key>
<string>Fix RTC _STA bug</string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<true/>
<key>Find</key>
<data>oAqTU1RBUwE=</data>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>OemTableId</key>
<data></data>
<key>Replace</key>
<data>oAqRCv8L//8=</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
<key>TableLength</key>
<integer>0</integer>
<key>TableSignature</key>
<data>RFNEVA==</data>
</dict>
</array>
<key>Quirks</key>
<dict>
<key>FadtEnableReset</key>
<false/>
<key>NormalizeHeaders</key>
<true/>
<key>RebaseRegions</key>
<true/>
<key>ResetHwSig</key>
<true/>
<key>ResetLogoStatus</key>
<false/>
</dict>
</dict>
<key>Booter</key>
<dict>
<key>MmioWhitelist</key>
<array/>
<key>Quirks</key>
<dict>
<key>AvoidRuntimeDefrag</key>
<true/>
<key>DevirtualiseMmio</key>
<false/>
<key>DisableSingleUser</key>
<false/>
<key>DisableVariableWrite</key>
<true/>
<key>DiscardHibernateMap</key>
<false/>
<key>EnableSafeModeSlide</key>
<true/>
<key>EnableWriteUnprotector</key>
<true/>
<key>ForceExitBootServices</key>
<false/>
<key>ProtectCsmRegion</key>
<false/>
<key>ProvideCustomSlide</key>
<true/>
<key>SetupVirtualMap</key>
<true/>
<key>ShrinkMemoryMap</key>
<false/>
<key>SignalAppleOS</key>
<false/>
</dict>
</dict>
<key>DeviceProperties</key>
<dict>
<key>Add</key>
<dict>
<key>PciRoot(0x0)/Pci(0x1b,0x0)</key>
<dict>
<key>layout-id</key>
<data>AQAAAA==</data>
</dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data></data>
</dict>
</dict>
<key>Block</key>
<dict>
<key>PciRoot(0x0)/Pci(0x1b,0x0)</key>
<array>
<string>MaximumBootBeepVolume</string>
</array>
</dict>
</dict>
<key>Kernel</key>
<dict>
<key>Add</key>
<array>
<dict>
<key>BundlePath</key>
<string>Lilu.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/Lilu</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>WhateverGreen.kext</string>
<key>Comment</key>
<string>Video card</string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/WhateverGreen</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>USBInjectAll.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/USBInjectAll</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>VirtualSMC.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/VirtualSMC</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>USBMap.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<false/>
<key>ExecutablePath</key>
<string></string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>AppleALC.kext</string>
<key>Comment</key>
<string>Sound</string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/AppleALC</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>IntelMausiEthernet.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string>Contents/MacOS/IntelMausiEthernet</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>BundlePath</key>
<string>XHCI-unsupported.kext</string>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<true/>
<key>ExecutablePath</key>
<string></string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
</array>
<key>Block</key>
<array>
<dict>
<key>Comment</key>
<string></string>
<key>Enabled</key>
<false/>
<key>Identifier</key>
<string>com.apple.driver.AppleTyMCEDriver</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
</dict>
</array>
<key>Emulate</key>
<dict>
<key>Cpuid1Data</key>
<data></data>
<key>Cpuid1Mask</key>
<data></data>
</dict>
<key>Patch</key>
<array>
<dict>
<key>Base</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<false/>
<key>Find</key>
<data>dS4Ptg==</data>
<key>Identifier</key>
<string>com.apple.driver.AppleRTC</string>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string></string>
<key>Replace</key>
<data>6y4Ptg==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
</dict>
<dict>
<key>Base</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<false/>
<key>Find</key>
<data>dTMPtw==</data>
<key>Identifier</key>
<string>com.apple.driver.AppleRTC</string>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>MaxKernel</key>
<string>18.5.0</string>
<key>MinKernel</key>
<string>18.5.0</string>
<key>Replace</key>
<data>6zMPtw==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
</dict>
<dict>
<key>Base</key>
<string>_AcpiOsVprintf</string>
<key>Comment</key>
<string></string>
<key>Count</key>
<integer>0</integer>
<key>Enabled</key>
<false/>
<key>Find</key>
<data></data>
<key>Identifier</key>
<string>com.apple.driver.AppleACPIPlatform</string>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>MaxKernel</key>
<string>18.5.0</string>
<key>MinKernel</key>
<string>18.5.0</string>
<key>Replace</key>
<data>ww==</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
</dict>
</array>
<key>Quirks</key>
<dict>
<key>AppleCpuPmCfgLock</key>
<false/>
<key>AppleXcpmCfgLock</key>
<true/>
<key>AppleXcpmExtraMsrs</key>
<false/>
<key>AppleXcpmForceBoost</key>
<false/>
<key>CustomSMBIOSGuid</key>
<false/>
<key>DisableIoMapper</key>
<false/>
<key>ExternalDiskIcons</key>
<false/>
<key>IncreasePciBarSize</key>
<false/>
<key>LapicKernelPanic</key>
<false/>
<key>PanicNoKextDump</key>
<true/>
<key>PowerTimeoutKernelPanic</key>
<false/>
<key>ThirdPartyDrives</key>
<false/>
<key>XhciPortLimit</key>
<true/>
</dict>
</dict>
<key>Misc</key>
<dict>
<key>BlessOverride</key>
<array>
<string>\EFI\Microsoft\Boot\bootmgfw.efi</string>
</array>
<key>Boot</key>
<dict>
<key>ConsoleBehaviourOs</key>
<string>Graphics</string>
<key>ConsoleBehaviourUi</key>
<string>Text</string>
<key>ConsoleMode</key>
<string></string>
<key>HibernateMode</key>
<string>None</string>
<key>HideSelf</key>
<true/>
<key>PollAppleHotKeys</key>
<false/>
<key>Resolution</key>
<string>MAX</string>
<key>ShowPicker</key>
<true/>
<key>Timeout</key>
<integer>20</integer>
<key>UsePicker</key>
<true/>
</dict>
<key>Debug</key>
<dict>
<key>DisableWatchDog</key>
<true/>
<key>DisplayDelay</key>
<integer>0</integer>
<key>DisplayLevel</key>
<integer>2147483650</integer>
<key>Target</key>
<integer>19</integer>
</dict>
<key>Entries</key>
<array>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string>Not signed for security reasons</string>
<key>Enabled</key>
<false/>
<key>Name</key>
<string>Windows10</string>
<key>Path</key>
<string>PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/NVMe(0x1,11-22-33-44-55-66-77-88)/HD(1,GPT,602B67CF-DBF5-4C2D-A593-D1F97C20CFC0,0x28,0x64000)/\EFI\BOOT\BOOTX64.EFI</string>
</dict>
</array>
<key>Security</key>
<dict>
<key>AllowNvramReset</key>
<true/>
<key>AllowSetDefault</key>
<true/>
<key>AuthRestart</key>
<false/>
<key>ExposeSensitiveData</key>
<integer>3</integer>
<key>HaltLevel</key>
<integer>2147483648</integer>
<key>RequireSignature</key>
<false/>
<key>RequireVault</key>
<false/>
<key>ScanPolicy</key>
<integer>0</integer>
</dict>
<key>Tools</key>
<array>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string>Not signed for security reasons</string>
<key>Enabled</key>
<false/>
<key>Name</key>
<string>UEFI Shell</string>
<key>Path</key>
<string>Shell.efi</string>
</dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string>Memory testing utility</string>
<key>Enabled</key>
<false/>
<key>Name</key>
<string>memcheck</string>
<key>Path</key>
<string>memcheck/memcheck.efi</string>
</dict>
</array>
</dict>
<key>NVRAM</key>
<dict>
<key>Add</key>
<dict>
<key>4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14</key>
<dict>
<key>UIScale</key>
<data>AQ==</data>
</dict>
<key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key>
<dict>
<key>boot-args</key>
<string>dart=0 shikigva=128 alcid=1 agdpmod=pikera</string>
<key>csr-active-config</key>
<data>AAAAAA==</data>
</dict>
</dict>
<key>Block</key>
<dict>
<key>4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14</key>
<array>
<string>UIScale</string>
</array>
<key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key>
<array>
<string>boot-args</string>
</array>
</dict>
<key>LegacyEnable</key>
<true/>
<key>LegacyOverwrite</key>
<true/>
<key>LegacySchema</key>
<dict>
<key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key>
<array>
<string>EFILoginHiDPI</string>
<string>EFIBluetoothDelay</string>
<string>LocationServicesEnabled</string>
<string>SystemAudioVolume</string>
<string>SystemAudioVolumeDB</string>
<string>bluetoothActiveControllerInfo</string>
<string>bluetoothInternalControllerInfo</string>
<string>flagstate</string>
<string>fmm-computer-name</string>
<string>nvda_drv</string>
<string>prev-lang:kbd</string>
</array>
<key>8BE4DF61-93CA-11D2-AA0D-00E098032B8C</key>
<array>
<string>Boot0080</string>
<string>Boot0081</string>
<string>Boot0082</string>
<string>BootNext</string>
<string>BootOrder</string>
</array>
</dict>
<key>WriteFlash</key>
<false/>
</dict>
<key>PlatformInfo</key>
<dict>
<key>Automatic</key>
<true/>
<key>Generic</key>
<dict>
<key>MLB</key>
<string>C029512004NLNV9AD</string>
<key>ROM</key>
<data>ESIzAAAA</data>
<key>SpoofVendor</key>
<true/>
<key>SupportsCsm</key>
<false/>
<key>SystemProductName</key>
<string>iMac19,1</string>
<key>SystemSerialNumber</key>
<string>C02ZV04TJV3Q</string>
<key>SystemUUID</key>
<string>13BAB502-97EE-4377-A9F9-9A519AEAFA53</string>
</dict>
<key>UpdateDataHub</key>
<true/>
<key>UpdateNVRAM</key>
<true/>
<key>UpdateSMBIOS</key>
<true/>
<key>UpdateSMBIOSMode</key>
<string>Create</string>
</dict>
<key>UEFI</key>
<dict>
<key>ConnectDrivers</key>
<true/>
<key>Drivers</key>
<array>
<string>ApfsDriverLoader.efi</string>
<string>FwRuntimeServices.efi</string>
<string>HFSPlus.efi</string>
<string>VirtualSmc.efi</string>
</array>
<key>Input</key>
<dict>
<key>KeyForgetThreshold</key>
<integer>5</integer>
<key>KeyMergeThreshold</key>
<integer>2</integer>
<key>KeySupport</key>
<true/>
<key>KeySupportMode</key>
<string>Auto</string>
<key>KeySwap</key>
<false/>
<key>PointerSupport</key>
<false/>
<key>PointerSupportMode</key>
<string>ASUS</string>
<key>TimerResolution</key>
<integer>50000</integer>
</dict>
<key>Protocols</key>
<dict>
<key>AppleBootPolicy</key>
<false/>
<key>AppleEvent</key>
<false/>
<key>AppleImageConversion</key>
<false/>
<key>AppleKeyMap</key>
<false/>
<key>AppleSmcIo</key>
<false/>
<key>AppleUserInterfaceTheme</key>
<false/>
<key>ConsoleControl</key>
<true/>
<key>DataHub</key>
<false/>
<key>DeviceProperties</key>
<false/>
<key>FirmwareVolume</key>
<true/>
<key>HashServices</key>
<false/>
<key>OSInfo</key>
<false/>
<key>UnicodeCollation</key>
<false/>
</dict>
<key>Quirks</key>
<dict>
<key>AvoidHighAlloc</key>
<false/>
<key>ClearScreenOnModeSwitch</key>
<false/>
<key>ExitBootServicesDelay</key>
<integer>0</integer>
<key>IgnoreInvalidFlexRatio</key>
<false/>
<key>IgnoreTextInGraphics</key>
<false/>
<key>ProvideConsoleGop</key>
<true/>
<key>ReconnectOnResChange</key>
<false/>
<key>ReleaseUsbOwnership</key>
<true/>
<key>ReplaceTabWithSpace</key>
<false/>
<key>RequestBootVarFallback</key>
<false/>
<key>RequestBootVarRouting</key>
<false/>
<key>SanitiseClearScreen</key>
<false/>
<key>UnblockFsConnect</key>
<false/>
</dict>
</dict>
</dict>
</plist>
Top score here is my new i9-9900k, the bottom score is my old i7-8700
Attachments
Last edited: