Jump to content
MaLd0n

OpenCore Vanilla Guide, Step by Step, Full DSDT patched or SSDT

Recommended Posts

-Donations with PayPal
https://tinyurl.com/r2bvzm7

-Donations with Bitcoin
33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

-Donations with PicPay 
@danielnmaldonado

-Donation with Mercado Livre 
https://tinyurl.com/y9evkj5u

 

- Video Tutorial OpenCore Vanilla Guide -

https://tinyurl.com/yyfa7mfa

 

- OpenCore Premade EFI Folders - (*Just paste EFI folder into EFI partition and start a fine tune*)

https://tinyurl.com/ybr968w3

 

Let's start

1- Download Oc Vanilla and check video bellow

https://www.olarila.com/topic/10371-oc-vanilla/

 

 

Root configuration entries consist of the following:
• ACPI
• Booter
• DeviceProperties • Kernel
• Misc
• NVRAM
• PlatformInfo
• UEFI
jdTlPyS.png 

Oc Manual generated in Docs folderFuBubqb.png

2- Now we need a good plist editor, my suggestion is Clover.app, this app have a good one.
 

a- Download Clover.app
https://tinyurl.com/ydbyczzn 

b- Download PlistEdit Pro
https://www.fatcatsoftware.com/plisteditpro/

c- Download OpenCore Configurator by mackie100 (use last version ever to avoid some bugs)
https://tinyurl.com/ybdqc4cz


3- Open your config.plist with Clover.app
nKVRdtZ.png 

a- Delete WARNING entries and save
CpI3wX6.png 
8gKnspz.png

4- Now let's check a good config for our hardware

 

a- Go to OpenCore Sanity Checker
https://opencore.slowgeek.com/

 

b- Select your CPU
OjOEeZf.png 

c- Select OpenCore Version
BY8ZjHC.png 

d- Select "Then click here to choose your config.plist or drag it here"
nguZ1Rx.png 

 

e- Load your config.plist inside EFI folder and start check what you need
QpGs2TX.png 

 

f- Open your config.plist with OpenCore Configurator(is a easy way. Your can edit with Clover app or any other editor)
Imru5ik.png 

