mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-04-24 12:00:15 +10:00
Merge branch 'main' into vmm
This commit is contained in:
@@ -39,6 +39,8 @@
|
||||
- Resolves Brightness control
|
||||
- Add AppleGVA patch set for HD3000 machines
|
||||
- Mainly applicable for iMac12,x and iGPU-only MacBooks
|
||||
- Add EFICheckDisabler
|
||||
- Based off stripped RestrictEvents.kext
|
||||
|
||||
## 0.2.5
|
||||
|
||||
|
||||
@@ -55,10 +55,12 @@ Nightly builds can be found here courteous of nightly.link:
|
||||
* Mac Pro on OpenCore Patch set and documentation
|
||||
* [Innie](https://github.com/cdf/Innie) and [NightShiftEnabler](https://github.com/cdf/NightShiftEnabler)
|
||||
* [Syncretic](https://forums.macrumors.com/members/syncretic.1173816/)
|
||||
* [AAAMouSSE](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/) and [telemetrap](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/post-28447707)
|
||||
* [AAAMouSSE](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/), [telemetrap](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/post-28447707) and [SurPlus](https://github.com/reenigneorcim/SurPlus)
|
||||
* [dosdude1](https://github.com/dosdude1)
|
||||
* Main author of GUI
|
||||
* Development of previous patchers, laying out much of what needs to be patched
|
||||
* [parrotgeek1](https://github.com/parrotgeek1)
|
||||
* [VMM Patch Set](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/4a8f61a01da72b38a4b2250386cc4b497a31a839/payloads/Config/config.plist#L1222-L1281)
|
||||
* [BarryKN](https://github.com/BarryKN)
|
||||
* Development of previous patchers, laying out much of what needs to be patched
|
||||
* [mario_bros_tech](https://github.com/mariobrostech) and the rest of the Unsupported Mac Discord
|
||||
|
||||
@@ -134,7 +134,6 @@ module.exports = {
|
||||
'TERMS',
|
||||
'HOW',
|
||||
'PATCHEXPLAIN',
|
||||
'CLI',
|
||||
]
|
||||
|
||||
},
|
||||
|
||||
41
docs/CLI.md
41
docs/CLI.md
@@ -1,41 +0,0 @@
|
||||
# Command Line Args
|
||||
|
||||
With OpenCore Legacy Patcher, we include an extra binary called [OCLP-CLI](https://github.com/dortania/OpenCore-Legacy-Patcher/releases/). The purpose of this binary is to easily run our OpenCore build process for other programs to hook onto. Below is documentation on currently supported arguments.
|
||||
|
||||
### Build Arguments
|
||||
|
||||
* **--build**: Build OpenCore
|
||||
* **--model xxxx**: override default model detection
|
||||
* ex. **--model iMac11,2**
|
||||
* **--metal_gpu xxxx**: override default GPU detection (ie. Nvidia, AMD)
|
||||
* **--metal_gpu Nvidia**
|
||||
* **--smbios_spoof xxxx**: set spoofing mode, defaults to Minimal if no arg provided (ie. Minimal, Moderate, Advanced)
|
||||
* ex. **--smbios_spoof Moderate**
|
||||
* **--verbose**: enable verbose booting
|
||||
* **--debug_oc**: enable debug OpenCore
|
||||
* **--debug_kext**: enable debug kexts
|
||||
* **--skip_wifi**: skip wifi patch
|
||||
* **--hide_picker**: hide OpenCore's picker
|
||||
* **--disable_sip**: disables SIP
|
||||
* **--disable_smb**: disables SecureBootModel
|
||||
* **--vault**: enable OpenCore vaulting
|
||||
|
||||
Example usage:
|
||||
|
||||
```bash
|
||||
./OCLP-CLI --build --verbose --debug_oc --debug_kext --model iMac11,2
|
||||
```
|
||||
|
||||
Note, when building OpenCore the output folder will be next to the OCLP binary as OpenCore-RELEASE or OpenCore-DEBUG folder.
|
||||
|
||||
### Patch System Arguments
|
||||
|
||||
* **--patch_sys_vol**: patches root volume with detected hardware
|
||||
|
||||
Example usage:
|
||||
|
||||
```bash
|
||||
sudo ./OCLP-CLI --patch_sys_vol
|
||||
```
|
||||
|
||||
Note, root volume patching needs to be run as sudo
|
||||
@@ -16,6 +16,8 @@ This patcher is made of multiple external applications from different people and
|
||||
* All rights reserved to respective authors
|
||||
* [AAAMouSSE](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/) - Syncretic
|
||||
* [telemetrap](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/post-28447707) - Syncretic
|
||||
* [SurPlus](https://github.com/reenigneorcim/SurPlus) - Syncretic
|
||||
* [VMM Patch Set](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/4a8f61a01da72b38a4b2250386cc4b497a31a839/payloads/Config/config.plist#L1222-L1281) - parrotgeek1
|
||||
* Apple Binaries - Apple Inc.
|
||||
|
||||
Remaining files within OpenCore Legacy Patcher are copyrighted 2020-2021 Mykola Grymalyuk & Dhinak G. For integration into other projects, please request written permission.
|
||||
|
||||
@@ -19,7 +19,7 @@ Below is a run down of the main logic OpenCore Legacy Patcher uses to gain nativ
|
||||
* EHCx and XHC1 Patches
|
||||
* Reason: Required for proper USB operation
|
||||
* Logic: Avoids USB maps of newer models attaching and breaking USB port functionality
|
||||
* Models: All models require
|
||||
* Models: All models require when spoofing with Moderate or Advanced SMBIOS
|
||||
|
||||
### Booter -> Quirks
|
||||
|
||||
@@ -53,11 +53,11 @@ Below is a run down of the main logic OpenCore Legacy Patcher uses to gain nativ
|
||||
* SMC Patch
|
||||
* Reason: Required to avoid SMC Firmware updates
|
||||
* Logic: Patches out `smc-version` in AppleSMC.kext, requires SMC-Spoof.kext for full functionality
|
||||
* Models: All models require
|
||||
* Models: All models require when spoofing SMBIOS
|
||||
* IOHIDFamily Patch
|
||||
* Reason: Required for HID peripheral support in macOS on older hardware
|
||||
* Logic: Tricks IOHIDFamily into thinking it's always booting recovery
|
||||
* Models: [2010 and older](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/79ab028b0a039e97a528e0b99c876d95d9c2d41d/Resources/ModelArray.py#L310-L332)
|
||||
* Models: Penryn CPUs (Core2 series)
|
||||
|
||||
### Kernel -> Quirks
|
||||
|
||||
@@ -196,15 +196,13 @@ Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into m
|
||||
|
||||
Unfortunately certain on-disk patches are required to achieve full functionality. Below is a breakdown of patches supported
|
||||
|
||||
Note, GPU Acceleration Patches are not public yet, the below section is simply documentation for easier research with new aids.
|
||||
|
||||
::: details Audio Patches
|
||||
|
||||
### Extensions
|
||||
|
||||
* AppleHDA
|
||||
* Reason: Re-add High Sierra's AppleHDA to achieve audio support
|
||||
* Models: 2011 and older Macs (excluding MacPro4,1+)
|
||||
* Reason: Re-add El Capitan's AppleHDA to achieve audio support
|
||||
* Models: iMac7,1 and iMac8,1
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -659,6 +659,24 @@
|
||||
<key>PlistPath</key>
|
||||
<string>Contents/Info.plist</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Arch</key>
|
||||
<string>x86_64</string>
|
||||
<key>Comment</key>
|
||||
<string>Disable EFI Checks</string>
|
||||
<key>Enabled</key>
|
||||
<false/>
|
||||
<key>MaxKernel</key>
|
||||
<string></string>
|
||||
<key>MinKernel</key>
|
||||
<string></string>
|
||||
<key>BundlePath</key>
|
||||
<string>EFICheckDisabler.kext</string>
|
||||
<key>ExecutablePath</key>
|
||||
<string></string>
|
||||
<key>PlistPath</key>
|
||||
<string>Contents/Info.plist</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Arch</key>
|
||||
<string>x86_64</string>
|
||||
|
||||
BIN
payloads/Kexts/Acidanthera/EFICheckDisabler-v1.0.5.zip
Normal file
BIN
payloads/Kexts/Acidanthera/EFICheckDisabler-v1.0.5.zip
Normal file
Binary file not shown.
1
payloads/Kexts/Acidanthera/EFICheckDisabler.md
Normal file
1
payloads/Kexts/Acidanthera/EFICheckDisabler.md
Normal file
@@ -0,0 +1 @@
|
||||
Based off RestrictEvents.kext, stripped binary to block Apple's EFICheck driver
|
||||
@@ -745,6 +745,10 @@ class BuildOpenCore:
|
||||
self.get_item_by_kv(self.config["Kernel"]["Patch"], "Identifier", "com.apple.filesystems.apfs")["Enabled"] = True
|
||||
# Lets us check in sys_patch.py if config supports FileVault
|
||||
self.config["NVRAM"]["Add"]["4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102"]["OCLP-Settings"] += " -allow_fv"
|
||||
if self.get_kext_by_bundle_path("RestrictEvents.kext")["Enabled"] is False:
|
||||
# Ensure this is done at the end so all previous RestrictEvents patches are applied
|
||||
# RestrictEvents and EFICheckDisabler will confilict if both are injected
|
||||
self.enable_kext("EFICheckDisabler.kext", self.constants.restrictevents_version, self.constants.efi_disabler_path)
|
||||
|
||||
def set_smbios(self):
|
||||
spoofed_model = self.model
|
||||
|
||||
@@ -715,12 +715,17 @@ the event there's issues.
|
||||
"""Many thanks to the following:
|
||||
|
||||
- Acidanthera:\tOpenCore, kexts and other tools
|
||||
- Khronokernel:\tWriting and maintaining this patcher
|
||||
- DhinakG:\t\tWriting and maintaining this patcher
|
||||
- Khronokernel:\tWriting and maintaining this patcher
|
||||
- ASentientBot:\tLegacy Acceleration Patches
|
||||
- Ausdauersportler:\tLinking fixes for SNBGraphicsFB and AMDX3000
|
||||
- Syncretic:\t\tAAAMouSSE and telemetrap
|
||||
- cdf:\t\tNightShiftEnabler and Innie"""
|
||||
- Syncretic:\t\tAAAMouSSE, telemetrap, and SurPlus
|
||||
- cdf:\t\tNightShiftEnabler and Innie
|
||||
- parrotgeek1:\tVMM Patch Set
|
||||
|
||||
Source Code:
|
||||
https://github.com/dortania/OpenCore-Legacy-Patcher
|
||||
"""
|
||||
],
|
||||
).start()
|
||||
|
||||
@@ -852,7 +857,7 @@ system_profiler SPHardwareDataType | grep 'Model Identifier'
|
||||
# MenuOptions(self.constants.custom_model or self.constants.computer.real_model, self.constants).set_amfi,
|
||||
# ],
|
||||
[
|
||||
f"Set System Intrgity Protection (SIP):\tCurrently {self.constants.sip_status}",
|
||||
f"Set System Integrity Protection (SIP):\tCurrently {self.constants.sip_status}",
|
||||
MenuOptions(self.constants.custom_model or self.constants.computer.real_model, self.constants).change_sip,
|
||||
],
|
||||
[
|
||||
|
||||
@@ -258,6 +258,10 @@ class Constants:
|
||||
def restrictevents_path(self):
|
||||
return self.payload_kexts_path / Path(f"Acidanthera/RestrictEvents-v{self.restrictevents_version}.zip")
|
||||
|
||||
@property
|
||||
def efi_disabler_path(self):
|
||||
return self.payload_kexts_path / Path(f"Acidanthera/EFICheckDisabler-v{self.restrictevents_version}.zip")
|
||||
|
||||
@property
|
||||
def restrictevents_mbp_path(self):
|
||||
return self.payload_kexts_path / Path(f"Acidanthera/RestrictEvents-MBP91-v{self.restrictevents_mbp_version}.zip")
|
||||
|
||||
Reference in New Issue
Block a user