Compare commits
198 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c573a8a335 | ||
|
|
1393db72dd | ||
|
|
ba82b41cbd | ||
|
|
97a9853526 | ||
|
|
f1d67923c8 | ||
|
|
0e526556e5 | ||
|
|
9125b170ce | ||
|
|
cc5ed2396c | ||
|
|
165526fbe2 | ||
|
|
c366680ad0 | ||
|
|
1237dc55e0 | ||
|
|
ca61262228 | ||
|
|
2b4fdbb388 | ||
|
|
23927a4e6a | ||
|
|
d5330555fc | ||
|
|
8b1a46d8c4 | ||
|
|
84bf2a9e18 | ||
|
|
4d244a5eee | ||
|
|
31ff4bbd0d | ||
|
|
cf4b2b2ad0 | ||
|
|
aa5e39f48a | ||
|
|
d1bd915ede | ||
|
|
4d8aa1a541 | ||
|
|
e2aa6b4b48 | ||
|
|
3a9479a1d6 | ||
|
|
39758fec20 | ||
|
|
2473daee2b | ||
|
|
a604325c5d | ||
|
|
c74706127d | ||
|
|
bea1e92a3b | ||
|
|
e0af3206cf | ||
|
|
7fc5de8e27 | ||
|
|
504fb3a617 | ||
|
|
b3ac3a6843 | ||
|
|
e25b23f7a3 | ||
|
|
cdcbf30f63 | ||
|
|
c66f3cd0ca | ||
|
|
df958a2b1c | ||
|
|
f7f890d37e | ||
|
|
1027e37a03 | ||
|
|
42892e503f | ||
|
|
ca9a0eba34 | ||
|
|
12007041ab | ||
|
|
05fd9489ae | ||
|
|
5b6da1f4e7 | ||
|
|
0a8e599877 | ||
|
|
67c88acedf | ||
|
|
3b4bb78fa2 | ||
|
|
c03b8d2231 | ||
|
|
32985b7fdd | ||
|
|
d1323a4268 | ||
|
|
16f7e24231 | ||
|
|
c822e1f2c5 | ||
|
|
e064d9a37a | ||
|
|
ddac821dfb | ||
|
|
b7a1fa302e | ||
|
|
19027fbac7 | ||
|
|
b930544128 | ||
|
|
a15261073b | ||
|
|
cd1729f74d | ||
|
|
af3abe6aa1 | ||
|
|
2ca02f5802 | ||
|
|
3e742ffaf8 | ||
|
|
79390c897d | ||
|
|
3ffe8c5142 | ||
|
|
18f9e05792 | ||
|
|
9f96fa43ec | ||
|
|
f0f9f0b56d | ||
|
|
33eef9b87f | ||
|
|
f042ddfe75 | ||
|
|
53cb55e375 | ||
|
|
d3aea7510f | ||
|
|
a8683e4e27 | ||
|
|
7bb4aea2c0 | ||
|
|
30375b869b | ||
|
|
5c207e0a2b | ||
|
|
92324ede72 | ||
|
|
158dac6ab4 | ||
|
|
dfc4a7b2fc | ||
|
|
b205f7943a | ||
|
|
1163aaa4bd | ||
|
|
3dcf20f0c2 | ||
|
|
8502ec5f78 | ||
|
|
54616ea385 | ||
|
|
d1f9170390 | ||
|
|
d4d16c3e56 | ||
|
|
751bdceafd | ||
|
|
80dcea163f | ||
|
|
c2eef22f2d | ||
|
|
299fed997d | ||
|
|
711c512258 | ||
|
|
07b9a1a2c6 | ||
|
|
c78506501f | ||
|
|
5612837492 | ||
|
|
80644bfbd4 | ||
|
|
b924e427e2 | ||
|
|
9408cd3ea5 | ||
|
|
0cbd1422fe | ||
|
|
461f9ddb9b | ||
|
|
b2e5037c2e | ||
|
|
be3e7da342 | ||
|
|
b4830dfd0b | ||
|
|
b8bdab3576 | ||
|
|
a56f3af99c | ||
|
|
0e969ee6cd | ||
|
|
0bd3ce595d | ||
|
|
ea05912b6b | ||
|
|
a756058006 | ||
|
|
bd3985ce6c | ||
|
|
1e80691c67 | ||
|
|
023fec03aa | ||
|
|
64b9e7ada6 | ||
|
|
efda41fb3a | ||
|
|
77fccad046 | ||
|
|
cc914aadc1 | ||
|
|
5ea1b5075b | ||
|
|
41295e4cb2 | ||
|
|
7d5eea977d | ||
|
|
65fc232a25 | ||
|
|
43a708d3ae | ||
|
|
c8bb3a3e93 | ||
|
|
7e236f06e5 | ||
|
|
cc1b8781ab | ||
|
|
6553562e53 | ||
|
|
31812f0485 | ||
|
|
7ecf9ff151 | ||
|
|
54b4c27d4a | ||
|
|
7ed691993c | ||
|
|
14de472b6a | ||
|
|
fd67032afe | ||
|
|
cb808dc7ca | ||
|
|
3a65f005fe | ||
|
|
a0978dfd20 | ||
|
|
e701b5b851 | ||
|
|
4cc2dab964 | ||
|
|
ca44ba775a | ||
|
|
b2bb32f988 | ||
|
|
0956ad0d3d | ||
|
|
bf7b63c1be | ||
|
|
c34781bb3c | ||
|
|
e962f2bb8f | ||
|
|
a381f1d3bb | ||
|
|
4b6125d583 | ||
|
|
dfa396f385 | ||
|
|
8f5ac32bb5 | ||
|
|
3fc7424086 | ||
|
|
c37e035b6d | ||
|
|
0b21472ccb | ||
|
|
f66f16441b | ||
|
|
f512b7336a | ||
|
|
e35b115b81 | ||
|
|
dfe64e95b2 | ||
|
|
e626c79c81 | ||
|
|
98b08432fa | ||
|
|
7a7f1ce090 | ||
|
|
78f191dd5b | ||
|
|
e9e72d9641 | ||
|
|
a2500e50c2 | ||
|
|
6d917fbc29 | ||
|
|
c9cb6db0e4 | ||
|
|
0d72f46cb4 | ||
|
|
3884ca77d5 | ||
|
|
66a2d67ed9 | ||
|
|
5ed5f3aa15 | ||
|
|
86af9e96f4 | ||
|
|
5b97685274 | ||
|
|
3c929edd4b | ||
|
|
dfec8f2d72 | ||
|
|
5ff1110e90 | ||
|
|
9b5d25b2be | ||
|
|
0e25f2f3cf | ||
|
|
ee0b04f05b | ||
|
|
3c08127013 | ||
|
|
a17ca2c330 | ||
|
|
0cb2c84968 | ||
|
|
aa8643f247 | ||
|
|
554925d311 | ||
|
|
fbd7150c00 | ||
|
|
8233e15e42 | ||
|
|
7c21628ea2 | ||
|
|
118853cd46 | ||
|
|
7e29758fea | ||
|
|
a8f56c1ec8 | ||
|
|
79cd9c76f8 | ||
|
|
fc7656bb25 | ||
|
|
e3ec7f7137 | ||
|
|
1f2ee627f4 | ||
|
|
91f5d9778c | ||
|
|
fbcf958ead | ||
|
|
0d402c4dba | ||
|
|
b51beb8707 | ||
|
|
90bc9d81bf | ||
|
|
5eaa1d0317 | ||
|
|
6b81af3f66 | ||
|
|
04d6aada33 | ||
|
|
acd84bc5c2 | ||
|
|
2d98a827ec | ||
|
|
1dc76600e7 |
13
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -122,6 +122,17 @@ body:
|
||||
- 'false'
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: used-forums
|
||||
attributes:
|
||||
label: Have you already verified this is a patcher bug and not a macOS bug/user error on our discord servers?
|
||||
description: If no, please do not use issues for this. We'd appreciate it if users check discuss with others before filing. Issues are for valid patcher issues only, not for personal troubleshooting scessions.
|
||||
multiple: true
|
||||
options:
|
||||
- 'true'
|
||||
- 'false'
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: 3rd-party-application
|
||||
attributes:
|
||||
@@ -172,4 +183,4 @@ body:
|
||||
- type: textarea
|
||||
id: extra-info
|
||||
attributes:
|
||||
label: Any Additional Information
|
||||
label: What steps have you taken to troubleshoot this? Please include messages from Discord, logs, and screenshots.
|
||||
|
||||
11
.github/workflows/build-app-offline.yml
vendored
@@ -10,17 +10,24 @@ jobs:
|
||||
build:
|
||||
name: Build Offline TUI
|
||||
runs-on: x86_64_mojave
|
||||
env:
|
||||
branch: ${{ github.event.ref }}
|
||||
commiturl: ${{ github.event.head_commit.url }}
|
||||
commitdate: ${{ github.event.head_commit.timestamp }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: python3 create_offline_build.py
|
||||
- run: /Library/Frameworks/Python.framework/Versions/3.9/bin/pyinstaller OpenCore-Patcher.spec
|
||||
- run: python3 ./payloads/binary.py $branch $commiturl $commitdate
|
||||
- run: ./after_pyinstaller.sh
|
||||
- run: 'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "dist/OpenCore-Patcher.app"'
|
||||
- run: cd dist; zip -r ../OpenCore-Patcher-TUI-Offline.app.zip OpenCore-Patcher.app
|
||||
- run: cd dist; zip -r ../OpenCore-Patcher-TUI.app.zip OpenCore-Patcher.app
|
||||
- run: ./../sign-tui.sh
|
||||
- run: mv ./OpenCore-Patcher-TUI.app.zip ./OpenCore-Patcher-TUI-Offline.app.zip
|
||||
- name: Upload App to Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: OpenCore-Patcher-TUI-Offline.app
|
||||
name: OpenCore-Patcher-TUI.app (Offline)
|
||||
path: OpenCore-Patcher-TUI-Offline.app.zip
|
||||
|
||||
- name: Upload to Release
|
||||
|
||||
40
.github/workflows/build-app-wxpython-offline.yml
vendored
Normal file
@@ -0,0 +1,40 @@
|
||||
name: CI - Build wxPython Offline
|
||||
|
||||
on:
|
||||
push:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build wxPython Offline
|
||||
runs-on: x86_64_mojave
|
||||
env:
|
||||
branch: ${{ github.event.ref }}
|
||||
commiturl: ${{ github.event.head_commit.url }}
|
||||
commitdate: ${{ github.event.head_commit.timestamp }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: python3 create_offline_build.py
|
||||
- run: /Library/Frameworks/Python.framework/Versions/3.9/bin/pyinstaller OpenCore-Patcher-GUI.spec
|
||||
- run: python3 ./payloads/binary.py $branch $commiturl $commitdate
|
||||
- run: 'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "dist/OpenCore-Patcher.app"'
|
||||
- run: cd dist; zip -r ../OpenCore-Patcher-wxPython.app.zip OpenCore-Patcher.app
|
||||
- run: ./../sign-wxpython.sh
|
||||
- run: mv ./OpenCore-Patcher-wxPython.app.zip ./OpenCore-Patcher-GUI-Offline.app.zip
|
||||
- name: Upload App to Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: OpenCore-Patcher.app (GUI Offline)
|
||||
path: OpenCore-Patcher-GUI-Offline.app.zip
|
||||
- name: Upload to Release
|
||||
if: github.event_name == 'release'
|
||||
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: OpenCore-Patcher-GUI-Offline.app.zip
|
||||
tag: ${{ github.ref }}
|
||||
file_glob: true
|
||||
- name: Validate OpenCore
|
||||
run: ./dist/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher --validate
|
||||
37
.github/workflows/build-app-wxpython.yml
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
name: CI - Build wxPython
|
||||
|
||||
on:
|
||||
push:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build wxPython
|
||||
runs-on: x86_64_mojave
|
||||
env:
|
||||
branch: ${{ github.event.ref }}
|
||||
commiturl: ${{ github.event.head_commit.url }}
|
||||
commitdate: ${{ github.event.head_commit.timestamp }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: /Library/Frameworks/Python.framework/Versions/3.9/bin/pyinstaller OpenCore-Patcher-GUI.spec
|
||||
- run: python3 ./payloads/binary.py $branch $commiturl $commitdate
|
||||
- run: 'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "dist/OpenCore-Patcher.app"'
|
||||
- run: cd dist; zip -r ../OpenCore-Patcher-wxPython.app.zip OpenCore-Patcher.app
|
||||
- run: ./../sign-wxpython.sh
|
||||
- run: mv ./OpenCore-Patcher-wxPython.app.zip ./OpenCore-Patcher-GUI.app.zip
|
||||
- name: Upload App to Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: OpenCore-Patcher.app (GUI)
|
||||
path: OpenCore-Patcher-GUI.app.zip
|
||||
- name: Upload to Release
|
||||
if: github.event_name == 'release'
|
||||
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: OpenCore-Patcher-GUI.app.zip
|
||||
tag: ${{ github.ref }}
|
||||
file_glob: true
|
||||
5
.github/workflows/build-app.yml
vendored
@@ -10,9 +10,14 @@ jobs:
|
||||
build:
|
||||
name: Build TUI
|
||||
runs-on: x86_64_mojave
|
||||
env:
|
||||
branch: ${{ github.event.ref }}
|
||||
commiturl: ${{ github.event.head_commit.url }}
|
||||
commitdate: ${{ github.event.head_commit.timestamp }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: /Library/Frameworks/Python.framework/Versions/3.9/bin/pyinstaller OpenCore-Patcher.spec
|
||||
- run: python3 ./payloads/binary.py $branch $commiturl $commitdate
|
||||
- run: ./after_pyinstaller.sh
|
||||
- run: 'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "dist/OpenCore-Patcher.app"'
|
||||
- run: cd dist; zip -r ../OpenCore-Patcher-TUI.app.zip OpenCore-Patcher.app
|
||||
|
||||
54
.github/workflows/build-gui.yml
vendored
@@ -1,54 +0,0 @@
|
||||
name: CI - Build GUI
|
||||
|
||||
on:
|
||||
push:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build GUI
|
||||
runs-on: x86_64_mojave
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- run: /Library/Frameworks/Python.framework/Versions/3.9/bin/pyinstaller OpenCore-Patcher.spec
|
||||
- run: cd dist; cp OpenCore-Patcher ../; cd ..; mv OpenCore-Patcher OCLP-CLI
|
||||
- name: Download latest nightly OCLP-GUI
|
||||
run: curl -S -L https://nightly.link/dortania/OCLP-GUI/workflows/build-app/master/OpenCore-Patcher-GUI.app.zip --output ./OpenCore-Patcher-GUI.app.zip --insecure
|
||||
- run: unzip -o OpenCore-Patcher-GUI.app.zip
|
||||
- run: unzip OpenCore-Patcher-GUI.app.zip; rm OpenCore-Patcher-GUI.app.zip
|
||||
- name: Merge new GUI
|
||||
run: cp OCLP-CLI OpenCore\ Patcher.app/Contents/Resources/
|
||||
- run: python3 merge_gui.py
|
||||
- name: Code Sign Binaries for release
|
||||
if: github.event_name == 'release'
|
||||
run: |
|
||||
'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "OpenCore Patcher.app/Contents/Resources/OCLP-CLI"'
|
||||
'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "OpenCore Patcher.app/Contents/Resources/oclpd"'
|
||||
'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "OpenCore Patcher.app"'
|
||||
- run: ditto -c -k --sequesterRsrc --keepParent OpenCore\ Patcher.app OpenCore-Patcher-GUI.app.zip
|
||||
- name: Notarize Binaries for release
|
||||
if: github.event_name == 'release'
|
||||
run: ./../sign-gui.sh
|
||||
- name: Upload GUI to Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: OpenCore-Patcher-GUI.app
|
||||
path: OpenCore-Patcher-GUI.app.zip
|
||||
- name: Upload CLI to Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: OCLP-CLI
|
||||
path: OCLP-CLI
|
||||
- name: Upload to Release
|
||||
if: github.event_name == 'release'
|
||||
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: OpenCore-Patcher-GUI.app.zip
|
||||
tag: ${{ github.ref }}
|
||||
file_glob: true
|
||||
- name: Validate OpenCore
|
||||
run: ./OCLP-CLI --validate
|
||||
3
.gitignore
vendored
@@ -21,3 +21,6 @@ __pycache__/
|
||||
/docs/yarn-error.log
|
||||
/docs/node_modules/
|
||||
/payloads/List.txt
|
||||
/payloads/Installer.sh
|
||||
/payloads/Info.plist
|
||||
/payloads/seed.plist
|
||||
|
||||
92
CHANGELOG.md
@@ -1,5 +1,97 @@
|
||||
# OpenCore Legacy Patcher changelog
|
||||
|
||||
## 0.4.3
|
||||
- Increment Binaries:
|
||||
- PatcherSupportPkg 0.3.4 - release
|
||||
- OpenCorePkg 0.7.8 - release
|
||||
- Lilu 1.6.0 - release
|
||||
- WhateverGreen 1.5.7 - release
|
||||
- FeatureUnlock 1.0.7 - rolling (6a87f65)
|
||||
- Resolve many non-Metal issues:
|
||||
- Control Centre Sliders
|
||||
- Shift/missing icons
|
||||
- Hardware Cursor
|
||||
- Note cursor images will be static (ie. beachball)
|
||||
- Quicklook dismiss/expand
|
||||
- Keyboard Backlight
|
||||
- Drops reliance on LabTick
|
||||
- Add Ethernet Controller detection to build
|
||||
- Resolve i210/i225 NIC support on pre-Ivy Macs
|
||||
- Resolve AirPlay to Mac support on Skylake+ Macs in 12.3 Beta 2+
|
||||
- Resolve SDXC support in Monterey for Pre-Ivy Bridge Macs
|
||||
- Rename Battery Throttling option to Firmware Throttling
|
||||
- Expands support to desktops (ie. iMacs without Displays)
|
||||
- Add XCPM disabling
|
||||
- Forces `ACPI_SMC_PlatformPlugin` to outmatch `X86PlatformPlugin`
|
||||
|
||||
## 0.4.2
|
||||
- Resolve app crashing on some 3rd party SAS/SATA controllers
|
||||
- Add Beta identifier to macOS Installer menu
|
||||
- Resolve showing unsupported installers in Creation menu
|
||||
- Resolve Macmini4,1 HDEF pathing
|
||||
- Increment Binaries:
|
||||
- FeatureUnlock 1.0.6 - rolling (d296645)
|
||||
- PatcherSupportPkg 0.3.1
|
||||
- Resolve SIP and SecureBootModel not disabling by default on some non-Metal Mac Pros
|
||||
- Add Content Caching support configurability
|
||||
- Limit SurPlus patchset to 20.4.0 - 21.1.0
|
||||
- No longer required for macOS 12.1 and newer
|
||||
- Add Universal Control support for Monterey native Macs
|
||||
- Applicable for Haswell/Broadwell
|
||||
- Requires macOS 12.3 or newer
|
||||
- Fix Power Management Support in macOS 12.3 Beta 1
|
||||
- Applicable for Sandy Bridge and older
|
||||
- Enforces ACPI_SMC_PlatformPlugin matching
|
||||
- Add NVMe Enhanced Power Management configuration
|
||||
- Disables NVMe adjustments on Skylake and newer Macs by default
|
||||
- Resolve Catalyst Scrolling on non-Metal GPUs
|
||||
- Add new TUI icon to differentiate between GUI
|
||||
- Resolve Color Strobing on AMD TeraScale 2 GPUs
|
||||
- Drops reliance on ResXtreme and SwitchResX
|
||||
|
||||
## 0.4.1
|
||||
- Add XHCI Boot Support to pre-UEFI 2.0 Macs
|
||||
- Applicable to pre-Ivy Macs with upgraded USB 3.0 controllers, allows USB 3.0 boot
|
||||
- Credit to Jazzzny for testing, [DearthnVader for original research](https://forums.macrumors.com/threads/bootable-xhci-pci-e-for-the-3-1-experimental.2217479/)
|
||||
- Drivers stripped from MacPro6,1 firmware
|
||||
- Resolve OCLP-Helper dyld crash
|
||||
|
||||
## 0.4.0
|
||||
- Resolves Install USB Creation using incorrect installer
|
||||
- Resolves `installer` failing to extract InstallAssistant in older OSes
|
||||
- Resolves certain Samsung NVMe drives appearing as external on Mac Pros
|
||||
- Add FeatureUnlock configurability
|
||||
- Add NVRAM WriteFlash configurability for degraded/fragile systems
|
||||
- Add `ThirdPartyDrives` quirk configurability
|
||||
- Resolve Skylight dylib injection issue
|
||||
- Increment Binaries:
|
||||
- OpenCore 0.7.7 - release
|
||||
- RestrictEvents 1.0.6 - release
|
||||
- FeatureUnlock 1.0.6 - rolling (1d0bc7b)
|
||||
- WhateverGreen 1.5.6 - release
|
||||
- Lilu 1.5.9 - release
|
||||
- gfxutil 1.8.2b - release
|
||||
- PatcherSupportPkg 0.2.9 - release
|
||||
- Re-add Content Caching support for VMM-spoofed systems
|
||||
- Add wxPython Based GUI
|
||||
- Superceeds Obj-C Based GUI
|
||||
- Both standard and offline builds provided
|
||||
- Allow optional spoofing on native Models
|
||||
- Recommended for systems that cannot update their firmware natively (ie. dead internal drive)
|
||||
- Add Dropbox fix for non-Metal on Monterey
|
||||
- Add App Update checks to GUI
|
||||
- If new version available, app will prompt on launch.
|
||||
- Configurable in Developer Settings
|
||||
- Resolved OS crashing on slow Macs with FeatureUnlock
|
||||
- Disable Windows GMUX support by default
|
||||
- Resolves brightness control issues on MacBookPro11,3 in Windows
|
||||
- Configurable in Developer Settings
|
||||
- Add Commit Data to Info.plist
|
||||
|
||||
## 0.3.3
|
||||
- Disable Asset Caching support with spoofless approach
|
||||
- Switch to Minimal or higher if required
|
||||
|
||||
## 0.3.2
|
||||
- Implement spoofless support (ie. no SMBIOS patching)
|
||||
- Requires macOS 11.3 or newer, for 11.2.3 and older use Minimal or higher spoofing
|
||||
|
||||
6
OpenCore-Patcher-GUI.command
Executable file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (C) 2020-2022, Dhinak G, Mykola Grymalyuk
|
||||
from resources import main
|
||||
|
||||
if __name__ == '__main__':
|
||||
main.OpenCoreLegacyPatcher(True)
|
||||
56
OpenCore-Patcher-GUI.spec
Normal file
@@ -0,0 +1,56 @@
|
||||
# -*- mode: python ; coding: utf-8 -*-
|
||||
|
||||
import sys, os, time, subprocess
|
||||
sys.path.append(os.path.abspath(os.getcwd()))
|
||||
from resources import constants
|
||||
block_cipher = None
|
||||
|
||||
|
||||
a = Analysis(['OpenCore-Patcher-GUI.command'],
|
||||
pathex=['resources', 'data', 'gui'],
|
||||
binaries=[],
|
||||
datas=[('payloads', 'payloads')],
|
||||
hiddenimports=[],
|
||||
hookspath=[],
|
||||
hooksconfig={},
|
||||
runtime_hooks=[],
|
||||
excludes=[],
|
||||
win_no_prefer_redirects=False,
|
||||
win_private_assemblies=False,
|
||||
cipher=block_cipher,
|
||||
noarchive=False)
|
||||
pyz = PYZ(a.pure, a.zipped_data,
|
||||
cipher=block_cipher)
|
||||
|
||||
exe = EXE(pyz,
|
||||
a.scripts,
|
||||
a.binaries,
|
||||
a.zipfiles,
|
||||
a.datas,
|
||||
[],
|
||||
name='OpenCore-Patcher',
|
||||
debug=False,
|
||||
bootloader_ignore_signals=False,
|
||||
strip=False,
|
||||
upx=True,
|
||||
upx_exclude=[],
|
||||
runtime_tmpdir=None,
|
||||
console=False,
|
||||
disable_windowed_traceback=False,
|
||||
target_arch=None,
|
||||
codesign_identity=None,
|
||||
entitlements_file=None )
|
||||
app = BUNDLE(exe,
|
||||
name='OpenCore-Patcher.app',
|
||||
icon="payloads/OC-Patcher.icns",
|
||||
bundle_identifier="com.dortania.opencore-legacy-patcher-wxpython",
|
||||
info_plist={
|
||||
"CFBundleShortVersionString": constants.Constants().patcher_version,
|
||||
"NSHumanReadableCopyright": constants.Constants().copyright_date,
|
||||
"LSMinimumSystemVersion": "10.10.0",
|
||||
"NSRequiresAquaSystemAppearance": False,
|
||||
"NSHighResolutionCapable": True,
|
||||
"Build Date": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
|
||||
"BuildMachineOSBuild": subprocess.run("sw_vers -buildVersion".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.decode().strip(),
|
||||
"NSPrincipalClass": "NSApplication",
|
||||
})
|
||||
@@ -1,92 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (C) 2020-2021, Dhinak G, Mykola Grymalyuk
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import subprocess
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
from resources import build, cli_menu, constants, utilities, device_probe, os_probe, defaults, arguments, install
|
||||
from data import model_array
|
||||
|
||||
|
||||
class OpenCoreLegacyPatcher:
|
||||
def __init__(self):
|
||||
print("- Loading...")
|
||||
self.constants = constants.Constants()
|
||||
self.generate_base_data()
|
||||
if utilities.check_cli_args() is None:
|
||||
self.main_menu()
|
||||
|
||||
def generate_base_data(self):
|
||||
self.constants.detected_os = os_probe.detect_kernel_major()
|
||||
self.constants.detected_os_minor = os_probe.detect_kernel_minor()
|
||||
self.constants.detected_os_build = os_probe.detect_kernel_build()
|
||||
self.constants.computer = device_probe.Computer.probe()
|
||||
self.constants.recovery_status = utilities.check_recovery()
|
||||
self.computer = self.constants.computer
|
||||
defaults.generate_defaults.probe(self.computer.real_model, True, self.constants)
|
||||
if utilities.check_cli_args() is not None:
|
||||
print("- Detected arguments, switching to CLI mode")
|
||||
self.constants.gui_mode = True # Assumes no user interaction is required
|
||||
self.constants.current_path = Path.cwd()
|
||||
if getattr(sys, "frozen", False) and hasattr(sys, "_MEIPASS"):
|
||||
print("- Rerouting payloads location")
|
||||
self.constants.payload_path = sys._MEIPASS / Path("payloads")
|
||||
arguments.arguments().parse_arguments(self.constants)
|
||||
else:
|
||||
print("- No arguments present, loading TUI")
|
||||
|
||||
def main_menu(self):
|
||||
response = None
|
||||
while not (response and response == -1):
|
||||
title = [
|
||||
f"OpenCore Legacy Patcher v{self.constants.patcher_version}",
|
||||
f"Selected Model: {self.constants.custom_model or self.computer.real_model}",
|
||||
]
|
||||
|
||||
if (self.constants.custom_model or self.computer.real_model) not in model_array.SupportedSMBIOS and self.constants.allow_oc_everywhere is False:
|
||||
in_between = [
|
||||
"Your model is not supported by this patcher for running unsupported OSes!",
|
||||
"",
|
||||
'If you plan to create the USB for another machine, please select the \n"Change Model" option in the menu.',
|
||||
"",
|
||||
'If you want to run OCLP on a native Mac, please toggle \n"Allow OpenCore on native Models" in settings',
|
||||
]
|
||||
elif not self.constants.custom_model and self.computer.real_model == "iMac7,1" and "SSE4.1" not in self.computer.cpu.flags:
|
||||
in_between = [
|
||||
"Your model requires a CPU upgrade to a CPU supporting SSE4.1+ to be supported by this patcher!",
|
||||
"",
|
||||
f'If you plan to create the USB for another {self.computer.real_model} with SSE4.1+, please select the "Change Model" option in the menu.',
|
||||
]
|
||||
elif self.constants.custom_model == "iMac7,1":
|
||||
in_between = ["This model is supported", "However please ensure the CPU has been upgraded to support SSE4.1+"]
|
||||
else:
|
||||
in_between = ["This model is supported"]
|
||||
|
||||
menu = utilities.TUIMenu(title, "Please select an option: ", in_between=in_between, auto_number=True, top_level=True)
|
||||
|
||||
options = (
|
||||
[["Build OpenCore", build.BuildOpenCore(self.constants.custom_model or self.constants.computer.real_model, self.constants).build_opencore]]
|
||||
if ((self.constants.custom_model or self.computer.real_model) in model_array.SupportedSMBIOS) or self.constants.allow_oc_everywhere is True
|
||||
else []
|
||||
) + [
|
||||
["Install OpenCore to USB/internal drive", install.tui_disk_installation(self.constants).copy_efi],
|
||||
["Post-Install Volume Patch", cli_menu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).PatchVolume],
|
||||
["Change Model", cli_menu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).change_model],
|
||||
["Patcher Settings", cli_menu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).patcher_settings],
|
||||
["Installer Creation", cli_menu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).download_macOS],
|
||||
["Credits", cli_menu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).credits],
|
||||
]
|
||||
|
||||
for option in options:
|
||||
menu.add_menu_option(option[0], function=option[1])
|
||||
|
||||
response = menu.start()
|
||||
|
||||
if getattr(sys, "frozen", False) and self.constants.recovery_status is False:
|
||||
subprocess.run("""osascript -e 'tell application "Terminal" to close first window' & exit""", shell=True)
|
||||
# Copyright (C) 2020-2022, Dhinak G, Mykola Grymalyuk
|
||||
from resources import main
|
||||
|
||||
if __name__ == '__main__':
|
||||
OpenCoreLegacyPatcher()
|
||||
main.OpenCoreLegacyPatcher()
|
||||
@@ -12,7 +12,7 @@ a = Analysis(['OpenCore-Patcher.command'],
|
||||
hiddenimports=[],
|
||||
hookspath=[],
|
||||
runtime_hooks=[],
|
||||
excludes=[],
|
||||
excludes=['wxPython', 'wxpython'],
|
||||
win_no_prefer_redirects=False,
|
||||
win_private_assemblies=False,
|
||||
cipher=block_cipher,
|
||||
@@ -35,10 +35,10 @@ exe = EXE(pyz,
|
||||
console=True )
|
||||
app = BUNDLE(exe,
|
||||
name='OpenCore-Patcher.app',
|
||||
icon="payloads/OC-Patcher.icns",
|
||||
bundle_identifier=None,
|
||||
icon="payloads/OC-Patcher-TUI.icns",
|
||||
bundle_identifier="com.dortania.opencore-legacy-patcher-tui",
|
||||
info_plist={
|
||||
"CFBundleShortVersionString": constants.Constants().patcher_version,
|
||||
"CFBundleExecutable": "MacOS/Launcher",
|
||||
"NSHumanReadableCopyright": "Copyright 2020-2021 Dortania"
|
||||
"NSHumanReadableCopyright": constants.Constants().copyright_date,
|
||||
})
|
||||
@@ -3,7 +3,7 @@
|
||||
<h1>OpenCore Legacy Patcher</h1>
|
||||
</div>
|
||||
|
||||
A python program with an [Objective-C GUI](https://github.com/dortania/OCLP-GUI) for building and booting [OpenCore](https://github.com/acidanthera/OpenCorePkg) on both legacy and modern Macs, see our in-depth [Guide](https://dortania.github.io/OpenCore-Legacy-Patcher/) for more information.
|
||||
A python program for building and booting [OpenCore](https://github.com/acidanthera/OpenCorePkg) on both legacy and modern Macs, see our in-depth [Guide](https://dortania.github.io/OpenCore-Legacy-Patcher/) for more information.
|
||||
|
||||
Supported features:
|
||||
|
||||
@@ -28,9 +28,9 @@ To run the project from source, see here: [Build and run from source](./SOURCE.m
|
||||
|
||||
## Support
|
||||
|
||||
To get aid with the patcher, we recommend joining the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN). We're actively there and is the quickest way to receive help. For bigger issues such as patcher crashing on build and such, we recommend opening an issue right here on GitHub
|
||||
To get aid with the patcher, we recommend joining the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN). We're actively there and is the quickest way to receive help.
|
||||
|
||||
* Please review [How to debug with OpenCore](https://dortania.github.io/OpenCore-Legacy-Patcher/DEBUG.html) before opening issues
|
||||
* Please review our docs on [how to debug with OpenCore](https://dortania.github.io/OpenCore-Legacy-Patcher/DEBUG.html) to gather important information to help others with troubleshooting.
|
||||
|
||||
## Credits
|
||||
|
||||
@@ -45,7 +45,7 @@ To get aid with the patcher, we recommend joining the [OpenCore Patcher Paradise
|
||||
* Great amounts of help debugging and code suggestions
|
||||
* [vit9696](https://github.com/vit9696)
|
||||
* Endless amount of help troubleshooting, determining fixes and writing patches
|
||||
* [ASentientBot](https://github.com/ASentientBot)
|
||||
* [ASentientBot](https://github.com/ASentientBot), [EduCovas](https://github.com/educovas) and [ASentientHedgehog](https://github.com/moosethegoose2213)
|
||||
* Legacy Acceleration Patch set and documentation
|
||||
* [cdf](https://github.com/cdf)
|
||||
* Mac Pro on OpenCore Patch set and documentation
|
||||
|
||||
43
SOURCE.md
@@ -4,9 +4,10 @@ OpenCore Legacy Patcher at its core is a python-based TUI/CLI based application.
|
||||
|
||||
For developers wishing to validate mainline changes, you may use these nightly links:
|
||||
|
||||
* [GUI (Graphical Based App)](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-gui/main/OpenCore-Patcher-GUI.app.zip)
|
||||
* [GUI (Graphical Based App)](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-app-wxpython/main/OpenCore-Patcher.app%20%28GUI%29.zip)
|
||||
* [GUI (Graphical Based App) - Offline Variant](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-app-wxpython-offline/main/OpenCore-Patcher.app%20%28GUI%20Offline%29.zip)
|
||||
* [TUI (Text Based App)](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-app/main/OpenCore-Patcher-TUI.app.zip)
|
||||
* [TUI (Text Based App) - Offline Variant](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-app/main/OpenCore-Patcher-TUI-Offline.app.zip)
|
||||
* [TUI (Text Based App) - Offline Variant](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-app-offline/main/OpenCore-Patcher-TUI.app%20%28Offline%29.zip)
|
||||
|
||||
**Warning**: These binaries should not be used without first consulting the [CHANGELOG](./CHANGELOG.md). Do not distribute these links in forums, instead direct to this file.
|
||||
|
||||
@@ -14,7 +15,7 @@ For developers wishing to validate mainline changes, you may use these nightly l
|
||||
|
||||
## Getting Started
|
||||
|
||||
To start, ensure you have python 3.6 or newer installed. Additionally ensure that they were downloaded from the offical source, [python.org](https://www.python.org/downloads/macos/).
|
||||
To start, ensure you have python 3.6 or newer installed. Additionally ensure that they were downloaded from the Official source, [python.org](https://www.python.org/downloads/macos/).
|
||||
|
||||
* Python installations either preinstalled or provided with Xcode/Xcode Tools are unsupported due to reliablility issues
|
||||
|
||||
@@ -36,12 +37,19 @@ pip3 install -r requirements.txt
|
||||
To run the project from source, simply invoke via python3:
|
||||
|
||||
```sh
|
||||
# Launch TUI
|
||||
python3 OpenCore-Patcher.command
|
||||
```
|
||||
|
||||
```sh
|
||||
# Launch GUI
|
||||
python3 OpenCore-Patcher-GUI.command
|
||||
```
|
||||
|
||||
Note that the OpenCore-Patcher.command file can be run as both a TUI and a CLI utility for other programs to call. If no core arguments are passed, the TUI is initialized. Otherwise the CLI will start:
|
||||
|
||||
```sh
|
||||
# Launch CLI
|
||||
python3 OpenCore-Patcher.command --build --model iMac12,2 --verbose
|
||||
```
|
||||
|
||||
@@ -49,7 +57,7 @@ See `-h`/`--help` for more information on supported CLI arguments.
|
||||
|
||||
## Generating prebuilt binaries
|
||||
|
||||
The main goal of generating prebuilt binaries is to strip the requirement of a local python installation for users. For developers, there's very little benefit besides for usage with the project's GUI ([Generating the GUI](#generating-the-gui)). For development, simply use the OpenCore-Patcher.command file with a python3 installation.
|
||||
The main goal of generating prebuilt binaries is to strip the requirement of a local python installation for users. For developers, there's very little benefit besides enabling dark mode support in the GUI. For development, simply use the OpenCore-Patcher.command file with a python3 installation.
|
||||
|
||||
* Note that due to PyInstaller's linking mechanism, binaries generated on Catalina and newer are not compatible with High Sierra and older
|
||||
* To ensure the largest compatibility, generate binaries on macOS Mojave. These binaries will be compatible with macOS 10.9 to macOS 12.
|
||||
@@ -60,9 +68,9 @@ The main goal of generating prebuilt binaries is to strip the requirement of a l
|
||||
pip3 install pyinstaller
|
||||
# Move into project directory
|
||||
cd ~/Developer/OpenCore-Legacy-Patcher/
|
||||
# Create the pyinstaller based Application
|
||||
# Create the pyinstaller based Application (replace OpenCore-Patcher.spec with OpenCore-Patcher-GUI.spec for GUI binary)
|
||||
pyinstaller OpenCore-Patcher.spec
|
||||
# Post PyInstaller clean up
|
||||
# Post PyInstaller clean up (only for the TUI)
|
||||
./after_pyinstaller.sh
|
||||
# Open build folder
|
||||
open ./dist/
|
||||
@@ -70,25 +78,4 @@ open ./dist/
|
||||
|
||||
Once done, you'll find the application generated at `./dist/OpenCore-Patcher.app`:
|
||||
|
||||

|
||||
|
||||
## Generating the GUI
|
||||
|
||||
To generate a GUI, you will have need a core `OpenCore-Patcher` binary generated during the above stage([Generating prebuilt binaries](#generating-prebuilt-binaries)).
|
||||
|
||||
Once conditions are met, you'll be able to work with the GUI portion. The source of which is found at [dortania/OCLP-GUI](https://github.com/dortania/OCLP-GUI).
|
||||
|
||||
```sh
|
||||
# Move into a directory to store the project
|
||||
cd ~/Developer
|
||||
# Clone project
|
||||
git clone https://github.com/dortania/OCLP-GUI
|
||||
# Update the OpenCore-Patcher binary from the core project
|
||||
cp ./OpenCore-Legacy-Patcher/dist/OpenCore-Patcher ./OCLP-GUI/OpenCore\ Patcher/OpenCore\ Patcher/
|
||||
# Rename binary to OCLP-CLI
|
||||
mv ./OCLP-GUI/OpenCore\ Patcher/OpenCore\ Patcher/OCLP-GUI/OpenCore-Patcher ./OCLP-GUI/OpenCore\ Patcher/OpenCore\ Patcher/OCLP-GUI/OCLP-CLI
|
||||
# Build project
|
||||
cd ./OCLP-GUI/OpenCore\ Patcher; xcodebuild; cd ../../
|
||||
# Open build folder
|
||||
open ./OCLP-GUI/OpenCore\ Patcher/build/Release/
|
||||
```
|
||||

|
||||
@@ -21,3 +21,4 @@ class cpu_data(enum.IntEnum):
|
||||
apple_m1 = 114 # A14
|
||||
apple_m1_pro = 115
|
||||
apple_m1_max = 116
|
||||
apple_m1_ultra = 117
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Data for SkyLightShim Plugin systems
|
||||
class shim_list:
|
||||
shim_pathing = {
|
||||
"CoreWLAN.dylib": "/Systen/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent",
|
||||
"BacklightFixup.dylib": "/System/Library/CoreServices/loginwindow.app/Contents/Mac0S/loginwindow",
|
||||
"CoreWLAN.dylib": "/System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent",
|
||||
"BacklightFixup.dylib": "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow",
|
||||
}
|
||||
|
||||
shim_legacy_accel = [
|
||||
|
||||
@@ -48,6 +48,59 @@ class MacBookPro:
|
||||
opencore_version=None,
|
||||
)
|
||||
|
||||
MacBookPro111_Stock = device_probe.Computer(
|
||||
real_model='MacBookPro11,1',
|
||||
real_board_id='Mac-189A3D4F975D5FFC',
|
||||
reported_model='MacBookPro11,1',
|
||||
reported_board_id='Mac-189A3D4F975D5FFC',
|
||||
gpus=[
|
||||
device_probe.Intel(vendor_id=32902, device_id=2606, class_code=196608, name='IGPU', model='Intel Iris', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)')
|
||||
],
|
||||
igpu=device_probe.Intel(vendor_id=32902, device_id=2606, class_code=196608, name='IGPU', model='Intel Iris', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
|
||||
dgpu=None,
|
||||
storage=[
|
||||
device_probe.SATAController(vendor_id=6987, device_id=37251, class_code=67073, name='SSD0', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP06@1c0005/SSD0@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x5)/Pci(0x0,0x0)')
|
||||
],
|
||||
usb_controllers=[
|
||||
device_probe.XHCIController(vendor_id=32902, device_id=39985, class_code=787248, name='XHC1', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/XHC1@140000', pci_path='PciRoot(0x0)/Pci(0x14,0x0)')
|
||||
],
|
||||
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17312, class_code=163840, name='ARPT', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP03@1c0002/ARPT@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x2)/Pci(0x0,0x0)'),
|
||||
cpu=device_probe.CPU(
|
||||
name='Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz',
|
||||
flags=['FPU', 'VME', 'DE', 'PSE', 'TSC', 'MSR', 'PAE', 'MCE', 'CX8', 'APIC', 'SEP', 'MTRR', 'PGE', 'MCA', 'CMOV', 'PAT', 'PSE36', 'CLFSH', 'DS', 'ACPI', 'MMX', 'FXSR', 'SSE', 'SSE2', 'SS', 'HTT', 'TM', 'PBE', 'SSE3', 'PCLMULQDQ', 'DTES64', 'MON', 'DSCPL', 'VMX', 'EST', 'TM2', 'SSSE3', 'FMA', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'MOVBE', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'SEGLIM64', 'TSCTMR', 'AVX1.0', 'RDRAND', 'F16C']
|
||||
),
|
||||
oclp_version='0.4.2',
|
||||
opencore_version='DBG-077-2022-01-10',
|
||||
bluetooth_chipset='BRCM20702 Hub',
|
||||
third_party_sata_ssd=False
|
||||
)
|
||||
|
||||
MacBookPro141_SSD_Upgrade = device_probe.Computer(
|
||||
real_model='MacBookPro14,1',
|
||||
real_board_id='Mac-B4831CEBD52A0C4C',
|
||||
reported_model='MacBookPro14,1',
|
||||
reported_board_id='Mac-B4831CEBD52A0C4C',
|
||||
gpus=[
|
||||
device_probe.Intel(vendor_id=32902, device_id=22822, class_code=196608, name='IGPU', model='Intel Iris Plus Graphics 640', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)')
|
||||
],
|
||||
igpu=device_probe.Intel(vendor_id=32902, device_id=22822, class_code=196608, name='IGPU', model='Intel Iris Plus Graphics 640', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
|
||||
dgpu=None,
|
||||
storage=[
|
||||
device_probe.NVMeController(vendor_id=6535, device_id=20499, class_code=67586, name='SSD0', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP01@1c0000/SSD0@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)', aspm=2)
|
||||
],
|
||||
usb_controllers=[
|
||||
device_probe.XHCIController(vendor_id=32902, device_id=40239, class_code=787248, name='XHC1', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/XHC1@140000', pci_path='PciRoot(0x0)/Pci(0x14,0x0)'),
|
||||
device_probe.XHCIController(vendor_id=32902, device_id=5588, class_code=787248, name='XHC2', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP05@1c0004/UPSB@0/DSB2@20000/XHC2@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x4)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)')
|
||||
],
|
||||
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17315, class_code=163840, name='ARPT', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP09@1d0000/ARPT@0', pci_path='PciRoot(0x0)/Pci(0x1d,0x0)/Pci(0x0,0x0)'),
|
||||
cpu=device_probe.CPU(
|
||||
name='Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz',
|
||||
flags=['FPU', 'VME', 'DE', 'PSE', 'TSC', 'MSR', 'PAE', 'MCE', 'CX8', 'APIC', 'SEP', 'MTRR', 'PGE', 'MCA', 'CMOV', 'PAT', 'PSE36', 'CLFSH', 'DS', 'ACPI', 'MMX', 'FXSR', 'SSE', 'SSE2', 'SS', 'HTT', 'TM', 'PBE', 'SSE3', 'PCLMULQDQ', 'DTES64', 'MON', 'DSCPL', 'VMX', 'SMX', 'EST', 'TM2', 'SSSE3', 'FMA', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'MOVBE', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'SEGLIM64', 'TSCTMR', 'AVX1.0', 'RDRAND', 'F16C']
|
||||
), oclp_version='0.4.1',
|
||||
opencore_version=None,
|
||||
bluetooth_chipset=None,
|
||||
third_party_sata_ssd=False)
|
||||
|
||||
MacBookPro171_Stock = device_probe.Computer(
|
||||
# Run under Rosetta
|
||||
real_model="MacBookPro17,1",
|
||||
@@ -179,6 +232,87 @@ class iMac:
|
||||
opencore_version=None,
|
||||
)
|
||||
|
||||
iMac122_Upgraded_Nvidia = device_probe.Computer(
|
||||
real_model='iMac12,2',
|
||||
real_board_id='Mac-942B59F58194171B',
|
||||
reported_model='iMac12,2',
|
||||
reported_board_id='Mac-942B59F58194171B',
|
||||
gpus=[
|
||||
device_probe.Intel(vendor_id=32902, device_id=258, class_code=229376, name='IGPU', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
|
||||
device_probe.NVIDIA(vendor_id=4318, device_id=4092, class_code=196608, name='GFX0', model='Quadro K1000M by Nick[D]vB', acpi_path='IOACPIPlane:/_SB/PCI0@0/P0P2@10000/GFX0@0', pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)')],
|
||||
igpu=device_probe.Intel(vendor_id=32902, device_id=258, class_code=229376, name='IGPU', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
|
||||
dgpu=device_probe.NVIDIA(vendor_id=4318, device_id=4092, class_code=196608, name='GFX0', model='Quadro K1000M by Nick[D]vB', acpi_path='IOACPIPlane:/_SB/PCI0@0/P0P2@10000/GFX0@0', pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)'),
|
||||
storage=[
|
||||
device_probe.SATAController(vendor_id=32902, device_id=7170, class_code=67073, name='SATA', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/SATA@1f0002', pci_path='PciRoot(0x0)/Pci(0x1f,0x2)')
|
||||
],
|
||||
usb_controllers=[
|
||||
device_probe.EHCIController(vendor_id=32902, device_id=7213, class_code=787232, name='EHC2', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/EHC2@1a0007', pci_path='PciRoot(0x0)/Pci(0x1a,0x7)'),
|
||||
device_probe.EHCIController(vendor_id=32902, device_id=7206, class_code=787232, name='EHC1', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/EHC1@1d0007', pci_path='PciRoot(0x0)/Pci(0x1d,0x7)')
|
||||
],
|
||||
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17201, class_code=163840, name='ARPT', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP02@1c0001/ARPT@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x1)/Pci(0x0,0x0)'),
|
||||
cpu=device_probe.CPU(
|
||||
name='Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz',
|
||||
flags=['FPU', 'VME', 'DE', 'PSE', 'TSC', 'MSR', 'PAE', 'MCE', 'CX8', 'APIC', 'SEP', 'MTRR', 'PGE', 'MCA', 'CMOV', 'PAT', 'PSE36', 'CLFSH', 'DS', 'ACPI', 'MMX', 'FXSR', 'SSE', 'SSE2', 'SS', 'HTT', 'TM', 'PBE', 'SSE3', 'PCLMULQDQ', 'DTES64', 'MON', 'DSCPL', 'VMX', 'SMX', 'EST', 'TM2', 'SSSE3', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'TSCTMR', 'AVX1.0']
|
||||
),
|
||||
oclp_version='0.3.3',
|
||||
opencore_version=None,
|
||||
bluetooth_chipset='BRCM2046 Hub',
|
||||
third_party_sata_ssd=True
|
||||
)
|
||||
|
||||
iMac151_Stock = device_probe.Computer(
|
||||
real_model='iMac15,1',
|
||||
real_board_id='Mac-42FD25EABCABB274',
|
||||
reported_model='iMac15,1',
|
||||
reported_board_id='Mac-42FD25EABCABB274',
|
||||
gpus=[
|
||||
device_probe.Intel(vendor_id=32902, device_id=1042, class_code=196608, name='IGPU', model='Intel Iris Pro', acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
|
||||
device_probe.AMD(vendor_id=4098, device_id=26640, class_code=196608, name='GFX0', model='AMD Radeon R9 M290X', acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)')
|
||||
],
|
||||
igpu=device_probe.Intel(vendor_id=32902, device_id=1042, class_code=196608, name='IGPU', model='Intel Iris Pro', acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
|
||||
dgpu=device_probe.AMD(vendor_id=4098, device_id=26640, class_code=196608, name='GFX0', model='AMD Radeon R9 M290X', acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)'),
|
||||
storage=[
|
||||
device_probe.SATAController(vendor_id=32902, device_id=35842, class_code=67073, name='SATA', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1f,0x2)'),
|
||||
device_probe.SATAController(vendor_id=6987, device_id=37251, class_code=67073, name='SSD0', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)')
|
||||
],
|
||||
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17312, class_code=163840, name='ARPT', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1c,0x2)/Pci(0x0,0x0)'),
|
||||
cpu=device_probe.CPU(
|
||||
name='Intel(R) Core(TM) i5-4690 CPU @ 3.50GHz',
|
||||
flags=['FPU', 'VME', 'DE', 'PSE', 'TSC', 'MSR', 'PAE', 'MCE', 'CX8', 'APIC', 'SEP', 'MTRR', 'PGE', 'MCA', 'CMOV', 'PAT', 'PSE36', 'CLFSH', 'DS', 'ACPI', 'MMX', 'FXSR', 'SSE', 'SSE2', 'SS', 'HTT', 'TM', 'PBE', 'SSE3', 'PCLMULQDQ', 'DTES64', 'MON', 'DSCPL', 'VMX', 'SMX', 'EST', 'TM2', 'SSSE3', 'FMA', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'MOVBE', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'SEGLIM64', 'TSCTMR', 'AVX1.0', 'RDRAND', 'F16C']
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None,
|
||||
bluetooth_chipset='BRCM20702 Hub',
|
||||
third_party_sata_ssd=False
|
||||
)
|
||||
|
||||
iMac201_Stock = device_probe.Computer(
|
||||
real_model='iMac20,1',
|
||||
real_board_id='Mac-CFF7D910A743CAAF',
|
||||
reported_model='iMac20,1',
|
||||
reported_board_id='Mac-CFF7D910A743CAAF',
|
||||
gpus=[
|
||||
device_probe.Intel(vendor_id=32902, device_id=39880, class_code=196608, name='IGPU', model='Intel HD Graphics CFL', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
|
||||
device_probe.AMD(vendor_id=4098, device_id=29504, class_code=196608, name='GFX0', model='AMD Radeon Pro 5300', acpi_path='IOACPIPlane:/_SB/PCI0@0/PEG0@10000/EGP0@0/EGP1@0/GFX0@0', pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)')
|
||||
],
|
||||
igpu=device_probe.Intel(vendor_id=32902, device_id=39880, class_code=196608, name='IGPU', model='Intel HD Graphics CFL', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
|
||||
dgpu=device_probe.AMD(vendor_id=4098, device_id=29504, class_code=196608, name='GFX0', model='AMD Radeon Pro 5300', acpi_path='IOACPIPlane:/_SB/PCI0@0/PEG0@10000/EGP0@0/EGP1@0/GFX0@0', pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)'),
|
||||
storage=[],
|
||||
usb_controllers=[
|
||||
device_probe.XHCIController(vendor_id=32902, device_id=1773, class_code=787248, name='XHC1', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/XHC1@140000', pci_path='PciRoot(0x0)/Pci(0x14,0x0)'),
|
||||
device_probe.XHCIController(vendor_id=32902, device_id=5612, class_code=787248, name='XHC2', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP05@1c0004/UPSB@0/DSB2@20000/XHC2@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x4)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)')
|
||||
],
|
||||
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17508, class_code=163840, name='ARPT', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP01@1c0000/ARPT@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)'),
|
||||
cpu=device_probe.CPU(
|
||||
name='Intel(R) Core(TM) i5-10500 CPU @ 3.10GHz',
|
||||
flags=['FPU', 'VME', 'DE', 'PSE', 'TSC', 'MSR', 'PAE', 'MCE', 'CX8', 'APIC', 'SEP', 'MTRR', 'PGE', 'MCA', 'CMOV', 'PAT', 'PSE36', 'CLFSH', 'DS', 'ACPI', 'MMX', 'FXSR', 'SSE', 'SSE2', 'SS', 'HTT', 'TM', 'PBE', 'SSE3', 'PCLMULQDQ', 'DTES64', 'MON', 'DSCPL', 'VMX', 'SMX', 'EST', 'TM2', 'SSSE3', 'FMA', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'MOVBE', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'SEGLIM64', 'TSCTMR', 'AVX1.0', 'RDRAND', 'F16C']
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None,
|
||||
bluetooth_chipset=None,
|
||||
third_party_sata_ssd=False
|
||||
)
|
||||
|
||||
class MacPro:
|
||||
|
||||
MacPro31_Stock = device_probe.Computer(
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Lists all models and required patches
|
||||
# Copyright (C) 2020-2021, Dhinak G, Mykola Grymalyuk
|
||||
# Copyright (C) 2020-2022, Dhinak G, Mykola Grymalyuk
|
||||
SupportedSMBIOS = [
|
||||
# MacBook
|
||||
"MacBook4,1",
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
from data import os_data
|
||||
class system_integrity_protection:
|
||||
csr_values = {
|
||||
# Source: macOS 11.4 (XNU's csr.h)
|
||||
@@ -17,6 +18,101 @@ class system_integrity_protection:
|
||||
"CSR_ALLOW_UNAUTHENTICATED_ROOT": False, # 0x800 - Allow Root Volume Mounting - Introduced in Big Sur # noqa: E241
|
||||
}
|
||||
|
||||
csr_values_extended = {
|
||||
"CSR_ALLOW_UNTRUSTED_KEXTS": {
|
||||
"name": "CSR_ALLOW_UNTRUSTED_KEXTS",
|
||||
"description": "Allows Unsigned Kexts",
|
||||
"introduced": os_data.os_data.el_capitan.value,
|
||||
"introduced_friendly": "El Capitan",
|
||||
"value": 0x1,
|
||||
},
|
||||
"CSR_ALLOW_UNRESTRICTED_FS": {
|
||||
"name": "CSR_ALLOW_UNRESTRICTED_FS",
|
||||
"description": "File System Access",
|
||||
"introduced": os_data.os_data.el_capitan.value,
|
||||
"introduced_friendly": "El Capitan",
|
||||
"value": 0x2,
|
||||
},
|
||||
"CSR_ALLOW_TASK_FOR_PID": {
|
||||
"name": "CSR_ALLOW_TASK_FOR_PID",
|
||||
"description": "Unrestricted task_for_pid()",
|
||||
"introduced": os_data.os_data.el_capitan.value,
|
||||
"introduced_friendly": "El Capitan",
|
||||
"value": 0x4,
|
||||
},
|
||||
"CSR_ALLOW_KERNEL_DEBUGGER": {
|
||||
"name": "CSR_ALLOW_KERNEL_DEBUGGER",
|
||||
"description": "Allow Kernel Debugger",
|
||||
"introduced": os_data.os_data.el_capitan.value,
|
||||
"introduced_friendly": "El Capitan",
|
||||
"value": 0x8,
|
||||
},
|
||||
"CSR_ALLOW_APPLE_INTERNAL": {
|
||||
"name": "CSR_ALLOW_APPLE_INTERNAL",
|
||||
"description": "Set AppleInternal Features",
|
||||
"introduced": os_data.os_data.el_capitan.value,
|
||||
"introduced_friendly": "El Capitan",
|
||||
"value": 0x10,
|
||||
},
|
||||
# "CSR_ALLOW_DESTRUCTIVE_DTRACE": {
|
||||
# "name": "CSR_ALLOW_DESTRUCTIVE_DTRACE",
|
||||
# "description": "Allow destructive DTrace",
|
||||
# "deprecated": True,
|
||||
# "introduced": os_data.os_data.el_capitan.value,
|
||||
# "introduced_friendly": "El Capitan",
|
||||
# "value": 0x20,
|
||||
# },
|
||||
"CSR_ALLOW_UNRESTRICTED_DTRACE": {
|
||||
"name": "CSR_ALLOW_UNRESTRICTED_DTRACE",
|
||||
"description": "Unrestricted DTrace usage",
|
||||
"introduced": os_data.os_data.el_capitan.value,
|
||||
"introduced_friendly": "El Capitan",
|
||||
"value": 0x20,
|
||||
},
|
||||
"CSR_ALLOW_UNRESTRICTED_NVRAM": {
|
||||
"name": "CSR_ALLOW_UNRESTRICTED_NVRAM",
|
||||
"description": "Unrestricted NVRAM write",
|
||||
"introduced": os_data.os_data.el_capitan.value,
|
||||
"introduced_friendly": "El Capitan",
|
||||
"value": 0x40,
|
||||
},
|
||||
"CSR_ALLOW_DEVICE_CONFIGURATION": {
|
||||
"name": "CSR_ALLOW_DEVICE_CONFIGURATION",
|
||||
"description": "Allow custom DeviceTree (iOS)",
|
||||
"introduced": os_data.os_data.el_capitan.value,
|
||||
"introduced_friendly": "El Capitan",
|
||||
"value": 0x80,
|
||||
},
|
||||
"CSR_ALLOW_ANY_RECOVERY_OS": {
|
||||
"name": "CSR_ALLOW_ANY_RECOVERY_OS",
|
||||
"description": "Skip BaseSystem Verification",
|
||||
"introduced": os_data.os_data.sierra.value,
|
||||
"introduced_friendly": "Sierra",
|
||||
"value": 0x100,
|
||||
},
|
||||
"CSR_ALLOW_UNAPPROVED_KEXTS": {
|
||||
"name": "CSR_ALLOW_UNAPPROVED_KEXTS",
|
||||
"description": "Allow Unnotarized Kexts",
|
||||
"introduced": os_data.os_data.high_sierra.value,
|
||||
"introduced_friendly": "High Sierra",
|
||||
"value": 0x200,
|
||||
},
|
||||
"CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE": {
|
||||
"name": "CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE",
|
||||
"description": "Override Executable Policy",
|
||||
"introduced": os_data.os_data.mojave.value,
|
||||
"introduced_friendly": "Mojave",
|
||||
"value": 0x400,
|
||||
},
|
||||
"CSR_ALLOW_UNAUTHENTICATED_ROOT": {
|
||||
"name": "CSR_ALLOW_UNAUTHENTICATED_ROOT",
|
||||
"description": "Allow Root Volume Mounting",
|
||||
"introduced": os_data.os_data.big_sur.value,
|
||||
"introduced_friendly": "Big Sur",
|
||||
"value": 0x800,
|
||||
},
|
||||
}
|
||||
|
||||
root_patch_sip_mojave = [
|
||||
# Variables required to root patch in Mojave and Catalina
|
||||
"CSR_ALLOW_UNTRUSTED_KEXTS", # 0x1
|
||||
|
||||
@@ -1546,6 +1546,7 @@ smbios_dictionary = {
|
||||
"Wireless Model": device_probe.Broadcom.Chipsets.AirPortBrcm4360,
|
||||
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2070,
|
||||
"Ethernet Chipset": "Broadcom",
|
||||
"nForce Chipset": True,
|
||||
"Stock GPUs": [
|
||||
device_probe.NVIDIA.Archs.Tesla
|
||||
],
|
||||
@@ -2720,6 +2721,36 @@ smbios_dictionary = {
|
||||
"SATA 3.5",
|
||||
],
|
||||
},
|
||||
# Mac Studio M1 Max
|
||||
"Mac13,1": {
|
||||
"Board ID": None,
|
||||
"FirmwareFeatures": None,
|
||||
"SecureBootModel": "j375c",
|
||||
"CPU Generation": cpu_data.cpu_data.apple_m1_max.value,
|
||||
"Max OS Supported": os_data.os_data.max_os,
|
||||
"Wireless Model": device_probe.Broadcom.Chipsets.AppleBCMWLANBusInterfacePCIe,
|
||||
"Bluetooth Model": bluetooth_data.bluetooth_data.PCIe,
|
||||
"Ethernet Chipset": "Aquantia",
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [
|
||||
"NVMe",
|
||||
],
|
||||
},
|
||||
# Mac Studio M1 Ultra
|
||||
"Mac13,2": {
|
||||
"Board ID": None,
|
||||
"FirmwareFeatures": None,
|
||||
"SecureBootModel": "j375d",
|
||||
"CPU Generation": cpu_data.cpu_data.apple_m1_ultra.value,
|
||||
"Max OS Supported": os_data.os_data.max_os,
|
||||
"Wireless Model": device_probe.Broadcom.Chipsets.AppleBCMWLANBusInterfacePCIe,
|
||||
"Bluetooth Model": bluetooth_data.bluetooth_data.PCIe,
|
||||
"Ethernet Chipset": "Aquantia",
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [
|
||||
"NVMe",
|
||||
],
|
||||
},
|
||||
"ADP2,1": {
|
||||
"Board ID": None,
|
||||
"FirmwareFeatures": None,
|
||||
@@ -2803,6 +2834,30 @@ smbios_dictionary = {
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [],
|
||||
},
|
||||
"VMware7,1": {
|
||||
# VMware Virtual Machine
|
||||
"Board ID": "440BX Desktop Reference Platform",
|
||||
"FirmwareFeatures": None,
|
||||
"SecureBootModel": "x86legacy",
|
||||
"CPU Generation": cpu_data.cpu_data.penryn.value,
|
||||
"Max OS Supported": os_data.os_data.max_os,
|
||||
"Wireless Model": None,
|
||||
"Bluetooth Model": bluetooth_data.bluetooth_data.NonApplicable,
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [],
|
||||
},
|
||||
"Parallels17,1": {
|
||||
# Parallels Virtual Machine
|
||||
"Board ID": "Parallels Virtual Platform",
|
||||
"FirmwareFeatures": None,
|
||||
"SecureBootModel": "x86legacy",
|
||||
"CPU Generation": cpu_data.cpu_data.penryn.value,
|
||||
"Max OS Supported": os_data.os_data.max_os,
|
||||
"Wireless Model": None,
|
||||
"Bluetooth Model": bluetooth_data.bluetooth_data.NonApplicable,
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [],
|
||||
},
|
||||
"iBridge2,11": {
|
||||
# Unknown ID, Intel based, present in Monterey
|
||||
"Board ID": None,
|
||||
@@ -2827,4 +2882,126 @@ smbios_dictionary = {
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [],
|
||||
},
|
||||
}
|
||||
"APPL_GPU_Test_Board": {
|
||||
# AppleInternal GPU Test Board
|
||||
# System is used for testing Intel iGPUs
|
||||
# Model has been configured with the following:
|
||||
# - Broadwell iGPU (HD Graphics 5300)
|
||||
# - Skylake iGPU (HD Graphics 5xx)
|
||||
# - Kaby Lake iGPU (HD Graphics 6xx)
|
||||
# - Ice Lake iGPU (G4/G7)
|
||||
"Board ID": "Mac-50619A408DB004DA",
|
||||
"FirmwareFeatures": None,
|
||||
"SecureBootModel": None,
|
||||
"CPU Generation": None,
|
||||
"Max OS Supported": os_data.os_data.max_os,
|
||||
"Wireless Model": None,
|
||||
"Bluetooth Model": bluetooth_data.bluetooth_data.NonApplicable,
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [],
|
||||
},
|
||||
"APPL_UNKNOWN_MODEL_1": {
|
||||
# Laptop model
|
||||
# No mentions in SLE outside X86PlatformPlugin
|
||||
"Board ID": "Mac-112B0A653D3AAB9C",
|
||||
"FirmwareFeatures": None,
|
||||
"SecureBootModel": None,
|
||||
"CPU Generation": None,
|
||||
"Max OS Supported": os_data.os_data.max_os,
|
||||
"Wireless Model": None,
|
||||
"Bluetooth Model": bluetooth_data.bluetooth_data.NonApplicable,
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [],
|
||||
},
|
||||
"APPL_UNKNOWN_MODEL_2": {
|
||||
# Laptop model
|
||||
# Only mentioned in ApplePlatformEnabler and X86PlatformPlugin
|
||||
"Board ID": "Mac-4BFBC784B845591E",
|
||||
"FirmwareFeatures": None,
|
||||
"SecureBootModel": None,
|
||||
"CPU Generation": None,
|
||||
"Max OS Supported": os_data.os_data.max_os,
|
||||
"Wireless Model": None,
|
||||
"Bluetooth Model": bluetooth_data.bluetooth_data.NonApplicable,
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [],
|
||||
},
|
||||
"APPL_UNKNOWN_MODEL_3": {
|
||||
# Laptop model, 15"/17" with dGPU and GMUX
|
||||
# Only mentioned in AppleGraphicsPowerManagement, AppleMuxControl2, AGDCBacklightControl, ApplePlatformEnabler and X86PlatformPlugin
|
||||
"Board ID": "Mac-564FBA6031E5946A",
|
||||
"FirmwareFeatures": None,
|
||||
"SecureBootModel": None,
|
||||
"CPU Generation": None,
|
||||
"Max OS Supported": os_data.os_data.max_os,
|
||||
"Wireless Model": None,
|
||||
"Bluetooth Model": bluetooth_data.bluetooth_data.NonApplicable,
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [],
|
||||
},
|
||||
"APPL_UNKNOWN_MODEL_4": {
|
||||
# Laptop model, iGPU only
|
||||
# Only mentioned in AppleGraphicsPowerManagement, ApplePlatformEnabler and X86PlatformPlugin
|
||||
"Board ID": "Mac-6FEBD60817C77D8A",
|
||||
"FirmwareFeatures": None,
|
||||
"SecureBootModel": None,
|
||||
"CPU Generation": None,
|
||||
"Max OS Supported": os_data.os_data.max_os,
|
||||
"Wireless Model": None,
|
||||
"Bluetooth Model": bluetooth_data.bluetooth_data.NonApplicable,
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [],
|
||||
},
|
||||
"APPL_UNKNOWN_MODEL_5": {
|
||||
# Laptop model, iGPU only, Iris Plus Graphics G7
|
||||
# Only mentioned in AppleGraphicsPowerManagement, ApplePlatformEnabler and X86PlatformPlugin
|
||||
"Board ID": "Mac-747B1AEFF11738BE",
|
||||
"FirmwareFeatures": None,
|
||||
"SecureBootModel": None,
|
||||
"CPU Generation": None,
|
||||
"Max OS Supported": os_data.os_data.max_os,
|
||||
"Wireless Model": None,
|
||||
"Bluetooth Model": bluetooth_data.bluetooth_data.NonApplicable,
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [],
|
||||
},
|
||||
"APPL_UNKNOWN_MODEL_6": {
|
||||
# Laptop model, iGPU only
|
||||
# Only mentioned in AppleGraphicsPowerManagement, ApplePlatformEnabler and X86PlatformPlugin
|
||||
"Board ID": "Mac-87DCB00F4AD77EEA",
|
||||
"FirmwareFeatures": None,
|
||||
"SecureBootModel": None,
|
||||
"CPU Generation": None,
|
||||
"Max OS Supported": os_data.os_data.max_os,
|
||||
"Wireless Model": None,
|
||||
"Bluetooth Model": bluetooth_data.bluetooth_data.NonApplicable,
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [],
|
||||
},
|
||||
"APPL_UNKNOWN_MODEL_7": {
|
||||
# Laptop model
|
||||
# Only mentioned in X86PlatformPlugin, AppleGVA
|
||||
"Board ID": "Mac-90BE64C3CB5A9AEB",
|
||||
"FirmwareFeatures": None,
|
||||
"SecureBootModel": None,
|
||||
"CPU Generation": None,
|
||||
"Max OS Supported": os_data.os_data.max_os,
|
||||
"Wireless Model": None,
|
||||
"Bluetooth Model": bluetooth_data.bluetooth_data.NonApplicable,
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [],
|
||||
},
|
||||
"APPL_UNKNOWN_MODEL_7": {
|
||||
# Laptop model, iGPU only
|
||||
# Only mentioned in AppleGraphicsPowerManagement and X86PlatformPlugin
|
||||
"Board ID": "Mac-9394BDF4BF862EE7",
|
||||
"FirmwareFeatures": None,
|
||||
"SecureBootModel": None,
|
||||
"CPU Generation": None,
|
||||
"Max OS Supported": os_data.os_data.max_os,
|
||||
"Wireless Model": None,
|
||||
"Bluetooth Model": bluetooth_data.bluetooth_data.NonApplicable,
|
||||
"Stock GPUs": [],
|
||||
"Stock Storage": [],
|
||||
},
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
# Working Around Legacy Acceleration Issues
|
||||
|
||||
* [Broken Background Blurs](#broken-background-blurs)
|
||||
* [Downloading older non-Metal Apps](#downloading-older-non-metal-apps)
|
||||
* [Unable to run Zoom](#unable-to-run-zoom)
|
||||
* [Unable to grant special permissions to apps (ie. Camera Access to Zoom)](#unable-to-grant-special-permissions-to-apps-ie-camera-access-to-zoom)
|
||||
@@ -35,6 +36,13 @@ For those unfamiliar with what is considered a non-Metal GPU, see below chart:
|
||||
|
||||
:::
|
||||
|
||||
## Broken Background Blurs
|
||||
|
||||
By default with the non-Metal acceleration patches, many background blur menus may act distorted when moving a cursor over it. With 0.4.1 and newer, users can enable a new Beta Blur feature to try and resolve the issue:
|
||||
|
||||

|
||||
|
||||
Do note that enabling beta blurs can be more demanding on slower hardware
|
||||
## Downloading older non-Metal Apps
|
||||
|
||||
Many Apple apps now have direct reliance on Metal for proper functioning, however legacy builds of these apps still do work in Big Sur. See below for archive of many apps such as Pages, iMovie, GarageBand.
|
||||
@@ -112,10 +120,18 @@ The best way to achieve this is to boot Recovery (or Single User Mode if the dGP
|
||||
nvram FA4CE28D-B62F-4C99-9CC3-6815686E30F9:gpu-power-prefs=%01%00%00%00
|
||||
```
|
||||
|
||||
This will disable the dGPU and allow the iGPU to function in Big Sur. Note that external display outputs are directly routed to the dGPU and therefore can no longer be used. Solutions such as a [DisplayLink Adapters](https://www.displaylink.com/products/usb-adapters) can work around this limitation in theory. However, currently the proprietary DisplayLink driver refuses to function on legacy-patched systems, either resulting in a windowserver crash loop or no output at all.
|
||||
This will disable the dGPU and allow the iGPU to function in Big Sur. Note that external display outputs are directly routed to the dGPU and therefore can no longer be used. Solutions such as a [DisplayLink Adapters](https://www.displaylink.com/products/usb-adapters) can work around this limitation, however note that you'll need to use older drivers (5.2.6):
|
||||
|
||||
* [DisplayLink USB Graphics Software for macOS - For Mojave and Catalina - 5.2.6](https://www.synaptics.com/products/displaylink-graphics/downloads/macos-5.2.6)
|
||||
|
||||
Note this driver only provides partial support in macOS, full graphics acceleration is not currently available on the displays driven by DisplayLink
|
||||
|
||||
## Erratic Colours on ATI TeraScale 2 GPUs (HD5000/HD6000)
|
||||
|
||||
Resolved with OpenCore Legacy Patcher v0.4.2
|
||||
|
||||
::: details Legacy Fix (prior to 0.4.2)
|
||||
|
||||
Due to an odd bug with ATI's TeraScale 2 GPUs, many users will experience erratic/strobing colours once finished installing and rebooting into the accelerated patches. The issue stems from an incorrect assumption in the GPU drivers where it will enforce the Billion Colour space on your display. To fix, simply force your Display into a lower color depth such as a Million Colours.
|
||||
|
||||
Applications that can set color depth are:
|
||||
@@ -123,6 +139,8 @@ Applications that can set color depth are:
|
||||
* [SwitchResX](https://www.madrau.com)
|
||||
* [ResXtreme](https://macdownload.informer.com/resxtreme/)
|
||||
|
||||
:::
|
||||
|
||||
## Unable to allow Safari Extensions
|
||||
|
||||
Due to an bug on the legacy acceleration patches, users won't be able to enable Safari Extensions
|
||||
@@ -135,7 +153,7 @@ This tool can be used to work-around this issue:
|
||||
|
||||
By default OpenCore Legacy Patcher will assume MacBookPro8,2/3 have a faulty dGPU and disable acceleration. This is the safest option for most users as enabling dGPU acceleration on faulty Macs will result in failed booting.
|
||||
|
||||
However if your machine does not have the dGPU disabled via NVRAM, you'll expereince a login loop. To work around this is quite simple:
|
||||
However if your machine does not have the dGPU disabled via NVRAM, you'll experience a login loop. To work around this is quite simple:
|
||||
|
||||
1. Boot macOS in Single User Mode
|
||||
* Press Cmd+S in OpenCore's menu when you turn the Mac on
|
||||
|
||||
@@ -18,4 +18,8 @@ After plenty of verbose booting, you will reach the installer screen! From there
|
||||
|
||||
* [OpenCore Legacy Patcher Boot Process](https://www.youtube.com/watch?v=AN3zsbQV_n4)
|
||||
|
||||
**MacBookPro11,3 Note**: When booting macOS Monterey, you'll need to boot into safe mode if acceleration patches are not installed yet. [Otherwise you'll hit a black screen due to missing Nvidia drivers.](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/522)
|
||||
|
||||
* Safe Mode can be started by holding Shift+Enter when selecting macOS Monterey in OCLP's Boot Menu.
|
||||
|
||||
# Once installed and booting, head to [Post-Installation](./POST-INSTALL.md)
|
||||
|
||||
@@ -2,35 +2,27 @@
|
||||
|
||||
Now that we have a macOS installer, lets now build our OpenCore configuration!
|
||||
|
||||
First Download the latest release:
|
||||
If you haven't downloaded OpenCore Patcher yet, do so now:
|
||||
|
||||
* [OpenCore Legacy Patcher Releases](https://github.com/dortania/Opencore-Legacy-Patcher/releases)
|
||||
|
||||
Next, run the `OpenCore-Patcher.app`:
|
||||
|
||||

|
||||

|
||||
|
||||
From here you have a couple important options:
|
||||
Here we'll select Build and Install OpenCore and start building:
|
||||
|
||||
* Build OpenCore
|
||||
* Install OpenCore to USB/internal drive
|
||||
* Change Model
|
||||
* Patcher Settings
|
||||
|
||||
If you're patching for a different machine than you're running, please select "Change Model" and enter the updated SMBIOS. For more advanced users, you may also tweak the patcher's build settings via "Patcher Settings"
|
||||
|
||||
Now lets enter "Build OpenCore":
|
||||
|
||||

|
||||
|
||||
The process should be quite quick to build, once finished you'll be plopped back to the main menu.
|
||||
|
||||
Next lets run `Install OpenCore to USB/internal drive`:
|
||||
|
||||
| Select Drive | Select EFI/FAT32 Partition |
|
||||
| Start Building | Finished Building |
|
||||
| :--- | :--- |
|
||||
|  |  |
|
||||
|  |  |
|
||||
|
||||
Once it finishes building, you'll want to select the Install OpenCore button:
|
||||
|
||||
* If you created a macOS USB manually and don't see it listed, make sure it's either formatted as GUID/GPT or has a FAT32 partition for OpenCore to sit on
|
||||
|
||||
|
||||
| Select Drive | Select Partition |
|
||||
| :--- | :--- |
|
||||
|  |  |
|
||||
|
||||
* If you have issues, please ensure you install OpenCore onto a FAT32 partition to ensure your Mac is able to boot it. You will need to format your drive as GUID/GPT in Disk Utility
|
||||
|
||||
# Once finished, head to [Booting OpenCore and macOS](./BOOT.md)
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
# How to debug with OpenCore
|
||||
|
||||
For those who've hit an odd bug and unsure if it's user error or patcher, the below will tell you how to get more verbose debug information as well as logs to help [file issues with us](https://github.com/dortania/OpenCore-Legacy-Patcher/issues)
|
||||
|
||||
* For users who are less experienced, we recommend asking on the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN) for help.
|
||||
For those who've hit an odd bug and unsure if it's user error or patcher, we recommend asking on the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN) for help.
|
||||
|
||||
## Debugging yourself
|
||||
|
||||
|
||||
@@ -27,9 +27,16 @@ Current hardware we own:
|
||||
|
||||
| Model | CPU | GPU | Owner | Notes |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| MacBook5,1 | Penryn | 9400M | Mykola | N/A |
|
||||
| MacBook7,1 | Penryn | GT320M | Dhinak | N/A |
|
||||
| MacBook7,1 | Penryn | GT320M | Mykola | N/A |
|
||||
| MacBookPro5,3 | Penryn | 9400M + 9600M | Dhinak | Display's partially broken |
|
||||
| MacBookPro8,2 | Sandy Bridge | HD3000 | Mykola | Dead dGPU |
|
||||
| MacPro3,1 | Penryn | GTX 680 | Dhinak | N/A |
|
||||
| Macmini4,1 | Penryn | GT320M | Dhinak | N/A |
|
||||
| iMac11,2 | Clarksdale | HD4670 | Mykola | N/A |
|
||||
| MacPro3,1 | Penryn | HD5770, RX570, GT710 | Mykola | N/A |
|
||||
|
||||
Dead Hardware:
|
||||
| Model | CPU | GPU | Owner | Notes |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| MacPro3,1 | Penryn | HD5770, RX570, GT710 | Mykola | No longer powers on |
|
||||
| MacPro4,1 | Westmere | HD7950 | Mykola | Dead Northbridge on CPU Tray |
|
||||
|
||||
@@ -1,59 +1,51 @@
|
||||
# Download and build macOS Installers
|
||||
|
||||
* [Downloading](#downloading)
|
||||
* [Building](#building)
|
||||
* [Creating the installer](#creating-the-installer)
|
||||
|
||||
This doc is centered around downloading and writing the macOS installer to a USB. If you're already familiar with how to do this, you can skip.
|
||||
|
||||
* Note: 16GB+ USB will be required for the installer
|
||||
|
||||
## Downloading
|
||||
## Creating the installer
|
||||
|
||||
The simplest way to download macOS installs would be to use installinstallmacos:
|
||||
With OpenCore Legacy Patcher, our new GUI includes a download menu for macOS installers. So to start off, you'll want to grab our app:
|
||||
|
||||
```sh
|
||||
[ ! -d ~/macOS-installer/ ] && mkdir ~/macOS-installer; cd ~/macOS-installer; [ ! -f ~/macOS-installer/installinstallmacos.py ] && curl -O https://raw.githubusercontent.com/munki/macadmin-scripts/main/installinstallmacos.py ; sudo python installinstallmacos.py
|
||||
```
|
||||
* [OpenCore Legacy Patcher Release Apps](https://github.com/dortania/OpenCore-Legacy-Patcher/releases)
|
||||
|
||||
* Note: On El Capitan (10.11) and older, you'll need to specify a catalog at the end of the command:
|
||||
For this guide, we'll be using the standard OpenCore-Patcher (GUI).
|
||||
|
||||
```
|
||||
--catalogurl https://swscan.apple.com/content/catalogs/others/index-11-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog
|
||||
```
|
||||
Once downloaded, open the app and you should be greeted with this menu:
|
||||
|
||||

|
||||

|
||||
|
||||
As you can see, we get a nice list of macOS installers. If you need a particular versions of macOS, you can select it by typing the number next to it. For this example we'll choose 10:
|
||||
First we'll want to select the "Create macOS Installer" button. This will present you with 2 options:
|
||||
|
||||

|
||||

|
||||
|
||||
This is going to take a while as we're downloading the entire 12GB+ macOS installer.
|
||||
For this example, we'll assume you'll need an installer. Selecting this option will download Apple's Installer Catalogs and build a list for you to choose:
|
||||
|
||||
Once finished, you'll find in your `~/macOS-Installer/` folder a DMG containing the macOS Installer, called `Install_macOS_11.1-20C69.dmg` for example. Mount it and you'll find the installer application.
|
||||
| Downloading | Listed Installers |
|
||||
| :--- | :--- |
|
||||
|  |  |
|
||||
|
||||
* Note: We recommend to move the Install macOS.app into the `/Applications` folder, as we'll be executing commands from there.
|
||||
* Note 2: Running Cmd+Shift+G in Finder will allow you to easily jump to `~/macOS-installer`
|
||||
Since the patcher officially supports Big Sur and newer for patching, only those entires will be showen. For ourselves, we'll select 12.1 as that's the latest public release at the time of writing. This will download and install the macOS installer to your applications folder.
|
||||
|
||||

|
||||
| Downloading the Installer | Requesting to install | Finished Installing |
|
||||
| :--- | :--- | :--- |
|
||||
|  |  |  |
|
||||
|
||||

|
||||
Once finished, you can proceed to write the installer onto a USB drive.
|
||||
|
||||
## Building
|
||||
* Note: The entire USB drive will be formatted
|
||||
|
||||
Now we'll be formatting the USB to prep for both the macOS installer and OpenCore. We'll want to use macOS Extended (HFS+) with a GUID partition map(Using GUID is important for the patcher). This will create two partitions: the main `MyVolume` and a second called `EFI` which is used as a boot partition where your Mac's firmware will check for boot files. `EFI` partitions will be hidden by default, so don't worry if you don't immediately see them.
|
||||
| Select Downloaded Installer | Select disk to format |
|
||||
| :--- | :--- |
|
||||
|  |  |
|
||||
|
||||
* Note: By default, Disk Utility only shows partitions – press Cmd/Win+2 to show all devices (alternatively you can press the View button)
|
||||
Now the patcher will start the installer flashing!
|
||||
|
||||

|
||||
|
||||
Next run the `createinstallmedia` command provided by [Apple](https://support.apple.com/en-us/HT201372). Note that the command is made for USB's formatted with the name `MyVolume`:
|
||||
|
||||
```sh
|
||||
sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
|
||||
```
|
||||
|
||||
* Note: You can also replace the `createinstallmedia` path with that of where your installer's located (same idea with the drive name).
|
||||
|
||||

|
||||
| Flashing | Success Prompt | Finished Flashing |
|
||||
| :--- | :--- |
|
||||
|  |  |  |
|
||||
|
||||
# Once finished, head to [Building and installing OpenCore](./BUILD.md)
|
||||
|
||||
@@ -20,4 +20,4 @@ This patcher is made of multiple external applications from different people and
|
||||
* [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.
|
||||
Remaining files within OpenCore Legacy Patcher are copyrighted 2020-2022 Mykola Grymalyuk & Dhinak G. For integration into other projects, please request written permission.
|
||||
|
||||
@@ -123,7 +123,7 @@ Regarding OS support, see below:
|
||||
| iMac14,2 | ^^ | ^^ | ^^ |
|
||||
| iMac14,3 | ^^ | ^^ | ^^ |
|
||||
| iMac14,4 | Mid-2014 | ^^ | ^^ |
|
||||
| iMac15,1 | Late 2014, Mid-2015 | ^^ | [Display will output to 4k instead of 5k](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/359) |
|
||||
| iMac15,1 | Late 2014, Mid-2015 | ^^ | ^^ |
|
||||
|
||||
* For iMac10,1 through iMac12,x, we highly recommend users upgrade the GPU to a Metal supported model. See here for more information: [iMac late 2009 to mid-2011 Graphics Card Upgrade Guide](https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/?post=17425857#post-17425857)
|
||||
|
||||
|
||||
@@ -15,10 +15,19 @@ With Monterey, Apple continues their their somewhat ruthless march of dropping I
|
||||
* MacBookPro11,2
|
||||
* MacBookPro11,3
|
||||
|
||||
All of these models now have support in OpenCore Legacy Patcher. Note iMac15,1 does have [an unfortunate firmware bug preventing resolutions above 4k](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/359) with OpenCore Legacy Patcher
|
||||
All of these models now have support in OpenCore Legacy Patcher.
|
||||
|
||||
## Previously Broken Hardware
|
||||
|
||||
::: details iMac15,1 5K Display Output Issue (Resolved in 0.3.2 and newer)
|
||||
|
||||
* Documentation:
|
||||
* [5K iMac and UEFI: Fixing the dreaded output limitation](https://khronokernel.github.io/macos/2021/12/08/5K-UEFI.html)
|
||||
* Associated Github Issue:
|
||||
* [5k Output issues on iMac15,1 (27" 5k iMac - 2014) #359](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/359)
|
||||
|
||||
:::
|
||||
|
||||
::: details macOS 12.0 Beta 4 issue on 2012 to early 2013 machines (Resolved in 0.2.5 and newer)
|
||||
|
||||
Currently in macOS 12.0 Beta 4, many Ivy Bridge Macs have experienced Bluetooth issues relating to their BCM20702 chipset. Currently the exact issue is unknown however is assumed to be a bug on Apple's end. Recommend downgrading to macOS 12.0 Beta 3 till resolved:
|
||||
@@ -38,13 +47,14 @@ sudo killall -9 BlueTool bluetoothd
|
||||
|
||||
* Broadcom BCM94328, BCM94322 and Atheros Wireless Chipsets lost support
|
||||
|
||||
The following models lost Bluetooth support in macOS Monterey due to their legacy Wireless chipset:
|
||||
The following models lost Wifi support in macOS Monterey due to their legacy Wireless chipset:
|
||||
|
||||
* iMac12,x and older
|
||||
* Macmini3,1 and older
|
||||
* MacBook5,x and older
|
||||
* MacBookAir2,1 and older
|
||||
* MacBookPro7,1 and older
|
||||
* MacBookPro6,x is exempt
|
||||
* MacPro5,1 and older
|
||||
|
||||
Note: BCM943224, BCM94331, BCM94360 and BCM943602 are still fully support by OpenCore Legacy Patcher
|
||||
|
||||
@@ -14,12 +14,38 @@ Below is a run down of the main logic OpenCore Legacy Patcher uses to gain nativ
|
||||
|
||||
::: details Configuration Explanation
|
||||
|
||||
### ACPI -> Add
|
||||
|
||||
* SSDT-CPBG
|
||||
* Reason: Resolves Kernel Panic on Arrendale Macs in early Big Sur builds
|
||||
* Logic: Disable dummy CPBG device in ACPI
|
||||
* Models: MacBookPro6,x and iMac11,x
|
||||
* SSDT-PCI
|
||||
* Reason: Patch Windows Audio support for Sandy and Ivy Bridge
|
||||
* Logic: Removes PCI0's 32-bit Allocation Limitation
|
||||
* Models: All Sandy and Ivy Bridge Macs, excluding MacPro6,1
|
||||
* SSDT-DGPU
|
||||
* Reason: Allows for software based deMUX disabling dGPUs in 2011 MacBook Pros
|
||||
* Logic: Sends power down request to dGPU via ACPI
|
||||
* Models: MacBookPro8,2 and MacBookPro8,3 with dead dGPUs
|
||||
|
||||
### ACPI -> Patch
|
||||
|
||||
* EHCx and XHC1 Patches
|
||||
* `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 when spoofing with Moderate or Advanced SMBIOS
|
||||
* `BUF0` to `BUF1` Patch
|
||||
* Reason: To be paired with SSDT-PCI
|
||||
* `_INI` to `XINI` Patch
|
||||
* Reason: To be paired with SSDT-DGPU
|
||||
|
||||
### Booter -> Patch
|
||||
|
||||
* Reroute `HW_BID` to `OC_BID`
|
||||
* Reason: Allows macOS installers to be used on unsupported models
|
||||
* Logic: Reroutes Board ID macOS checks to custom variable
|
||||
* Models: All systems using VMM spoofing
|
||||
|
||||
### Booter -> Quirks
|
||||
|
||||
@@ -30,14 +56,6 @@ Below is a run down of the main logic OpenCore Legacy Patcher uses to gain nativ
|
||||
|
||||
### DeviceProperties -> Add
|
||||
|
||||
* `PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)`
|
||||
* `PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)`
|
||||
* `PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)`
|
||||
* `PciRoot(0x0)/Pci(0x1C,0x5)/Pci(0x0,0x0)`
|
||||
* `PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)`
|
||||
* Reason: Required to ensure Wifi works with full, native support
|
||||
* Logic: Tricks AirPortBrcmNIC.kext into thinking our device is a BCM94360 (`14e4,43ba`)
|
||||
* Models: Machines with BCM943224 and BCM94331 chipsets
|
||||
* `PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)`
|
||||
* `PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)`
|
||||
* Reason: Required to ensure Brightness Control works on upgraded iMacs
|
||||
@@ -58,6 +76,23 @@ Below is a run down of the main logic OpenCore Legacy Patcher uses to gain nativ
|
||||
* Reason: Required for HID peripheral support in macOS on older hardware
|
||||
* Logic: Tricks IOHIDFamily into thinking it's always booting recovery
|
||||
* Models: Penryn CPUs (Core2 series)
|
||||
* Force FileVault on Broken Seal Patch
|
||||
* Reason: Allow FileVault on root patched Macs
|
||||
* Logic: Forces APFS.kext to always return true on FileVault support
|
||||
* Models: Any model needing root patches
|
||||
* Disable Library Validation Enforcement Patch
|
||||
* Reason: non-Metal Root Volume Patches do not pass library validation tests
|
||||
* Logic: Forces Library Validation function to always return not required
|
||||
* Models: Non-Metal GPUs
|
||||
* SurPlus Patch
|
||||
* Reason: macOS 11.3-12.0.1 require systems to have RDRAND support in the CPU for stable boot
|
||||
* Logic: Forces RDRAND code to return predetermined value
|
||||
* Models: All pre-Ivy Bridge Macs
|
||||
* Reroute `kern.hv_vmm_present` Patch
|
||||
* Reason: Allows macOS to be installed and updated on unsupported hardware
|
||||
* Logic: Forces userspace to see system as Virtual Machine
|
||||
* Models: Any model using VMM spoofing
|
||||
|
||||
|
||||
### Kernel -> Quirks
|
||||
|
||||
@@ -73,9 +108,9 @@ Below is a run down of the main logic OpenCore Legacy Patcher uses to gain nativ
|
||||
### Misc -> Security
|
||||
|
||||
* SecureBootModel
|
||||
* Reason: Required to ensure seamless OS updates with Big Sur
|
||||
* Logic: Sets iMacPro1,1's Secure Enclave Identifier (j137)
|
||||
* Models: All models require
|
||||
* Reason: Required to allow native OS updates on T2 model spoofs
|
||||
* Logic: Sets T2's Secure Enclave Identifier
|
||||
* Models: All models required that spoof T2 model with minimal or higher
|
||||
|
||||
### NVRAM -> Add
|
||||
|
||||
@@ -123,13 +158,13 @@ Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into m
|
||||
* Models: All models require
|
||||
* WhateverGreen
|
||||
* Reason: Patches GPU Frameworks and kext to ensure proper support
|
||||
* Models: All models require
|
||||
* Models: All models require when spoofing or have non-stock GPU
|
||||
* CPUFriend
|
||||
* Reason: Patches IOx86PlatformPlugin to restore previous CPU profiles
|
||||
* Models: 2012 and newer models
|
||||
* Models: All models using minimal or higher spoofing
|
||||
* AirportBrcmFixup
|
||||
* Reason: Patches IO80211 and co to fix networking support for unsupported cards
|
||||
* Models: BCM943224 and BCM94331
|
||||
* Reason: Patches IO80211 and co to fix networking support for unsupported cards, and fix bugs on native ones as well (ie. random degraded network performance)
|
||||
* Models: BCM943224, BCM94331, BCM94360 and BCM943602
|
||||
* RestrictEvents
|
||||
* Reason: Disables memory errors on MacPro7,1
|
||||
* Models: Mac Pros and Xserves
|
||||
@@ -151,7 +186,7 @@ Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into m
|
||||
|
||||
* USBMap
|
||||
* Reason: Inject old USB map profiles to fix USB
|
||||
* Models: All models require
|
||||
* Models: All models require when spoofing moderate or higher, as well as pre-2012 models
|
||||
|
||||
### SSE
|
||||
|
||||
@@ -189,14 +224,14 @@ Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into m
|
||||
* Models: 2011 and older, MacBookPro9,x included
|
||||
* SMC-Spoof
|
||||
* Reason: Spoofs SMC version to 9.9999
|
||||
* Models: All models require
|
||||
* Models: All models require when spoofing minimal or higher
|
||||
:::
|
||||
|
||||
## On-Disk Patches
|
||||
|
||||
Unfortunately certain on-disk patches are required to achieve full functionality. Below is a breakdown of patches supported
|
||||
|
||||
::: details Audio Patches
|
||||
::: details Audio Patches (11.0+)
|
||||
|
||||
### Extensions
|
||||
|
||||
@@ -206,7 +241,68 @@ Unfortunately certain on-disk patches are required to achieve full functionality
|
||||
|
||||
:::
|
||||
|
||||
::: details Acceleration Patches
|
||||
::: details Legacy Wireless Patches (12.0+)
|
||||
|
||||
Applicable for BCM94328, BCM94322 and Atheros Wifi cards
|
||||
|
||||
### CoreServices
|
||||
|
||||
* WiFiAgent.app
|
||||
|
||||
### /usr/libexec
|
||||
|
||||
* airportd
|
||||
|
||||
:::
|
||||
|
||||
::: details Nvidia Kepler Graphics Acceleration Patches (12.0+)
|
||||
|
||||
### Extensions
|
||||
|
||||
* GeForce.kext
|
||||
* GeForceAIRPlugin.bundle
|
||||
* GeForceGLDriver.bundle
|
||||
* GeForceMTLDriver.bundle
|
||||
* GeForceVADriver.bundle
|
||||
* NVDAGF100Hal.kext
|
||||
* NVDAGK100Hal.kext
|
||||
* NVDAResman.kext
|
||||
* NVDAStartup.kext
|
||||
|
||||
### Frameworks
|
||||
|
||||
* OpenCL (libCLVMNVPTXPlugin.dylib, NVPTX.dylib)
|
||||
* Reason: Re-add Kepler hardware acceleration support
|
||||
|
||||
:::
|
||||
|
||||
|
||||
::: details Intel Ivy Bridge Graphics Acceleration Patches (12.0+)
|
||||
|
||||
### Extensions
|
||||
|
||||
* AppleIntelIVBVA.bundle
|
||||
* AppleIntelFramebufferCapri.kext
|
||||
* AppleIntelGraphicsShared.bundle
|
||||
* AppleIntelHD4000Graphics.kext
|
||||
* AppleIntelHD4000GraphicsGLDriver.bundle
|
||||
* AppleIntelHD4000GraphicsMTLDriver.bundle
|
||||
* AppleIntelHD4000GraphicsVADriver.bundle
|
||||
|
||||
### PrivateFrameworks
|
||||
|
||||
* AppleGVA/AppleGVACore
|
||||
* Reason: Enable DRM support
|
||||
|
||||
### Frameworks
|
||||
|
||||
* OpenCL (libCLVMIGILPlugin.dylib)
|
||||
* Reason: Re-add Ivy Bridge hardware acceleration support
|
||||
* WebKit (com.apple.WebProcess.sb)
|
||||
* Reason: Re-add Ivy Bridge Safari rendering support
|
||||
:::
|
||||
|
||||
::: details non-Metal Graphics Acceleration Patches (11.0+)
|
||||
|
||||
### Extensions
|
||||
|
||||
@@ -290,10 +386,4 @@ Unfortunately certain on-disk patches are required to achieve full functionality
|
||||
* SkyLight.framework
|
||||
* Logic: Copied from Mojave, heavy modifications/shims
|
||||
|
||||
### LaunchDaemons
|
||||
|
||||
* HiddHack.plist
|
||||
* Reason: Fixes unresponsive input when patching Skylight
|
||||
* Logic: Forces `hidd` to register events, as Skylight handles them by default in Big Sur
|
||||
|
||||
:::
|
||||
|
||||
@@ -20,7 +20,9 @@ And voila! No more USB drive required
|
||||
|
||||
To do this, run the OpenCore Patcher and head to Patcher Settings:
|
||||
|
||||

|
||||
| GUI Settings | TUI Settings
|
||||
| :--- | :--- |
|
||||
| |  |
|
||||
|
||||
Here you can change different patcher settings, however the main interest is:
|
||||
|
||||
@@ -30,11 +32,19 @@ Once you've toggled them both off, build your OpenCore EFI once again and instal
|
||||
|
||||
## Enabling SIP
|
||||
|
||||
For many users, SIP will be enabled by default on build. For Intel HD 4000 users, you may have noticed that SIP is disabled. This is to ensure full compatibility with macOS Monterey and allow seamless booting between it and older OSes. However for users who do not plan to boot Monterey, you can re-enable under Patcher Settings.
|
||||
For many users, SIP will be enabled by default on build. For Intel HD 4000 users, you may have noticed that SIP is partially disabled. This is to ensure full compatibility with macOS Monterey and allow seamless booting between it and older OSes. However for users who do not plan to boot Monterey, you can re-enable under Patcher Settings.
|
||||
|
||||
Note: Machines with non-Metal GPUs cannot enable SIP in Big Sur either due to patched root volume
|
||||
|
||||
Note 2: NVRAM may need to be reset to ensure SIP is correctly re-enabled
|
||||
| SIP Enabled | SIP Lowered (Root Patching) | SIP Disabled |
|
||||
| :--- | :--- | :--- |
|
||||
|  |  |  |
|
||||
|
||||
::: warning
|
||||
|
||||
If you're unsure whether you should enable SIP, leave as-is. Systems where you have already ran the Post Install Root Patching cannot enable SIP without potentially breaking the current install.
|
||||
|
||||
:::
|
||||
|
||||
## Applying Post Install Volume Patches
|
||||
|
||||
@@ -42,6 +52,20 @@ For users with unsupported GPUs/wifi cards, you'll need to run the Post Install
|
||||
|
||||
* Hint: Try running the root volume patch option, the Patcher will determine and install patches only when required. So there is no harm in applying them
|
||||
|
||||
|
||||
| Listing Patches | Patching Finished |
|
||||
| :--- | :--- |
|
||||
|  |  |
|
||||
|
||||
|
||||
::: warning
|
||||
|
||||
Root Patching requires a network connection by default to grab associated resources. If your system is having difficulties with wifi or ethernet, grab the Offline variants of the patcher on Github next to the regular apps:
|
||||
|
||||
* [OpenCore Legacy Patcher releases](https://github.com/dortania/OpenCore-Legacy-Patcher/releases/latest)
|
||||
|
||||
:::
|
||||
|
||||
::: details Unsupported GPUs in macOS Big Sur
|
||||
|
||||
* Nvidia:
|
||||
@@ -76,13 +100,3 @@ For users with unsupported GPUs/wifi cards, you'll need to run the Post Install
|
||||
* Atheros
|
||||
|
||||
:::
|
||||
|
||||
To apply the Post-Install Volume patches, select option #3 as shown below:
|
||||
|
||||

|
||||
|
||||
And go ahead to option #1 and let the OCLP patcher apply the needed legacy video patches.
|
||||
|
||||

|
||||
|
||||
Reboot your system and check out the now working graphics acceleration on your legacy system. This is still Beta software.
|
||||
|
||||
@@ -16,5 +16,5 @@ features:
|
||||
details: Install updates the moment they come out just like on a supported Mac, and no more 12GB+ updates.
|
||||
- title: Zero firmware patching
|
||||
details: No need to patch APFS ROM support, all protocol upgrades are done in memory and never permanent.
|
||||
footer: Copyright © Dortania 2020-2021
|
||||
footer: Copyright © Dortania 2020-2022
|
||||
---
|
||||
@@ -19,10 +19,10 @@ To aid users in troubleshooting, we've compiled a list of users who've reported
|
||||
| SMBIOS | Tested | Tester | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| MacBookAir2,1 | No reports | N/A | N/A |
|
||||
| MacBookAir3,1 | ^^ | ^^ | ^^ |
|
||||
| MacBookAir3,1 | <span style="color:#30BCD5"> YES </span> | uvesten | - Stock Model<br/>- Patcher version 0.3.3 |
|
||||
| MacBookAir3,2 | <span style="color:#30BCD5"> YES </span> | houser42 | - Stock model <br/>- Patcher version unknown |
|
||||
| MacBookAir4,1 | No reports | N/A | N/A |
|
||||
| MacBookAir4,2 | ^^ | ^^ | ^^ |
|
||||
| MacBookAir4,2 | <span style="color:#30BCD5"> YES </span> | bdwilson1907 | - Stock Model <br/>- Patcher version 0.3.1 <br/>- Intermittent keyboard backlight|
|
||||
| MacBookAir5,1 | <span style="color:#30BCD5"> YES </span> | Ausdauersportler | - Stock Model<br/>- Patcher version 0.0.9 |
|
||||
| ^^ | ^^ | webg3 | Stock Model |
|
||||
| MacBookAir5,2 | ^^ | Bab-droid | - Stock Model<br/>- Patcher version 0.0.19 |
|
||||
@@ -42,7 +42,9 @@ To aid users in troubleshooting, we've compiled a list of users who've reported
|
||||
| MacBookPro6,1 | ^^ | ^^ | ^^ |
|
||||
| MacBookPro6,2 | <span style="color:#30BCD5"> YES </span> | Jakeluke | - Stock model, dGPU broken <br/>- Patcher version unknown |
|
||||
| MacBookPro7,1 | ^^ | fussel132 | - Stock model <br/>-Patcher version v0.1.2 |
|
||||
| ^^ | ^^ | casey1234 | - SSD Upgrade <br/>- Patcher version 0.3.3 |
|
||||
| MacBookPro8,1 | ^^ | AvaQueen | - Stock model <br/>- Patcher version 0.0.19 |
|
||||
| MacBookPro8,1 | yes | charly-black | - Upgraded BCM94331PCIEBT4CAX <br/>- Patcher version 0.3.1 |
|
||||
| MacBookPro8,2 | ^^ | air.man | - Stock model, dGPU disabled <br/>- Patcher version 0.0.22 |
|
||||
| ^^ | ^^ | cboukouv | - Stock model <br/>- Patcher version 0.0.19 |
|
||||
| MacBookPro8,3 | ^^ | lulujyc | - Stock model, dGPU disabled <br/>- Patcher version 0.1.4 |
|
||||
@@ -56,9 +58,11 @@ To aid users in troubleshooting, we've compiled a list of users who've reported
|
||||
| ^^ | ^^ | woefi | - BCM94331CAX upgrade<br/>- Patcher version 0.0.13 |
|
||||
| ^^ | ^^ | whgmkeller | - Stock model<br/>- Patcher version 0.0.11 |
|
||||
| ^^ | ^^ | vinaypundith | - Patcher version 0.0.7 |
|
||||
| ^^ | ^^ | casey1234 | - RAM and SSD Upgrade <br/>- Patcher version 0.3.3 |
|
||||
| MacBookPro10,1 | ^^ | traviswparker | - Stock model <br/>- Patcher version 0.0.14 |
|
||||
| ^^ | ^^ | il-rollino | - Upgraded BCM94360CSAX <br/>- Patcher version 0.0.21 |
|
||||
| MacBookPro10,2 | ^^ | akidone | - Upgraded BCM94360CSAX <br/>- Patcher version 0.3.0 |
|
||||
| MacBookPro11,2 | ^^ | casey1234 | - Stock model<br/>- Patcher version 0.3.3 |
|
||||
|
||||
### Mac mini
|
||||
|
||||
@@ -67,7 +71,7 @@ To aid users in troubleshooting, we've compiled a list of users who've reported
|
||||
| Macmini3,1 | No reports | N/A | N/A |
|
||||
| Macmini4,1 | ^^ | ^^ | ^^ |
|
||||
| Macmini5,1 | ^^ | ^^ | ^^ |
|
||||
| Macmini5,2 | ^^ | ^^ | ^^ |
|
||||
| Macmini5,2 | yes | charly-black | Dual Core 2.7GHz with AMD HD6630M | Patcher Version 0.3.1
|
||||
| Macmini5,3 | ^^ | ^^ | ^^ |
|
||||
| Macmini6,1 | <span style="color:#30BCD5"> YES </span> | cicofz | - Stock model <br/>- Patcher version 0.0.21 |
|
||||
| ^^ | ^^ | Stig124 | - Stock model <br/>- Patcher version 0.0.19 |
|
||||
@@ -100,6 +104,7 @@ To aid users in troubleshooting, we've compiled a list of users who've reported
|
||||
| iMac14,2 | ^^ | OKonnel | - Stock Model<br/>- Patcher version 0.0.22 |
|
||||
| ^^ | ^^ | mibaxx | - Stock Model<br/>- Patcher version 0.0.21 |
|
||||
| iMac14,3 | No reports | N/A | N/A |
|
||||
| iMac15,1 | YES | JakubMazur | - Upgraded RAM<br/>- Upgraded Graphics (AMD Radeon R9 M295X 4 GB)<br/>- Upgraded CPU (4 GHz Quad-Core Intel Core i7)<br/>- Patcher version 0.4.1 |
|
||||
|
||||
### Mac Pro
|
||||
|
||||
|
||||
@@ -11,7 +11,12 @@ Here are some common errors users may experience while using this patcher:
|
||||
* [Stuck on "Your Mac needs a firmware update"](#stuck-on-your-mac-needs-a-firmware-update)
|
||||
* [No Brightness Control](#no-brightness-control)
|
||||
* [Cannot connect Wi-Fi on Monterey with legacy cards](#cannot-connect-Wi-Fi-on-Monterey-with-legacy-cards)
|
||||
* [No Graphics Acceleration on Intel Ivy Bridge and Nvidia Kepler GPUs](#no-graphics-acceleration-on-intel-ivy-bridge-and-nvidia-kepler-gpus)
|
||||
* [No Graphics Acceleration](#no-graphics-acceleration)
|
||||
* [Black Screen on MacBookPro11,3 in macOS Monterey](#black-screen-on-macbookpro113-in-macos-monterey)
|
||||
* [No DisplayPort Output on Mac Pros with Nvidia Kepler](#no-displayport-output-on-mac-pros-with-nvidia-kepler)
|
||||
* [Volume Hash Mismatch Error in macOS Monterey](#volume-hash-mismatch-error-in-macos-monterey)
|
||||
* [Cannot Disable SIP in recoveryOS](#cannot-disable-sip-in-recoveryos)
|
||||
|
||||
|
||||
## Stuck on `This version of Mac OS X is not supported on this platform`
|
||||
|
||||
@@ -77,8 +82,56 @@ With OCLP v0.2.5, we've added support for legacy Wi-Fi on Monterey. However some
|
||||
|
||||
To work-around, we recommend users to manually connect using the "other" option on the Wi-Fi menu bar or manually adding the network on the "Network" preference pane.
|
||||
|
||||
## No Graphics Acceleration on Intel Ivy Bridge and Nvidia Kepler GPUs
|
||||
## No Graphics Acceleration
|
||||
|
||||
With macOS Monterey, Apple removed Graphics Drivers for both Intel Ivy Bride and Nvidia Kepler. To re-enable acceleration, simply run the Post Install Root Volume patches.
|
||||
|
||||
Once rebooted, acceleration will be re-enabled as well as brightness control for laptops.
|
||||
In macOS, each release generally means GPU drivers are dropped from the OS. With macOS Big Sur, currently all non-Metal GPUs require additional patches to gain acceleration. In addition, macOS Monterey removed Graphics Drivers for both Intel Ivy Bridge and Nvidia Kepler.
|
||||
|
||||
To re-enable acceleration, simply run the Post Install Root Volume patches.
|
||||
|
||||
Once rebooted, acceleration will be re-enabled as well as brightness control for laptops.
|
||||
|
||||
## Black Screen on MacBookPro11,3 in macOS Monterey
|
||||
|
||||
Due to Apple dropping Nvidia Kepler support in macOS Monterey, [MacBookPro11,3's GMUX has difficulties switching back to the iGPU to display macOS correctly.](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/522) To work-around this issue, boot the MacBookPro11,3 in Safe Mode and once macOS is installed, run OCLP's Post Install Root Patches to enable GPU Acceleration for the Nvidia dGPU.
|
||||
|
||||
* Safe Mode can be started by holding Shift+Enter when selecting macOS Monterey in OCLP's Boot Menu.
|
||||
|
||||
## No DisplayPort Output on Mac Pros with Nvidia Kepler
|
||||
|
||||
If you're having troubles with DisplayPort output on Mac Pros, try enabling Minimal Spoofing in Settings -> SMBIOS Settings and rebuild/install OpenCore. This will trick macOS drivers into thinking you have a newer MacPro7,1 and play nicer.
|
||||
|
||||

|
||||
|
||||
## Volume Hash Mismatch Error in macOS Monterey
|
||||
|
||||
A semi-common popup some users face is the "Volume Hash Mismatch" error:
|
||||
|
||||

|
||||
|
||||
What this error signifies is that the OS detects the boot volume's hash does not match to what the OS detects, this error is generally cosmetic and can be ignored. However if your system starts to crash spontaneously shortly after, you'll want to reinstall macOS fresh without importing any data at first.
|
||||
|
||||
* Note that this bug affects native Macs as well and is not due to issues with unsupported Macs: [OSX Daily: “Volume Hash Mismatch” Error in MacOS Monterey](https://osxdaily.com/2021/11/10/volume-hash-mismatch-error-in-macos-monterey/)
|
||||
|
||||
Additionally it can help to disable FeatureUnlock in Settings -> Misc Settings as this tool can be strenuous on systems with weaker memory stability.
|
||||
|
||||
## Cannot Disable SIP in recoveryOS
|
||||
|
||||
With OCLP, the patcher will always overwrite the current SIP value on boot to ensure that users don't brick an installation after NVRAM reset. However for users wanting to disable SIP entirely, this can be done easily.
|
||||
|
||||
Head into the GUI, Patcher Settings and toggle the bits you need disabled from SIP:
|
||||
|
||||
| SIP Enabled | SIP Lowered (Root Patching) | SIP Disabled |
|
||||
| :--- | :--- | :--- |
|
||||
|  |  |  |
|
||||
|
||||
## Intermediate issues with USB 1.1 and Bluetooth on MacPro3,1 - MacPro5,1
|
||||
|
||||
For those experiencing issues with USB 1.1 devices (such as mice, keyboards and bluetooth chipsets), macOS Big Sur and newer have weakened OS-side reliability for the UHCI controller in older Mac Pros.
|
||||
|
||||
* UHCI is a USB 1.1 controller that is hooked together with the USB 2.0 ports in your system. Whenever a USB 1.1 device is detected, the UHCI controller is given ownership of the device at a hardware/firmware level.
|
||||
* EHCI is the USB 2.0 controller in older Mac Pros
|
||||
|
||||
Because of this, we recommend placing a USB 2.0/3.0 hub between your devices and the port on the Mac Pro. UHCI and EHCI cannot both be used at once, so using a USB hub will always force the EHCI controller on.
|
||||
|
||||
* Alternatively, you can try cold starting the hardware and see if macOS recognizes the UHCI controller properly
|
||||
|
||||
@@ -6,15 +6,19 @@ To install UEFI is actually super simple! All it requires is to boot Windows' In
|
||||
|
||||
* Note: UEFI Windows is generally quite usable for Arrendale and newer models, however machines with Penryn CPUs may experience issues
|
||||
* Recommended Models:
|
||||
* MacBookAir4,x and newer
|
||||
* MacBookPro8,x and newer
|
||||
* Macmini5,x and newer
|
||||
* iMac11,x and newer
|
||||
* MacPro4,1 and newer
|
||||
* Xserve3,1 and newer
|
||||
* MacBookAir4,x - 5,x
|
||||
* MacBookPro8,x - 10,x
|
||||
* Macmini5,x - 6,x
|
||||
* iMac11,x - 13,x
|
||||
|
||||
Once you know your model is supported, you're good to go with the rest of this guide
|
||||
|
||||
* Newer models than listed here will already natively support UEFI Windows through Boot Camp
|
||||
|
||||
For MacPro4,1/5,1 and Xserve3,1 users, please be aware that Windows has troubles with automatic installation, so please refer to cdf's guide on manual installation:
|
||||
|
||||
* [cdf's Mac Pro Thread](https://forums.macrumors.com/threads/opencore-on-the-mac-pro.2207814/)
|
||||
|
||||
## Disk Formatting
|
||||
|
||||
To start off, we'll need the following:
|
||||
|
||||
2569
gui/gui_main.py
Normal file
43
gui/menu_redirect.py
Normal file
@@ -0,0 +1,43 @@
|
||||
import wx
|
||||
import time
|
||||
|
||||
class RedirectText(object):
|
||||
def __init__(self,aWxTextCtrl, sleep):
|
||||
self.out=aWxTextCtrl
|
||||
self.sleep = sleep
|
||||
|
||||
def write(self,string):
|
||||
self.out.WriteText(string)
|
||||
wx.GetApp().Yield()
|
||||
if self.sleep:
|
||||
time.sleep(0.01)
|
||||
|
||||
def fileno(self):
|
||||
return 1
|
||||
|
||||
def flush(self):
|
||||
pass
|
||||
|
||||
class RedirectLabel(object):
|
||||
def __init__(self,aWxTextCtrl):
|
||||
self.out=aWxTextCtrl
|
||||
|
||||
def write(self,string):
|
||||
if string.endswith("MB/s"):
|
||||
self.out.SetLabel(string)
|
||||
self.out.Centre(wx.HORIZONTAL)
|
||||
wx.GetApp().Yield()
|
||||
time.sleep(0.01)
|
||||
|
||||
def flush(self):
|
||||
pass
|
||||
|
||||
class RedirectLabelAll(object):
|
||||
def __init__(self,aWxTextCtrl):
|
||||
self.out=aWxTextCtrl
|
||||
|
||||
def write(self,string):
|
||||
self.out.SetLabel(string)
|
||||
self.out.Centre(wx.HORIZONTAL)
|
||||
wx.GetApp().Yield()
|
||||
time.sleep(0.01)
|
||||
BIN
images/Hash-Mismatch.png
Normal file
|
After Width: | Height: | Size: 20 KiB |
BIN
images/OCLP-GUI-Build-Finished.png
Normal file
|
After Width: | Height: | Size: 427 KiB |
BIN
images/OCLP-GUI-Build-Start.png
Normal file
|
After Width: | Height: | Size: 307 KiB |
BIN
images/OCLP-GUI-Create-Installer-Menu.png
Normal file
|
After Width: | Height: | Size: 158 KiB |
BIN
images/OCLP-GUI-EFI-Finished-Install.png
Normal file
|
After Width: | Height: | Size: 206 KiB |
BIN
images/OCLP-GUI-EFI-Needs-Permission.png
Normal file
|
After Width: | Height: | Size: 246 KiB |
BIN
images/OCLP-GUI-EFI-Select-Disk.png
Normal file
|
After Width: | Height: | Size: 240 KiB |
BIN
images/OCLP-GUI-EFI-Select-Partition.png
Normal file
|
After Width: | Height: | Size: 153 KiB |
BIN
images/OCLP-GUI-Installer-Download-Catalog.png
Normal file
|
After Width: | Height: | Size: 150 KiB |
BIN
images/OCLP-GUI-Installer-Download-Finished.png
Normal file
|
After Width: | Height: | Size: 148 KiB |
BIN
images/OCLP-GUI-Installer-Download-Listed-Products.png
Normal file
|
After Width: | Height: | Size: 265 KiB |
BIN
images/OCLP-GUI-Installer-Download-Progress.png
Normal file
|
After Width: | Height: | Size: 158 KiB |
BIN
images/OCLP-GUI-Installer-Finished-Script.png
Normal file
|
After Width: | Height: | Size: 213 KiB |
BIN
images/OCLP-GUI-Installer-Flashing-Process.png
Normal file
|
After Width: | Height: | Size: 212 KiB |
BIN
images/OCLP-GUI-Installer-Format-USB.png
Normal file
|
After Width: | Height: | Size: 196 KiB |
BIN
images/OCLP-GUI-Installer-Needs-Installing.png
Normal file
|
After Width: | Height: | Size: 247 KiB |
BIN
images/OCLP-GUI-Installer-Select-Local-Installer.png
Normal file
|
After Width: | Height: | Size: 170 KiB |
BIN
images/OCLP-GUI-Installer-Sucess-Prompt.png
Normal file
|
After Width: | Height: | Size: 194 KiB |
BIN
images/OCLP-GUI-Main-Menu.png
Normal file
|
After Width: | Height: | Size: 213 KiB |
BIN
images/OCLP-GUI-Root-Patch.png
Normal file
|
After Width: | Height: | Size: 275 KiB |
BIN
images/OCLP-GUI-Root-Patching-Finished.png
Normal file
|
After Width: | Height: | Size: 72 KiB |
BIN
images/OCLP-GUI-Root-Patching-List.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
BIN
images/OCLP-GUI-SMBIOS-Minimal.png
Normal file
|
After Width: | Height: | Size: 252 KiB |
BIN
images/OCLP-GUI-Settings-Beta-Blur.png
Normal file
|
After Width: | Height: | Size: 424 KiB |
BIN
images/OCLP-GUI-Settings-SIP-Disabled.png
Normal file
|
After Width: | Height: | Size: 923 KiB |
BIN
images/OCLP-GUI-Settings-SIP-Enabled.png
Normal file
|
After Width: | Height: | Size: 916 KiB |
BIN
images/OCLP-GUI-Settings-SIP-Root-Patch.png
Normal file
|
After Width: | Height: | Size: 893 KiB |
BIN
images/OCLP-GUI-Settings-ShowPicker.png
Normal file
|
After Width: | Height: | Size: 495 KiB |
|
Before Width: | Height: | Size: 311 KiB After Width: | Height: | Size: 569 KiB |
10
merge_gui.py
@@ -1,10 +0,0 @@
|
||||
# Updates build version in OCLP-GUI during CI builds
|
||||
# Copyright (C) 2021 Mykola Grymalyuk
|
||||
import plistlib
|
||||
from pathlib import Path
|
||||
from resources import constants
|
||||
|
||||
app_path = Path.cwd() / Path ("OpenCore Patcher.app/Contents/Info.plist")
|
||||
info = plistlib.load(Path(app_path).open("rb"))
|
||||
info["CFBundleShortVersionString"] = constants.Constants().patcher_version
|
||||
plistlib.dump(info, Path(app_path).open("wb"), sort_keys=True)
|
||||
@@ -433,7 +433,7 @@
|
||||
<key>Arch</key>
|
||||
<string>x86_64</string>
|
||||
<key>Comment</key>
|
||||
<string>4331 Wifi Patch</string>
|
||||
<string>Broadcom Wifi Patch</string>
|
||||
<key>Enabled</key>
|
||||
<false/>
|
||||
<key>MaxKernel</key>
|
||||
@@ -501,6 +501,42 @@
|
||||
<key>PlistPath</key>
|
||||
<string>Contents/Info.plist</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Arch</key>
|
||||
<string>x86_64</string>
|
||||
<key>Comment</key>
|
||||
<string>SDXC Patch for Pre-Ivy</string>
|
||||
<key>Enabled</key>
|
||||
<false/>
|
||||
<key>MaxKernel</key>
|
||||
<string></string>
|
||||
<key>MinKernel</key>
|
||||
<string>21.0.0</string>
|
||||
<key>BundlePath</key>
|
||||
<string>BigSurSDXC.kext</string>
|
||||
<key>ExecutablePath</key>
|
||||
<string>Contents/MacOS/BigSurSDXC</string>
|
||||
<key>PlistPath</key>
|
||||
<string>Contents/Info.plist</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Arch</key>
|
||||
<string>x86_64</string>
|
||||
<key>Comment</key>
|
||||
<string>I210 Ethernet patch</string>
|
||||
<key>Enabled</key>
|
||||
<false/>
|
||||
<key>MaxKernel</key>
|
||||
<string></string>
|
||||
<key>MinKernel</key>
|
||||
<string>20.0.0</string>
|
||||
<key>BundlePath</key>
|
||||
<string>CatalinaIntelI210Ethernet.kext</string>
|
||||
<key>ExecutablePath</key>
|
||||
<string>Contents/MacOS/CatalinaIntelI210Ethernet</string>
|
||||
<key>PlistPath</key>
|
||||
<string>Contents/Info.plist</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Arch</key>
|
||||
<string>x86_64</string>
|
||||
@@ -921,7 +957,7 @@
|
||||
<key>BundlePath</key>
|
||||
<string>IOFireWireFamily.kext</string>
|
||||
<key>Comment</key>
|
||||
<string></string>
|
||||
<string>Enable FireWire Rooting #1</string>
|
||||
<key>Enabled</key>
|
||||
<false/>
|
||||
<key>ExecutablePath</key>
|
||||
@@ -939,7 +975,7 @@
|
||||
<key>BundlePath</key>
|
||||
<string>IOFireWireFamily.kext/Contents/PlugIns/AppleFWOHCI.kext</string>
|
||||
<key>Comment</key>
|
||||
<string></string>
|
||||
<string>Enable FireWire Rooting #2</string>
|
||||
<key>Enabled</key>
|
||||
<false/>
|
||||
<key>ExecutablePath</key>
|
||||
@@ -957,7 +993,7 @@
|
||||
<key>BundlePath</key>
|
||||
<string>IOFireWireSBP2.kext</string>
|
||||
<key>Comment</key>
|
||||
<string></string>
|
||||
<string>Enable FireWire Rooting #3</string>
|
||||
<key>Enabled</key>
|
||||
<false/>
|
||||
<key>ExecutablePath</key>
|
||||
@@ -975,7 +1011,7 @@
|
||||
<key>BundlePath</key>
|
||||
<string>IOFireWireSerialBusProtocolTransport.kext</string>
|
||||
<key>Comment</key>
|
||||
<string></string>
|
||||
<string>Enable FireWire Rooting #4</string>
|
||||
<key>Enabled</key>
|
||||
<false/>
|
||||
<key>ExecutablePath</key>
|
||||
@@ -1149,6 +1185,24 @@
|
||||
<key>PlistPath</key>
|
||||
<string>Contents/Info.plist</string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Arch</key>
|
||||
<string>x86_64</string>
|
||||
<key>Comment</key>
|
||||
<string>ACPI_SMC_PlatformPlugin Override</string>
|
||||
<key>Enabled</key>
|
||||
<false/>
|
||||
<key>MaxKernel</key>
|
||||
<string></string>
|
||||
<key>MinKernel</key>
|
||||
<string>21.4.0</string>
|
||||
<key>BundlePath</key>
|
||||
<string>ASPP-Override.kext</string>
|
||||
<key>ExecutablePath</key>
|
||||
<string></string>
|
||||
<key>PlistPath</key>
|
||||
<string>Contents/Info.plist</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>Block</key>
|
||||
<array/>
|
||||
@@ -1309,7 +1363,7 @@
|
||||
<key>Mask</key>
|
||||
<data></data>
|
||||
<key>MaxKernel</key>
|
||||
<string>21.99.99</string>
|
||||
<string>21.1.0</string>
|
||||
<key>MinKernel</key>
|
||||
<string>20.4.0</string>
|
||||
<key>Replace</key>
|
||||
@@ -1339,7 +1393,7 @@
|
||||
<key>Mask</key>
|
||||
<data></data>
|
||||
<key>MaxKernel</key>
|
||||
<string>21.99.99</string>
|
||||
<string>21.1.0</string>
|
||||
<key>MinKernel</key>
|
||||
<string>20.4.0</string>
|
||||
<key>Replace</key>
|
||||
@@ -1854,6 +1908,12 @@
|
||||
<integer>0</integer>
|
||||
<key>KeySubsequentDelay</key>
|
||||
<integer>5</integer>
|
||||
<key>PointerPollMask</key>
|
||||
<integer>-1</integer>
|
||||
<key>PointerPollMax</key>
|
||||
<integer>2</integer>
|
||||
<key>PointerPollMin</key>
|
||||
<integer>2</integer>
|
||||
<key>GraphicsInputMirroring</key>
|
||||
<false/>
|
||||
<key>PointerSpeedDiv</key>
|
||||
@@ -1867,20 +1927,24 @@
|
||||
<integer>0</integer>
|
||||
<key>AudioDevice</key>
|
||||
<string></string>
|
||||
<key>AudioOut</key>
|
||||
<integer>0</integer>
|
||||
<key>AudioOutMask</key>
|
||||
<integer>1</integer>
|
||||
<key>AudioSupport</key>
|
||||
<false/>
|
||||
<key>MinimumVolume</key>
|
||||
<integer>20</integer>
|
||||
<key>DisconnectHda</key>
|
||||
<false/>
|
||||
<key>MaximumGain</key>
|
||||
<integer>-15</integer>
|
||||
<key>MinimumAssistGain</key>
|
||||
<integer>-30</integer>
|
||||
<key>MinimumAudibleGain</key>
|
||||
<integer>-55</integer>
|
||||
<key>PlayChime</key>
|
||||
<string>Disabled</string>
|
||||
<key>ResetTrafficClass</key>
|
||||
<false/>
|
||||
<key>SetupDelay</key>
|
||||
<integer>0</integer>
|
||||
<key>VolumeAmplifier</key>
|
||||
<integer>0</integer>
|
||||
</dict>
|
||||
<key>ConnectDrivers</key>
|
||||
<true/>
|
||||
@@ -1936,6 +2000,16 @@
|
||||
<key>Arguments</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Comment</key>
|
||||
<string></string>
|
||||
<key>Path</key>
|
||||
<string>UsbBusDxe.efi</string>
|
||||
<key>Enabled</key>
|
||||
<false/>
|
||||
<key>Arguments</key>
|
||||
<string></string>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>Comment</key>
|
||||
<string></string>
|
||||
|
||||
BIN
payloads/Drivers/UsbBusDxe.efi
Normal file
BIN
payloads/Kexts/Acidanthera/FeatureUnlock-v1.0.7-DEBUG.zip
Normal file
BIN
payloads/Kexts/Acidanthera/FeatureUnlock-v1.0.7-RELEASE.zip
Normal file
BIN
payloads/Kexts/Acidanthera/Lilu-v1.6.0-DEBUG.zip
Normal file
BIN
payloads/Kexts/Acidanthera/Lilu-v1.6.0-RELEASE.zip
Normal file
BIN
payloads/Kexts/Acidanthera/RestrictEvents-MBP91-v1.0.6-DEBUG.zip
Normal file
BIN
payloads/Kexts/Acidanthera/RestrictEvents-v1.0.6-DEBUG.zip
Normal file
BIN
payloads/Kexts/Acidanthera/RestrictEvents-v1.0.6-RELEASE.zip
Normal file
BIN
payloads/Kexts/Acidanthera/WhateverGreen-v1.5.7-DEBUG.zip
Normal file
BIN
payloads/Kexts/Acidanthera/WhateverGreen-v1.5.7-RELEASE.zip
Normal file
BIN
payloads/Kexts/Ethernet/CatalinaIntelI210Ethernet-v1.0.0.zip
Normal file
BIN
payloads/Kexts/Misc/ASPP-Override-v1.0.1.zip
Normal file
BIN
payloads/Kexts/Misc/BigSurSDXC-v1.0.0.zip
Normal file
@@ -9,7 +9,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>AppleGraphicsDevicePolicy</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>6.2.9, Copyright 2008-2021 Apple Inc. All rights reserved.</string>
|
||||
<string>6.2.9, Copyright 2008-2022 Apple Inc. All rights reserved.</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.apple.driver.AppleGraphicsDevicePolicy</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
@@ -190,7 +190,7 @@
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>11.3</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>6.2.9, Copyright © 2008-2021 Apple Inc. All rights reserved.</string>
|
||||
<string>6.2.9, Copyright © 2008-2022 Apple Inc. All rights reserved.</string>
|
||||
<key>OSBundleLibraries</key>
|
||||
<dict>
|
||||
<key>com.apple.AppleGraphicsDeviceControl</key>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>AppleMuxControl</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string>6.2.9, Copyright 2008-2021 Apple Inc. All rights reserved.</string>
|
||||
<string>6.2.9, Copyright 2008-2022 Apple Inc. All rights reserved.</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.apple.driver.AppleMuxControl</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
@@ -390,7 +390,7 @@
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>11.3</string>
|
||||
<key>NSHumanReadableCopyright</key>
|
||||
<string>6.2.9, Copyright © 2008-2021 Apple Inc. All rights reserved.</string>
|
||||
<string>6.2.9, Copyright © 2008-2022 Apple Inc. All rights reserved.</string>
|
||||
<key>OSBundleLibraries</key>
|
||||
<dict>
|
||||
<key>com.apple.AppleGraphicsDeviceControl</key>
|
||||
|
||||