5- Applying correct config for your hardware(I'm using one 9900k in this example)

 

a- Remove and change all wrong entries
CVOrWXC.png 


PPVjJ8p.png 

b- Check one by one and apply as needed
osTPQJ8.png

 

*** IN KERNEL TAB SELECT AppleCpuPmCfgLock, AppleXcpmCfgLock AND XhciPortLimit for all Intel hardwares ***
ToXoLEG.png 

*** After applied all corrections and saving open config.plist again for a final revision ***


6- Boot Arguments

 

a- Go to NVRAM tab

crgLdz8.png 

*** Some Variables ***

– acpi_layer=0xFFFFFFFF
– acpi_level=0xFFFF5F (implies ACPI_ALL_COMPONENTS)
– batman=VALUE (AppleSmartBatteryManager debug mask)
– batman-nosmc=1 (disable AppleSmartBatteryManager SMC interface)
– cpus=VALUE (maximum number of CPUs used)
– debug=VALUE (debug mask)
– io=VALUE (IOKit debug mask)
– keepsyms=1 (show panic log debug symbols)
– kextlog=VALUE (kernel extension loading debug mask)
– nv_disable=1 (disables NVIDIA GPU acceleration)
– nvda_drv=1 (legacy way to enable NVIDIA web driver, removed in 10.12)
– npci=0x2000 (legacy, disables kIOPCIConfiguratorPFM64)
– lapic_dont_panic=1
– slide=VALUE (manually set KASLR slide)
– smcdebug=VALUE (AppleSMC debug mask)
– -amd_no_dgpu_accel (alternative to WhateverGreen’s -radvesa for new GPUs) – -nehalem_error_disable
– -no_compat_check (disable model checking)
– -s (single mode)
– -v (verbose mode)
– -x (safe mode)


7- ACPI

 

a- Copy .aml to OC/ACPI folder
6IOW5At.png 

b- Add entry in config.plist ACPI tab
iC0zvOk.png 

*** Easy way to boot ***

Copy SSDT-OLA.aml to OC/ACPI folder

SSDT-OLA.aml.zip

Add and enable RTC _STA patch fix in config.plist
X58tikr.png 
0GPkQPP.png

8- Generating SMBIOS

 

a- Go to PlatformInfo tab and generate
QzNa1fJ.png 
k5ya5U2.png
H5jmmoy.png

9- Kernel Extensions(Kexts)

OCBuilder.app compiled essentials kexts, but we need remove some unused and add others mandatory like VoodooPS2Controller.kext, VoodooI2C.kext for Mobiles devices.

 

a- Knowing your hardware

-Download Hackintool
https://tinyurl.com/yamzbgd6

Go to PCIe tab and Update PCIIDs. Everything you need to know about your hardware!
6sSLD11.png 

*** Example / Removing unused kexts ***

My Lan card is Intel
0oD8gzS.png 

I can remove some unused kexts about Lan in OC/Kexts Folder, my Lan card use IntelMausi.kext
bm2pBwF.png 

Other unused kexts is removed

AMDRyzenCPUPowerManagement.kext / for AMD Processors
SMCAMDProcessor.kext / monitoring of AMD processors
SMCBatteryManager.kext / Battery Plugin for Mobiles
qffrz44.png 

Now looks good for my hardware
DfcaP2D.png 

b- Add kexts entries in config.plist


Go to Kernel/Add tab and Browse
G6c7xBH.png 

Select Kexts and Open
PGJyyl9.png 

Done
RdLEA8T.png 

10- Drivers

 

a- Go to OC/Drivers and use only necessary drivers (HfsPlus.efi, OpenCanopy.efi and OpenRuntime.efi)
9ggJuuu.png 

b- Add entries drivers config.plist UEFI/Drivers tab and Browse

6tVNiN4.png c- Select Drivers in your OpenCore EFI folder and Open

Dz9hOQf.png 

Done

Kv0mKxI.png 

11- Audio Solution

https://tinyurl.com/y8nnbsap

a- Check your audio codec and layout-ids in tutorial above and add in NVRAM tab

M3fGjBz.png 

12- Mobile Video Solution

https://tinyurl.com/y954utg3

 

a- Apply video patch in your config.plist, use one good .txt app, use TextMate

https://tinyurl.com/y9vpmefc

b- Open config.plist with TextMate and add video patch, DevicesProperties/Add

8pRaDDH.png 

Now we have a EFI OpenCore with good, clean and correct config. Let's go to fine tune!

 

13- Fine Tune DSDT - SSDT

 

-DSDT (FULL SOLUTION)
DSDT (Differentiated System Description Table) is a part of the ACPI specification. It supplies information about supported power events in a given system. ACPI tables are provided in firmware from the manufacturer. A common MacOS problem is missing ACPI functionality, such as: fans not running, screens not turning off when the lid is closed, shutdown, boot fast without any ACPI error or warnings, sata, usb, firewire conflicts, etc.

-SSDT (NOT FULL SOLUTION)
SSDT (Secondary System Descriptor Table) It acts as a supplement to the DSDT.


To start this section we need check some things in real Mac tables and tables from one non-apple in same chipset and processor, in this case let's check Chipset Serie 300 with Coffelake Processor i9 9900k

 

Real Mac iMac19,1 tables, Chipset Serie 300 (8816 lines)

DSDT.Real iMac CoffeLake serie 300.zip
UwZ7GVw.png 

Mobo Chipset Serie 300 non-apple (59775 lines)

DSDT.Mobo serie 300.zip
WoBJW8S.png 

The conclusion is: Apple use a very custom DSDT, no unused devices, no trash is found there. On our motherboard things are different, we have more than 50 thousand lines of a lot of garbage and devices for windows and not for MacOS.

 

Let's check one perfect hack with my Dell with Intel(R) Core(TM) i7-10510U and OpenCore Bootloader and FULL DSDT Patched

yLdSjsC.png 

outXTHj.png XVCLlCy.png 

VaRB9Lb.png 

A8goZck.png

pkdVTzL.png

qiy7cxQ.png

Work like one Real Mac!

 

-Olarila common patches for one perfect Hackintosh-

  Quote

--DSDT Patches--

-FIX ERRORS AND WARNINGS

-FIX ACPI ERRORS

-REMOVE UNUSED SCOPES / DEVICES

-HIGH PRECISION EVENT TIMER

-SATA SERIE ID

-DMAC

-REMOVE LINES, PROBLEMATIC and UNUSED

-FIX K.P in REBOOT

-NVRAM

-REAL TIME CLOCK

-SLPB

-DARWIN / WINDOWS 2015

-XHCI

-PLUGIN TYPE

-HDAS to HDEF

-HDEF

-ARTC

-IPIC

-TIMR

-SBUS

-BUS1

-MCHC

-ALS0

-SHUTDOWN

-UAR1

-LAN

-FWHD

-USBX

-PMCR

-PPMC

-XSPI

-GMM

-IMEI

-EC

-PNLF

-ARPT

-GFX0

-NVME

-DTGP

-ACQUIRE MUT0 0XFFFF

-OPERATION REGION GPIO

-MUTEX MUT0 0x00

-EXTERNAL REFERENCES

-UNKNOWNOBJ

-HDMI / HDAU

-FULL RENAMED DEVICES

 

a- If you need a full solution with one full DSDT patched, extract one SendMe with OpenCore running with this app and post here or in DSDT Patch Requests topic, check video first for extract with ioreg

 

Run_Me.app
https://tinyurl.com/y9562hz7


Video Tutorial

https://tinyurl.com/y74onhto

 

b- Paste DSDT.aml in OC/ACPI folder

x0xUDnN.png 

c- Add entry in config.plist, reboot and done

xGRQJRB.png

d- If you like a SSDT way use SSDT Olarila with Basic patches for one good hack (Skylake+ only)

SSDT-OLARILA.aml.zip

 

14- AMD Processors with Vanilla patches

 

Download Patches from Github

https://github.com/AMD-OSX/AMD_Vanilla

*** 15h and 16h / Bulldozer / FX Series / Jaguar / A Series (including AM4 A-Series) ***

*** 17h / Ryzen, Threadripper, Athlon 2xxGE

 

a- Open 17h folder
oW9AyaR.png 

b- Open patches.plist with TextMate.app and copy all patches
QndZaqK.png 

c- Open your config.plistand paste all patches in Kernel/Patche tab and save
waoYBpH.png 
6OpCiwM.png

 

15-  FakeCPUID with OpenCore

 

a- Open your config.plist

 

b- Go to Kernel tab and add properties
aLfb1XJ.png 

Example
Haswell-E (0x0306F2) to Haswell (
0x0306C3)
Cpuid1Data:
C3 06 03 00 00 00 00 00 00 00 00 00 00 00 00 00 
Cpuid1Mask: FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00

 

16- Theme OpenCore

 

a- Download OcBinaryData
https://tinyurl.com/y899xbde 

 

b- Copy Resources folder to your OpenCore Folder
hbgsfDL.png 
mQbzkjx.png

c- Open your config.plist, Go to Misc tab and set Picker Mode to External
ljgAVdv.png 

17- Copying EFI folder to EFI Partition

a- Download ESP Mounter Pro and install this app

https://tinyurl.com/y7q4z4lg

 

b- Mount EFI partition

QUHiHv4.png

c- Paste your EFI folder there

LwoiQq5.png

d- Reboot and Enjoy!

 

*** Some explanations about OpenCore ***

a- Drivers

-AudioDxe

HDA audio support driver in UEFI firmwares for most Intel and some other analog audio controllers. Staging driver, refer to acidanthera/bugtracker#740 for known issues in AudioDxe. 

-CrScreenshotDxe
Screenshot making driver saving images to the root of OpenCore partition (ESP) or any avail- able writeable filesystem upon pressing F10. This is a modified version of CrScreenshotDxe driver by Nikolaj Schlej.

-ExFatDxe
Proprietary ExFAT file system driver for Bootcamp support commonly found in Apple firmwares. For Sandy Bridge and earlier CPUs ExFatDxeLegacy driver should be used due to the lack of RDRAND instruction support.

-HfsPlus
Proprietary HFS file system driver with bless support commonly found in Apple firmwares. For Sandy Bridge and earlier CPUs HfsPlusLegacy driver should be used due to the lack of RDRAND instruction support.

-HiiDatabase
HII services support driver from MdeModulePkg. This driver is included in most firmwares starting with Ivy Bridge generation. Some applications with the GUI like UEFI Shell may need this driver to work properly.

-EnhancedFatDxe
FAT filesystem driver from FatPkg. This driver is embedded in all UEFI firmwares, and cannot be used from OpenCore. It is known that multiple firmwares have a bug in their FAT support implementation, which leads to corrupted filesystems on write attempt. Embedding this driver within the firmware may be required in case writing to EFI partition is needed during the boot process.

-NvmExpressDxe
NVMe support driver from MdeModulePkg. This driver is included in most firmwares starting with Broadwell generation. For Haswell and earlier embedding it within the firmware may be more favourable in case a NVMe SSD drive is installed.

-OpenCanopy
OpenCore plugin implementing graphical interface.

-OpenRuntime
OpenCore plugin implementing OC_FIRMWARE_RUNTIME protocol.

-OpenUsbKbDxe
USB keyboard driver adding the support of AppleKeyMapAggregator protocols on top of a custom USB keyboard driver implementation. This is an alternative to builtin KeySupport, which may work better or worse depending on the firmware.

-PartitionDxe
Proprietary partition management driver with Apple Partitioning Scheme support commonly found in Apple firmwares. This driver can be used to support loading older DMG recoveries such as macOS 10.9 using Apple Partitioning Scheme. For Sandy Bridge and earlier CPUs PartitionDxeLegacy driver should be used due to the lack of RDRAND instruction support. 

-Ps2KeyboardDxe
PS/2 keyboard driver from MdeModulePkg. OpenDuetPkg and some firmwares may not include this driver, but it is necessary for PS/2 keyboard to work. Note, unlike OpenUsbKbDxe this driver has no AppleKeyMapAggregator support and thus requires KeySupport to be enabled. 

-Ps2MouseDxe
PS/2 mouse driver from MdeModulePkg. Some very old laptop firmwares may not include this driver, but it is necessary for touchpad to work in UEFI graphical interfaces, such as OpenCanopy.

-UsbMouseDxe
USB mouse driver from MdeModulePkg. Some virtual machine firmwares like OVMF may not include this driver, but it is necessary for mouse to work in UEFI graphical interfaces, such as OpenCanopy.

-VBoxHfs
HFS file system driver with bless support. This driver is an alternative to a closed source HfsPlus driver commonly found in Apple firmwares. While it is feature complete, it is approximately 3 times slower and is yet to undergo a security audit.

-XhciDxe
XHCI USB controller support driver from MdeModulePkg. This driver is included in most firmwares starting with Sandy Bridge generation. For earlier firmwares or legacy systems it may be used to support external USB 3.0 PCI cards.

 

b- Booter Quirks Properties


1. AvoidRuntimeDefrag
Description: Protect from boot.efi runtime memory defragmentation.
This option fixes UEFI runtime services (date, time, NVRAM, power control, etc.) support on many firmwares using SMM backing for select services like variable storage. SMM may try to access physical addresses, but they get moved by boot.efi.
Note: Most but Apple and VMware firmwares need this quirk.

2. DevirtualiseMmio
Description: Remove runtime attribute from select MMIO regions.
This option reduces stolen memory footprint from the memory map by removing runtime bit for known memory regions. This quirk may result in the increase of KASLR slides available, but is not necessarily compatible with the target board without additional measures. In general this frees from 64 to 256 megabytes of memory (present in the debug log), and on some platforms it is the only way to boot macOS, which otherwise fails with allocation error at bootloader stage.
This option is generally useful on all firmwares except some very old ones, like Sandy Bridge. On select firmwares it may require a list of exceptional addresses that still need to get their virtual addresses for proper NVRAM and hibernation functioning. Use MmioWhitelist section to do this.

3. DisableSingleUser
Description: Disable single user mode.
This is a security option allowing one to restrict single user mode usage by ignoring CMD+S hotkey and -s boot argument. The behaviour with this quirk enabled is supposed to match T2-based model behaviour. Read this article to understand how to use single user mode with this quirk enabled.

4. DisableVariableWrite
Description: Protect from macOS NVRAM write access.
This is a security option allowing one to restrict NVRAM access in macOS. This quirk requires OC_FIRMWARE_RUNTIME protocol implemented in OpenRuntime.efi.
Note: This quirk can also be used as an ugly workaround to buggy UEFI runtime services implementations that fail to write variables to NVRAM and break the rest of the operating system.
17

5. DiscardHibernateMap
Description: Reuse original hibernate memory map.
This option forces XNU kernel to ignore newly supplied memory map and assume that it did not change after waking from hibernation. This behaviour is required to work by Windows, which mandates to preserve runtime memory size and location after S4 wake.
Note: This may be used to workaround buggy memory maps on older hardware, and is now considered rare legacy. Examples of such hardware are Ivy Bridge laptops with Insyde firmware, like Acer V3-571G. Do not use this unless you fully understand the consequences.

6. EnableSafeModeSlide
Description: Patch bootloader to have KASLR enabled in safe mode.
This option is relevant to the users that have issues booting to safe mode (e.g. by holding shift or using -x boot argument). By default safe mode forces 0 slide as if the system was launched with slide=0 boot argument. This quirk tries to patch boot.efi to lift that limitation and let some other value (from 1 to 255) be used. This quirk requires ProvideCustomSlide to be enabled.
Note: The necessity of this quirk is determined by safe mode availability. If booting to safe mode fails, this option can be tried to be enabled.

7. EnableWriteUnprotector
Description: Permit write access to UEFI runtime services code.
This option bypasses RX permissions in code pages of UEFI runtime services by removing write protection (WP)
bit from CR0 register during their execution. This quirk requires OC_FIRMWARE_RUNTIME protocol implemented in OpenRuntime.efi.
Note: This quirk may potentially weaken firmware security, please use RebuildAppleMemoryMap if your firmware supports memory attributes table (MAT).

8. ForceExitBootServices
Description: Retry ExitBootServices with new memory map on failure.
Try to ensure that ExitBootServices call succeeds even with outdated MemoryMap key argument by obtaining current memory map and retrying ExitBootServices call.
Note: The necessity of this quirk is determined by early boot crashes of the firmware. Do not use this unless you fully understand the consequences.

9. ProtectMemoryRegions
Description: Protect memory regions from incorrect access.
Some firmwares incorrectly map select memory regions:
• CSM region can be marked as boot services code or data, which leaves it as free memory for XNU kernel. • MMIO regions can be marked as reserved memory and stay unmapped, but may be required to be accessible
at runtime for NVRAM support.
This quirk attempts to fix types of these regions, e.g. ACPI NVS for CSM or MMIO for MMIO.
Note: The necessity of this quirk is determined by artifacts, sleep wake issues, and boot failures. In general only very old firmwares need this quirk.

10. ProtectSecureBoot
Description: Protect UEFI Secure Boot variables from being written.
Reports security violation during attempts to write to db, dbx, PK, and KEK variables from the operating system. Note: This quirk mainly attempts to avoid issues with NVRAM implementations with problematic defragmentation,
such as select Insyde or MacPro5,1.

11. ProtectUefiServices
Description: Protect UEFI services from being overridden by the firmware.
Some modern firmwares including both hardware and virtual machines, like VMware, may update pointers to UEFI services during driver loading and related actions. Consequentially this directly breaks other quirks that affect memory management, like DevirtualiseMmio, ProtectMemoryRegions, or RebuildAppleMemoryMap, and may also break other quirks depending on the effects of these.
Note: On VMware the need for this quirk may be diagnosed by “Your Mac OS guest might run unreliably with more than one virtual core.” message.

12. ProvideCustomSlide
Description: Provide custom KASLR slide on low memory.
This option performs memory map analysis of your firmware and checks whether all slides (from 1 to 255) can be used. As boot.efi generates this value randomly with rdrand or pseudo randomly rdtsc, there is a chance of boot failure when it chooses a conflicting slide. In case potential conflicts exist, this option forces macOS to use a pseudo random value among the available ones. This also ensures that slide= argument is never passed to the operating system for security reasons.
Note: The necessity of this quirk is determined by OCABC: Only N/256 slide values are usable! message in the debug log. If the message is present, this option is to be enabled.

13. RebuildAppleMemoryMap
Description: Generate Memory Map compatible with macOS.
Apple kernel has several limitations in parsing UEFI memory map:
• Memory map size must not exceed 4096 bytes as Apple kernel maps it as a single 4K page. Since some firmwares have very large memory maps (approximately over 100 entries) Apple kernel will crash at boot.
• Memory attributes table is ignored. EfiRuntimeServicesCode memory statically gets RX permissions, and all other memory types get RW permissions. Since some firmware drivers may write to global variables at runtime, Apple kernel will crash at calling UEFI runtime services, unless driver .data section has EfiRuntimeServicesData type.
To workaround these limitations this quirk applies memory attributes table permissions to memory map passed to Apple kernel and optionally attempts to unify contiguous slots of similar types if the resulting memory map exceeds 4 KB.
Note 1: Since many firmwares come with incorrect memory protection table this quirk often comes in pair with SyncRuntimePermissions.
Note 2 : The necessity of this quirk is determined by early boot failures. This quirk replaces EnableWriteUnprotector on firmwares supporting memory attributes table (MAT).

14. SetupVirtualMap
Description: Setup virtual memory at SetVirtualAddresses.
Select firmwares access memory by virtual addresses after SetVirtualAddresses call, which results in early boot crashes. This quirk workarounds the problem by performing early boot identity mapping of assigned virtual addresses to physical memory.
Note: The necessity of this quirk is determined by early boot failures. Currently new firmwares with memory protection support (like OVMF) do not support this quirk due to acidanthera/bugtracker#719.

15. SignalAppleOS
Description: Report macOS being loaded through OS Info for any OS.
This quirk is useful on Mac firmwares, which behave differently in different OS. For example, it is supposed to enable Intel GPU in Windows and Linux in some dual-GPU MacBook models.

16. SyncRuntimePermissions
Description: Update memory permissions for runtime environment.
Some firmwares either fail to properly handle runtime permissions:
• They incorrectly mark OpenRuntime as not executable in the memory map.
• They incorrectly mark OpenRuntime as not executable in the memory attributes table. • They lose entries from the memory attributes table after OpenRuntime is loaded.
• They mark items in the memory attributes table as read-write-execute.
This quirk tries to update memory map and memory attributes table to correct this.
Note: The necessity of this quirk is determined by early boot failures either in macOS or in Linux/Windows. In general only firmwares released in 2018 or later are affected.

 

c- Kernel Quirks Properties

 

1. AppleCpuPmCfgLock
Description: Disables PKG_CST_CONFIG_CONTROL (0xE2) MSR modification in AppleIntelCPUPowerManage- ment.kext, commonly causing early kernel panic, when it is locked from writing.
Certain firmwares lock PKG_CST_CONFIG_CONTROL MSR register. To check its state one can use bundled VerifyMsrE2 tool. Select firmwares have this register locked on some cores only.
As modern firmwares provide CFG Lock setting, which allows configuring PKG_CST_CONFIG_CONTROL MSR register lock, this option should be avoided whenever possible. For several APTIO firmwares not displaying CFG Lock setting in the GUI it is possible to access the option directly:
(a) Download UEFITool and IFR-Extractor.
(b) Open your firmware image in UEFITool and find CFG Lock unicode string. If it is not present, your firmware
may not have this option and you should stop.
(c) Extract the Setup.bin PE32 Image Section (the one UEFITool found) through Extract Body menu option.
(d) Run IFR-Extractor on the extracted file (e.g. ./ifrextract Setup.bin Setup.txt).
(e) Find CFG Lock, VarStoreInfo (VarOffset/VarName): in Setup.txt and remember the offset right after
it (e.g. 0x123).
(f) Download and run Modified GRUB Shell compiled by brainsucker or use a newer version by datasone.
(g) Enter setup_var 0x123 0x00 command, where 0x123 should be replaced by your actual offset, and reboot.
WARNING: Variable offsets are unique not only to each motherboard but even to its firmware version. Never
ever try to use an offset without checking.

2. AppleXcpmCfgLock
Description: Disables PKG_CST_CONFIG_CONTROL (0xE2) MSR modification in XNU kernel, commonly causing early kernel panic, when it is locked from writing (XCPM power management).
Note: This option should be avoided whenever possible. See AppleCpuPmCfgLock description for more details.

3. AppleXcpmExtraMsrs
Description: Disables multiple MSR access critical for select CPUs, which have no native XCPM support.
This is normally used in conjunction with Emulate section on Haswell-E, Broadwell-E, Skylake-SP, and similar CPUs. More details on the XCPM patches are outlined in acidanthera/bugtracker#365.
Note: Additional not provided patches will be required for Ivy Bridge or Pentium CPUs. It is recommended to use AppleIntelCpuPowerManagement.kext for the former.

4. AppleXcpmForceBoost
Description: Forces maximum performance in XCPM mode.
This patch writes 0xFF00 to MSR_IA32_PERF_CONTROL (0x199), effectively setting maximum multiplier for all the time.
Note: While this may increase the performance, this patch is strongly discouraged on all systems but those explicitly dedicated to scientific or media calculations. In general only certain Xeon models benefit from the patch.

5. CustomSMBIOSGuid
Description: Performs GUID patching for UpdateSMBIOSMode Custom mode. Usually relevant for Dell laptops.

6. DisableIoMapper
Description: Disables IOMapper support in XNU (VT-d), which may conflict with the firmware implementation.
Note: This option is a preferred alternative to deleting DMAR ACPI table and disabling VT-d in firmware preferences, which does not break VT-d support in other systems in case they need it.

7. DisableRtcChecksum
Type: plist boolean
Failsafe: false
Description: Disables primary checksum (0x58-0x59) writing in AppleRTC.
Note 1: This option will not protect other areas from being overwritten, see RTCMemoryFixup kernel extension if this is desired.
Note 2: This option will not protect areas from being overwritten at firmware stage (e.g. macOS bootloader), see AppleRtc protocol description if this is desired.

8. DummyPowerManagement
Description: Disables AppleIntelCpuPowerManagement.
Note: This option is a preferred alternative to NullCpuPowerManagement.kext for CPUs without native power management driver in macOS.

9. ExternalDiskIcons
Description: Apply icon type patches to AppleAHCIPort.kext to force internal disk icons for all AHCI disks.
Note: This option should be avoided whenever possible. Modern firmwares usually have compatible AHCI controllers.

10. IncreasePciBarSize
Description: Increases 32-bit PCI bar size in IOPCIFamily from 1 to 4 GBs.
Note: This option should be avoided whenever possible. In general the necessity of this option means misconfigured or broken firmware.

11. LapicKernelPanic
Description: Disables kernel panic on LAPIC interrupts.

12. PanicNoKextDump
Description: Prevent kernel from printing kext dump in the panic log preventing from observing panic details. Affects 10.13 and above.

13. PowerTimeoutKernelPanic
Description: Disables kernel panic on setPowerState timeout.
An additional security measure was added to macOS Catalina (10.15) causing kernel panic on power change timeout for Apple drivers. Sometimes it may cause issues on misconfigured hardware, notably digital audio, which
sometimes fails to wake up. For debug kernels setpowerstate_panic=0 boot argument should be used, which is otherwise equivalent to this quirk.

14. ThirdPartyDrives
Description: Apply vendor patches to IOAHCIBlockStorage.kext to enable native features for third-party drives, such as TRIM on SSDs or hibernation support on 10.15 and newer.
Note: This option may be avoided on user preference. NVMe SSDs are compatible without the change. For AHCI SSDs on modern macOS version there is a dedicated built-in utility called trimforce. Starting from 10.15 this utility creates EnableTRIM variable in APPLE_BOOT_VARIABLE_GUID namespace with 01 00 00 00 value.

15. XhciPortLimit
Description: Patch various kexts (AppleUSBXHCI.kext, AppleUSBXHCIPCI.kext, IOUSBHostFamily.kext) to remove USB port count limit of 15 ports.
Note: This option should be avoided whenever possible. USB port limit is imposed by the amount of used bits in locationID format and there is no possible way to workaround this without heavy OS modification. The only valid solution is to limit the amount of used ports to 15 (discarding some). 

 

-Credits

 

 

Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad, headkaze, onemanosx, erroruser, Jenny David, Sampath007, Facebook Hackintosh community, Facebook Olarila community and many, many, many others!

 

We're all here to have fun and learn from each other!

  • Like 11
  • Thanks 1

Share this post


Link to post
Share on other sites

Belo Post MaLd0n. Conseguir fazer a instalação só estou na luta para a minha setinha do mouse funcionar, testei a DSDT que ja uso no meu Hackintosh com Clover só que de alguma forma não funciona. Estive testando hotpatch e também sem sucesso... Tirando isso o sistema funciona bem mais rápido no Open Core.

Share this post


Link to post
Share on other sites
31 minutes ago, Toddynho said:

Belo Post MaLd0n. Conseguir fazer a instalação só estou na luta para a minha setinha do mouse funcionar, testei a DSDT que ja uso no meu Hackintosh com Clover só que de alguma forma não funciona. Estive testando hotpatch e também sem sucesso... Tirando isso o sistema funciona bem mais rápido no Open Core.

vai ter de patchear pro OpenCore

Share this post


Link to post
Share on other sites

Hi, thanks for detailed and useful tutorial

I managed to boot my CoffeeLake 8700K and 5700XT but have no Audio, in System Settings/ Audio all sound effects are clickable but no sound from Internal Speakers, only buzzing sound, please help.

Share this post


Link to post
Share on other sites

Thanks! now audio works.

Another question, I need my custom fakesmc and AMD GPU monitor kexts for OpenCore, can I simply transfer them from Clover EFI Folder?

Share this post


Link to post
Share on other sites
1 hour ago, RandomTech7 said:

Another question, I need my custom fakesmc and AMD GPU monitor kexts for OpenCore, can I simply transfer them from Clover EFI Folder?

test and check if work

Share this post


Link to post
Share on other sites
15 minutes ago, MaLd0n said:

test and check if work

I tested but didn't work, I have a lot modification in clover and I'm noob to transfer them to opencore

Share this post


Link to post
Share on other sites
10 minutes ago, RandomTech7 said:

I tested but didn't work, I have a lot modification in clover and I'm noob to transfer them to opencore

extract send me and send me ur efi folder too

Share this post


Link to post
Share on other sites
8 hours ago, MaLd0n said:

extract send me and send me ur efi folder too

Here you go sir,

in EFI Clover:

1. Devices/Properties to undervolt 5700XT and better fan curve.

2. Custom fakesmc and radeon monitor kexts to show GPU temperatures.

3. Custom SSDT.aml+dAGPM.kext for GPU to double the OpenCL and Metal performance. 33,000 to 60,000 score in Geekbench5.

 

Send me Navis-iMac-Pro-OpenCore.zip EFI Clover.zip

Share this post


Link to post
Share on other sites
Posted (edited)

Question.

1. I can used my OC config then just delete the SSDT from dortania and add DSDT patch? 
2. If they update the OC from 0.5.9 to 0.6.0 do i need to update it or just wait for your update? 
Thanks!

Stuck here when i tried to delete all my SSDT from OC files and pasted your SSDT then applied the patch

https://imgur.com/a/Z8GXRiB

Edited by Kyaalod

Share this post


Link to post
Share on other sites
On 6/23/2020 at 9:40 AM, MaLd0n said:

a fine tune DSDT.aml.zip

if u use dual boot u can use my ssdt from here, ssdt is never is a full solution but work good

https://www.olarila.com/applications/core/interface/file/attachment.php?id=27503 1.7 kB · 16 downloads

i'll test fakesmc in oc, but i think dont work

DSDT very good but I use Windows for gaming and no sound in Windows now :shock:

I gonna use olarila-ssdt to see results.

Custom fakesmc + radeon monitor kext are working for for OC :D

Share this post


Link to post
Share on other sites
1 hour ago, RandomTech7 said:

I gonna use olarila-ssdt to see results.

if u boot into windows via OpenCore, bootloader inject edited table in other system, is a very crazy non-sense thing, but i think devs fix it soon

to avoid problem in this case and stay with full patch need use a bootkey or ssdt. ssdt from this topic is good, not full solution but work fantastic too

1 hour ago, RandomTech7 said:

Custom fakesmc + radeon monitor kext are working for for OC :D

Nice!

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

Hi MaLd0N,

Need your help, please. I was trying getting listed all pci devices in sysinfo but I can´t get it done in OC.

Graphics cards (HD630 & RX580), ethernet and pcie bt/wifi card are not listed in pci.

Radeon RX580 is listed in slot "Airport" in Graphics/Displays section.

 

this are the changes I made to your files:

- created new entry in dsdt for getting 2ºnvme using "Apple SSD Controller", and not generic, copying your patch

- in dsdt _SB.PCI0.LPCB.EC _DSM  changed pci8086,a306 to pci8086,a305 as this is the correct device id. Now chipset is listed as Z390 Chipset LPC/eSPI Controller

- added device properties in config.plist for IGP HD 630, as it was recognized as platform-id 3E910003 and correct one seems to be 3E920003

 

Send me

thank you!

 

PD: I have tested your EFI & DSDT from here because dsdt is very much the same, but no display output with monitor on DisplayPort on login. I later put WEG in kext folder and can get to login screen, so where is the trick to run without WEG?? Your card is a 590 !!

Even with WEG graphics cards not listed in PCI. Intel Ethernet card yes.

---

z390 gaming x f10c | i7-8700 | RX580 Pulse

captures.7z

Edited by xrimarx
trying yor BigSur EFI&DSDT

Share this post


Link to post
Share on other sites
On 6/26/2020 at 10:32 PM, Kyaalod said:

Here Sir. SENDME.ZIP

DSDT.aml.zip

On 6/28/2020 at 3:02 AM, xrimarx said:

Hi MaLd0N,

Insert a little _dsm with generic infos

On 6/28/2020 at 4:03 AM, masmaerz said:

hi @MaLd0n can you help to touch my configuration for more stable,  I send my configuration that I made in BigSur

DSDT.aml.zip

Share this post


Link to post
Share on other sites
Posted (edited)

Hi,

Inserted _dsm with only slot property to GFX0 and PEGP but nothing happens. "Built In" to GFX0 and "Slot-1" to PEGP.

So, UHD 630 doesn´t show in PCI list, and RX 580 only shown in Graphics/Displays with slot "AirPort"

Do I have to add more properties to _dsm ?

 

more testing:

Deleting "Name (_SUN, One)" in both devices

fixed _dsm with proper end (Buffer (One) .... ) and mixed results:

-with _dsm in GFX0 (igpu) "Built In" -> ACPI Error in boot

-only with _dsm in PEGP "Slot-1" or "Built In", can boot. Not listed in PCI devices, and no slot info in Graphics/Displays and Ioreg.

 

I don´t know, i´m using an imac19,2 smbios with headless igpu so maybe this is the normal slot naming for this config (both gpus as "AirPort").

If I have the chance to see this data in friend´s real iMac i will compare info.

Anyway, not important, so don´t waste your time here.

thanks for all!!

Edited by xrimarx
new testing

Share this post


Link to post
Share on other sites

Boa noite @MaLd0n

Meu caro, parabéns pelo tutorial. Finalmente consegui fazer. Infelizmente muitas coisas pararam de funcionar, outras ficaram perfeitas. Você pode novamente fazer o patch DSDT pra mim? (você já fez pro Clover). Desde já, muito obrigado.

https://drive.google.com/drive/folders/1-Mj2QOU5R8UTNJkz7oFw0eAJh_4qGpg4?usp=sharing

Envio via Google Drive pois o arquivo ficou maior que o site suporta.

Abraço.

Share this post


Link to post
Share on other sites

Hi MaLd0N,

Please if you look at my files what is wrong that macOS Catalina with OpenCore refuses to load.
I made OpenCore as instructed on the Olaril page.

Thanks a lot in advance.

Start PC

EFI.zip My_PC.txt.zip

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...