Compare commits

...

1206 Commits

Author SHA1 Message Date
Mykola Grymalyuk
c573a8a335 smbios_data.py: Add Mac Studio Model IDs
Ref: https://twitter.com/khronokernel/status/1501315940260016133?s=21
2022-03-08 15:55:31 -07:00
Mykola Grymalyuk
1393db72dd Add XCPM disabling 2022-03-02 09:19:41 -07:00
Mykola Grymalyuk
ba82b41cbd Sync PatcherSupportPkg 2022-03-02 08:56:33 -07:00
Mykola Grymalyuk
97a9853526 Resolve crash on Vendor detection 2022-02-24 11:25:44 -07:00
Mykola Grymalyuk
f1d67923c8 Resolve SDXC
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/978
2022-02-23 20:23:11 -07:00
Mykola Grymalyuk
0e526556e5 Update MONTEREY-DROP.md 2022-02-18 19:31:09 -07:00
Mykola Grymalyuk
9125b170ce bug_report: Clarify troubleshooting 2022-02-17 09:20:41 -07:00
Mykola Grymalyuk
cc5ed2396c Update issues 2022-02-17 08:52:01 -07:00
Mykola Grymalyuk
165526fbe2 docs: Fix TOC
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/956
2022-02-14 10:38:51 -07:00
Mykola Grymalyuk
c366680ad0 Sync FeatureUnlock
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/957
2022-02-14 10:38:15 -07:00
Mykola Grymalyuk
1237dc55e0 GUI.py: Add Dark Menubar configuration 2022-02-12 11:01:07 -07:00
Mykola Grymalyuk
ca61262228 docs: Add DisplayLink non-Metal information 2022-02-11 19:12:33 -07:00
Mykola Grymalyuk
2b4fdbb388 Resolve Non-Metal Keyboard Backlight support 2022-02-11 10:31:54 -07:00
Mykola Grymalyuk
23927a4e6a Resolve I210/I225 Sandy support
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/939
2022-02-09 19:29:59 -07:00
Mykola Grymalyuk
d5330555fc gui.py: Fix typo 2022-02-09 17:45:01 -07:00
Mykola Grymalyuk
8b1a46d8c4 Update ocvalidate binary 2022-02-08 08:59:35 -07:00
Mykola Grymalyuk
84bf2a9e18 sys_patch_detect.py: Fix backlight detection 2022-02-08 08:52:25 -07:00
Mykola Grymalyuk
4d244a5eee CHANGELOG: Add Cursor note 2022-02-07 14:40:47 -07:00
Mykola Grymalyuk
31ff4bbd0d Increment Binaries 2022-02-07 14:33:29 -07:00
Mykola Grymalyuk
cf4b2b2ad0 Update Credits 2022-02-06 14:23:20 -07:00
Mykola Grymalyuk
aa5e39f48a install.py: Add Safe Mode note 2022-02-06 12:19:00 -07:00
Mykola Grymalyuk
d1bd915ede install.py: Fix formatting in GUI 2022-02-06 10:31:13 -07:00
Mykola Grymalyuk
4d8aa1a541 install.py: Resolve error handling in GUI 2022-02-06 10:16:59 -07:00
Mykola Grymalyuk
e2aa6b4b48 utilities.py: Set checksum check to optional
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/915
2022-02-05 09:14:23 -07:00
Mykola Grymalyuk
3a9479a1d6 sys_patch: Add extra snapshot checks
Avoid issues on snapshot-less installs
2022-02-04 13:32:51 -07:00
Mykola Grymalyuk
39758fec20 gui: Strip unneeded print 2022-02-04 13:31:30 -07:00
Mykola Grymalyuk
2473daee2b Increment Build 2022-02-03 11:57:28 -07:00
Mykola Grymalyuk
a604325c5d docs: Update TS2 info 2022-02-03 11:54:39 -07:00
Mykola Grymalyuk
c74706127d device_probe.py: Handle VPCI erroring 2022-02-03 10:01:18 -07:00
Mykola Grymalyuk
bea1e92a3b Resolve Color Strobing on AMD TeraScale 2 GPUs 2022-02-02 21:03:46 -07:00
Mykola Grymalyuk
e0af3206cf sys_patch.py: Strip duplicate code
SysPatch Detection core moved to sys_patch_detect.py
2022-02-02 13:03:31 -07:00
Mykola Grymalyuk
7fc5de8e27 TUI: Add new icon and sync BundleID 2022-02-02 11:58:04 -07:00
Mykola Grymalyuk
504fb3a617 sys_patch_detect.py: Add extra Board ID info 2022-02-02 11:00:13 -07:00
Mykola Grymalyuk
b3ac3a6843 Sync changelog 2022-02-01 18:20:16 -07:00
Mykola Grymalyuk
e25b23f7a3 Increment PatcherSupportPkg 2022-02-01 14:42:43 -07:00
Mykola Grymalyuk
cdcbf30f63 sys_patch.py: Remove SkylightPlugins on unpatch 2022-02-01 14:33:17 -07:00
Mykola Grymalyuk
c66f3cd0ca Update docs 2022-02-01 14:33:01 -07:00
Mykola Grymalyuk
df958a2b1c Add NVMe Enhanced Power Management configuration
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/921
2022-02-01 11:30:44 -07:00
Mykola Grymalyuk
f7f890d37e Fix Power Management Support in macOS 12.3 Beta 1
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/930
2022-01-31 10:24:09 -07:00
Mykola Grymalyuk
1027e37a03 Add Universal Control support for Monterey Macs 2022-01-29 21:04:52 -07:00
Mykola Grymalyuk
42892e503f SurPlus: Set MaxKernel 2022-01-29 10:24:14 -07:00
Mykola Grymalyuk
ca9a0eba34 Fix available typo 2022-01-29 08:56:27 -07:00
Mykola Grymalyuk
12007041ab Update Issues template 2022-01-29 08:50:03 -07:00
Mykola Grymalyuk
05fd9489ae docs: Add SIP images 2022-01-28 18:56:43 -07:00
Mykola Grymalyuk
5b6da1f4e7 Merge branch 'main' of https://github.com/dortania/OpenCore-Legacy-Patcher 2022-01-28 18:44:38 -07:00
Mykola Grymalyuk
0a8e599877 Update images 2022-01-28 18:44:21 -07:00
Mykola Grymalyuk
67c88acedf Merge pull request #747 from bdwilson1907/patch-1
Update TESTED.md
2022-01-28 15:03:07 -07:00
Mykola Grymalyuk
3b4bb78fa2 Merge pull request #766 from charly-black/patch-1
Update TESTED.md
2022-01-28 15:02:32 -07:00
Mykola Grymalyuk
c03b8d2231 Merge pull request #867 from uvesten/patch-1
Add MacBookAir3,1 as working to tested models
2022-01-28 15:01:45 -07:00
Mykola Grymalyuk
32985b7fdd Merge pull request #891 from casey1234/patch-1
Update TESTED.md // Added MBP 7,1 + 9,2 + 11,2 as working perfectly!
2022-01-28 15:01:28 -07:00
Mykola Grymalyuk
d1323a4268 Merge pull request #912 from JakubMazur/main
iMac 15,1 (upgraded) tested
2022-01-28 15:01:02 -07:00
Jakub Mazur
16f7e24231 Update TESTED.md 2022-01-27 12:37:32 +01:00
Mykola Grymalyuk
c822e1f2c5 Sync changelog 2022-01-26 11:43:07 -07:00
Mykola Grymalyuk
e064d9a37a Add Content Caching support configurability 2022-01-25 21:28:26 -07:00
Mykola Grymalyuk
ddac821dfb Fix SIP default disabling
Resolve SIP and SecureBootModel not disabling by default on some non-Metal Mac Pros
2022-01-25 20:45:35 -07:00
Mykola Grymalyuk
b7a1fa302e Merge pull request #911 from dortania/installer-test
Resolve Local Installer Detection
2022-01-25 12:03:12 -07:00
Mykola Grymalyuk
19027fbac7 Update Issues format 2022-01-25 11:59:53 -07:00
Mykola Grymalyuk
b930544128 build.py: ExtendBTFeatureFlags on 3rd party BT 2022-01-25 11:48:49 -07:00
Mykola Grymalyuk
a15261073b Clean up 2022-01-25 10:40:30 -07:00
Mykola Grymalyuk
cd1729f74d Check Permissions erroring 2022-01-25 10:01:04 -07:00
Mykola Grymalyuk
af3abe6aa1 installer.py: Add Permissions check 2022-01-25 09:55:21 -07:00
Mykola Grymalyuk
2ca02f5802 Limit Content Caching to Desktops by default 2022-01-24 20:35:47 -07:00
Mykola Grymalyuk
3e742ffaf8 Sync FeatureUnlock 2022-01-24 20:23:22 -07:00
Mykola Grymalyuk
79390c897d docs: Add Hash Mismatch info 2022-01-24 12:59:40 -07:00
Mykola Grymalyuk
3ffe8c5142 device_probe.py: Add UHCI detection 2022-01-24 11:08:04 -07:00
Mykola Grymalyuk
18f9e05792 Resolve Macmini4,1 HDEF pathing 2022-01-23 11:42:20 -07:00
Mykola Grymalyuk
9f96fa43ec Pyinstaller: resolve formatting 2022-01-22 19:37:36 -07:00
Mykola Grymalyuk
f0f9f0b56d Sync changelog 2022-01-22 19:31:06 -07:00
Mykola Grymalyuk
33eef9b87f installer.py: Add Variant Info 2022-01-22 15:32:35 -07:00
Mykola Grymalyuk
f042ddfe75 defaults.py: Fix crash on hackintoshes 2022-01-22 09:49:44 -07:00
Mykola Grymalyuk
53cb55e375 docs: Update info
Sync with new GUI
2022-01-22 09:49:28 -07:00
Mykola Grymalyuk
d3aea7510f Increment Build 2022-01-21 16:13:38 -07:00
Mykola Grymalyuk
a8683e4e27 Sync changelog 2022-01-21 12:34:25 -07:00
Mykola Grymalyuk
7bb4aea2c0 Merge pull request #899 from dortania/helper-fix
Resolve OCLP-Helper dyld crash
2022-01-21 12:33:51 -07:00
Mykola Grymalyuk
30375b869b gui.py: Sync menu 2022-01-21 12:30:39 -07:00
Mykola Grymalyuk
5c207e0a2b Update OCLP-Helper 2022-01-21 12:19:40 -07:00
Mykola Grymalyuk
92324ede72 build.py: Add XHCI Boot Support 2022-01-21 11:40:43 -07:00
Mykola Grymalyuk
158dac6ab4 GA: Fix file naming 2022-01-21 10:39:53 -07:00
Mykola Grymalyuk
dfc4a7b2fc Increment build 2022-01-21 10:37:55 -07:00
Mykola Grymalyuk
b205f7943a Merge pull request #898 from dortania/update-docs
Update docs for 0.4.0 release
2022-01-21 09:57:16 -07:00
Mykola Grymalyuk
1163aaa4bd defaults.py: Fix FU logic 2022-01-21 09:38:35 -07:00
Mykola Grymalyuk
3dcf20f0c2 Update docs for 0.4.0 2022-01-20 20:02:16 -07:00
Mykola Grymalyuk
8502ec5f78 defaults.py: limit FU on pre-Ivy
Avoid extra patching when not needed, AirPlay to Mac and Sidecar do not check for older models other than MacPro5,1
2022-01-20 19:58:51 -07:00
Mykola Grymalyuk
54616ea385 gui.py: Fix DEBUG kext support 2022-01-20 19:38:41 -07:00
Mykola Grymalyuk
d1f9170390 Resolve typo 2022-01-20 15:06:10 -07:00
Mykola Grymalyuk
d4d16c3e56 Add enhanced cim menu 2022-01-20 14:21:41 -07:00
Mykola Grymalyuk
751bdceafd Resolve 100% CPU Usage with createinstallmedia 2022-01-19 20:23:24 -07:00
Mykola Grymalyuk
80dcea163f Sync changelog 2022-01-19 12:00:28 -07:00
Mykola Grymalyuk
c2eef22f2d Merge pull request #893 from dortania/test-ga
Add Commit Data to binaries
2022-01-19 11:54:24 -07:00
Mykola Grymalyuk
299fed997d Drop Commit Message 2022-01-19 11:29:56 -07:00
Mykola Grymalyuk
711c512258 Resolve Space in Commit Message 2022-01-19 11:24:26 -07:00
Mykola Grymalyuk
07b9a1a2c6 Add Commit Data to all builds 2022-01-19 11:18:43 -07:00
Mykola Grymalyuk
c78506501f Test Write 2022-01-19 10:57:31 -07:00
Mykola Grymalyuk
5612837492 Test GA events 2022-01-19 10:30:27 -07:00
Mykola Grymalyuk
80644bfbd4 Add Beta Blur config menu 2022-01-19 10:23:50 -07:00
Mykola Grymalyuk
b924e427e2 Disable Windows GMUX support by default
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/888
2022-01-19 10:17:15 -07:00
casey1234
9408cd3ea5 Update TESTED.md
Please add my tests on

Macbook Pro 7,1
Macbook Pro 9,2
Macbook Pro 11,2

Everything works fine with Patcher 0.3.3 on Monterey.
2022-01-19 10:56:55 +01:00
Mykola Grymalyuk
0cbd1422fe Sync FeatureUnlock 2022-01-18 22:45:08 -07:00
Mykola Grymalyuk
461f9ddb9b Revise Versioning to 0.4.0 2022-01-18 21:39:45 -07:00
Mykola Grymalyuk
b2e5037c2e WINDOWS.md: Adjust wording 2022-01-18 11:20:15 -07:00
Mykola Grymalyuk
be3e7da342 sys_patch.py: Add network error handling 2022-01-18 11:16:44 -07:00
Mykola Grymalyuk
b4830dfd0b gui.py: Add validation checks and download view 2022-01-18 09:56:28 -07:00
Mykola Grymalyuk
b8bdab3576 utilities.py: Fix 100%+ download reporting 2022-01-16 13:41:34 -07:00
Mykola Grymalyuk
a56f3af99c gui.py: Adjust Update wording 2022-01-15 16:23:31 -07:00
Mykola Grymalyuk
0e969ee6cd Add App Update checks to GUI 2022-01-15 16:16:04 -07:00
Mykola Grymalyuk
0bd3ce595d Disable AirPlay to Mac by default
Closes
2022-01-15 10:15:04 -07:00
Mykola Grymalyuk
ea05912b6b Move binary.py run to after pyinstaller 2022-01-14 20:31:26 -07:00
Mykola Grymalyuk
a756058006 Increment PatcherSupportPkg 2022-01-14 19:47:18 -07:00
Mykola Grymalyuk
bd3985ce6c Revert offline_build.py move 2022-01-14 18:24:55 -07:00
Mykola Grymalyuk
1e80691c67 Resolve offline creation 2022-01-14 18:11:41 -07:00
Mykola Grymalyuk
023fec03aa Allow optional spoofing on native Models 2022-01-14 18:04:39 -07:00
Mykola Grymalyuk
64b9e7ada6 Resolve LC_VERSION_MIN_MACOSX patching 2022-01-14 17:16:47 -07:00
Mykola Grymalyuk
efda41fb3a Sync changelog
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/382
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/757
2022-01-14 16:56:05 -07:00
Mykola Grymalyuk
77fccad046 Merge pull request #844 from dortania/wxPython-demo
Implement wxPython Based GUI
2022-01-14 16:53:53 -07:00
Mykola Grymalyuk
cc914aadc1 Add signing to offline TUI 2022-01-14 15:53:17 -07:00
Mykola Grymalyuk
5ea1b5075b Implement single binary for 10.10-12.0 2022-01-14 15:38:12 -07:00
Mykola Grymalyuk
41295e4cb2 Re-add Content Caching for VMM 2022-01-14 15:12:13 -07:00
Mykola Grymalyuk
7d5eea977d Merge branch 'main' into wxPython-demo 2022-01-14 12:07:33 -07:00
Mykola Grymalyuk
65fc232a25 Increment Binaries 2022-01-14 12:07:10 -07:00
Mykola Grymalyuk
43a708d3ae sys_patch.py: Strip User ID printing 2022-01-14 11:28:26 -07:00
Mykola Grymalyuk
c8bb3a3e93 Merge branch 'main' into wxPython-demo 2022-01-13 12:21:52 -07:00
Mykola Grymalyuk
7e236f06e5 gui.py: Add Cmd+Q support 2022-01-13 12:21:16 -07:00
Mykola Grymalyuk
cc1b8781ab Sync changelog 2022-01-11 19:10:36 -07:00
Mykola Grymalyuk
6553562e53 dylib_data.py: Resolve pathing typos 2022-01-11 19:07:46 -07:00
Mykola Grymalyuk
31812f0485 Resolve validation run 2022-01-11 10:35:57 -07:00
Mykola Grymalyuk
7ecf9ff151 Update docs 2022-01-11 09:21:38 -07:00
Mykola Grymalyuk
54b4c27d4a gui.py: Add ThirdPartyDrives option 2022-01-09 10:29:07 -07:00
Mykola Grymalyuk
7ed691993c Merge branch 'main' into wxPython-demo 2022-01-07 18:24:33 -07:00
Mykola Grymalyuk
14de472b6a Add ThirdPartyDrives quirk configurability
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/822
2022-01-07 17:53:56 -07:00
Mykola Grymalyuk
fd67032afe gui.py: Add FeatureUnlock configurability 2022-01-07 17:12:31 -07:00
Mykola Grymalyuk
cb808dc7ca gui.py: clear unused menus 2022-01-05 19:45:41 -07:00
Mykola Grymalyuk
3a65f005fe gui.py: Update cim text 2022-01-05 15:02:59 -07:00
Mykola Grymalyuk
a0978dfd20 gui.py: Resolve admin relaunch with space in path 2022-01-05 13:37:10 -07:00
Mykola Grymalyuk
e701b5b851 Merge branch 'main' into wxPython-demo 2022-01-05 12:50:44 -07:00
Mykola Grymalyuk
4cc2dab964 sys_patch.py: Add partial download error handling
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/873
2022-01-05 12:50:17 -07:00
Mykola Grymalyuk
ca44ba775a Merge branch 'main' into wxPython-demo 2022-01-05 11:11:26 -07:00
Mykola Grymalyuk
b2bb32f988 smbios_data.py: Add VM data sets 2022-01-05 11:11:13 -07:00
Mykola Grymalyuk
0956ad0d3d gui.py: Adjust SIP menu sizing 2022-01-05 10:14:34 -07:00
Mykola Grymalyuk
bf7b63c1be menu_redirect.py: Add configurable delay 2022-01-04 19:43:37 -07:00
Mykola Grymalyuk
c34781bb3c config.plist: Update Kext comments 2022-01-04 18:45:24 -07:00
Mykola Grymalyuk
e962f2bb8f gui.py: Add SIP configuration 2022-01-04 17:51:18 -07:00
Mykola Grymalyuk
a381f1d3bb Merge branch 'main' into wxPython-demo 2022-01-03 13:33:51 -07:00
Mykola Grymalyuk
4b6125d583 GA: Fix offline GUI building 2022-01-03 13:33:46 -07:00
Mykola Grymalyuk
dfa396f385 build.py: Set BoardProduct variable
Resolves Lilu race condition
2022-01-03 13:32:06 -07:00
Petter Uvesten
8f5ac32bb5 Add MacBookAir3,1 as working
Working fine running macOS Monterex 12.0.1
2022-01-02 21:49:59 +01:00
Mykola Grymalyuk
3fc7424086 GA: Clean up build scripts 2022-01-01 17:18:00 -07:00
Mykola Grymalyuk
c37e035b6d Copyright: 2022 2022-01-01 17:03:00 -07:00
Mykola Grymalyuk
0b21472ccb Merge branch 'main' into wxPython-demo 2022-01-01 17:01:27 -07:00
Mykola Grymalyuk
f66f16441b Copyright: Update to 2022 2022-01-01 17:00:43 -07:00
Mykola Grymalyuk
f512b7336a gui.py: Resolve Root Volume Support 2022-01-01 15:18:01 -07:00
Mykola Grymalyuk
e35b115b81 Merge branch 'main' into wxPython-demo 2021-12-31 11:22:45 -07:00
Mykola Grymalyuk
dfe64e95b2 docs: Misc fixes
- Add MacBookPro11,3 note
- Update iMac15,1 note

Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/522
2021-12-31 10:52:31 -07:00
Mykola Grymalyuk
e626c79c81 gui.py: Reroute stderr 2021-12-26 18:23:55 -07:00
Mykola Grymalyuk
98b08432fa gui.py: Add dev notes 2021-12-26 18:03:25 -07:00
Mykola Grymalyuk
7a7f1ce090 sys_patch_detect.py: Fix detection return 2021-12-26 18:01:14 -07:00
Mykola Grymalyuk
78f191dd5b gui.py: Remove pathlib import 2021-12-26 10:51:53 -07:00
Mykola Grymalyuk
e9e72d9641 gui.py: Sort Installer dl before presenting 2021-12-26 09:50:27 -07:00
Mykola Grymalyuk
a2500e50c2 Add error handling for failed downloads 2021-12-25 19:24:52 -07:00
Mykola Grymalyuk
6d917fbc29 gui.py: Adjust Download IA page subheader 2021-12-25 18:54:54 -07:00
Mykola Grymalyuk
c9cb6db0e4 gui.py: Add better stdout printing 2021-12-25 13:55:16 -07:00
Mykola Grymalyuk
0d72f46cb4 gui.py: Keep string in one line
Avoids some IDEs incorrectly collapsing functions (ie. VSCode)
2021-12-24 16:25:19 -07:00
Mykola Grymalyuk
3884ca77d5 gui.py: Ensure emojis supports 10.10-10.13 2021-12-24 16:02:06 -07:00
Mykola Grymalyuk
66a2d67ed9 Temp kill additional runs 2021-12-24 12:48:31 -07:00
Mykola Grymalyuk
5ed5f3aa15 Fix run 2021-12-24 12:44:08 -07:00
Mykola Grymalyuk
86af9e96f4 wxPython Workflow: Add legacy binary 2021-12-24 12:38:51 -07:00
Mykola Grymalyuk
5b97685274 GUI.spec: Add Dark Mode support for binaries
Running from source will launch as lightmode due to older SDK used in Python
2021-12-24 10:22:51 -07:00
Mykola Grymalyuk
3c929edd4b gui_main: Add WriteFlash Configurability 2021-12-24 10:21:46 -07:00
Mykola Grymalyuk
dfec8f2d72 Merge branch 'main' into wxPython-demo 2021-12-24 09:38:28 -07:00
Mykola Grymalyuk
5ff1110e90 Add NVRAM WriteFlash setting for degarded systems
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/831
2021-12-24 09:37:09 -07:00
Mykola Grymalyuk
9b5d25b2be build.py: Resolve check_firewire() bug
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/842
2021-12-24 09:20:47 -07:00
Mykola Grymalyuk
0e25f2f3cf GUI.spec: Add Minimum version
Ensure users do not launch wxPython binary on 10.9, due to missing dylib concerns
2021-12-23 19:27:12 -07:00
Mykola Grymalyuk
ee0b04f05b gui_main.py: Add SMBIOS settings 2021-12-22 21:41:41 -07:00
Mykola Grymalyuk
3c08127013 Resolve wxPython bundling 2021-12-22 20:14:06 -07:00
Mykola Grymalyuk
a17ca2c330 Exclude wxPython from non-GUI workflows 2021-12-22 19:55:40 -07:00
Mykola Grymalyuk
0cb2c84968 wxPython GUI: Initial Commit 2021-12-22 19:29:29 -07:00
Mykola Grymalyuk
aa8643f247 installer.py: Add installer.sh generation 2021-12-22 19:05:45 -07:00
Mykola Grymalyuk
554925d311 main.py: fix ImportError 2021-12-22 19:04:24 -07:00
Mykola Grymalyuk
fbd7150c00 Move init code to main.py 2021-12-22 18:41:15 -07:00
Mykola Grymalyuk
8233e15e42 build.py: Allow GCN setting on real_model build 2021-12-22 15:33:22 -07:00
Mykola Grymalyuk
7c21628ea2 Add launcher type detection 2021-12-22 10:56:16 -07:00
Mykola Grymalyuk
118853cd46 Add FeatureUnlock configurability 2021-12-21 18:12:11 -07:00
Mykola Grymalyuk
7e29758fea device_probe.py: Work-around NVMe PM issues 2021-12-21 12:47:00 -07:00
Mykola Grymalyuk
a8f56c1ec8 installer.py: resolve IA install error 2021-12-21 12:33:10 -07:00
Mykola Grymalyuk
79cd9c76f8 constants.py: Add resource link 2021-12-21 12:21:53 -07:00
Mykola Grymalyuk
fc7656bb25 example_data.py: Add iMac15,1 data set 2021-12-21 12:16:19 -07:00
Mykola Grymalyuk
e3ec7f7137 utilities.py: Add optional cls() argument 2021-12-21 12:15:37 -07:00
Mykola Grymalyuk
1f2ee627f4 cli_menu.py: Fix wording 2021-12-16 15:01:14 -07:00
Mykola Grymalyuk
91f5d9778c install.py: refactor adding disk data requests 2021-12-15 17:30:42 -07:00
Mykola Grymalyuk
fbcf958ead Resolves Install USB Creation using incorrect installer 2021-12-15 15:51:40 -07:00
Mykola Grymalyuk
0d402c4dba Fix crashing on unknown SMBIOS 2021-12-14 17:16:33 -07:00
Mykola Grymalyuk
b51beb8707 Increment build to 0.3.4 2021-12-14 15:20:59 -07:00
Mykola Grymalyuk
90bc9d81bf Disable Asset Caching 2021-12-14 13:04:33 -07:00
Mykola Grymalyuk
5eaa1d0317 Update iMac15,1 note 2021-12-14 12:25:03 -07:00
Mykola Grymalyuk
6b81af3f66 Increment build to 0.3.3 2021-12-13 17:10:05 -07:00
Mykola Grymalyuk
04d6aada33 Update build-gui.yml 2021-12-13 16:45:10 -07:00
Mykola Grymalyuk
acd84bc5c2 Resolve code signing on GUI 2021-12-13 16:40:46 -07:00
Mykola Grymalyuk
37769e052a Increment Binaries 2021-12-13 11:58:55 -07:00
Mykola Grymalyuk
d94ffc1472 Limit AppleIntelPIIXATA to Big Sur 2021-12-13 11:28:41 -07:00
Mykola Grymalyuk
5c9a0c74d4 Resolve NVMe Patching on 2016-2017 MacBook Pros
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/794
2021-12-13 10:51:10 -07:00
Mykola Grymalyuk
6e20a51d8f utilities.py: Clean up downloader logic 2021-12-12 22:05:00 -07:00
Mykola Grymalyuk
e0284bffe6 Implement SkyLightShims List.txt generation 2021-12-12 20:50:07 -07:00
Mykola Grymalyuk
2b6d318cfd Ensure ACPI path is correctly parsed 2021-12-08 18:04:48 -07:00
Mykola Grymalyuk
faadb3f740 Fix FU versioning 2021-12-08 15:21:26 -07:00
Mykola Grymalyuk
d6a82f08a0 Increment FeatureUnlock 2021-12-08 11:30:20 -07:00
Mykola Grymalyuk
3b22a593dd Sync changelog 2021-12-08 11:18:02 -07:00
Mykola Grymalyuk
56501818a9 Merge pull request #777 from dortania/5k-patch
Add 5k Display Output Support
2021-12-08 11:14:02 -07:00
Mykola Grymalyuk
52225e15b2 Only copy boot.efi if present 2021-12-08 11:12:19 -07:00
Mykola Grymalyuk
f75f1aa87a Ensure boot.efi is copied to root in TUI 2021-12-08 09:16:28 -07:00
Mykola Grymalyuk
e30f8be03d Streamline diags.efi injection, add GUI support 2021-12-08 09:05:13 -07:00
Mykola Grymalyuk
fd2662717c Avoid incorrectly setting Minimal spoof on GCN Macs 2021-12-07 20:35:46 -07:00
Mykola Grymalyuk
83cffeb1e5 Adjust comment 2021-12-07 20:19:14 -07:00
Mykola Grymalyuk
ca734ff055 Add inital 5k Patchset 2021-12-07 20:14:01 -07:00
Mykola Grymalyuk
67ddb619c7 Add 5k Display Data set 2021-12-07 19:14:56 -07:00
Mykola Grymalyuk
36b584dc41 Add Pikera Patch to Legacy GCN 2021-12-07 09:01:37 -07:00
Mykola Grymalyuk
bf86619e82 Add Legacy GCN build support off model 2021-12-05 11:29:16 -07:00
charly-black
2d98a827ec Update TESTED.md
Added mac mini 5.2 and mac book pro 8.1, both testet with 0.3.1 big sur
2021-11-29 15:26:56 +01:00
Mykola Grymalyuk
4acf8b1a67 Add Network failure handling 2021-11-28 11:00:32 -07:00
Mykola Grymalyuk
5298c4ecb8 Sync PatcherSupportPkg 2021-11-27 11:31:13 -07:00
Mykola Grymalyuk
be5f9114af Sync PatcherSupportPkg 2021-11-27 10:10:15 -07:00
Mykola Grymalyuk
b1df91cac3 Add Apple RAID Card support 2021-11-25 17:57:31 -07:00
Mykola Grymalyuk
60221edb07 Sync PatcherSupportPkg 2021-11-22 14:04:45 -07:00
Mykola Grymalyuk
779d348853 defaults.py: add break to loops 2021-11-22 13:56:02 -07:00
Mykola Grymalyuk
fcc0516b6a defaults.py: Iterate over computer.gpus
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/753
2021-11-22 13:53:39 -07:00
Mykola Grymalyuk
f840e30f36 Sync PatcherSupportPkg 2021-11-19 20:16:44 -07:00
Mykola Grymalyuk
24e645fb07 Fix typo 2021-11-19 19:59:58 -07:00
Mykola Grymalyuk
a519d66e90 Sync build 2021-11-19 19:41:35 -07:00
Mykola Grymalyuk
5af6c4ac54 Fix Wifi Password prompt in Monterey on legacy wifi 2021-11-19 19:37:17 -07:00
Mykola Grymalyuk
57eb61cb9a Fix USBVideo kext 2021-11-19 19:31:22 -07:00
Mykola Grymalyuk
b2b9cc7686 Fix displaypolicyd blocking 2021-11-19 14:52:36 -07:00
Mykola Grymalyuk
5d07311892 Add return menu to macOS downloader 2021-11-18 17:43:13 -07:00
Mykola Grymalyuk
889b5f3c71 Add legacy iSight patch
Thanks Jazzny for notifying!
2021-11-18 16:46:46 -07:00
bdwilson1907
1dc76600e7 Update TESTED.md
Added successful installation to MacBook Air 4,2 with loader 0.3.1.

Issues present with intermittent function of backlight on keyboard and visual artefacts of the cursor on MacOS windows (finder (folder list only), safari, mail (folder list only).
2021-11-18 22:59:51 +00:00
Mykola Grymalyuk
eef336ab62 Adjust KeyError level
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/745
2021-11-18 11:33:12 -07:00
Mykola Grymalyuk
c37aa306fd Add 3rd Party SATA SSD detection
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/741
2021-11-17 22:01:26 -07:00
Mykola Grymalyuk
48380afdd5 Avoid enabling AirportBrcmFixup without wifi 2021-11-17 21:41:27 -07:00
Mykola Grymalyuk
1486859d79 Allow disabling of ConnectDrivers
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/742
2021-11-17 12:22:57 -07:00
Mykola Grymalyuk
9a4085ca50 Fix typo 2021-11-15 19:25:18 -07:00
Mykola Grymalyuk
936febe2e4 Move from i++ to enumerate() 2021-11-15 12:30:28 -07:00
Mykola Grymalyuk
3ad2c538be Fix Content Caching with spoofless usage 2021-11-14 21:18:06 -07:00
Mykola Grymalyuk
f705affcae Fix comment 2021-11-14 20:48:00 -07:00
Mykola Grymalyuk
2546e9167f Fix ordering 2021-11-14 20:44:40 -07:00
Mykola Grymalyuk
f84828483b Fix command 2021-11-14 20:43:49 -07:00
Mykola Grymalyuk
4bfe8b1038 Merge pull request #731 from dortania/limit-signing
Limit GUI Signing to Releases
2021-11-14 20:32:01 -07:00
Mykola Grymalyuk
89765a6c5f Fix GUI upload 2021-11-14 20:25:49 -07:00
Mykola Grymalyuk
4c043ab6dc Update build-gui.yml 2021-11-14 20:21:58 -07:00
Mykola Grymalyuk
8efc702077 Limit GUI signing to releases 2021-11-14 20:14:25 -07:00
Mykola Grymalyuk
90cc87702d Add Building from Source documentation 2021-11-14 19:50:45 -07:00
Mykola Grymalyuk
b27007d55c Fix SurPlus entry 2021-11-14 13:27:23 -07:00
Mykola Grymalyuk
0368ab00b7 Remove extra user input prompts during patching 2021-11-14 13:22:26 -07:00
Mykola Grymalyuk
606dc03b2b Remove backups on pre-snapshot based OSes 2021-11-14 12:29:31 -07:00
Mykola Grymalyuk
1799691348 Implement libSystem.dylib based SIP parsing 2021-11-14 12:24:35 -07:00
Mykola Grymalyuk
fda3a1724d Raise SurPlus MaxKernel to 21.99.99 2021-11-14 11:44:12 -07:00
Dhinak G
b320980aef Update issue template 2021-11-13 20:53:32 -05:00
Mykola Grymalyuk
874a0557e3 Increment FeatureUnlock
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/564
2021-11-12 19:07:17 -07:00
Mykola Grymalyuk
8db9cab06c Resolve iMac MXM Nvidia display output 2021-11-12 13:19:52 -07:00
Mykola Grymalyuk
d73f8979eb Increment PatcherSupportPkg 2021-11-11 22:24:01 -07:00
Mykola Grymalyuk
87bdc65e6c Merge pull request #697 from RedBearAK/patch-1
Fix for info about unable to click "Done" button
2021-11-08 16:23:14 -07:00
Mykola Grymalyuk
e325f6a25b Merge pull request #629 from ghost/patch-3
Update TESTED.md
2021-11-08 16:22:38 -07:00
Mykola Grymalyuk
21b2f86654 Clarify FileVault support 2021-11-08 09:06:50 -07:00
Mykola Grymalyuk
afb91b8b4f Add stock drive data set 2021-11-07 12:37:08 -07:00
Mykola Grymalyuk
2ace124880 Sync changelog 2021-11-05 23:30:15 -06:00
Mykola Grymalyuk
6b92640b64 Merge pull request #696 from dortania/walkthrough
Implement macOS InstallAssistant downloader
2021-11-05 23:29:08 -06:00
Mykola Grymalyuk
6689817872 Fix Integrity typo
Thanks to @J-Human
2021-11-05 23:24:13 -06:00
Mykola Grymalyuk
15bcfa7b79 Merge pull request #702 from dortania/airplay-12.1
Fix AirPlay to Mac support for 12.1 Beta 1
2021-11-05 23:19:15 -06:00
Mykola Grymalyuk
a5afbc6420 Fix 12.1 AirPlay to Mac 2021-11-05 23:18:16 -06:00
Mykola Grymalyuk
da32e3bfcf Test AirPlay to Mac fix 2021-11-04 23:40:00 -06:00
RedBearAK
822464a0bf Fix for info about unable to click "Done" button
Found solution for being unable to click the "Done" button when editing Sidebar Widget settings: Shift-Tab instead of Tab.
2021-11-03 18:09:50 -08:00
Mykola Grymalyuk
b42169f980 Strip unused functions 2021-11-03 19:29:24 -06:00
Mykola Grymalyuk
dd17f5da29 Update form 2021-11-03 14:10:38 -06:00
Mykola Grymalyuk
9f3d3453df Avoid Installing OC to ESP if not requested 2021-11-03 11:44:29 -06:00
Mykola Grymalyuk
95521e2225 Update 11.2.3 size 2021-11-03 11:37:05 -06:00
Mykola Grymalyuk
924cac7577 Add 11.2.3 mirror 2021-11-03 11:20:30 -06:00
Mykola Grymalyuk
c83e926e7d Fix exit 2021-11-02 19:18:45 -06:00
Mykola Grymalyuk
4929715830 macOS Installer Creation: initial commit 2021-11-02 18:32:10 -06:00
Mykola Grymalyuk
8fc1bf9572 Clean downloader_file funtion 2021-11-02 15:30:13 -06:00
Mykola Grymalyuk
875e77b0d1 Clean up download_file function 2021-11-02 09:58:09 -06:00
Mykola Grymalyuk
31bfdc755c Fix typo 2021-11-01 10:24:44 -06:00
Mykola Grymalyuk
4424209d3e Increment Binaries 2021-11-01 10:20:12 -06:00
Mykola Grymalyuk
75ca458747 Add Navi 23 IDs 2021-11-01 10:19:54 -06:00
Mykola Grymalyuk
7e08d3afc1 Update Post Install docs 2021-10-31 13:57:00 -06:00
Mykola Grymalyuk
24a0817890 Fix typo 2021-10-31 11:59:48 -06:00
Mykola Grymalyuk
0072cd2988 Update docs 2021-10-31 11:32:24 -06:00
Mykola Grymalyuk
5696dcd934 Fix tabbing 2021-10-31 09:48:06 -06:00
Mykola Grymalyuk
3ac7964fb0 Fix iGPU-only iMac14,x display output
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/661
2021-10-30 10:41:00 -06:00
Mykola Grymalyuk
dc4238fb09 Resolve BCM94331 BT4.0 issue
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/654
2021-10-30 10:36:40 -06:00
Mykola Grymalyuk
d68d04fd8c Update bug_report.yml 2021-10-30 10:21:33 -06:00
Mykola Grymalyuk
08852b8f4c Update issues template 2021-10-30 10:20:17 -06:00
Mykola Grymalyuk
7463d56ffc Adjust SIP naming 2021-10-30 07:51:26 -06:00
Mykola Grymalyuk
377b0dd797 Fix remaining check 2021-10-28 09:25:13 -06:00
Mykola Grymalyuk
ec683f21a4 Fix os_data call
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/647
2021-10-28 09:10:59 -06:00
Mykola Grymalyuk
dabe66e052 Refactor: move to os_data.py usage 2021-10-27 21:16:09 -06:00
Mykola Grymalyuk
91f3b94992 Move ESP disk installation to dedicated file 2021-10-27 20:56:51 -06:00
Mykola Grymalyuk
699ccd50c5 Merge pull request #548 from dortania/vmm
Support Spoofless Approach via VMM
2021-10-27 20:07:58 -06:00
Mykola Grymalyuk
491b5fe078 Sync changelog 2021-10-27 20:07:41 -06:00
Mykola Grymalyuk
5db6be9828 Merge branch 'main' into vmm 2021-10-26 20:01:15 -06:00
lulu-gh
e3871d5c35 Update TESTED.md 2021-10-26 15:58:25 -07:00
Mykola Grymalyuk
11a427ef01 Merge pull request #624 from Ausdauersportler/patch-7
Update MONTEREY-DROP.md
2021-10-26 16:14:14 -06:00
Ausdauersportler
5c54276a85 Update MONTEREY-DROP.md
Added short section about NVIDIA Kepler based systems.
2021-10-26 17:31:32 +02:00
Mykola Grymalyuk
7f9311c175 Merge pull request #619 from educovas/main
Update brightness control models
2021-10-26 08:09:06 -06:00
educovas
e4682f6307 Update brightness control models 2021-10-25 18:37:39 -03:00
Mykola Grymalyuk
bc88ed27d1 Increment version 2021-10-25 15:20:26 -06:00
Mykola Grymalyuk
113156c94c Sync changelog 2021-10-25 15:13:38 -06:00
Mykola Grymalyuk
99879bdcfc Resolve CPUFriend injection 2021-10-24 09:36:03 -06:00
Mykola Grymalyuk
e1cb78fa0b Merge pull request #614 from akidone/patch-1
TESTED.md
2021-10-24 09:23:41 -06:00
akidone
6109d8c92f TESTED.md
Added my good old MacBookPro10,2 to the list, as it works perfectly with patcher 0.3.0.
2021-10-24 11:20:27 +02:00
Mykola Grymalyuk
b473d189dd Sync PatcherSupportPkg 2021-10-23 22:05:31 -06:00
Mykola Grymalyuk
3b89fc2950 Sync PatcherSupportPkg 2021-10-22 16:12:59 -06:00
Mykola Grymalyuk
707cc5c45f Clarify VMM comment 2021-10-21 16:44:15 -06:00
Mykola Grymalyuk
80e5c38ee7 Merge branch 'main' into vmm 2021-10-21 16:42:37 -06:00
Mykola Grymalyuk
1b4fd73673 Add TS2 MacBook Pro troubleshooting 2021-10-21 15:50:16 -06:00
Mykola Grymalyuk
aec3bf4d08 Git's drunk 2021-10-21 12:53:26 -06:00
Mykola Grymalyuk
1b76b68a1b Fix cslv
Weird git bug, for some reason didn't update this correctly
2021-10-21 12:49:40 -06:00
Mykola Grymalyuk
1190e169cb Merge branch 'main' into vmm 2021-10-21 12:42:54 -06:00
Mykola Grymalyuk
ca2fd695b3 Fix crashing on dict append
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/597
2021-10-21 11:34:46 -06:00
Mykola Grymalyuk
9669196a07 Add ADP2,1 data set 2021-10-20 20:44:40 -06:00
Mykola Grymalyuk
88696c7047 Add MacBookPro18,x data set 2021-10-20 14:27:21 -06:00
Mykola Grymalyuk
8706959f65 Sync PatchSupportPkg 2021-10-20 14:25:40 -06:00
Mykola Grymalyuk
a63d1953b4 Fix non-Metal Control Center 2021-10-19 13:18:11 -06:00
Mykola Grymalyuk
6d129505ea Fix non-Metal acceleration crashing on 12.0.1 2021-10-18 21:53:31 -06:00
Mykola Grymalyuk
f12028aa84 Add support for RELEASE kexts 2021-10-18 20:17:45 -06:00
Mykola Grymalyuk
cf2a58e6bf Merge branch 'main' into vmm 2021-10-18 19:41:47 -06:00
Mykola Grymalyuk
6bc36c737c Remove legacy GMUX patch set for MacBookPro5,x
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/584
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/580
2021-10-17 15:53:38 -06:00
Mykola Grymalyuk
5f07e9ffd9 Drop CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE usage 2021-10-17 15:48:08 -06:00
Mykola Grymalyuk
9f4d96d446 Merge branch 'main' into vmm 2021-10-17 11:25:40 -06:00
Mykola Grymalyuk
0ff6a18e83 Avoid erroring on odd length values 2021-10-17 10:10:40 -06:00
Mykola Grymalyuk
a153b500b9 Remove garbage 2021-10-17 00:14:32 -06:00
Mykola Grymalyuk
db617db1fd Allow for setting custom SIP values via TUI
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/516
2021-10-17 00:13:49 -06:00
Mykola Grymalyuk
69e50aeb6d Fix incorrectly parsing SecureBootModel status
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/581
2021-10-16 23:21:29 -06:00
Mykola Grymalyuk
eaa686e045 Add saftey check for Vault configurations 2021-10-16 21:51:55 -06:00
Mykola Grymalyuk
6381910639 Update binaries to release build 2021-10-16 13:57:40 -06:00
Mykola Grymalyuk
68d25d30b4 Merge pull request #579 from educovas/main
Update documentation
2021-10-16 13:55:22 -06:00
educovas
16a666e836 2 2021-10-16 16:48:04 -03:00
educovas
5e91ea181b typo 2021-10-16 16:47:39 -03:00
educovas
f4e487c648 More changes 2021-10-16 16:24:59 -03:00
educovas
d1fbeba50f Add Safari extensions workaround / + 2021-10-16 16:20:32 -03:00
educovas
8c138658e2 Update supported Ones 2021-10-16 16:06:32 -03:00
educovas
729feba2ba Update host and target OS 2021-10-16 16:04:12 -03:00
educovas
978d2fda26 Fix typo 2021-10-16 15:58:51 -03:00
educovas
5e0354531a Monterey legacy WiFi workaround 2021-10-16 15:53:02 -03:00
educovas
19ed65968d Merge pull request #1 from dortania/main
Update
2021-10-16 15:39:55 -03:00
Mykola Grymalyuk
b3ad321922 Merge branch 'main' into vmm 2021-10-16 09:15:54 -06:00
Mykola Grymalyuk
5aee1aa60f Fix GMUX switching
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/574
2021-10-16 08:59:33 -06:00
Mykola Grymalyuk
ab22a225c4 Increment build 2021-10-15 19:54:38 -06:00
Mykola Grymalyuk
a97a32730a Fix function cast 2021-10-15 16:09:47 -06:00
Mykola Grymalyuk
ecde9ce077 Fix Nvdiai MXM patch set 2021-10-15 16:08:45 -06:00
Mykola Grymalyuk
c3dfc35692 Adjust defaults for VMM usage 2021-10-15 11:29:56 -06:00
Mykola Grymalyuk
cfa5175c72 Ensure WEG is enabled for iMac MXM patch set 2021-10-15 10:27:07 -06:00
Mykola Grymalyuk
e591f912b9 Strip unneeded agdpmod patches 2021-10-15 10:13:11 -06:00
Mykola Grymalyuk
17c130112e Merge remote-tracking branch 'origin/main' into vmm 2021-10-15 09:40:48 -06:00
Mykola Grymalyuk
0b3e45f7ba Fix board ID call
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/571
2021-10-15 09:33:34 -06:00
Mykola Grymalyuk
fa89865552 Fix Beta 10 Bluetooth 2021-10-15 09:23:05 -06:00
Mykola Grymalyuk
f58de2e000 Sync PatcherSupportPkg
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/569
2021-10-14 19:05:34 -06:00
Mykola Grymalyuk
f9c1d96aea Fix ADP3,2 ID 2021-10-13 15:06:43 -06:00
Mykola Grymalyuk
30121d869f Add basic GPU data sets 2021-10-12 21:44:32 -06:00
Mykola Grymalyuk
bb62eded77 Add Curie and Comet Lake IDs 2021-10-12 21:42:33 -06:00
Mykola Grymalyuk
dd43a0f243 Add ATI R500 IDs 2021-10-12 21:03:23 -06:00
Mykola Grymalyuk
ce6195529b Add GMA data set 2021-10-12 20:48:52 -06:00
Mykola Grymalyuk
f26e494450 Add Legacy GCN iMac patches
Co-authored-by @Ausdauersportler
2021-10-12 13:20:02 -06:00
Mykola Grymalyuk
1d336f9dcf Merge branch 'main' into vmm 2021-10-11 16:50:35 -06:00
Mykola Grymalyuk
82fe98a93c Add Software Based deMUX
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/559
2021-10-11 15:50:07 -06:00
Mykola Grymalyuk
ee15a55876 Merge branch 'main' into vmm 2021-10-10 20:50:25 -06:00
Mykola Grymalyuk
47a2f71612 Add firmware throttle patch
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/555
2021-10-10 20:42:05 -06:00
Mykola Grymalyuk
12e0ffff71 Fix offline releases 2021-10-10 16:46:30 -06:00
Mykola Grymalyuk
d7f3bb7d53 Add missing Macmini5,2 patch 2021-10-09 11:38:53 -06:00
Mykola Grymalyuk
06e0e9a2c0 Fix formatting 2021-10-09 11:19:39 -06:00
Mykola Grymalyuk
12998bc7e1 Fix return code error 2021-10-08 15:02:25 -06:00
Mykola Grymalyuk
68d13775d9 Work around erroring when single element in array 2021-10-08 15:00:58 -06:00
Mykola Grymalyuk
86694de7df Add error handling for bless failure 2021-10-08 12:53:06 -06:00
Mykola Grymalyuk
2d9403c524 Fix logic 2021-10-08 08:53:15 -06:00
Mykola Grymalyuk
664b7ddcd4 Merge branch 'main' into vmm 2021-10-08 08:46:31 -06:00
Mykola Grymalyuk
96fd706ead Implement EFICheckDisabler
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/552
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/551
2021-10-08 08:42:29 -06:00
Mykola Grymalyuk
a0fa3a8808 Fix desync off vmm branch
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/549
2021-10-06 19:23:52 -06:00
Mykola Grymalyuk
27383b5bc7 Update docs 2021-10-06 18:08:11 -06:00
Mykola Grymalyuk
4a8f61a01d Merge branch 'main' into vmm 2021-10-06 10:39:25 -06:00
Mykola Grymalyuk
75c6d10089 Fix accidental deletion 2021-10-06 10:37:11 -06:00
Mykola Grymalyuk
d62e6fda43 Merge branch 'main' into vmm 2021-10-06 10:29:24 -06:00
Mykola Grymalyuk
ee77f76c3a Add AppleGVA patch set 2021-10-06 09:44:00 -06:00
Mykola Grymalyuk
ae2a015c67 Fix references
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/545
2021-10-05 22:16:50 -06:00
Mykola Grymalyuk
9cbfe5be6a Add TS2 comments 2021-10-05 21:19:13 -06:00
Mykola Grymalyuk
3aa6e76c15 Add HW_BID patch 2021-10-05 20:44:29 -06:00
Mykola Grymalyuk
0484e8e18c Fix typo 2021-10-05 17:03:40 -06:00
Mykola Grymalyuk
5a4ee57034 Allow stock Board ID for spoofs 2021-10-05 16:30:02 -06:00
Mykola Grymalyuk
e20bc2aca5 Fix USB map 2021-10-05 15:58:48 -06:00
Mykola Grymalyuk
4d9325b238 Fix typo 2021-10-05 12:07:24 -06:00
Mykola Grymalyuk
84bd66fd92 Implement VMM Patching 2021-10-05 11:51:32 -06:00
Mykola Grymalyuk
b6297d6b63 Add Panel ID 9cd6 for iMac11,3
Co-authored-by @Ausdauersportler

Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/538
2021-10-05 11:49:02 -06:00
Mykola Grymalyuk
f6ef7583ee Merge pull request #528 from dortania/refactor
Refactor Constants
2021-10-04 13:02:24 -06:00
Mykola Grymalyuk
e8d2b4f63e Fix on-model building with CLI 2021-10-04 12:47:27 -06:00
Mykola Grymalyuk
e210c0cbe6 I need sleep 2021-10-04 12:21:32 -06:00
Mykola Grymalyuk
9184302c18 Fix logic 2021-10-04 12:11:54 -06:00
Mykola Grymalyuk
fdfbbf6ae1 Fix clear screen usage in GUI 2021-10-04 11:52:42 -06:00
Mykola Grymalyuk
4f9abbaa49 Fix root patching from CLI 2021-10-04 11:21:59 -06:00
Mykola Grymalyuk
f524c4441b Update pci comment 2021-10-04 11:18:01 -06:00
Mykola Grymalyuk
5ca30e8ffe Fix spec 2021-10-04 11:13:24 -06:00
Mykola Grymalyuk
5742f745b1 Merge branch 'refactor' of https://github.com/dortania/OpenCore-Legacy-Patcher into refactor 2021-10-04 10:52:33 -06:00
Mykola Grymalyuk
91d20b2ad0 Rework args check 2021-10-04 10:52:11 -06:00
Mykola Grymalyuk
8272c092ad Fix init 2021-10-03 18:15:14 -06:00
Mykola Grymalyuk
3790555dec Fix init 2021-10-03 18:01:34 -06:00
Mykola Grymalyuk
3537725a13 Adjust build to py scheme 2021-10-03 14:14:55 -06:00
Mykola Grymalyuk
991a089c45 Tmp 2021-10-03 14:14:39 -06:00
Mykola Grymalyuk
8a6faa0836 Adjust utilities to py scheme 2021-10-03 14:12:11 -06:00
Mykola Grymalyuk
8e1923ee21 Tmp 2021-10-03 14:11:20 -06:00
Mykola Grymalyuk
a2f73a7bdc Adjust Constants to python scheme 2021-10-03 14:10:56 -06:00
Mykola Grymalyuk
2164463e3b Tmp 2021-10-03 14:09:40 -06:00
Mykola Grymalyuk
a980ba95f9 Fix typo 2021-10-03 13:57:17 -06:00
Mykola Grymalyuk
a70b18dd50 Convert additional files to snake naming scheme 2021-10-03 13:54:12 -06:00
Mykola Grymalyuk
e33997320b Use snake nameing scheme 2021-10-03 13:35:01 -06:00
Mykola Grymalyuk
b9a5ba7897 Rename to tmp folders
Work around git not checking case
2021-10-03 13:31:19 -06:00
Mykola Grymalyuk
c0350e036e Enforce Snake Style naming scheme for files 2021-10-03 13:24:51 -06:00
Mykola Grymalyuk
a5f489d48b Depreciate dedicated OCLP-CLI binary
OpenCore-Patcher now supports both CLI and TUI mode
2021-10-03 10:44:13 -06:00
Mykola Grymalyuk
426c572ce2 Fix AppleALC building 2021-10-01 18:00:53 -06:00
Mykola Grymalyuk
9f4ac80083 Update SMBIOS data
Include Ethernet and Chipset information
2021-10-01 12:28:28 -06:00
Mykola Grymalyuk
2e613600de Sync changelog 2021-10-01 10:22:12 -06:00
Mykola Grymalyuk
3a28ba699f Allow iGPU always on iMac13,x 2021-10-01 10:16:30 -06:00
Mykola Grymalyuk
fe359f7ea6 Move FirmwareFeature generation 2021-10-01 09:58:31 -06:00
Mykola Grymalyuk
0e07273c8e Move SMBIOS generation to dedicated file 2021-10-01 09:45:34 -06:00
Mykola Grymalyuk
8b41cc6ff5 Update .spec to include Data folder 2021-10-01 00:17:47 -06:00
Mykola Grymalyuk
d563011c72 Refactor SMBIOS table 2021-10-01 00:04:55 -06:00
Mykola Grymalyuk
06824e6757 Update MONTEREY-DROP.md 2021-09-30 12:09:15 -06:00
Mykola Grymalyuk
cc8bff1e1f Avoid Updating DataHub
Works around hibernation issue
2021-09-29 13:11:06 -06:00
Mykola Grymalyuk
6102bba478 Ensure overrides get RestrictEvents 2021-09-29 12:39:24 -06:00
Mykola Grymalyuk
dd40ddc452 Fix OTA updates on T2 SMBIOS
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/471
2021-09-29 11:49:30 -06:00
Mykola Grymalyuk
8d02a7984d Limit MacBookPro6,2 G State
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/520
2021-09-29 11:31:41 -06:00
Mykola Grymalyuk
61281f597a Add Legacy GMUX patch sets 2021-09-29 11:29:05 -06:00
Mykola Grymalyuk
11e795026b Ensure SMBIOS data is correctly updated 2021-09-27 12:34:58 -06:00
Mykola Grymalyuk
d58e0e3972 Avoid erroring 2021-09-27 09:25:21 -06:00
Mykola Grymalyuk
453703d402 Add SurPlus patch 2021-09-27 09:22:55 -06:00
Mykola Grymalyuk
dfb84ec72b Fix Kepler DisplayPort output 2021-09-27 08:35:30 -06:00
Mykola Grymalyuk
8f98cac918 Misc fixes
- Adjust MacPro/Xserve SMBIOS spoof
- Lower SIP bits flipped
- Force delete SIP on each boot (avoids user error)

Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/510
2021-09-25 11:49:05 -06:00
Mykola Grymalyuk
c053fb7244 Fix formatting 2021-09-24 10:31:14 -06:00
Mykola Grymalyuk
0ccb2c74d2 Allow configuring GMUX usage for Windows
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/502
2021-09-24 10:29:43 -06:00
Mykola Grymalyuk
2683b7a7f0 Add forgotten commit 2021-09-24 09:16:04 -06:00
Mykola Grymalyuk
86dcf9fb5b Fix Beta 7 Acceleration on Nvidia Tesla 2021-09-24 07:47:31 -06:00
Mykola Grymalyuk
e31519ac96 Avoid patching Metal and non-metal together 2021-09-23 11:58:48 -06:00
Mykola Grymalyuk
49fa20ecc3 Disable SIP on legacy Wifi Macs 2021-09-23 11:48:10 -06:00
Mykola Grymalyuk
3364ed702a Probe per GPU detected
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/501
2021-09-22 20:57:10 -06:00
Mykola Grymalyuk
32a0289af3 Fix Music.app support
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/497
2021-09-22 19:25:29 -06:00
Mykola Grymalyuk
a3208acbfe Add iMac7,1 USB map 2021-09-22 19:04:01 -06:00
Mykola Grymalyuk
983a7bf8d3 Merge pull request #499 from dortania/2012-bt
Add Transport Exemption to BlueToolFixup
2021-09-22 13:31:17 -06:00
Mykola Grymalyuk
5d85a98637 Adjust logic 2021-09-22 13:30:20 -06:00
Mykola Grymalyuk
ba2149407d Update comments 2021-09-22 13:28:29 -06:00
Mykola Grymalyuk
458a2a406a Add FirmwareFeature upgrading to all Models 2021-09-22 12:46:23 -06:00
Mykola Grymalyuk
374263f926 Fix AMFI check 2021-09-22 12:35:53 -06:00
Mykola Grymalyuk
1b5fb1cef6 Add additional bluetooth checks 2021-09-21 21:41:29 -06:00
Mykola Grymalyuk
e7897ae857 Fix defaults 2021-09-21 21:29:10 -06:00
Mykola Grymalyuk
b34239fb8e Add Kepler Acceleration for Monterey Beta 7 2021-09-21 21:25:49 -06:00
Mykola Grymalyuk
53ea72ed93 Fix another typo 2021-09-21 20:34:15 -06:00
Mykola Grymalyuk
462e268d0d Fix typo 2021-09-21 20:20:38 -06:00
Mykola Grymalyuk
df709afa8d Add AMFI check 2021-09-21 20:08:54 -06:00
Mykola Grymalyuk
7b332e87c4 Fix crash 2021-09-21 19:26:23 -06:00
Mykola Grymalyuk
1b2eea6b50 Add better FV patch detection 2021-09-21 18:59:50 -06:00
Mykola Grymalyuk
0077d6267c Test transport omission 2021-09-19 23:36:22 -06:00
Mykola Grymalyuk
b18236b237 Test BT patch for 2012 Macs 2021-09-19 21:00:07 -06:00
Mykola Grymalyuk
c748b03544 Merge pull request #496 from dortania/Disable-LV
Disable Library Validation Enforcement
2021-09-19 16:18:55 -06:00
Mykola Grymalyuk
81369d1bab Update docs 2021-09-19 16:17:31 -06:00
Mykola Grymalyuk
bf3cc2c9d1 Adjust LV check 2021-09-19 15:29:48 -06:00
Mykola Grymalyuk
159f624060 Sync changelog 2021-09-19 14:38:07 -06:00
Mykola Grymalyuk
8234738403 Remove AMFI requirement for root patching 2021-09-19 14:22:16 -06:00
Mykola Grymalyuk
bf19adef35 Cleanup unneeded variables 2021-09-19 13:16:20 -06:00
Mykola Grymalyuk
6c2ed9ad5a Update SysPatch.py 2021-09-18 22:39:52 -06:00
Mykola Grymalyuk
ac4b796c95 Fix typo 2021-09-18 21:10:37 -06:00
Mykola Grymalyuk
afdf49a074 Add TeraScale 2 Acceleration for Monterey 2021-09-18 16:33:02 -06:00
Mykola Grymalyuk
48c838d92b Use stock BlueToolFixup 2021-09-18 15:41:00 -06:00
Mykola Grymalyuk
3e453f4789 Fix CoreCapture max kernel 2021-09-18 15:28:11 -06:00
Mykola Grymalyuk
c7b282b53c Update documentation 2021-09-18 11:32:43 -06:00
Mykola Grymalyuk
8c6c723e13 Increment Latebloom to 0.22 2021-09-18 10:54:04 -06:00
Mykola Grymalyuk
9dfe616af8 Clean Apple Kexts
Remove unused files including codesignature, Version.plist, Resources, etc as these are not needed for injection via OpenCore
2021-09-18 10:49:00 -06:00
Mykola Grymalyuk
fb9634d29b Add permission fixes for Wifi patches 2021-09-18 10:08:57 -06:00
Mykola Grymalyuk
4edbf9df60 Update Root Patch comment 2021-09-17 23:53:41 -06:00
Mykola Grymalyuk
cd45f7b04c Fix typo 2021-09-17 23:42:55 -06:00
Mykola Grymalyuk
6a5ac03c72 Merge pull request #492 from dortania/Bluetooth-patch
Fix Monterey Bluetooth Support
2021-09-17 22:44:18 -06:00
Mykola Grymalyuk
81ecf14bab Merge branch 'main' into Bluetooth-patch 2021-09-17 22:44:12 -06:00
Mykola Grymalyuk
d84990e91d Add IO80211ElCap verification 2021-09-17 22:41:33 -06:00
Mykola Grymalyuk
d1726f95fc Add Legacy Wireless support for Monterey
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/365
2021-09-17 22:17:41 -06:00
Mykola Grymalyuk
45332d2cf9 Add offline TUI 2021-09-17 13:42:27 -06:00
Mykola Grymalyuk
9e7ad38020 Merge branch 'Bluetooth-patch' of https://github.com/dortania/Opencore-Legacy-Patcher into Bluetooth-patch 2021-09-16 19:26:13 -06:00
Mykola Grymalyuk
18805c8e78 Fix typo 2021-09-16 19:25:42 -06:00
Mykola Grymalyuk
98b7824619 Fix typo 2021-09-16 19:14:06 -06:00
Mykola Grymalyuk
438ae23ee7 Rework BlueToolFixup patch 2021-09-16 15:43:04 -06:00
Mykola Grymalyuk
0e22a9fb00 Fix ModelArray 2021-09-16 14:33:55 -06:00
Mykola Grymalyuk
f78e8edf4e Fix typo 2021-09-16 12:21:52 -06:00
Mykola Grymalyuk
986878055f Add basic hardware detection 2021-09-16 12:21:14 -06:00
Mykola Grymalyuk
1da93b1ca0 Fix Monterey Bluetooth 2021-09-16 10:06:59 -06:00
Mykola Grymalyuk
950f645f02 Merge pull request #488 from mikebeaton/main
Update Big Sur+ Hackintosh SIP instructions
2021-09-13 10:05:44 -06:00
Mykola Grymalyuk
f0c73164d9 Ensure correct accel patches apply in Monterey
Thanks Larsvonhier for pointing this out!
2021-09-13 10:01:37 -06:00
MikeBeaton
5b3425d0c4 Update Big Sur+ Hackintosh SIP instructions to 0xE03 (include required CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE) 2021-09-13 15:12:48 +01:00
Mykola Grymalyuk
0e1aaf0bbd Lax AMFI requirements for Mojave/Catalina 2021-09-12 22:44:29 -06:00
Mykola Grymalyuk
ff685e3504 Merge pull request #485 from dortania/filevault-test
Allow FileVault on Root Patched Macs
2021-09-12 22:37:18 -06:00
Mykola Grymalyuk
bae1a19cfe Lax FileVault requirement for root patching 2021-09-12 22:36:25 -06:00
Mykola Grymalyuk
76aa3bb80f Clean up code 2021-09-12 11:31:31 -06:00
Mykola Grymalyuk
ab4089c37b Allow FileVault on Root Patched systems 2021-09-12 10:34:28 -06:00
Mykola Grymalyuk
a907e05bca Add latebloom repository 2021-09-12 10:32:17 -06:00
Mykola Grymalyuk
8944c789b0 Update PatcherSupportPkg 2021-09-09 09:05:59 -06:00
Mykola Grymalyuk
600e71581c Allow Trackpad gestures on MacBook4,1 and MacBook5,2 2021-09-08 22:17:05 -06:00
Mykola Grymalyuk
15e4650785 Organize Constants.py 2021-09-08 22:09:58 -06:00
Mykola Grymalyuk
201bc141bb Increment PatcherSupportPkg 2021-09-07 16:13:18 -06:00
Mykola Grymalyuk
3c69cb6c65 Increment PatcherSupportPkg 2021-09-06 22:52:29 -06:00
Mykola Grymalyuk
9955b76c1e Add Monterey WebKit patch to legacy GPUs 2021-09-06 22:40:54 -06:00
Mykola Grymalyuk
d77680f25c Increment binaries 2021-09-06 16:54:08 -06:00
Mykola Grymalyuk
10354d717e Add non-Metal Monterey accel 2021-09-05 13:17:39 -06:00
Mykola Grymalyuk
0b51a7e9c8 Fix path error 2021-09-05 11:45:35 -06:00
Mykola Grymalyuk
372ad31d83 Adjust patcher settings 2021-09-05 10:48:46 -06:00
Mykola Grymalyuk
d4836514fd Add import error handling and clean CLI menu 2021-09-04 22:31:20 -06:00
Mykola Grymalyuk
077af5afb3 Add ACPI path verification for DeviceProperty injection
Ref: https://github.com/dortania/OpenCore-Legacy-Patcher/issues/451
2021-08-30 17:36:06 -06:00
Mykola Grymalyuk
6ca3e3524e Update PatcherSupportPkg 2021-08-28 13:14:40 -06:00
Mykola Grymalyuk
8c646b7897 Fix scope typo 2021-08-28 12:55:34 -06:00
Mykola Grymalyuk
90a9ff8bb2 Allow FileVault on Catalina and older 2021-08-28 11:37:16 -06:00
Mykola Grymalyuk
1198a37969 Update MONTEREY-DROP.md
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/455
2021-08-26 09:04:57 -06:00
Mykola Grymalyuk
296978676a Add pikera patch for iMacPro1,1 2021-08-18 18:18:48 -06:00
Mykola Grymalyuk
29fa274096 Add 5700XT/Westmere test data 2021-08-18 11:26:38 -06:00
Mykola Grymalyuk
dfdf4529d2 Add Windows GPU switching 2021-08-15 13:48:58 -06:00
Mykola Grymalyuk
28746bbe2b Fix country code device ID injection
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/435
2021-08-12 09:04:49 -06:00
Mykola Grymalyuk
60c8cd12cd Merge pull request #425 from samplenull/patch-1
Update INSTALLER.md
2021-08-11 23:19:59 -06:00
Mykola Grymalyuk
71a045fb13 Fix typo in previous commit 2021-08-11 22:32:41 -06:00
Mykola Grymalyuk
10d11c3b1b Add validation check to CI 2021-08-11 22:30:46 -06:00
Mykola Grymalyuk
f0c282cbbc Increment Binaries 2021-08-11 22:24:33 -06:00
Mykola Grymalyuk
7b0b9ea18b Merge pull request #432 from dortania/wifi-test
Allow plist override for BCM943224 and BCM94331 Wireless cards
2021-08-11 20:14:30 -06:00
Mykola Grymalyuk
3f6d8c2283 Fix country code support 2021-08-11 20:13:43 -06:00
Mykola Grymalyuk
ff5a7f3a35 Adjust AirportBrcmFixup injection 2021-08-11 20:09:20 -06:00
Mykola Grymalyuk
515bd5950f Fix thing 2021-08-11 13:48:17 -06:00
Mykola Grymalyuk
b1d5851131 Inject device ID via Info.plist 2021-08-10 20:20:49 -06:00
Mykola Grymalyuk
3298625351 Set iMacPro1,1 SMBIOS for Mac Pro and Xserve 2021-08-10 16:02:45 -06:00
Mykola Grymalyuk
ff4a19b268 Sync changelog 2021-08-10 10:51:09 -06:00
Mykola Grymalyuk
9b4a1e992b Merge pull request #430 from dortania/thunderbolt
Allow disabling of Thunderbolt on 2013-2014 MacBook Pros
2021-08-10 09:47:31 -07:00
Mykola Grymalyuk
fc59cfffa1 Add configuration option for users 2021-08-10 10:06:45 -06:00
Mykola Grymalyuk
cf884532d7 Disable TB2 in 2013-2014 Pros 2021-08-09 10:43:14 -06:00
Mykola Grymalyuk
0b1092d4b9 Merge pull request #428 from satmandu/patch-1
Add current release to Issue Template
2021-08-09 09:21:39 -07:00
satmandu
cddd7af701 Make suggested changes 2021-08-09 12:19:51 -04:00
satmandu
6cb2141654 Add current release to Issue Template 2021-08-09 11:47:57 -04:00
Mykola Grymalyuk
a5fcc35d3c Add MacPro4,1 data set 2021-08-09 09:19:48 -06:00
Denis Kazimirov
8cc22fd88a Update INSTALLER.md
Add space to fix 404 error when download installinstallmacos.py
2021-08-07 16:11:54 +03:00
Mykola Grymalyuk
66435c7c08 Add Ethernet data sets 2021-08-06 10:27:06 -06:00
Mykola Grymalyuk
3569a265e6 Force pyinstaller path 2021-08-05 17:57:55 -06:00
Mykola Grymalyuk
3515d81c26 Avoid upgrading dependancies 2021-08-05 17:45:23 -06:00
Mykola Grymalyuk
3416a4bbdd Transfer runner 2021-08-05 17:27:10 -06:00
Dhinak G
6a5787abae Return checksum in download_file 2021-08-04 14:08:07 -04:00
Mykola Grymalyuk
a104316037 Add missing x86legacy entry 2021-08-04 11:37:24 -06:00
Mykola Grymalyuk
cabdfe9a27 Lax rsync verification
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/418
2021-08-04 08:36:40 -06:00
Mykola Grymalyuk
c535609a32 Fix latebloom typo in arguments 2021-08-03 10:07:25 -06:00
Mykola Grymalyuk
a095edc380 Allow Root Patching on Mojave and Catalina 2021-08-02 21:06:33 -06:00
Mykola Grymalyuk
f1ac88d23b Fix iMac17,1 TB2 typo 2021-08-02 20:47:33 -06:00
Mykola Grymalyuk
4a1918238e Fix formatting 2021-08-02 16:46:15 -06:00
Mykola Grymalyuk
33653a7108 Implement Root Volume backups
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/378
2021-08-02 16:34:19 -06:00
Mykola Grymalyuk
03f65d1766 Implement Latebloom configuration via cli 2021-07-31 22:57:33 -06:00
Mykola Grymalyuk
cb7d62f2ee Update docs to better reflect current state 2021-07-31 22:27:40 -06:00
Mykola Grymalyuk
4139e555cc Add remaining iGPU archs to device_probe 2021-07-31 21:20:17 -06:00
Mykola Grymalyuk
244d7cfbf9 Increment build 2021-07-31 10:39:08 -06:00
Mykola Grymalyuk
d9dcfc6125 Fix iMac13,x crash on prebuilt models 2021-07-31 10:35:01 -06:00
Mykola Grymalyuk
c41ffaafc2 Add Latebloom detection to CLI 2021-07-30 09:37:19 -06:00
Mykola Grymalyuk
741eda5fd8 Fix iMac13,3 spoof 2021-07-30 09:16:41 -06:00
Dhinak G
1678005ceb Don't run the site on self-hosted 2021-07-29 19:37:15 -04:00
Dhinak G
df029110c7 Update to not run on M1 machine 2021-07-29 19:36:12 -04:00
Mykola Grymalyuk
59f43e0ea0 Add more Model dumps 2021-07-29 17:25:29 -06:00
Mykola Grymalyuk
9bdc5148c4 Adjust MinKernel 2021-07-28 16:43:17 -06:00
Mykola Grymalyuk
3283cf514b Fix MacBook8,1 Modertate SMBIOS setting 2021-07-26 15:17:45 -06:00
Mykola Grymalyuk
991e449d26 Disable USB Map injection when unneeded
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/384
2021-07-26 15:15:20 -06:00
Mykola Grymalyuk
f880751539 Sync changelog
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/358
2021-07-26 12:55:55 -06:00
Mykola Grymalyuk
8eade66017 Sync PatcherSupportPkg
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/405
2021-07-25 23:15:59 -06:00
Mykola Grymalyuk
bb09b0432f Add AMFI detection on build 2021-07-25 23:15:23 -06:00
Mykola Grymalyuk
eca98c65d3 Merge pull request #398 from dortania/latebloom
Add Latebloom support
2021-07-25 15:45:27 -06:00
Mykola Grymalyuk
3af8687f42 Fix print formatting 2021-07-24 23:14:18 -06:00
Mykola Grymalyuk
0af93e7936 Test Wake on WLAN support again 2021-07-24 10:31:14 -06:00
Mykola Grymalyuk
b8904387f3 Add Sandy Bridge comment 2021-07-24 09:48:05 -06:00
Mykola Grymalyuk
91b2a8b673 Merge branch 'main' of https://github.com/dortania/Opencore-Legacy-Patcher 2021-07-23 11:07:40 -06:00
Dhinak G
96748952d3 Update BENIFITS.md 2021-07-22 13:39:15 -04:00
Mykola Grymalyuk
5eddcadaac Add additional error handling on system calls 2021-07-21 21:57:36 -06:00
Mykola Grymalyuk
43131150a4 Fix Mojave/Catalina kextcache error handling 2021-07-21 21:55:43 -06:00
Mykola Grymalyuk
5fefc7185e Add validation checker in CLI
Currently fails due to bootstrap path, will be resolved in future
2021-07-21 19:30:54 -06:00
Mykola Grymalyuk
ff00e2683e Add better variable presentation 2021-07-20 09:30:14 -06:00
Mykola Grymalyuk
e94264f039 Allow latebloom support 2021-07-20 09:07:29 -06:00
Mykola Grymalyuk
7fc36ac098 Merge pull request #381 from ylluminate/patch-1
Update TCC modification in ACCEL.md for Big Sur
2021-07-20 08:57:23 -06:00
Mykola Grymalyuk
8711b4069a Update ACCEL.md 2021-07-20 08:57:06 -06:00
Mykola Grymalyuk
70cb12413a Update ACCEL.md 2021-07-20 08:56:38 -06:00
Mykola Grymalyuk
a6dc58a81d Merge pull request #390 from lulujyc/patch-2
Update ACCEL.md -- don't waste money buying DisplayLink adapters
2021-07-20 08:52:47 -06:00
Mykola Grymalyuk
f8da16bf0a Fix Thunderbolt Array typo (Thanks @woefi) 2021-07-20 08:52:03 -06:00
Mykola Grymalyuk
e43fecb4bc Clean up formatting 2021-07-19 15:42:01 -06:00
Mykola Grymalyuk
d6ed03eb8a Revert Kryptonite backend 2021-07-19 12:01:05 -06:00
Mykola Grymalyuk
49e1fb1ad2 Fix RaceCondition ModelArray 2021-07-19 10:43:19 -06:00
Mykola Grymalyuk
ab1dab7fe5 Backend for Kryptonite support 2021-07-19 10:37:34 -06:00
Mykola Grymalyuk
6c44472e00 Merge branch 'main' of https://github.com/dortania/Opencore-Legacy-Patcher 2021-07-19 09:35:26 -06:00
Mykola Grymalyuk
d1f545e356 Merge pull request #397 from educovas/main
Updated HD4000 Monterey support - MONTEREY-DROP.md
2021-07-19 09:13:05 -06:00
educovas
e61544dcb9 Update MONTEREY-DROP.md 2021-07-19 12:02:32 -03:00
Mykola Grymalyuk
889293ca8a Fix formatting 2021-07-19 07:44:37 -06:00
Mykola Grymalyuk
a280e22cdb Adjust csr formatting 2021-07-18 11:40:30 -06:00
lulujyc
bb26a5a5d8 Update ACCEL.md -- don't waste money buying DisplayLink adapters 2021-07-17 17:31:22 +08:00
Mykola Grymalyuk
ba543ca5cf TUI Workflow: Force overwrite existing signature 2021-07-15 16:47:52 -06:00
Mykola Grymalyuk
592b0a707f Fix typos 2021-07-15 09:45:24 -06:00
Mykola Grymalyuk
8da87aea28 Add dosdude patch detection 2021-07-14 09:59:56 -06:00
Mykola Grymalyuk
4842028516 Add better unpatch error handling 2021-07-13 20:20:27 -06:00
Mykola Grymalyuk
8b6bcd47d2 Add minor kernel version detection 2021-07-13 20:11:46 -06:00
Mykola Grymalyuk
081bb56dd0 Add backend to support latebloom
Kext currently not enabled until ready for mass community usage
2021-07-12 19:13:30 -06:00
Mykola Grymalyuk
418de07f84 Fix Wake on WLAN typo
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/383
2021-07-12 12:03:41 -06:00
Mykola Grymalyuk
18e3fa37ff Fix BlessOverride typo
Ref: https://github.com/dortania/OpenCore-Legacy-Patcher/issues/382
2021-07-11 17:08:38 -06:00
ylluminate
c36296f2a0 Update TCC modification in ACCEL.md for Big Sur 2021-07-11 14:57:55 -04:00
Mykola Grymalyuk
8159761833 Fix formatting 2021-07-11 12:28:52 -06:00
Mykola Grymalyuk
87526226cd Fix Windows scanning in OpenCore menu 2021-07-11 12:25:02 -06:00
Mykola Grymalyuk
1cf1e3491d Merge branch 'main' of https://github.com/dortania/Opencore-Legacy-Patcher 2021-07-11 10:27:38 -06:00
Dhinak G
9cf19319c5 Attempt to fix pickle issues 2021-07-10 01:38:41 -04:00
Mykola Grymalyuk
8b47c4fe7b Remove unnecessary sudo 2021-07-09 13:29:52 -06:00
Mykola Grymalyuk
3b3f5b3290 Enhance OS patching detection 2021-07-08 22:55:00 -06:00
Mykola Grymalyuk
637981b405 Add better Mojave/Catalina error handling 2021-07-08 15:43:59 -06:00
Mykola Grymalyuk
20b40f33ce Renove unused libraries 2021-07-08 15:42:15 -06:00
Mykola Grymalyuk
9a388009cd Add better SIP var detection 2021-07-08 15:39:14 -06:00
Mykola Grymalyuk
a4bcefd748 Fix AMFI dectection 2021-07-08 15:22:35 -06:00
Dhinak G
7885673363 Fix CLI when no patches are required 2021-07-08 17:20:14 -04:00
Mykola Grymalyuk
d7aa3889f9 Add FeatureUnlock
Creates less confusion with new name
2021-07-08 10:14:25 -06:00
Mykola Grymalyuk
4dc76e26fc Fix formatting 2021-07-07 18:54:55 -06:00
Mykola Grymalyuk
648bb67b73 Sync changelog 2021-07-07 10:47:39 -06:00
Mykola Grymalyuk
686698272b Merge pull request #371 from dortania/drm-test
Add DRM support for Intel HD4000
2021-07-07 09:16:37 -06:00
Mykola Grymalyuk
6349b64faf Re-enable Safari patch 2021-07-07 09:15:25 -06:00
Mykola Grymalyuk
09b9194b91 Fix crash on Apple Silicon 2021-07-06 22:42:32 -06:00
Mykola Grymalyuk
827aa96168 Update device_probe.py 2021-07-06 22:02:17 -06:00
Mykola Grymalyuk
02ae3c8393 Update SysPatch.py
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/368
2021-07-06 20:26:22 -06:00
Mykola Grymalyuk
8f6bd87721 Fix typo 2021-07-06 14:50:30 -06:00
Mykola Grymalyuk
cef684beb9 Allow hardware decode 2021-07-06 14:39:52 -06:00
Mykola Grymalyuk
6c7c60fb62 Test HD4000 DRM 2021-07-06 14:35:19 -06:00
Mykola Grymalyuk
1b786e57c3 Add board ID check for Sandy Bridge patch 2021-07-06 14:33:51 -06:00
Mykola Grymalyuk
35e6104786 Fix Country Code 2021-07-06 09:31:32 -06:00
Mykola Grymalyuk
ed7c0c6760 Fix CLI crash 2021-07-05 19:08:50 -06:00
Mykola Grymalyuk
25522069dc Update config.yml 2021-07-05 18:29:22 -06:00
Mykola Grymalyuk
cbbbe16031 Update config.yml 2021-07-05 18:28:49 -06:00
Mykola Grymalyuk
8ed540c7b4 Disable blank issues 2021-07-05 17:40:36 -06:00
Mykola Grymalyuk
467016521f Update bug_report.yml 2021-07-05 12:23:02 -06:00
Mykola Grymalyuk
33d166a4f8 Add Bug Form 2021-07-05 12:12:10 -06:00
Mykola Grymalyuk
a03623e678 Merge pull request #360 from SquiDual/patch-1
Update TERMS.md
2021-07-05 11:23:06 -06:00
Mykola Grymalyuk
bb424e8ab9 Add WLAN patch
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/353
2021-07-05 11:21:40 -06:00
Mykola Grymalyuk
9e98121e45 Adjust for GUI 2021-07-05 10:09:50 -06:00
SquiDual
f7d842a7f4 Update TERMS.md
Fix typo
2021-07-05 15:31:26 +08:00
Mykola Grymalyuk
a1981ab56d Fix NightShift in Monterey 2021-07-03 15:04:02 -06:00
Mykola Grymalyuk
e820a9ecc8 Fix AirPlay to Mac patch on 2017 iMacs 2021-07-03 13:21:05 -06:00
Mykola Grymalyuk
b13d47df08 Sync CLI 2021-06-28 09:42:23 -06:00
Dhinak G
e6adcdabac Fix typo
closes #351
2021-06-28 11:23:51 -04:00
Mykola Grymalyuk
3c4795fb47 Fix typo 2021-06-28 00:21:54 -06:00
Mykola Grymalyuk
aaf74b2b6a Fix typo 2021-06-28 00:13:55 -06:00
Mykola Grymalyuk
2c4b29400e Enable TeraScale 2 patches by default on desktops 2021-06-27 23:09:28 -06:00
Mykola Grymalyuk
98da3a16a8 Fix Wifi build crash 2021-06-27 22:30:58 -06:00
Mykola Grymalyuk
b24ee0e38c Fix symlinks with rsync 2021-06-27 22:16:47 -06:00
Mykola Grymalyuk
f557b10c3c Merge pull request #339 from dortania/ioreg-rewrite
Completely revamp IOReg probing
2021-06-27 10:32:58 -06:00
Mykola Grymalyuk
b876eda144 Update POST-INSTALL.md 2021-06-26 14:48:32 -06:00
Mykola Grymalyuk
4c8e256e7e Fix SIP typo for hackintosh 2021-06-26 13:51:40 -06:00
Dhinak G
447afac6eb Update build scripts 2021-06-25 09:13:17 -04:00
Dhinak G
657fc97f4f Completely revamp IOReg probing 2021-06-24 19:55:22 -04:00
Mykola Grymalyuk
1d8f87fb78 Reflect new GUI 2021-06-24 16:05:14 -06:00
Mykola Grymalyuk
c6a34ddeb8 Fix build version 2021-06-24 09:52:01 -06:00
Mykola Grymalyuk
694d0397ea Sync docs
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/146
2021-06-24 09:43:02 -06:00
Mykola Grymalyuk
9cbc243581 Merge pull request #333 from dortania/gui-ci
Implement OpenCore GUI
2021-06-24 09:26:48 -06:00
Mykola Grymalyuk
04a83462c3 Add notarization to TUI
TUI is deprecated, binary will be dropped in the future
2021-06-24 09:19:27 -06:00
Dhinak G
2e3152f23b Fix more IORegistry issues 2021-06-24 09:06:31 -04:00
Mykola Grymalyuk
ba1ac0501b Merge branch 'main' into gui-ci 2021-06-23 22:12:56 -06:00
Mykola Grymalyuk
3ce8b18ecb Update CI 2021-06-23 22:11:45 -06:00
Mykola Grymalyuk
baaa897d10 Add disk type detection 2021-06-23 21:46:42 -06:00
Mykola Grymalyuk
86ffb83c86 Update Constants.py 2021-06-23 20:33:49 -06:00
Mykola Grymalyuk
db708022e9 Fix model issue 2021-06-23 16:20:45 -06:00
Mykola Grymalyuk
cc2eebfd42 Test 2021-06-23 14:34:37 -06:00
Mykola Grymalyuk
8490893960 Fix error 2021-06-23 14:22:34 -06:00
Mykola Grymalyuk
15a5e54cbb Fix zip 2021-06-23 14:06:13 -06:00
Mykola Grymalyuk
1bc9f3d396 Fix 2021-06-23 13:59:24 -06:00
Mykola Grymalyuk
ca22da4ebb Test 2021-06-23 13:58:12 -06:00
Mykola Grymalyuk
e609866c5e Extra codesigning 2021-06-23 13:50:29 -06:00
Mykola Grymalyuk
bb5673e770 Force codesign 2021-06-23 13:15:10 -06:00
Mykola Grymalyuk
024d41c946 Fix incorrect file path 2021-06-23 13:12:12 -06:00
Mykola Grymalyuk
44c4a488f4 Add codesign to GUI 2021-06-23 13:09:42 -06:00
Mykola Grymalyuk
5c09c10301 Fix typo 2021-06-23 12:57:31 -06:00
Mykola Grymalyuk
4f74629e3f Fix CI 2021-06-23 12:54:34 -06:00
Mykola Grymalyuk
56194be716 Fix CI 2021-06-23 12:51:47 -06:00
Mykola Grymalyuk
8cfa90f352 Update CI 2021-06-23 12:34:05 -06:00
Mykola Grymalyuk
1064be45df Add basic GUI to CI pipeline 2021-06-23 11:55:37 -06:00
Mykola Grymalyuk
0428244e60 Update CLI 2021-06-22 22:48:16 -06:00
Mykola Grymalyuk
135125bae6 Update CLI 2021-06-22 22:35:14 -06:00
Mykola Grymalyuk
120f893d1f Fix Root Patch Failure on Nvidia Tesla GPUs 2021-06-22 20:31:41 -06:00
Mykola Grymalyuk
a33c19448f Avoid double sudo in CLI 2021-06-22 16:55:12 -06:00
Mykola Grymalyuk
b8e29eca28 Fix SysPatch 2021-06-22 16:47:30 -06:00
Mykola Grymalyuk
d4873f8070 Fix CLI Root Patching 2021-06-22 16:43:05 -06:00
Dhinak G
c42ec31415 Fix IORegistry issue 2021-06-22 16:25:50 -04:00
Mykola Grymalyuk
8f251c1214 Increment build 2021-06-22 10:19:48 -06:00
Mykola Grymalyuk
40aea143cf Update build 2021-06-22 10:18:17 -06:00
Dhinak G
e6fc4f4a6e Fix NVMe exception 2021-06-22 12:10:19 -04:00
Mykola Grymalyuk
b5ebc7ffd7 Update Recv icons 2021-06-21 20:56:39 -06:00
Mykola Grymalyuk
21482eda88 Add Flavours for macOS 2021-06-21 19:12:53 -06:00
Mykola Grymalyuk
e91148e534 Add note
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/319
2021-06-21 17:01:07 -06:00
Mykola Grymalyuk
c2c2ffc00b Sync PatcherSupportPkg 2021-06-21 16:52:06 -06:00
Mykola Grymalyuk
100c54a82c AirPlay to Mac support on Skylake - Coffeelake Macs 2021-06-21 15:45:27 -06:00
Dhinak G
2b81e38ea8 OCLP-CLI updates 2021-06-21 11:06:40 -04:00
Dhinak G
db2721354c Create requirements.txt 2021-06-20 19:55:23 -04:00
Mykola Grymalyuk
f21856a65b Convert PatcherSupportPkg downloader into function 2021-06-20 15:30:48 -06:00
Mykola Grymalyuk
c7cd22bf65 Fix codesign 2021-06-20 13:31:23 -06:00
Mykola Grymalyuk
3d8c523b7a Work around eficheck kills
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/292
2021-06-20 13:04:08 -06:00
Mykola Grymalyuk
11df8195ce Work around Codesigning killing binary 2021-06-20 13:01:01 -06:00
Mykola Grymalyuk
cdc80ef550 Work around MacBook8,1 bug 2021-06-20 09:32:56 -06:00
Mykola Grymalyuk
85559d4d9e Fix typo 2021-06-20 00:31:41 -06:00
Mykola Grymalyuk
88ecd19369 Add better error handling on file presence 2021-06-20 00:28:10 -06:00
Mykola Grymalyuk
22822be944 Remove curl usage for downloading 2021-06-20 00:23:55 -06:00
Mykola Grymalyuk
55607c5437 Swap ditto for rsync 2021-06-19 23:17:59 -06:00
Mykola Grymalyuk
0459c0a5dc Sync PatcherSupportPkg 2021-06-19 22:00:41 -06:00
Mykola Grymalyuk
2626f9733d Fix OCLP-CLI crash 2021-06-19 21:15:09 -06:00
Mykola Grymalyuk
128e68d735 Fix file path typo 2021-06-19 20:59:12 -06:00
Mykola Grymalyuk
abc1ca5ec9 Fix Google Fonts rendering for HD4000 2021-06-19 20:47:32 -06:00
Mykola Grymalyuk
ed6fee1f94 Fix defaults write running as sudo 2021-06-19 20:16:33 -06:00
Mykola Grymalyuk
edad35e1f5 Add missing CLI args 2021-06-19 10:53:01 -06:00
Mykola Grymalyuk
f8615a8852 Fix CLI support for SysPatch.py 2021-06-19 10:33:56 -06:00
Mykola Grymalyuk
dec0873a41 Clarify SysPatch function names 2021-06-19 10:31:32 -06:00
Mykola Grymalyuk
16e29d3a1e Fix OCLP-CLI support with device_probe 2021-06-19 10:27:23 -06:00
Mykola Grymalyuk
fa7e51252d Fix double wifi typo 2021-06-19 09:30:36 -06:00
Mykola Grymalyuk
84abbb7c11 Add Windows detection to disk install 2021-06-18 19:23:18 -06:00
Mykola Grymalyuk
292e09a0d7 Fix Country Code detection
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/184
2021-06-18 19:08:01 -06:00
Dhinak G
c5fd4036a7 Add country code probing 2021-06-18 20:34:39 -04:00
Mykola Grymalyuk
4843ed92c9 Increment PatcherSupportPkg 2021-06-18 16:53:28 -06:00
Mykola Grymalyuk
f75fac14e6 Fix crash on missing dGPU 2021-06-18 16:46:16 -06:00
Mykola Grymalyuk
ac055a633c Clean unused variables 2021-06-18 13:19:12 -06:00
Mykola Grymalyuk
0dc40318d0 Set CMIO_Unit_Input_ASC.DoNotUseOpenCL 2021-06-18 13:08:19 -06:00
Mykola Grymalyuk
84d0272eda Add PatcherSupportPkg 2021-06-18 12:53:07 -06:00
Mykola Grymalyuk
4b35681b5f Merge branch 'main' of https://github.com/dortania/Opencore-Legacy-Patcher 2021-06-18 10:14:50 -06:00
Mykola Grymalyuk
bbb5c06ddc Merge pull request #314 from dortania/device-probe
Device probe refactor
2021-06-18 10:12:56 -06:00
Mykola Grymalyuk
df0c196a94 Fix dgpu typo 2021-06-18 09:51:59 -06:00
Mykola Grymalyuk
12f9482d3d Update SysPatch.py 2021-06-18 09:29:29 -06:00
Mykola Grymalyuk
5f7b836330 Fix set_defaults incorrectly disabling SIP 2021-06-18 07:42:21 -06:00
Dhinak G
94af2350f4 Use device_probe 2021-06-17 13:18:31 -04:00
Dhinak G
7b758fcf15 Fix High Sierra issues 2021-06-16 10:28:26 -04:00
Dhinak G
fecf9502d0 WIP device probe refactor part 2 2021-06-16 10:28:24 -04:00
Dhinak G
4747c2619f WIP device probe refactor 2021-06-16 10:27:23 -04:00
Dhinak G
4b187a045a Fix DisplayLevel 2021-06-16 10:25:44 -04:00
Mykola Grymalyuk
eb9a24eee7 Increment build 2021-06-15 20:08:22 -06:00
Mykola Grymalyuk
b3d2ac190c Add better error messaging 2021-06-15 18:49:53 -06:00
Mykola Grymalyuk
ce6805507d Fix crash on El Capitan and older 2021-06-15 18:08:22 -06:00
Mykola Grymalyuk
ad7d06d4b2 Sync changelog 2021-06-15 17:45:21 -06:00
Mykola Grymalyuk
04dee1fcff Fix incorrect AMFI and SIP detection 2021-06-15 17:44:04 -06:00
Mykola Grymalyuk
3af65423c6 Merge branch 'main' of https://github.com/dortania/Opencore-Legacy-Patcher 2021-06-15 17:43:12 -06:00
Dhinak G
af6c98b54d Fix crash with no boot args
Fixes #304
2021-06-15 14:36:54 -04:00
Mykola Grymalyuk
eb9b137323 Increment Build 2021-06-15 09:55:10 -06:00
Mykola Grymalyuk
178c604507 Clean Detection Code 2021-06-15 09:49:16 -06:00
Mykola Grymalyuk
88b660ecf8 Merge pull request #303 from dortania/bump-binaries
Update Lilu to acidanthera/Lilu@0fd1b298
2021-06-15 09:22:57 -06:00
Dhinak G
3feb5a61f6 Update Lilu to acidanthera/Lilu@0fd1b298 2021-06-15 08:26:37 -04:00
Mykola Grymalyuk
b8708ff193 Fix HD 4000 models 2021-06-14 22:42:01 -06:00
Mykola Grymalyuk
8da945833c Clarify HD 4000 bugs 2021-06-14 22:11:38 -06:00
Mykola Grymalyuk
ee10c104b7 Add Monterey Hardware Issues 2021-06-14 22:02:20 -06:00
Mykola Grymalyuk
803a699658 Add TeraScale 2 Acceleration 2021-06-14 08:57:55 -06:00
Mykola Grymalyuk
88ee0e813e Fix typo indentation 2021-06-13 12:49:12 -06:00
Mykola Grymalyuk
cc44024a8c Fix typo 2021-06-13 12:02:19 -06:00
Mykola Grymalyuk
880432970b Add DebugEnhancer 2021-06-13 10:47:10 -06:00
Mykola Grymalyuk
5d6587100e Clean up AMFI and SIP checks 2021-06-13 09:48:21 -06:00
Dhinak G
df8d95b815 Disable SBM and SIP on HD4000 Macs 2021-06-12 23:04:58 -04:00
Mykola Grymalyuk
f1a868199e Update Constants.py 2021-06-12 19:23:35 -06:00
Dhinak G
d0e77cca52 Update binaries, again 2021-06-12 19:37:51 -04:00
Dhinak G
eaadaa2d45 Update binaries and add AppleIntelSharedGraphics.bundle 2021-06-12 17:15:24 -04:00
Mykola Grymalyuk
4a5e3c89b6 Add AppleIntelIVBVA.bundle 2021-06-12 12:22:39 -06:00
Mykola Grymalyuk
a0eca53c58 Add Intel HD4000 Acceleration 2021-06-12 11:01:52 -06:00
Mykola Grymalyuk
8c092494a8 Fix crash 2021-06-12 08:34:42 -06:00
Mykola Grymalyuk
5f69a1c917 Fix Sidecar and CPU renaming 2021-06-11 21:54:10 -06:00
Mykola Grymalyuk
856ac19314 Fix no SMBIOS spoof option 2021-06-11 21:08:21 -06:00
Mykola Grymalyuk
6c5aa244af Expand AGDP Override models 2021-06-11 15:08:36 -06:00
Mykola Grymalyuk
f42bdcee03 Fix incorrectly enabling kexts 2021-06-11 11:36:53 -06:00
Mykola Grymalyuk
b49db7e739 Set correct SMBIOS for MacBookPro11,2
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/287
2021-06-11 10:56:19 -06:00
Mykola Grymalyuk
ec20d7b581 Remove duplicate boot-arg 2021-06-11 10:34:44 -06:00
Mykola Grymalyuk
1c75353f27 Avoid setting UIScale
Mac firmwares will correctly set this, overriding is not needed
2021-06-11 10:13:41 -06:00
Mykola Grymalyuk
b14ca8689a Merge pull request #285 from lulujyc/patch-1
Fix MacBook8,1 SMBIOS Spoofing
2021-06-11 10:11:45 -06:00
lulujyc
bd20cf6a1f Update Build.py 2021-06-11 21:47:34 +08:00
lulujyc
b23e9c2eaa Update ModelArray.py 2021-06-11 21:46:09 +08:00
Mykola Grymalyuk
e625d9803b Add basic Ivy Bridge framebuffer support 2021-06-10 09:09:03 -06:00
Mykola Grymalyuk
ae8bba5582 Merge pull request #282 from dortania/syspatch-monterey
Refactor SysPatch for wider OS support
2021-06-09 19:24:34 -06:00
Mykola Grymalyuk
f19f08fc06 Expand AddIntelGen3Accel 2021-06-09 19:21:43 -06:00
Mykola Grymalyuk
5fd17cc5e8 Fix skipping text 2021-06-09 19:21:20 -06:00
Mykola Grymalyuk
3c6d0de2e3 Clean up SysPatch 2021-06-09 18:50:32 -06:00
Mykola Grymalyuk
d3de15b594 Heavily refactor SysPatch 2021-06-09 17:27:14 -06:00
Mykola Grymalyuk
b0db4739ad Prep for SysPatch refactor 2021-06-09 17:26:49 -06:00
Mykola Grymalyuk
2584c16d41 Fix Kext name 2021-06-09 11:59:04 -06:00
Mykola Grymalyuk
b4caffe0d4 Merge pull request #279 from lulujyc/patch-1
Support HiDPI Picker for Newly Unsupported Macs
2021-06-09 11:57:20 -06:00
Mykola Grymalyuk
46734a7c5a Limit IO80211 Patched Kexts to Big Sur 2021-06-09 09:04:30 -06:00
lulujyc
484f434a67 Update ModelArray.py 2021-06-09 18:59:51 +08:00
Mykola Grymalyuk
033b577552 Add missing Labels 2021-06-08 17:42:44 -06:00
Mykola Grymalyuk
f1e2a320dc Fix iMac13,x sleep 2021-06-08 16:47:32 -06:00
Mykola Grymalyuk
3885bf894a Remove unused kext 2021-06-08 16:28:06 -06:00
Mykola Grymalyuk
04ca447eb7 Fix OpenCanopy icons 2021-06-08 15:17:22 -06:00
Mykola Grymalyuk
41486c0215 Fix SSE4,2 Emulation 2021-06-08 15:13:57 -06:00
Mykola Grymalyuk
69035db2d7 Merge pull request #272 from dortania/monterey-support
Add macOS Monterey support
2021-06-08 13:20:00 -06:00
Mykola Grymalyuk
c98021b14c Update Apple Binaries 2021-06-08 11:49:53 -06:00
Mykola Grymalyuk
b576e5a511 Increment binaries 2021-06-08 11:27:00 -06:00
Mykola Grymalyuk
9b69700733 Fix XHCI hang
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/269
2021-06-08 10:14:35 -06:00
Mykola Grymalyuk
9d731c065e Clean up code 2021-06-08 10:07:30 -06:00
Mykola Grymalyuk
93aa69b0b0 Add inital macOS 12 support 2021-06-07 18:35:05 -06:00
Mykola Grymalyuk
3679324371 Fix Thunderbolt Ethernet support on MacBookAir4,x
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/268
2021-06-06 13:16:09 -06:00
Mykola Grymalyuk
ebc6611f5c Revert new mount code 2021-06-06 10:11:21 -06:00
Mykola Grymalyuk
16ac5a6093 Fix Arch settings for kexts 2021-06-05 12:52:40 -06:00
Mykola Grymalyuk
b1479fbc14 Fix OpenCore start 2021-06-05 12:36:40 -06:00
Mykola Grymalyuk
375b7c2fd2 Add NVMe and FireWire support
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/267
2021-06-05 11:38:04 -06:00
Mykola Grymalyuk
95afb7d109 Implement basic CPU detection 2021-06-04 15:45:26 -06:00
Mykola Grymalyuk
3956908482 Fix DeviceProperty and Root Volume detection 2021-06-04 15:21:59 -06:00
Mykola Grymalyuk
e0eda1fa0c Increment build 2021-06-02 12:12:21 -06:00
Mykola Grymalyuk
dc6b14f962 Avoid patching on macOS 12
Can harmfully damage the OS if not properly validated first
2021-06-02 09:12:43 -06:00
Mykola Grymalyuk
dd798c02d1 Update ACCEL.md 2021-06-01 20:41:56 -06:00
Mykola Grymalyuk
4fc0f4dee7 Reslove Codesigning issues 2021-06-01 11:30:21 -06:00
Mykola Grymalyuk
81379dc857 Fix GPU Switching on MacBookPro6,x 2021-06-01 11:22:53 -06:00
Mykola Grymalyuk
1d7eea068a Sync TESTED.md 2021-06-01 09:56:05 -06:00
Mykola Grymalyuk
0978bcbb87 Remove unnecessary calculations 2021-05-31 21:15:20 -06:00
Mykola Grymalyuk
2da88a22d7 Support Minimal SMBIOS spoofing on ElCap era Macs 2021-05-31 14:01:30 -06:00
Mykola Grymalyuk
ccb9aea1e6 Remove unused models.json 2021-05-30 16:18:02 -06:00
Mykola Grymalyuk
6b8d1743b3 Fix command 2021-05-30 15:15:38 -06:00
Mykola Grymalyuk
cf0f613a5f Add ApECID backend 2021-05-29 09:39:05 -06:00
Mykola Grymalyuk
ba49f45c4c Remove duplicate SMBIOS 2021-05-28 07:40:08 -06:00
Mykola Grymalyuk
3e5ade8047 Merge branch 'main' of https://github.com/dortania/Opencore-Legacy-Patcher 2021-05-27 10:12:03 -06:00
Mykola Grymalyuk
3e47853e75 Fix linting 2021-05-27 10:11:59 -06:00
Mykola Grymalyuk
d19f5ba72f Merge pull request #249 from HAUDRAUFHAUN/patch-1
📝 align logo in readme
2021-05-27 09:52:29 -06:00
Mykola Grymalyuk
4918873ad9 Additionally Centre Header 2021-05-27 09:51:43 -06:00
Mykola Grymalyuk
6ecb8e26c9 Allow custom SMBIOS overriding 2021-05-27 09:47:58 -06:00
HAUDRAUFHAUN
52ad1f7399 📝 align logo in readme 2021-05-27 08:21:05 +02:00
Mykola Grymalyuk
f6ee429c8e Fix TESTED.md table 2021-05-26 07:57:14 -06:00
Mykola Grymalyuk
4de79ce633 Merge pull request #247 from flagersgit/patch-1
Add more Tesla, Fermi, and Kepler Device IDs
2021-05-25 21:11:47 -06:00
flagersgit
d7c2904868 Add missing Tesla, Fermi, and Kepler Device IDs 2021-05-25 22:23:16 -04:00
Mykola Grymalyuk
24eec279d8 Fix SysPatch.py 2021-05-25 10:43:20 -06:00
Mykola Grymalyuk
d49575b22b Sync DONATE.md
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/242
2021-05-25 10:08:06 -06:00
Mykola Grymalyuk
3271bcf92f Fix device tree renaming 2021-05-25 09:56:02 -06:00
Mykola Grymalyuk
41514a35f5 Fix Photos app distortion 2021-05-24 10:53:45 -06:00
Mykola Grymalyuk
8e1809cf3d Fix pythong 3.8 support and XhciDxe
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/240
2021-05-23 11:37:48 -06:00
Mykola Grymalyuk
98bc71e46a Fix UEFI output on MacPro3,1 with PC GPUs 2021-05-23 11:31:56 -06:00
Mykola Grymalyuk
d1dd8a0e2e Update Python requirement 2021-05-22 00:36:02 -06:00
Mykola Grymalyuk
d20d9975c1 Fix screen printing 2021-05-21 11:38:44 -06:00
Mykola Grymalyuk
ecca9f2c72 Clean unused function 2021-05-21 09:27:26 -06:00
Mykola Grymalyuk
88724c4950 Fix erroring on XHCI detection
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/236
2021-05-21 07:42:43 -06:00
Mykola Grymalyuk
fd48419cb2 Update patch set information 2021-05-19 19:37:56 -06:00
Mykola Grymalyuk
ff5543f9dc Merge pull request #232 from dortania/recovery-tests
Partial Support Patching from RecoveryOS
2021-05-19 13:36:28 -06:00
Mykola Grymalyuk
0130fce0c6 Update SysPatch.py 2021-05-19 13:15:46 -06:00
Mykola Grymalyuk
d8258a73fd Update SysPatch.py 2021-05-19 13:02:19 -06:00
Mykola Grymalyuk
939e942f50 Update SysPatch.py 2021-05-19 12:32:04 -06:00
Mykola Grymalyuk
603aedb6ae Update SysPatch.py 2021-05-19 12:16:29 -06:00
Mykola Grymalyuk
05a51bf32e Update SysPatch.py 2021-05-19 11:27:20 -06:00
Mykola Grymalyuk
792a99ce04 Update Utilities.py 2021-05-19 11:10:26 -06:00
Mykola Grymalyuk
a6fbbc0c44 Fix incorrectly stripping disk ID in recovery 2021-05-19 11:01:58 -06:00
Mykola Grymalyuk
9b7497946a Update Constants.py 2021-05-19 10:48:40 -06:00
Mykola Grymalyuk
9a68ce67eb Update SysPatch.py 2021-05-19 10:48:10 -06:00
Mykola Grymalyuk
a6ccd28671 Update SysPatch.py 2021-05-19 09:58:37 -06:00
Mykola Grymalyuk
f7f66cd732 Fix SIP parsing 2021-05-19 09:51:30 -06:00
Mykola Grymalyuk
9b316bbbca Fix crash on APFS snapshotting 2021-05-19 09:28:20 -06:00
Mykola Grymalyuk
db39757655 Fix elevation crash 2021-05-19 09:16:02 -06:00
Mykola Grymalyuk
88903e8edf Fix import 2021-05-19 09:07:18 -06:00
Dhinak G
dd968a3244 Fixes 2021-05-19 09:58:01 -04:00
Mykola Grymalyuk
a42811b907 Clean unused binaries 2021-05-18 18:05:35 -06:00
Mykola Grymalyuk
15aacddd23 Add XHCI UEFI Driver 2021-05-17 20:40:09 -06:00
Mykola Grymalyuk
f4d3154fd1 Increment Build Version 2021-05-17 12:32:40 -06:00
Mykola Grymalyuk
93e9a8f381 Add SeedUtil option to Advanced Patcher Settings 2021-05-16 21:49:54 -06:00
Mykola Grymalyuk
69ab0fd17b Increment Apple Binaries 2021-05-16 13:18:05 -06:00
Mykola Grymalyuk
504cdc6214 Merge pull request #227 from dortania/terascale-2-test
Add basic MacBookPro8,2/3 Brightness Control
2021-05-16 13:07:51 -06:00
Mykola Grymalyuk
d3b9b6e87a Sync changelog 2021-05-16 12:23:55 -06:00
Mykola Grymalyuk
0a04c5c156 Enable Brightness MBP8,x 2021-05-16 11:31:52 -06:00
Mykola Grymalyuk
1799625f99 Test TeraScale 2 support 2021-05-16 10:07:02 -06:00
Mykola Grymalyuk
8f13906d2c Add disk picker 2021-05-15 19:09:25 -06:00
Mykola Grymalyuk
771186e6cf Avoid using sudo and fdesetup calls in Recovery 2021-05-15 18:58:25 -06:00
Mykola Grymalyuk
da32e9d4e3 Test Recovery picker 2021-05-15 18:29:42 -06:00
Mykola Grymalyuk
935b3819f0 Fix typo 2021-05-15 18:09:46 -06:00
Mykola Grymalyuk
1abe08bcac Fix screen clear erroring in RecoveryOS 2021-05-15 18:07:17 -06:00
Mykola Grymalyuk
09779f62b3 Enhance RecoveryOS support 2021-05-15 17:54:31 -06:00
Mykola Grymalyuk
abe865f999 Fix MacBookPro8,2/3 Hibernation wake 2021-05-15 17:42:09 -06:00
Mykola Grymalyuk
f3734f9daa Merge pull request #223 from lulujyc/patch-1
Update TESTED.md
2021-05-15 10:29:42 -06:00
lulujyc
7bc993ccc9 Update TESTED.md 2021-05-15 17:36:39 +08:00
Mykola Grymalyuk
ab3762e42e Expand AGPM and AGDC Override support 2021-05-14 20:45:15 -06:00
Mykola Grymalyuk
58ed1634db Fix missing variable 2021-05-14 18:47:21 -06:00
Mykola Grymalyuk
7d579a0942 Add nightly link 2021-05-14 18:43:37 -06:00
Mykola Grymalyuk
4daa5c4755 Remove unused OCLP binary from GA 2021-05-14 18:38:57 -06:00
Mykola Grymalyuk
00c89089c3 Enable PanicNoKextDump by default 2021-05-14 18:14:16 -06:00
Mykola Grymalyuk
68f82e1993 Work around AppleHDA linking issues 2021-05-14 16:49:10 -06:00
Mykola Grymalyuk
356646725e Refactor for better file path handling 2021-05-14 16:23:56 -06:00
Mykola Grymalyuk
608decc9de Support space in path when downloading Root Patches
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/194
2021-05-14 15:51:19 -06:00
Mykola Grymalyuk
9eecbae6da Remove reliance on ARPT device naming
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/216
2021-05-14 10:59:20 -06:00
Mykola Grymalyuk
3197510b72 Sync changelog 2021-05-13 08:39:17 -06:00
Mykola Grymalyuk
4830d462aa Merge pull request #218 from dortania/brightness-test
Remove AppleBacklightFixup reliance
2021-05-13 08:38:28 -06:00
Mykola Grymalyuk
fc1cb53c1d Merge branch 'main' into brightness-test 2021-05-13 08:38:00 -06:00
Mykola Grymalyuk
7446da8e1f Add agdpmod=vit9696 to all Nvidia Metal iMacs
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/217
2021-05-13 08:32:23 -06:00
Mykola Grymalyuk
04019798e9 Add iMac10,1 default dGPU pathing 2021-05-12 17:48:47 -06:00
Mykola Grymalyuk
20a900f052 Add Monitor Injection 2021-05-12 17:29:03 -06:00
Mykola Grymalyuk
df469be05f Remove AppleBacklightFixup reliance 2021-05-12 15:38:23 -06:00
Mykola Grymalyuk
d42d2d09e9 Fix SysPatch.py rebuild arg 2021-05-12 12:53:28 -06:00
Mykola Grymalyuk
f8c39e957e Clean unused imports 2021-05-12 09:47:11 -06:00
Mykola Grymalyuk
78760b8a08 Fix crashing when Wireless module not present 2021-05-12 08:42:05 -06:00
Mykola Grymalyuk
276883059f Increment build 2021-05-11 18:53:45 -06:00
Mykola Grymalyuk
cabb5da981 Fix versioning 2021-05-11 18:26:29 -06:00
Mykola Grymalyuk
f8afde61fe Sync changelog 2021-05-11 18:23:39 -06:00
Mykola Grymalyuk
95a802a402 Fix Device Path formatting on 2012+ iMacs 2021-05-11 17:52:33 -06:00
Mykola Grymalyuk
e5fd984daf Fix audio support on iMac7,1 and iMac8,1 2021-05-11 10:52:56 -06:00
Mykola Grymalyuk
0a0a59feea Fix NVMe properties applying with OC installed
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/212
2021-05-11 10:44:23 -06:00
Mykola Grymalyuk
75200e9c8d Remove unused setting 2021-05-10 17:55:13 -06:00
Mykola Grymalyuk
83d4cc5a16 Work-around BT2.0 panic
Based on StarPlayrX’s BigMac patch
2021-05-10 10:30:07 -06:00
Mykola Grymalyuk
faecdc3b0c Add misc info 2021-05-10 09:18:28 -06:00
Mykola Grymalyuk
0fe230e56b Fix typo 2021-05-10 08:55:29 -06:00
Mykola Grymalyuk
6f13247151 Add accel issues docs 2021-05-10 08:53:57 -06:00
Mykola Grymalyuk
24a8249a60 Update docs 2021-05-09 17:38:52 -06:00
Mykola Grymalyuk
7df345d286 Fix USB mapping witout CPUFriend 2021-05-09 10:29:52 -06:00
Mykola Grymalyuk
7c0088e0ff Merge pull request #208 from dortania/accel-testing
Import dosdude1 patches
2021-05-09 08:08:38 -06:00
Mykola Grymalyuk
204cf5beea Increment Apple binaries 2021-05-09 08:07:57 -06:00
Mykola Grymalyuk
04b69f4288 Fix typo 2021-05-08 22:25:28 -06:00
Mykola Grymalyuk
b4ef000fc0 Import dosdude1 patches 2021-05-08 22:24:05 -06:00
Mykola Grymalyuk
78038b9607 Add partial TeraScale 2 support 2021-05-08 22:04:33 -06:00
Mykola Grymalyuk
a458b68f2b Merge pull request #207 from dortania/pci-id
Revamp PCI ID handling
2021-05-08 21:39:21 -06:00
Mykola Grymalyuk
1509dffa1c Fix iMac7,1 audio support
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/191
2021-05-08 21:38:36 -06:00
Mykola Grymalyuk
e274137503 Fix codesigning crashes 2021-05-08 20:52:26 -06:00
Mykola Grymalyuk
97bfb9f730 Clean up SysPatch code 2021-05-08 20:33:10 -06:00
Mykola Grymalyuk
b1f8b80e83 Fix typo 2021-05-08 20:18:30 -06:00
Mykola Grymalyuk
f0a339b0f7 Rework PCI ID storage 2021-05-08 20:14:51 -06:00
Mykola Grymalyuk
6bb5c2e74e Update donate.md 2021-05-08 18:07:50 -06:00
Mykola Grymalyuk
5f1b732e12 Heavily expand Graphics ID list 2021-05-08 17:35:26 -06:00
Mykola Grymalyuk
2a9f94ac99 Add user-configurable CPUFriend
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/199
2021-05-08 14:04:01 -06:00
Mykola Grymalyuk
9b89b62219 Add device ID comments 2021-05-08 12:51:03 -06:00
Mykola Grymalyuk
315be87f31 Fix table 2021-05-08 12:35:26 -06:00
Mykola Grymalyuk
0613ad9bc3 Merge pull request #196 from fussel132/patch-1
Adding successful report of MacBookPro7,1
2021-05-08 12:34:25 -06:00
Mykola Grymalyuk
0ff6977bb7 Add iMac12,x troubleshooting 2021-05-08 12:29:19 -06:00
Mykola Grymalyuk
025d03e7e8 Fix crashing 2021-05-07 14:56:32 -06:00
Mykola Grymalyuk
a4efb1ecd5 Fix DevicePath handling
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/195
2021-05-07 08:23:12 -06:00
Mykola Grymalyuk
7340539742 Fix iMac display output support
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/190
2021-05-07 07:54:37 -06:00
Mykola Grymalyuk
377fdc8de1 Fix crashing on Nvidia iGPUs 2021-05-05 15:32:51 -06:00
Fussel132
36a68ca147 Adding successful report of MacBookPro7,1
Tried out Big Sur 11.3 on MacBookPro7,1 with OpenCore patcher version v0.1.2, working fine (with graphics acceleration).  Not working: Keyboard backlight and graphical issues with sliders in control center.
2021-05-05 23:11:25 +02:00
Mykola Grymalyuk
922f207da7 Add better debug during Root Patch 2021-05-05 12:38:20 -06:00
Mykola Grymalyuk
ec4d1d4471 Fix crash 2021-05-05 12:34:23 -06:00
Mykola Grymalyuk
057b8739d3 Refactor Device Probing 2021-05-05 12:28:24 -06:00
Dhinak G
332376030e Fix typo in storage device detection
Fixes #192
2021-05-05 08:19:58 -04:00
Mykola Grymalyuk
302cfb3bef Add built-in to party PCI drives 2021-05-04 22:24:14 -06:00
Mykola Grymalyuk
0cb70d896d Fix iMac9,1 audio support 2021-05-04 21:03:11 -06:00
Mykola Grymalyuk
f5c511366e Fix NightShift disabling on Minimal SMBIOS configs 2021-05-04 14:07:50 -06:00
Mykola Grymalyuk
79a2f49739 Fix integer 2021-05-04 00:13:05 -06:00
Mykola Grymalyuk
d6b5b65183 Avoid having too fast RAM 2021-05-04 00:11:30 -06:00
Mykola Grymalyuk
89444bc4bc Fix input handling 2021-05-04 00:03:49 -06:00
Mykola Grymalyuk
2435a7e651 Fix typo 2021-05-03 23:56:48 -06:00
Mykola Grymalyuk
1957e70cfd Fix CPU Renaming on non-i5 models 2021-05-03 23:49:43 -06:00
Mykola Grymalyuk
aba21bca43 Fix crash 2021-05-03 21:33:05 -06:00
Mykola Grymalyuk
ccc9549fc4 Fix typo 2021-05-03 21:24:30 -06:00
Mykola Grymalyuk
07bd8fa33f Support custom CPU names in About This Mac 2021-05-03 21:12:01 -06:00
Mykola Grymalyuk
85e0761460 Fix MacBookPro5,4 audio
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/185
2021-05-03 12:44:11 -06:00
Mykola Grymalyuk
5bca1a0ad6 Add Innie Support
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/187
2021-05-03 12:28:47 -06:00
Mykola Grymalyuk
ca4051b10d Increment binaries to release 2021-05-03 09:05:57 -06:00
Mykola Grymalyuk
ece4065de3 Clarify changelog 2021-05-02 23:00:35 -06:00
Mykola Grymalyuk
e5aea82b6f Add Sidecar support 2021-05-02 22:59:13 -06:00
Mykola Grymalyuk
85fc1d6627 Adjust CPUFriend for custom SMBIOS better 2021-05-02 20:25:24 -06:00
Mykola Grymalyuk
a0e9de2cb8 Strip garbage code 2021-05-02 18:38:27 -06:00
Mykola Grymalyuk
c39b719093 Fix pci-aspm-default parsing on non-int vars
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/183
2021-05-02 16:41:42 -06:00
Mykola Grymalyuk
dd7cc97645 Fix comment 2021-05-02 13:56:32 -06:00
Mykola Grymalyuk
76f104ddab Increment binaries
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/180
2021-05-02 12:35:50 -06:00
Mykola Grymalyuk
6f1ed43f4e Disable L0 for NVMe drives 2021-05-01 10:40:06 -06:00
Mykola Grymalyuk
7209aa98d0 Append 0x2 for NVMe PM 2021-05-01 08:52:26 -06:00
Mykola Grymalyuk
0ac33532f2 Fix MacBook6,1 audio support
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/179
2021-04-30 23:36:22 -06:00
Mykola Grymalyuk
d40e9c869d Allow native Macs to use OpenCore
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/178
2021-04-30 23:27:43 -06:00
Mykola Grymalyuk
d5ff1edc44 Add 3rd Party NVMe Power Management Patches 2021-04-30 22:51:12 -06:00
Mykola Grymalyuk
c3d8d77b07 Add documentation on UEFI Windows install 2021-04-29 21:46:25 -06:00
Mykola Grymalyuk
9ae7be59b5 Add Windows UEFI Audio support
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/133
2021-04-29 20:53:54 -06:00
Mykola Grymalyuk
e1be0d32ab Update config 2021-04-29 18:41:07 -06:00
Mykola Grymalyuk
a675771bc6 Add better model logging to config.plist 2021-04-29 18:20:49 -06:00
Mykola Grymalyuk
c0a15477c9 Update docs 2021-04-29 08:46:20 -06:00
Mykola Grymalyuk
c2291ab590 Merge pull request #176 from Ausdauersportler/patch-4
How to apply the legacy Video Patches
2021-04-29 08:31:48 -06:00
Mykola Grymalyuk
be9cc0d41b Merge pull request #177 from Ausdauersportler/patch-5
make OLCP EFI default boot object
2021-04-29 08:30:52 -06:00
Ausdauersportler
01e0f3061c make OLCP EFI default boot object
Select EFI by pressing control. You should possibly change the picture (../images/efi-boot.png) with one showing the circle arrow in that case!
2021-04-29 16:27:19 +02:00
Mykola Grymalyuk
8cd7b0b43b Clarify Imac Metal Setting 2021-04-29 07:48:32 -06:00
Mykola Grymalyuk
ef11715e79 Probe hardware for Backlight pathing 2021-04-29 07:41:07 -06:00
Ausdauersportler
7a7ff557ea How to apply the legacy Video Patches
Added two pictures  and some text about the legacy video patching process.
2021-04-29 11:10:38 +02:00
Mykola Grymalyuk
cb307d852a Update DONATE.md 2021-04-28 17:39:10 -06:00
Mykola Grymalyuk
e943c69c82 Update README 2021-04-28 10:31:25 -06:00
Mykola Grymalyuk
fa8d3a800e Remove ACPI Patching for Minimal SMBIOS 2021-04-28 09:45:30 -06:00
Mykola Grymalyuk
f592524054 Fix incorrect agdpmod arg for AMD GPUs 2021-04-28 08:34:15 -06:00
Mykola Grymalyuk
aaa114e753 Fix disabling non-existent iGPU in iMac11,2 2021-04-27 14:19:02 -06:00
Mykola Grymalyuk
0625bdb3d1 Fix reduced output speeds on BCM94360 Wifi cards
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/170
2021-04-27 07:14:20 -06:00
Mykola Grymalyuk
7e918c86e2 Fix URL error message 2021-04-26 19:48:28 -06:00
Mykola Grymalyuk
2216bc0212 Fix IDE support on 2008 era MacBooks and iMacs
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/169
2021-04-26 19:04:35 -06:00
Mykola Grymalyuk
e76ceb7cf4 Update Discord link 2021-04-26 14:59:19 -06:00
Mykola Grymalyuk
22b9853452 Fix CLI model checking
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/168
2021-04-26 09:11:14 -06:00
Mykola Grymalyuk
8c7e991779 Revert MBP8,x AMD patch 2021-04-25 15:19:08 -06:00
Mykola Grymalyuk
b2fcb77c24 Fix more typos 2021-04-25 00:37:17 -06:00
Mykola Grymalyuk
2ac80fda32 Merge branch 'main' of https://github.com/dortania/Opencore-Legacy-Patcher into main 2021-04-25 00:26:02 -06:00
Mykola Grymalyuk
31e48c7d96 Fix misc typos 2021-04-25 00:25:54 -06:00
Mykola Grymalyuk
18bbe60088 Merge pull request #167 from guanzhangrtk/main
Fix typo
2021-04-25 00:15:56 -06:00
guanzhangrtk
5a0ad4379e Fix typo 2021-04-24 23:12:13 -07:00
Mykola Grymalyuk
8971a3c4a9 SysPatch.py: Fix typo 2021-04-24 23:57:07 -06:00
Mykola Grymalyuk
37cd66265b Fix Acceleration Linking for Intel Ironlake iGPUs 2021-04-24 23:04:13 -06:00
Dhinak G
faad02a7fa Sync changelog 2021-04-24 14:10:43 -04:00
Dhinak G
06d4c86ad8 Fix report error output 2021-04-24 14:09:28 -04:00
Mykola Grymalyuk
a5998cb226 Sync changelog 2021-04-24 10:35:22 -06:00
Mykola Grymalyuk
e86b48e0fc Update GPU detection 2021-04-24 09:38:09 -06:00
Mykola Grymalyuk
53a59c0ce3 Update docs 2021-04-24 09:24:03 -06:00
Mykola Grymalyuk
fe5045edbe Fix dGPU detection on patcher start 2021-04-24 09:12:05 -06:00
Mykola Grymalyuk
6a357d8cdf Disable AMD TeraScale 2 GPUs in MacBook Pros 2021-04-24 08:33:55 -06:00
Mykola Grymalyuk
5005d1f1eb Update SysPatch.py 2021-04-24 00:35:27 -06:00
Mykola Grymalyuk
b801afcff0 Enable GPU Accel on legacy GPUs by default 2021-04-23 20:30:52 -06:00
Mykola Grymalyuk
758c1d9649 Fix TeraScale 1 GPU detection 2021-04-22 20:27:24 -06:00
Mykola Grymalyuk
9e6d742c6d Fix iMac11,3 Nvidia boot issues after PRAM reset 2021-04-22 10:01:51 -06:00
Mykola Grymalyuk
de1b893049 Disable iGPU when running iMac13,x/14,x 2021-04-22 09:51:54 -06:00
Mykola Grymalyuk
0483b5651a Patch AppleIntelSNBGraphicsFB’s board ID 2021-04-22 07:45:51 -06:00
Mykola Grymalyuk
7680c20221 Fix build crashing on iMac7,1 2021-04-21 21:55:09 -06:00
Mykola Grymalyuk
349bdb2936 Update iMac7,1 notes 2021-04-21 21:05:13 -06:00
Mykola Grymalyuk
60dc7c4490 Fix USB kernel panics on iMac7,1 2021-04-21 20:43:57 -06:00
Mykola Grymalyuk
7aaaa79571 Merge pull request #163 from dortania/test-sandy
Misc fixes
2021-04-21 18:14:24 -06:00
Mykola Grymalyuk
b83495702b Disable HD3000 work-around 2021-04-21 18:13:54 -06:00
Mykola Grymalyuk
d482443f0e Allow Legacy Acceleration Patches on Mac Pros and Xserves 2021-04-21 18:13:02 -06:00
Mykola Grymalyuk
d4b55ad0e4 Fix build crashing when no wifi card is present 2021-04-21 17:47:51 -06:00
Mykola Grymalyuk
77cff8a6f3 Initial Sandy Bridge test 2021-04-21 15:23:43 -06:00
Mykola Grymalyuk
2e62f1f65c Add better kmutil crash handling 2021-04-21 14:42:54 -06:00
Mykola Grymalyuk
87359ee642 Fix typo 2021-04-21 12:43:07 -06:00
Mykola Grymalyuk
0b8c4b20b6 Update menubar patches 2021-04-21 12:17:38 -06:00
Mykola Grymalyuk
3049d1adef Fix misc issues
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/161
2021-04-21 10:53:21 -06:00
Mykola Grymalyuk
e3e9be01a2 Fix iMac13/14,x building 2021-04-21 08:02:37 -06:00
Mykola Grymalyuk
f178b22423 Add beta support for Legacy GPU Acceleration 2021-04-20 18:38:42 -06:00
Mykola Grymalyuk
797b56b9f9 Fix DRM support on Nvidia-only configurations 2021-04-20 15:00:53 -06:00
Mykola Grymalyuk
d08807e301 Fix bluetooth on iMac12,x 2021-04-20 11:19:31 -06:00
Mykola Grymalyuk
c78f7d0bdb Fix crashing on custom models 2021-04-20 09:11:56 -06:00
Mykola Grymalyuk
bd4564f98e Clarify uninstallation docs 2021-04-20 07:15:04 -06:00
Mykola Grymalyuk
25a5a3d168 Add MouSSE support to iMac10,1 with Metal AMD GPU 2021-04-18 10:45:01 -06:00
Mykola Grymalyuk
4b54711434 Fix iMac11,3 GFX0 pathing
Reference https://github.com/dortania/OpenCore-Legacy-Patcher/issues/89
2021-04-18 09:11:14 -06:00
Mykola Grymalyuk
6eec2e95b8 Increment build 2021-04-17 17:34:02 -06:00
Mykola Grymalyuk
03ed8ed1f0 Fix crash on iMacs with Metal GPUs 2021-04-17 17:05:32 -06:00
Mykola Grymalyuk
9720d90493 Update docs
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/155
2021-04-17 13:40:27 -06:00
Mykola Grymalyuk
d0eada1d85 Increment build 2021-04-17 12:49:11 -06:00
Mykola Grymalyuk
06b3cf2e90 Fix workflow name 2021-04-17 09:45:13 -06:00
Mykola Grymalyuk
bbd379a584 Allow Root Patches by default on legacy GPUs 2021-04-17 09:44:12 -06:00
Mykola Grymalyuk
2b04a06adc Fix typo 2021-04-15 21:20:25 -06:00
Mykola Grymalyuk
703e926b96 Build CLI: Fix typo 2021-04-15 21:17:11 -06:00
Mykola Grymalyuk
3d10404da5 Fix CI building 2021-04-15 21:14:12 -06:00
Mykola Grymalyuk
41a189444b Add basic CLI support 2021-04-15 21:07:53 -06:00
Mykola Grymalyuk
6ae572f74f Misc cleanup 2021-04-15 20:46:46 -06:00
Mykola Grymalyuk
fa045e96e7 Fix GFX0 parsing for iMac11,x/12,x 2021-04-15 20:28:32 -06:00
Mykola Grymalyuk
2a12e861ac Clean up AMD brightness patch logic 2021-04-15 20:10:27 -06:00
Mykola Grymalyuk
31c0845667 Temporarily disable AMD Brightness patches
Currently will fail linking when AMDx3000 is installed
2021-04-15 19:55:51 -06:00
Mykola Grymalyuk
a97c6c9baa Merge pull request #151 from flagersgit/patch-1
Remove confusing / unapplicable language
2021-04-15 19:06:19 -06:00
Flagers
e4c433730f Remove confusing / unapplicable language 2021-04-15 20:54:06 -04:00
Mykola Grymalyuk
30be583a3d Fix iMac9,1 20” and 24” audio support 2021-04-14 11:09:23 -06:00
Mykola Grymalyuk
bbed0b4921 Update Build.py
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/145
2021-04-13 14:38:10 -06:00
Mykola Grymalyuk
3e784c0ae5 Fix spoofed wifi card detection 2021-04-13 12:53:23 -06:00
Mykola Grymalyuk
182b6c4291 Constants.py: Fix Atheros ID typo 2021-04-13 12:02:02 -06:00
Mykola Grymalyuk
b1f16fca1d Add gfxutil support 2021-04-13 10:31:37 -06:00
Mykola Grymalyuk
9787645542 Strip unused kext entries during build 2021-04-12 22:03:38 -06:00
Mykola Grymalyuk
af3d4c4af5 Update license 2021-04-12 21:01:18 -06:00
Mykola Grymalyuk
bdc8c2a4fc Remove reliance on WEG boot-args for non-MP models 2021-04-12 17:37:55 -06:00
Mykola Grymalyuk
be89e2ae11 Fix typo 2021-04-12 15:49:28 -06:00
Mykola Grymalyuk
55f3905dd4 Fix MacBookPro9,1 patches 2021-04-12 15:18:39 -06:00
Mykola Grymalyuk
6f0048814f Misc fixes
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/141
2021-04-12 14:48:53 -06:00
Mykola Grymalyuk
7895413ce2 Fix misc issues
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/142
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/140
2021-04-12 11:55:37 -06:00
Dhinak G
9254e67fc9 Update README.md 2021-04-11 22:01:10 -04:00
Mykola Grymalyuk
d815ece3c4 Fix crashing on non-iGPU machines 2021-04-11 13:58:14 -06:00
Mykola Grymalyuk
14bad15df4 Fix IMac detection 2021-04-11 13:17:17 -06:00
Mykola Grymalyuk
d830e72b62 Enhance GPU Detection logic 2021-04-11 13:00:04 -06:00
Mykola Grymalyuk
70b5399126 Format py files 2021-04-11 08:46:42 -06:00
Mykola Grymalyuk
1d8d3ef757 Sync fix naming scheme 2021-04-11 07:41:34 -06:00
Mykola Grymalyuk
9f3ee178a5 Sync fix naming scheme 2021-04-11 07:41:09 -06:00
Mykola Grymalyuk
91335ab271 Sync DONATE.md 2021-04-11 00:01:09 -06:00
Mykola Grymalyuk
8320355925 Add support for partial HD5/6000 accel 2021-04-10 23:46:37 -06:00
Mykola Grymalyuk
0b225fbbbd Add AMD brightness control patches 2021-04-10 23:42:03 -06:00
Mykola Grymalyuk
6a18334663 Add user configurable Bootstrap setting
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/138
2021-04-10 22:45:22 -06:00
Mykola Grymalyuk
af940152a1 Merge pull request #136 from kommtzeitkonrad/mbp5,3-tested
Add MacBookPro5,3 to TESTED.md
2021-04-10 20:45:53 -06:00
kommtzeitkonrad
66f5e8d969 Fix typo 2021-04-11 04:26:53 +02:00
Mykola Grymalyuk
b3b7508237 Clean unused binaries 2021-04-10 19:22:58 -06:00
Mykola Grymalyuk
361f9767dd Add Brightness Control patches 2021-04-10 19:22:17 -06:00
Mykola Grymalyuk
f20c9808ed Update bug_report.md 2021-04-10 15:53:38 -06:00
Mykola Grymalyuk
b6ac9f3a6f Hide OpenShell.efi by default
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/139
2021-04-10 15:38:26 -06:00
Mykola Grymalyuk
8365144834 Fix MacBookPro4,1 17" audio support 2021-04-10 08:40:31 -06:00
Mykola Grymalyuk
85b422b0fb Fix MacBookPro4,1 audio support 2021-04-10 08:07:22 -06:00
kommtzeitkonrad
6ebc9a08ae Add MacBookPro5,3 to TESTED.md 2021-04-10 06:42:20 +02:00
Mykola Grymalyuk
b04e396351 Syn MODELS.md 2021-04-09 18:28:37 -06:00
Mykola Grymalyuk
1ec23e9ebb Add imac7,1 24” support AppleALC 2021-04-09 18:20:15 -06:00
Mykola Grymalyuk
44637967bc Sync changelog
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/102
2021-04-09 18:15:59 -06:00
Mykola Grymalyuk
7d93c96343 Add AppleAirPortBrcm43224 support 2021-04-09 18:02:18 -06:00
Mykola Grymalyuk
58a9f4dd0e Fix incorrectly setting layout 13 on non-MacPro3,1 2021-04-09 14:38:38 -06:00
Mykola Grymalyuk
d2c673d9e1 Add iMac8,1 20” support to AppleALC 2021-04-09 12:09:51 -06:00
Mykola Grymalyuk
0048559acb Add AppleALC support 2021-04-09 10:22:29 -06:00
Mykola Grymalyuk
88d7bf373b Fix table 2021-04-08 07:45:27 -06:00
Mykola Grymalyuk
28861ca1a8 Add basic Xserve2,1 support 2021-04-08 07:44:27 -06:00
Mykola Grymalyuk
86ae43dc1c Add more models 2021-04-07 19:34:52 -06:00
Mykola Grymalyuk
24d96c1d37 Add Macmini6,1 to tested 2021-04-07 14:51:28 -06:00
Mykola Grymalyuk
f62e9f5d21 Fix other typo 2021-04-07 12:58:00 -06:00
Mykola Grymalyuk
d23965f1c0 Fix version 2021-04-07 12:57:24 -06:00
Mykola Grymalyuk
e9397b0237 Update TESTED.md 2021-04-07 12:56:16 -06:00
Mykola Grymalyuk
8bf7c25f69 Add more tested machines 2021-04-07 11:51:11 -06:00
Mykola Grymalyuk
0a693806d4 Add MacBookPro8,1 to TESTED.md 2021-04-07 11:26:02 -06:00
Mykola Grymalyuk
12e8b8e0a9 Update TESTED.md 2021-04-07 11:09:37 -06:00
Mykola Grymalyuk
33d95fc237 Update TESTED.md list 2021-04-07 11:02:45 -06:00
Mykola Grymalyuk
b0ff0204bd Update TESTED.md 2021-04-07 10:48:20 -06:00
Mykola Grymalyuk
7704488e24 Add Tested Models docs to determine regression 2021-04-07 10:38:26 -06:00
Mykola Grymalyuk
bf2bd694bc Merge branch 'main' of https://github.com/dortania/Opencore-Legacy-Patcher into main 2021-04-06 21:40:38 -06:00
Mykola Grymalyuk
200f6d17f9 Exclude CPUFriend from El Capitan-maxed Macs
iMac8,1 reported heavily degarded performace, most likely due to the data given to ResourceConverter.sh
2021-04-06 21:40:30 -06:00
Dhinak G
580f35bfce Another typo 2021-04-06 20:07:49 -04:00
Dhinak G
a6eda09158 Typos 2021-04-06 20:03:04 -04:00
Mykola Grymalyuk
a93da6cf9e Fix CPU Boosting on 2011 and older Macs 2021-04-06 17:15:19 -06:00
Mykola Grymalyuk
e715970b63 Add docs on how to update OpenCore 2021-04-06 12:17:50 -06:00
Mykola Grymalyuk
1b6d29d19b Fix networking support in Mojave and Catalina
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/131
2021-04-06 08:38:55 -06:00
Mykola Grymalyuk
e219ff809e Enable NSDefenestratorModeEnabled 2021-04-06 07:52:18 -06:00
Mykola Grymalyuk
a521667e54 Add ExFat support for models missing driver 2021-04-05 23:52:05 -06:00
Mykola Grymalyuk
7a41b0c4a5 Bump version 2021-04-05 22:59:53 -06:00
Mykola Grymalyuk
cc5d522cb9 Fix OpenCanopy and enhance build detection 2021-04-05 22:57:12 -06:00
Mykola Grymalyuk
57713ab195 Bump version 2021-04-05 15:55:14 -06:00
Mykola Grymalyuk
548dad7743 Clarify supported OSes
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/130
2021-04-05 15:17:13 -06:00
Mykola Grymalyuk
a5989e88a3 Constants.py: Fix version error 2021-04-05 13:46:46 -06:00
Mykola Grymalyuk
f91e7dc10d Update binaries 2021-04-05 13:35:37 -06:00
Dhinak G
c889f97a6c Fix table attempt 3 2021-04-05 15:12:49 -04:00
Dhinak G
ff8b2eff2c Fix even more broken table 2021-04-05 15:01:46 -04:00
Mykola Grymalyuk
23acd5b6cd Fix iMac12,x skipping Nvidia patch 2021-04-03 23:35:38 -06:00
Mykola Grymalyuk
50256b92c8 Set ProtectSecureBoot
As we expect users to use UEFI based Windows installs, we should avoid issues of breaking the install
2021-04-03 15:25:16 -06:00
Mykola Grymalyuk
4731c2c346 Clarify docs 2021-04-03 08:38:08 -06:00
Mykola Grymalyuk
122aec5ec3 Clarify post-install patch usage 2021-04-02 22:48:04 -06:00
Mykola Grymalyuk
e62ca075e8 Add basic download progress 2021-04-02 21:37:12 -06:00
Mykola Grymalyuk
e4d5c62ada Add RestrictEvents-MBP91.patch for easier tracking 2021-04-02 10:00:59 -06:00
Mykola Grymalyuk
9db76b5cca Fix Mac Pro output issues
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/123
2021-04-02 09:37:15 -06:00
Mykola Grymalyuk
df4f165122 Add Benefits and Drawbacks table
Allows us to be more transparent between patchers with our users
2021-04-01 22:54:51 -06:00
Mykola Grymalyuk
8331c23045 Merge branch 'main' of https://github.com/dortania/Opencore-Legacy-Patcher into main 2021-04-01 21:38:31 -06:00
Mykola Grymalyuk
bb1132301a Add extra permission fixes 2021-04-01 21:38:21 -06:00
Dhinak G
f6dcc35b48 Fix broken table 2021-04-01 20:55:03 -04:00
Dhinak G
9f583eb590 Update DONATE.md
soon™️, hopefully
2021-04-01 20:54:49 -04:00
Mykola Grymalyuk
5a700c729e Fix pathing typo 2021-04-01 15:18:54 -06:00
Mykola Grymalyuk
4e40da79bb Add Brightness Control backend 2021-04-01 12:53:27 -06:00
Mykola Grymalyuk
53582efd02 Update docs, add info on Metal GPU upgrades 2021-04-01 11:47:45 -06:00
Mykola Grymalyuk
9b4c66f3d3 Fix Ironlake typo 2021-03-31 19:37:02 -06:00
Mykola Grymalyuk
5c6dcc3485 Update README.md 2021-03-31 09:30:04 -06:00
Mykola Grymalyuk
898b10f932 Fix MacPro5,1 wifi logic 2021-03-31 08:11:18 -06:00
Mykola Grymalyuk
5bcc6d58c3 Add MacBook4,1 support 2021-03-31 07:27:03 -06:00
Mykola Grymalyuk
eb907d17a0 Add note about MBR2GPT 2021-03-30 13:47:20 -06:00
Mykola Grymalyuk
5e3f476884 Update copyright 2021-03-30 11:34:55 -06:00
Mykola Grymalyuk
21cc355b03 Update docs 2021-03-30 09:49:14 -06:00
Mykola Grymalyuk
a22531e1d9 Fix permissions on external files 2021-03-29 22:28:14 -06:00
Mykola Grymalyuk
324188c039 Lax SIP requirement 2021-03-29 20:50:20 -06:00
Mykola Grymalyuk
ef06f096d0 Fix SIP detection 2021-03-29 20:35:32 -06:00
Mykola Grymalyuk
afeff753ef Update docs 2021-03-29 11:31:10 -06:00
Mykola Grymalyuk
bf8892878d Set iGPUless iMacs correctly
iMac15,1 expects an iGPU, so these models should be set to iMacPro1,1 instead
2021-03-29 10:52:16 -06:00
Mykola Grymalyuk
1f6dfbfd30 Temp work-around botched download 2021-03-28 21:51:03 -06:00
Mykola Grymalyuk
eeeb222896 Fix typo 2021-03-28 17:24:49 -06:00
Mykola Grymalyuk
41733124db Fix output on iMac7,1 and 8,1 2021-03-28 17:15:09 -06:00
Mykola Grymalyuk
c9d7267280 Sync changelog 2021-03-28 16:10:09 -06:00
Mykola Grymalyuk
bb3a7eccc7 Merge pull request #120 from dortania/remote-binaries
Support Remote binaries
2021-03-28 15:58:34 -06:00
Mykola Grymalyuk
a73d5c70d4 Add support for external repos 2021-03-28 15:56:54 -06:00
Mykola Grymalyuk
c48711c4c3 Remove all Apple Binaries 2021-03-28 13:20:28 -06:00
Mykola Grymalyuk
eebb098aed Fix typo in OpenCore names 2021-03-28 13:01:39 -06:00
Mykola Grymalyuk
06ae5350cb Fix CPU calculations on MCP79 chipsets 2021-03-28 12:40:02 -06:00
Mykola Grymalyuk
69a41b2951 Increment build 2021-03-27 15:32:42 -06:00
Mykola Grymalyuk
19e43d2850 Increment OpenCore 2021-03-27 13:12:18 -06:00
Mykola Grymalyuk
c32a3d89e9 Fix AppleHDA patch crashing 2021-03-27 10:05:01 -06:00
Mykola Grymalyuk
b227480e6c Fix Broadcom Ethernet on older Macs 2021-03-26 21:15:32 -06:00
Mykola Grymalyuk
fbae80ec26 Add custom SSD icon 2021-03-26 20:38:50 -06:00
Mykola Grymalyuk
299bb0be73 ix crashing when CD is present 2021-03-26 16:30:53 -06:00
Mykola Grymalyuk
7e22a0fe46 Add automatic notarization 2021-03-26 15:19:49 -06:00
Mykola Grymalyuk
f1d5adff7a Add custom SD Card icon 2021-03-26 10:48:24 -06:00
Mykola Grymalyuk
9b4fbdfb9a Handle spaces in path names 2021-03-26 09:11:55 -06:00
Mykola Grymalyuk
e1a8cdc1d5 Add dot_clean and clarify docs
Thanks OKonnel!
2021-03-26 07:49:02 -06:00
Mykola Grymalyuk
d13f96a454 Add iMac13,3 support 2021-03-25 22:45:11 -06:00
Mykola Grymalyuk
b6599a1357 Fix typo in AGDP, AGPM and AMC building 2021-03-24 18:16:02 -06:00
Mykola Grymalyuk
ce09ccf115 Add warnings to root patcher 2021-03-24 17:46:13 -06:00
Mykola Grymalyuk
04a039caf3 Fix GPU Switching in MacBookPro9,1
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/116
2021-03-24 17:00:12 -06:00
Mykola Grymalyuk
f006ee4569 Info.plist: Fix typos 2021-03-24 07:42:41 -06:00
Mykola Grymalyuk
c1b7e62a02 Fix variable naming for kernel versions 2021-03-23 22:28:32 -06:00
Mykola Grymalyuk
cf11a9e7a9 Fix blackscreen on MacBookPro9,1 2021-03-23 21:13:26 -06:00
Mykola Grymalyuk
ed14fbfff0 Opt for kernel detection 2021-03-23 19:33:17 -06:00
Mykola Grymalyuk
ebc39a58eb Refactor USB map building 2021-03-23 14:16:40 -06:00
Mykola Grymalyuk
6475b3f055 Add license to site 2021-03-23 08:39:33 -06:00
Mykola Grymalyuk
bd86a8cc04 Add backend for unpatching root volume 2021-03-22 21:33:10 -06:00
Mykola Grymalyuk
de2166915a Merge branch 'main' of https://github.com/dortania/Opencore-Legacy-Patcher into main 2021-03-22 20:44:05 -06:00
Mykola Grymalyuk
bab6faac97 Set HibernateMode to Auto 2021-03-22 20:43:57 -06:00
Dhinak G
16b9cb44c2 Test self-hosted 2021-03-22 21:35:51 -04:00
Mykola Grymalyuk
3d9f3a1147 Merge branch 'main' of https://github.com/dortania/Opencore-Legacy-Patcher into main 2021-03-22 19:05:29 -06:00
Mykola Grymalyuk
0b5c244a2e Add El Capitan and newer .app support
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/98
2021-03-22 19:05:21 -06:00
Mykola Grymalyuk
c94aebc369 Switch to self-hosted Mojave runner 2021-03-22 18:57:44 -06:00
Mykola Grymalyuk
8fc015a108 Clarify copyright status 2021-03-22 12:51:33 -06:00
Mykola Grymalyuk
f5ba7816d9 Fix duplication 2021-03-22 10:59:57 -06:00
Mykola Grymalyuk
37c0bf1e22 Expand documentation 2021-03-22 10:55:48 -06:00
Mykola Grymalyuk
e699b6f2cb Fix USB map formatting
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/112
2021-03-22 07:18:20 -06:00
Mykola Grymalyuk
2904ca702c Fix 10.13 bug 2021-03-21 20:56:58 -06:00
Dhinak G
8f10f1938e FIx partition selection issue, fix prompt cancel 2021-03-21 22:50:20 -04:00
Mykola Grymalyuk
b7f7489c5d Remove SSE4,1 comment
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/111
2021-03-21 19:14:48 -06:00
Mykola Grymalyuk
691c462bba build.py: Fix ElCap error 2021-03-21 18:53:31 -06:00
Mykola Grymalyuk
e51ec8eb8e build.py: Work around Sierra and older limitations 2021-03-21 18:45:33 -06:00
Mykola Grymalyuk
ee7bf05780 SysPatch.py: Clean up unnessary print statments 2021-03-20 16:50:53 -06:00
Mykola Grymalyuk
3223854cdd Remove X3000 bundles
Due to linking issues, HD 5000 and 6000 are currently unsupported
2021-03-20 16:08:20 -06:00
Mykola Grymalyuk
a35384e0b1 SysPatch.py: Fix AMD linking 2021-03-20 15:57:52 -06:00
Mykola Grymalyuk
faa0456ff7 SysPatch.py: Fix model detection on patch 2021-03-20 15:29:41 -06:00
Mykola Grymalyuk
5d0d1968f5 CHANGLOG: Fix typo 2021-03-20 15:26:24 -06:00
Mykola Grymalyuk
21277e5738 Support decoding SIP value 2021-03-20 14:56:58 -06:00
Mykola Grymalyuk
4f8748932d SysPatch.py: Fix Nvidia code path 2021-03-20 12:33:52 -06:00
Mykola Grymalyuk
1b1ca79374 Heavily refactor kext patch system 2021-03-19 19:13:04 -06:00
Mykola Grymalyuk
97ae6b587c Refactor CLI Menu 2021-03-19 15:31:11 -06:00
Mykola Grymalyuk
d22588b3cd Refactor SysPatch.py 2021-03-19 14:56:33 -06:00
Mykola Grymalyuk
8041dca103 SysPatch.py: Fix typo 2021-03-18 17:26:50 -06:00
Mykola Grymalyuk
6c304402dd Add backend for GPU accel patches 2021-03-18 16:04:28 -06:00
Mykola Grymalyuk
ec3ecdca38 Sync docs 2021-03-18 12:39:53 -06:00
Mykola Grymalyuk
0fe707637a Fix misc root patching issues 2021-03-18 12:19:48 -06:00
Mykola Grymalyuk
77b19688ae Fix indentation crash 2021-03-17 13:04:48 -06:00
Mykola Grymalyuk
0d6e159b72 Hid misleading print statement 2021-03-17 12:33:46 -06:00
Mykola Grymalyuk
1afb953f05 Fix typo 2021-03-17 12:27:54 -06:00
Mykola Grymalyuk
ee07dc9936 Add Root Volume patching for older machines
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/87
2021-03-17 12:27:11 -06:00
Mykola Grymalyuk
254267f1be Fix misc issues 2021-03-17 12:16:57 -06:00
Mykola Grymalyuk
b78247f9e8 Implement backend for Root patching
Note: Currently non-functional for end-users
2021-03-16 23:44:05 -06:00
Mykola Grymalyuk
5bfee53d99 Actually fix site button 2021-03-16 15:05:29 -06:00
Mykola Grymalyuk
5154492c97 Fix typo 2021-03-16 14:54:48 -06:00
Mykola Grymalyuk
5c97527038 Fix “Help us improve” button 2021-03-16 14:53:56 -06:00
Mykola Grymalyuk
3fd08803d6 VuePress is garbage… 2021-03-16 13:43:08 -06:00
Mykola Grymalyuk
de5cf6f93d Update misc docs 2021-03-16 13:37:11 -06:00
Mykola Grymalyuk
60b9d9d811 Clarify support models 2021-03-16 10:43:49 -06:00
Mykola Grymalyuk
8405a8162f Add SMC Spoof to avoid smcupdater
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/104
2021-03-16 08:47:18 -06:00
Mykola Grymalyuk
95558ab31e Merge pull request #106 from MikeBeaton/platform-feature
PlatformFeature -> new 0.6.7 OEM detect value
2021-03-16 07:32:49 -06:00
Mike Beaton
256bd8dd71 PlatformFeature -> new 0.6.7 OEM detect value 2021-03-16 13:28:53 +00:00
Mykola Grymalyuk
c960153442 Roll back previous commit 2021-03-15 08:50:09 -06:00
Mykola Grymalyuk
c712f33cf3 Force py3.6 for pip 2021-03-15 08:46:16 -06:00
Mykola Grymalyuk
4e659ebdbb Add docs on how to debug 2021-03-14 19:05:21 -06:00
Mykola Grymalyuk
ed55cc3bbd Remove broken GUI 2021-03-14 17:12:24 -06:00
Mykola Grymalyuk
df61370b7c Sync changelog 2021-03-14 14:39:15 -06:00
Mykola Grymalyuk
79ab028b0a Re-enable legacy networking patches
Reference: https://github.com/dortania/OpenCore-Legacy-Patcher/issues/102
2021-03-14 13:37:14 -06:00
Mykola Grymalyuk
444819b6a0 Clarify BCM94322 chipset support 2021-03-14 12:03:38 -06:00
Mykola Grymalyuk
079a1ac2ff Add custom EFI Boot icons per drive type 2021-03-14 11:27:15 -06:00
Dhinak G
9113dab049 Use python from brew 2021-03-13 23:15:45 -05:00
Mykola Grymalyuk
377b29f317 Set build target to python 3.6 2021-03-13 20:59:32 -07:00
Mykola Grymalyuk
be9bb8bef1 Fix typos and link 2021-03-13 11:13:47 -07:00
Mykola Grymalyuk
51c3921cf8 Add custom icon guide 2021-03-13 10:25:56 -07:00
Mykola Grymalyuk
6f5d5922dc Disable verbose and misc fixes
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/97
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/96
2021-03-13 08:52:53 -07:00
Mykola Grymalyuk
fa5266b069 Update issue templates 2021-03-13 08:04:32 -07:00
Mykola Grymalyuk
d619f15d36 Undo previous commit 2021-03-12 13:18:30 -07:00
Mykola Grymalyuk
3e9ec51ef5 Set macOS 10.13 building 2021-03-12 13:10:27 -07:00
Mykola Grymalyuk
0ac54c7ec4 Fix copying 2021-03-12 11:50:47 -07:00
Mykola Grymalyuk
6220d21a7b Fixes BootCamp BOOTx64 compatibility
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/94
2021-03-12 11:50:21 -07:00
Mykola Grymalyuk
7661b52a0a Disable Vault due to breaking installations 2021-03-11 20:27:50 -07:00
Mykola Grymalyuk
8c9b47b4d5 Add example video 2021-03-11 18:47:53 -07:00
Mykola Grymalyuk
92c02996ae Fix bug 2021-03-11 15:16:30 -07:00
364 changed files with 58898 additions and 3668 deletions

View File

@@ -1,4 +1,4 @@
[flake8]
ignore = E501
extend-ignore = E501, E203
per-file-ignores =
Resources/Constants.py:E704
Resources/constants.py:E704

186
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,186 @@
name: Bug Report
description: File a bug report
labels: [bug]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: dropdown
id: machine
attributes:
label: Machine Model
description: What model was being patched?
options:
- MacBook4,1
- MacBook5,1
- MacBook5,2
- MacBook6,1
- MacBook7,1
- MacBook8,1
- MacBookAir2,1
- MacBookAir3,1
- MacBookAir3,2
- MacBookAir4,1
- MacBookAir4,2
- MacBookAir5,1
- MacBookAir5,2
- MacBookAir6,1
- MacBookAir6,2
- MacBookPro4,1
- MacBookPro5,1
- MacBookPro5,2
- MacBookPro5,3
- MacBookPro5,4
- MacBookPro5,5
- MacBookPro6,1
- MacBookPro6,2
- MacBookPro7,1
- MacBookPro8,1
- MacBookPro8,2
- MacBookPro8,3
- MacBookPro9,1
- MacBookPro9,2
- MacBookPro10,1
- MacBookPro10,2
- MacBookPro11,1
- MacBookPro11,2
- MacBookPro11,3
- Macmini3,1
- Macmini4,1
- Macmini5,1
- Macmini5,2
- Macmini5,3
- Macmini6,1
- Macmini6,2
- iMac7,1
- iMac8,1
- iMac9,1
- iMac10,1
- iMac11,1
- iMac11,2
- iMac11,3
- iMac12,1
- iMac12,2
- iMac13,1
- iMac13,2
- iMac13,3
- iMac14,1
- iMac14,2
- iMac14,3
- iMac14,4
- iMac15,1
- MacPro3,1
- MacPro4,1
- MacPro5,1
- Xserve2,1
- Xserve3,1
- Other/Non-Applicable
validations:
required: true
- type: dropdown
id: version
attributes:
label: Application Version
description: What build version of our software are you running?
options:
- Latest Build (nightly)
- Latest Release
validations:
required: true
- type: dropdown
id: variant
attributes:
label: Application Variant
description: What variant of our software are you running?
options:
- GUI (Graphical User Interface)
- TUI (Text User Interface)
- CLI (Command Line Interface)
- Other/Non-Applicable
validations:
required: true
- type: dropdown
id: verify-previously-reported
attributes:
label: Have you verified whether this issue has been opened before? If no, your issue will be closed
description: If no, your issue will be closed. We'd appreciate it if users check with Github Issue's search before filing (https://github.com/dortania/OpenCore-Legacy-Patcher/issues?q=is%3Aissue)
multiple: true
options:
- 'true'
- 'false'
validations:
required: true
- type: dropdown
id: verify-guide
attributes:
label: Have you verified whether this issue is covered in our guide? ie. Troubleshooting and Legacy Acceleration pages
description: If no, your issue will be closed. We'd appreciate it if users check with Guide before filing (https://dortania.github.io/OpenCore-Legacy-Patcher/)
multiple: true
options:
- 'true'
- '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:
label: Is this issue with a 3rd party application?
description: If yes, please move discussions onto forums. We're unable to dedicate time to working on every single application that may be broken in macOS. Only file issues if you have a fix you'd like to add to our project
multiple: true
options:
- 'true'
- 'false'
validations:
required: true
- type: dropdown
id: os-version
attributes:
label: What versions of macOS are you seeing the problem on?
multiple: true
options:
- macOS 12, Monterey
- macOS 11, Big Sur
- macOS 10.15, Catalina
- macOS 10.14, Mojave
- macOS 10.13, High Sierra
- macOS 10.12, Sierra
- macOS 10.11, El Capitan
- Other/Non-Applicable
validations:
required: true
- type: dropdown
id: where-issue
attributes:
label: Where does this issue happen?
multiple: true
options:
- Between booting macOS and Login Screen
- Within macOS (Before Logging in)
- Within macOS (After Logging in)
- Other/Non-Applicable
validations:
required: true
- type: textarea
id: what-happened
attributes:
label: What is the Issue?
description: Additionally, explain what you expected to happen?
value: "Please clearly explain the issue"
validations:
required: true
- type: textarea
id: extra-info
attributes:
label: What steps have you taken to troubleshoot this? Please include messages from Discord, logs, and screenshots.

1
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1 @@
blank_issues_enabled: false

40
.github/workflows/build-app-offline.yml vendored Normal file
View File

@@ -0,0 +1,40 @@
name: CI - Build Offline TUI
on:
push:
workflow_dispatch:
release:
types: [published]
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.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.app (Offline)
path: OpenCore-Patcher-TUI-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-TUI-Offline.app.zip
tag: ${{ github.ref }}
file_glob: true

View 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

View 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

38
.github/workflows/build-app.yml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: CI - Build TUI
on:
push:
workflow_dispatch:
release:
types: [published]
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
- run: ./../sign-tui.sh
- name: Upload App to Artifacts
uses: actions/upload-artifact@v2
with:
name: OpenCore-Patcher-TUI.app
path: OpenCore-Patcher-TUI.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-TUI.app.zip
tag: ${{ github.ref }}
file_glob: true

View File

@@ -1,4 +1,4 @@
name: Build/Test/Deploy
name: CI - Build Site
on:
push:
branches-ignore:

View File

@@ -1,49 +0,0 @@
name: CI
on:
push:
pull_request:
workflow_dispatch:
release:
types: [published]
jobs:
build:
name: Build App
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3
uses: actions/setup-python@v2
with:
python-version: "3.x"
- name: Install Python Dependencies
run: |
python3 -m pip install -U pip
pip3 install pyinstaller
- run: pyinstaller Opencore-Patcher.spec
- run: ./after_pyinstaller.sh
- run: cd dist; zip ../OpenCore-Patcher.zip OpenCore-Patcher; zip -r ../OpenCore-Patcher.app.zip OpenCore-Patcher.app
- name: Upload Binary to Artifacts
uses: actions/upload-artifact@v2
with:
name: OpenCore-Patcher
path: OpenCore-Patcher.zip
- name: Upload App to Artifacts
uses: actions/upload-artifact@v2
with:
name: OpenCore-Patcher.app
path: OpenCore-Patcher.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.app.zip
tag: ${{ github.ref }}
file_glob: true

14
.gitignore vendored
View File

@@ -1,14 +1,26 @@
.DS_Store
OCLP-GUI.command
/payloads/Apple
/payloads/*.zip
/payloads/BuildManifest.plist
/payloads/*.sucatalog
/payloads/*.pkg
/payloads/__MACOSX
/App
/Build-Folder
/build
/dist
/.vscode
__pycache__/
*.kext
*.py[cod]
*$py.class
/docs/.vuepress/dist
/docs/.vuepress/.config.js.swp
/docs/yarn.lock
/docs/yarn-error.log
/docs/node_modules/
/docs/node_modules/
/payloads/List.txt
/payloads/Installer.sh
/payloads/Info.plist
/payloads/seed.plist

View File

@@ -1,12 +1,554 @@
# 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
- See additional notes before updating: [VMM usage notes](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/543#issuecomment-953441283)
- Adjust SIP setting to better reflect current SIP usage
- Resolve Monterey Bluetooth issues on user-upgraded BCM94331 BT4.0 modules
- Fix iGPU-only iMac14,x display output when using Minimal/Moderate spoof
- Increment Binaries:
- OpenCore 0.7.6 - release
- Lilu 1.5.8 - release
- BrcmPatchRAM 2.6.1 - release
- WhateverGreen 1.5.5 - release
- PatcherSupportPkg 0.2.8 - release
- FeatureUnlock 1.0.5 - rolling (9cf1e81)
- Fix AirPlay to Mac on macOS 12.1
- Add macOS InstallAssistant downloader to TUI
- Resolve rare memory corruption due to FeatureUnlock
- Raise SurPlus MaxKernel to 21.99.99
- Fix Content Caching with spoofless usage
- Allow disabling of ConnectDrivers
- Aid with Hibernation on MacBookPro9,1/MacBookPro10,1
- Add legacy iSight patch
- Applicable for MacBook4,1/5,2
- Affected Device IDs: 0x8300, 0x8501, 0x8503
- Credit to parrotgeek1 for LegacyUSBVideoSupport
- Fix Wifi Password prompt in Monterey on legacy wifi
- Applicable for Atheros, BCM94328, BCM94322
- Fix OpenCL Acceleration on Ivy Bridge and Kepler
- Add Apple RAID Card support
- Add Legacy GCN build support off model for MXM iMacs
- Resolve 5k Display Output support on 5k iMacs and iMac Pro
- Resolve NVMe Patching on 2016-2017 MacBook Pros
- Enable Windows VMX support for Haswell and Broadwell MacBooks
## 0.3.1
- Increment Binaries:
- OpenCorePkg 0.7.4 release
- RestrictEvents 1.0.5 release
- WhateverGreen 1.5.4 release
- Allow for setting custom SIP values via TUI
- Drop `CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE` requirement for root patching
- Lowers default SIP Disabled value to 0xA03
- Update Legacy GMUX patchset to latest Sierra Secuirty Update
- [Source](https://github.com/HackintoshHD/mbp5x-instant-gpu-switching)
- Fix non-Metal acceleration crashing on 12.0.1
- Yes Apple adding a notch broke our accel patches
- Fix non-Metal Control Center crashing on 12.0 Beta 10+
- Increment Binaries:
- PatcherSupportPkg 0.1.12
## 0.3.0
- Fix Nvidia Tesla Acceleration in Monterey Beta 7+
- Add missing NVDAStartup
- Allow configuring GMUX usage for Windows
- Applicable for iGPU+dGPU MacBook Pros
- Allow usage of legacy AppleHDA
- Only use for machines that cannot achieve audio support normally
- Main usage for Macs without boot screen output
- Revert iMacPro1,1 SMBIOS usage on Mac Pros and Xserves
- Resolves display output issues on Legacy GCN
- Limit SIP bits flipped when disabled
- 0xFEF -> 0xE03
- `CSR_ALLOW_UNTRUSTED_KEXTS`
- `CSR_ALLOW_UNRESTRICTED_FS`
- `CSR_ALLOW_UNAPPROVED_KEXTS`
- `CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE`
- `CSR_ALLOW_UNAUTHENTICATED_ROOT`
- Fix Kepler DisplayPort output
- Apply `agdpmod=vit9696` patch
- Add Syncretic's SurPlus 11.3+ Race Condition Patch
- [Source](https://github.com/reenigneorcim/SurPlus)
- Downgrade Nvidia Kepler Bundles to 11.0 Beta 3
- Resolves crashing at high loads, credit to [Jackluke](https://github.com/jacklukem) for discovery
- Add Legacy GMUX patchsets
- Applicable for dual GPU MacBookPro5,x and demuxed MacBookPro8,x
- Increment Binaries:
- PatcherSupportPkg 0.1.7 release
- RestrictEvents 1.0.5 rolling (2430ed0)
- Limit MacBookPro6,2 G State
- Works around crashing when switching GPUs
- Fix OTA updates on T2 SMBIOS
- Allow iMac13,x iGPU usage always
- Due to both Kepler and Ivy needing root patching, no benefit to disable the iGPU
- Refactor Hardware Model building
- Resolve dGPU output on MacBookPro10,1
- Add Panel ID `9cd6` for iMac11,3
- Resolves Brightness control
- Add AppleGVA patch set for HD3000 machines
- Mainly applicable for iMac12,x and iGPU-only MacBooks
- Add EFICheckDisabler
- Based off stripped RestrictEvents.kext
- Add SimpleMSR to disable missing battery throttling on Nehalem+ MacBooks
- Implement software demux patch set for 2011 15/17" MacBook Pros
- Alternative to hardware demux
- Adds [AMDGPUWakeHandler](https://github.com/blackgate/AMDGPUWakeHandler)
- Add Legacy GCN support for iMac11,x and iMac12,x with upgraded GPUs
- Note: iMac12,x with legacy GCN will fail to wake
- Fix Beta 10 Bluetooth
- Works around new Broadcom/CSR vendor checks in `bluetoothd`
## 0.2.5
- Implement Latebloom configuration via command line tool
- Implement Root Volume backups in addition to APFS snapshot reversions
- Backups applicable to machines with sealed APFS snapshots
- Allow Root Patching on Mojave and Catalina
- Currently experimental
- Allow disabling of faulty Thunderbolt controllers on 2013-2014 MacBook Pros
- Currently limited to MacBookPro11,x
- Set iMacPro1,1 SMBIOS for Mac Pro and Xserve models
- Allows for wider array of OS support (High Sierra+)
- Use plist override for BCM943224 and BCM94331 support in Big Sur+
- Allows for older OS support through OpenCore
- Increment Binaries:
- OpenCore 0.7.2 release
- Lilu 1.5.5 release
- AppleALC 1.6.3 release
- WhateverGreen 1.5.2 release
- FeatureUnlock 1.0.3 release
- PatcherSupportPkg 0.1.2 release
- Allow iGPU/dGPU switching in Windows
- Applicable to MacBook Pros with Intel iGPU and Nvidia/AMD dGPU
- Clean up Patcher Settings
- Allow disabling of TeraScale 2 Acceleration during root volume patch
- Use for MacBookPro8,x with heavily degraded dGPUs
- Add non-Metal Monterey Acceleration
- Currently supports:
- Intel Ironlake and Sandy Bridge
- Nvidia Tesla
- AMD TeraScale 1 and 2
- Allow Trackpad gestures on MacBook4,1 and MacBook5,2
- System Preferences will not report settings however
- Allow Root Volume Patched Systems to use FileVault 2
- Requires macOS 11.3 (20E232) or newer
- Unsupported on APFS ROM Patched Macs, revert to stock firmware to resolve
- Add offline TUI build
- Allows for root patching without network connection
- Add Legacy Wireless support for Monterey
- Applicable for BCM94328, BCM94322 and Atheros chipsets
- Add Legacy Bluetooth support for Monterey
- Applicable for BRCM2046 and BRCM2070 chipsets
- Disable Library Validation allowing for AMFI usage
- Remove reliance on amfi_get_out_of_my_way=1
- Add Kepler Accleration Patches for Monterey Beta 7 and newer
- Add FirmwareFeature upgrading to all Models
- Fixes Monterey Beta 7 installation issues
- Add iMac7,1 USB map
## 0.2.4
- Fix BlessOverride typo
- Fix Wake on WLAN typo
- Fix Catalyst App crashing in macOS 11.5 (ie. Messages.app)
- Increment Binaries
- PatcherSupportPkg 0.0.15 release
- Implement Latebloom.kext support (v0.19)
- Work around macOS 11.3+ race condition on pre-Sandy Bridge Macs
- Disable USB Map injection when unneeded
## 0.2.3
- Fix more IORegistry issues
- Implement OpenCore GUI
- Ensure symlinks are preserved
- Enable TeraScale 2 patches by default on all models
- Fix NightShift support for macOS Monterey
- Add UniversalControl support
- Currently not enabled by Apple in macOS Monterey Beta 2/iOS 15 Beta 2
- Add optional Wake in WLAN setting
- Note: enabling may create network instability
- Increment Binaries
- OpenCore 0.7.1 release (07-05-2021)
- FeatureUnlock 1.0.3 rolling (07-07-2021)
- Previously known as SidecarFixup
- Lilu 1.5.4 release (07-05-2021)
- AppleALC 1.6.2 release
- WhateverGreen 1.6.2 release
- PatcherSupportPkg 0.0.13 release
- Fix Intel HD4000 DRM Support in macOS Monterey (thanks EduCovas!)
- Support optionally re-enabling iGPU in iMac14,x with dGPUs
- Fix Windows scanning in OpenCore menu when Windows and macOS are stored on the same ESP
## 0.2.2
- Fix IORegistry issue
- Fix Root Patch Failure on Nvidia Tesla GPUs
## 0.2.1
- Fix NVMe Crash on build
## 0.2.0
- Refactor device probe logic
- Implement PatcherSupportPkg v0.0.10
- Reduces binary sizes depending on OS
- Deprecates Apple-Binaries-OCLP
- Fix full screen and Airplay to Mac support for Intel HD4000 iGPUs in Monterey
- Automatically set `CMIO_Unit_Input_ASC.DoNotUseOpenCL` on TeraScale 2 GPUs
- Fix Country Code detection on Wireless Cards
- Add Windows detection and prompt during installation
- Fix Google Fonts rendering for Intel HD4000 iGPUs in Monterey
- Increment Binaries
- Lilu 1.5.4 rolling (f69a972 - 06-20-2021)
- RestrictEvents 1.0.3 rolling (3773ce2 - 06-20-2021)
- SidecarFixup 1.0.2 rolling (2c29166 - 06-21-2021)
- PatcherSupportPkg 0.0.18
- Allow AirPlay to Mac support on Skylake - Coffeelake Macs
## 0.1.9
- Fix incorrect AMFI and SIP detection
## 0.1.8
- Fix Kernel Panic in Big Sur and Monterey
- Increment binaries:
- Lilu (1.5.4 rolling - 06-15-2021)
## 0.1.7
- Add FireWire Boot Support for Catalina and newer
- Add NVMe firmware support for older models (ie. MacPro3,1)
- OpenCore must be stored on a bootable volume (ie. USB or SATA)
- Fix Thunderbolt Ethernet support on MacBookAir4,x
- Fix XHCI hangs on pre-2012 Machines
- XHCI boot support dropped due to instability
- Add beta macOS Monterey Support
- Fix iMac13,x sleep support
- Add support for following models:
- iMac14,4
- iMac15,1
- MacBook8,1
- MacBookAir6,1
- MacBookAir6,2
- MacBookPro11,1
- MacBookPro11,2
- MacBookPro11,3
- Increment binaries:
- OpenCore (0.7.0 release - 06-07-2021)
- AirportBrcmFixup (2.1.3 rolling - 06-08-2021)
- AppleALC (1.6.2 rolling - 06-08-2021)
- CPUFriend (1.2.4 rolling - 06-08-2021)
- Lilu (1.5.4 rolling - 06-11-2021)
- NVMeFix (1.0.9 rolling - 06-12-2021)
- WhateverGreen (1.5.1 rolling - 06-08-2021)
- RestrictEvents (1.0.3 rolling - 06-11-2021)
- Apple Binaries (0.0.18 release - 06-12-2021)
- MouSSE (0.95 release - 06-08-2021)
- SidecarFixup (1.0.2 rolling - 06-11-2021)
- Fix SSE4,2 Emulation
- Fix Sidecar and CPU renaming support in macOS Monterey
- Add AirPlay support to older Models
- Add Intel HD4000 Acceleration
- Big thanks to Jackluke, EduCovas, DhinakG, MykolaG!
- Add DebugEnhancer for better macOS Monterey logs
- DebugEnhancer (1.0.3 rolling - 06-08-2021)
- Add TeraScale 2 Graphics Acceleration to Big Sur
- User configurable, those prone to seizures are recommended to avoid or have another setup the machine due to initial colour strobing before forcing Million Colours on the display with SwitchResX or ResXtreme
## 0.1.6
- Add XHCI UEFI Driver for 3rd Party USB 3.0 Controllers
- Allows for Boot Support from OpenCore' Picker
- Fix UEFI output on MacPro3,1 with PC GPUs
- Increment binaries:
- OpenCore 4e0ff2d (0.7.0 rolling - 05-23-2021)
- Apple Binaries 59a52a3 (0.0.8 release - 05-24-2021)
- Allow legacy macOS Booting
- Fix Photos app distortion on legacy GPUs
- Fix device tree renaming on Mac Pros and Xserves
- Ensure no Acceleration Patches applied when no compatible GPU found
- Allow custom SMBIOS overriding
- Fix incorrectly setting CPU override for non-Minimal SMBIOS spoofs
- Support Minimal SMBIOS spoofing on El Capitan era Macs
- Fix GPU Switching on MacBookPro6,x
## 0.1.5
- Fix crashing when Wireless module not present
- Add iMac10,1 default dGPU pathing
- Add agdpmod=vit9696 to all Nvidia Metal iMacs
- Fixes external display support on Nvidia iMac12,x
- Remove reliance on AppleBacklightFixup
- Support space in path when downloading Root Patches
- Enable PanicNoKextDump by default
- Expand AppleGraphicsPowerManagement and AppleGraphicsDeviceControl Override support
- Fix MacBookPro8,2/3 Brightness Control
- dGPU must be disabled via NVRAM or deMUXed
- Increment binaries:
- Apple Binaries 478f6a6 (0.0.7 release - 05-16-2021)
- Add SeedUtil option to Advanced Patcher Settings
## 0.1.4
- Fix Device Path formatting on 2012+ iMacs
## 0.1.3
- Fix internal PCIe devices reporting as external
- Opt for `built-in` when device path is detectable
- Innie 0ccd95e (1.3.0 release - 01-16-2021)
- Fix MacBookPro5,4 audio support
- Increment binaries
- AppleALC 58b57ee (1.6.1 rolling - 05-07-2021)
- Apple Binaries 74bd80f (0.0.6 release - 05-09-2021)
- Support custom CPU names in About This Mac
- Fix NightShift accidentally disabling on Minimal SMBIOS configs
- Fix iMac9,1 audio support
- Heavily expand Graphics ID list
- Fix iMac7,1 and iMac8,1 audio support
- Work-around Bluetooth Kernel Panic on Apple's Bluetooth 2.0 Controllers (USB 05AC:8206)
- Affects iMac7,1 and MacPro3,1
- Fix iMac external display support
- Fix NVMe properties not applying when OpenCore is installed
## 0.1.2
- Fix IDE support on 2008 era MacBooks, iMacs and Xserves
- Fix reduced output speeds on BCM94360 series Wifi cards
- Fix accidentally disabling non-existent iGPU in iMac11,2
- Remove USB ACPI Patching requirement for Minimal SMBIOS setups
- Probe hardware for Backlight pathing on iMac10,1, iMac11,x and iMac12,x with Metal GPUs
- Add Windows UEFI Audio support to Sandy and Ivy Bridge Macs
- Add 3rd Party NVMe Power Management Patches
- NVMeFix fafc52d (1.0.7 release - 05-03-2021)
- Strip unused ACPI and Kernel entries during build
- Allow native Macs to use OpenCore
- Better 3rd party NVMe support
- Better Wireless networking support
- Fix MacBook6,1 audio support
- Increment binaries
- OpenCore 65cc81b (0.6.9 release - 05-03-2021)
- Lilu c77722d (1.5.3 release - 05-03-2021)
- AppleALC 84850d0 (1.6.0 rolling - 04-30-2021)
- RestrictEvents 9e2bb0f (1.0.1 release - 05-03-2021)
- Allow CPUFriend on all El-Capitan Era Macs
- Fix UEFI 2.0 Application support on upgraded Nvidia GPUs
- Add experimental Sidecar support
- Requires Mac with Metal Intel iGPU and the iPad to be directly plugged in, wireless highly unstable
- SidecarFixup efdf11c (1.0.0 release - 05-02-2021)
## 0.1.1
- Fix iMac11,3 GFX0 pathing
- Add MouSSE support to iMac10,1 with Metal AMD GPU
- Fix iMac11,1 and iMac11,3 Nvidia boot issues after PRAM reset
- Fix DRM support on Nvidia-only configurations
- Support optional setting between DRM and QuickSync support on iMacs13,x and iMac14,x
- Add public beta support for Legacy GPU Acceleration (v0.0.4)
- Note ATI/AMD TeraScale 2 unsupported (HD 5/6000)
- Add better kmutil crash handling
- Fix build crashing when no wifi card is present
- Allow Legacy Acceleration Patches on Mac Pros and Xserves
- Fix USB kernel panics on iMac7,1
- Fix AppleALC support in Mojave
- Fix TeraScale 1 GPU detection
- Enable Graphics Acceleration on legacy GPUs by default
- Fix incorrectly disabling SIP/SMB on Metal GPUs
- Fix error output when rebuilding kernel cache fails
- Fix Acceleration Linking for Intel Ironlake iGPUs
## 0.1.0
- Fix crash on iMacs with Metal GPUs
## 0.0.23
- Fix MacBookPro4,1 15" and 17" audio support
- Fix iMac7,1 24" and iMac9,1 24" audio support
- Fix Macmini4,1 audio support
- Increment binaries
- AppleALC 1a3e5cb (1.6.0 rolling - 04-14-2021)
- Enhance Wifi model detection
- Hide OpenShell.efi by default
- Add Brightness Control patches for legacy Nvidia, AMD and Intel GPUs
- Models with brightness control issues in Catalina partially supported
- Add user configurable Bootstrap setting
- Enhance GPU Detection logic
- Increment AppleBackLightFixup v1.0.1
- Add panel type F10T9cde
- Enhance HDMI audio support on Mac Pros and Xserves
- Strip unused kext entries during build
- Add gfxutil support for better DeviceProperty path detection
- Add basic CLI support
- Disable SIP and SecureBootModel by default on legacy GPUs
## 0.0.22
- Add ExFat support for models missing driver
- Aids BootCamp support for EFI based installs on 2010 and older Macs
- Fix CPU Boosting on 2011 and older Macs
- Add basic support for Xserve2,1
- Add AppleALC support(99b3662 - 1.6.0 rolling - 04-09-2021), remove AppleHDA patching requirement
- Add BCM94322 and BCM94321 chipset support
## 0.0.21
- Fix botched images in OpenCanopy
- Add support for 3rd party OpenCore usage detection during building
- Mainly for users transitioning from Ausdauersportler's OpenCore configuration
## 0.0.20
- Fix CPU Calculation on early MCP79 chipsets (ie. iMac9,1, MacBook5,x)
- Increment binaries
- OpenCore c528597 (0.6.8 release - 2021-04-05)
- Lilu 3ef7ca1 (1.5.2 release - 2021-04-05)
- WhateverGreen afcd687 (1.4.9 release - 2021-04-05)
- Move Apple binaries to dedicated repo and allow custom repos
- Reduces App size 1/5th compared to 0.0.19
- Fix OpenCanopy support on iMac7,1 and 8,1
- Set iGPU-less iMacs to iMacPro1,1
- Additionally fixes Bluetooth on older iMacs with BRCM2046 modules
- Add MacBook4,1 support
- Create dedicated RestrictEvents build for MacBookPro9,1
- Fix Mac Pro and Xserve output issues
## 0.0.19
- Add SMC-Spoof.kext to avoid triggering `smcupdater`
- Add Root Volume patching for older machines
- AppleHDA Patch for 2011 and older (Excluding MacPro4,1+)
- Fix CPU Speed reporting
- Increment binaries
- OpenCore 9cd61bb (0.6.8 rolling - 2021-03-27)
- Add Mavericks and newer .app support
- Refactor USB map building, fixes USB 3.0 displaying as USB 2.0
- Fix blackscreen on MacBookPro9,1
- Update RestrictEvents with custom build (1.0.1)
- Blocks `/usr/libexec/displaypolicyd` on MacBookPro9,1 to ensure smooth GPU switching
- Add custom SD Card icon
- Add automatic codesiging and notarization
- Fix crashing when CD is present
- Add custom SSD icon
- Fix Broadcom Ethernet on older 2009-2011 Macs
## 0.0.18
- Disable Vault by default due to breaking installations
- Move BOOTx64.efi to System/Library/CoreServices/ to support GPT BootCamp installs
- Disable verbose by default, still configurable by end-user
- Remove `AppleInternal`(0x10) from SIP value
- Add Mac Pro DRM patches for Metal GPUs
- Force `Moderate` SMBIOS replacement for models without native APFS support
- Re-enable legacy BCM94322 networking patches
- Add custom drive icons for external drives
## 0.0.17
- Fix build detection breaking on older OS
## 0.0.16
- Move Serial selection to Patcher Settings
- Add new SMBIOS patching options:
- Minimal: Only update board ID and BIOSVersion, keep original serials
- Minimal: Only update board ID and BIOSVersion, keep original serials
- Moderate: Update entire SMBIOS, keep original serials
- Advanced: Update entire SMBIOS, generate new serials
- Fix crash on MacBookPro4,1
@@ -22,12 +564,14 @@
- Enable `amfi_get_out_of_my_way=1` when SIP is disabled
## 0.0.15
- Add user-configurable OpenCore DEBUG builds
- Add user-configurable Wifi and GPU patches
- Fix ThirdPartyDrives model detection
- Add HW_BID injection to fix boot.efi error
## 0.0.14
- Enable ThirdPartyDrives to aid with hibernation on 3rd party SATA drives
- Increment OpenCore 7bb41aa (0.6.8 rolling, 2021-03-06)
- Add ForceBooterSignature to resolve hibernation issues
@@ -36,70 +580,83 @@
- Add GopPassThrough quirk for UGA-based systems
## 0.0.13
- Add CPUFriend support to resolve X86PlatformPlugin clashes
- (1.2.3 c388a62 release)
- (1.2.3 c388a62 release)
- Fix crash with MacBookAir5,x
- Fix hibernation support
- Remove Wireless patches for BCM4328/4321(14e4:4328) due to boot issues
## 0.0.12
- Convert OpenCore-Patcher binary to OpenCore-Patcher.app
- Add Backlight patches for modded Nvidia GPUs in iMac10,x-12,x
- Fix sleep for iMac12,x with upgraded GPUs
## 0.0.11
- Re-add OpenCore GUI
- Rewrite in py3
- Add OpenCore-Patcher binary for releases avoiding local python requirement
- Increment binaries
- OpenCore cbd2fa3 (0.6.7 release)
- WhateverGreen 2e19d1b (1.4.8 release)
- OpenCore cbd2fa3 (0.6.7 release)
- WhateverGreen 2e19d1b (1.4.8 release)
- Rework SMBIOS allowing both original and custom serials(Should resolve all iMessage issues)
- Support upgraded GPU detection in iMac10,x-12,x
- Add Wifi card upgrade detection
## 0.0.10
- Increment binaries
- OpenCore 43f5339 (0.6.6 release)
- Lilu d107554 (1.5.1 release)
- WhateverGreen 9e53d8a (1.4.7 release)
- OpenCore 43f5339 (0.6.6 release)
- Lilu d107554 (1.5.1 release)
- WhateverGreen 9e53d8a (1.4.7 release)
- Add IDE support to MacPro3,1
- Set SecureBootModel to iMac Pro(should aid in booting older OSes with OpenCore)
- Update MacBookPro SMBIOS
## 0.0.9
- Resolve firmware install issues bricking Macs
## 0.0.8
- Fix USB Map
- Add HiDPI patch
## 0.0.7
- Add MacPro3,1 to HID patch
- Fix missing SSDT-CPBG patch
- Fix BlacklistAppleUpdate
- Add RestrictEvents kext
## 0.0.6
- Fix macserial crashing
## 0.0.5
- Enable hibernation support
- Work around USB Map failing
- Add checks whether booting with OpenCore
- Fix MouSSE injection
## 0.0.4
- Add basic audio support for legacy chipsets
- Add patch for dual GPU machines
## 0.0.3
- Fix Wireless patch logic
## 0.0.2
- Expand IOHIDFamily Patch to all Nvidia chipsets
- Fix Airdrop 1.0 support
- Add El Capitan era wireless cards
## 0.0.1
- Inital developer preview
- Initial developer preview

6
OpenCore-Patcher-GUI.command Executable file
View 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
View 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",
})

View File

@@ -1,335 +1,6 @@
#!/usr/bin/env python3
# Copyright (C) 2020-2022, Dhinak G, Mykola Grymalyuk
from resources import main
from __future__ import print_function
import subprocess, sys, time, platform
from Resources import build, ModelArray, Constants, utilities
class OpenCoreLegacyPatcher():
def __init__(self):
self.constants = Constants.Constants()
self.current_model: str = None
opencore_model: str = subprocess.run("nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:oem-product".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.decode()
if not opencore_model.startswith("nvram: Error getting variable"):
opencore_model = [line.strip().split(":oem-product ", 1)[1] for line in opencore_model.split("\n") if line.strip().startswith("4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:")][0]
self.current_model = opencore_model
else:
self.current_model = subprocess.run("system_profiler SPHardwareDataType".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
self.current_model = [line.strip().split(": ", 1)[1] for line in self.current_model.stdout.decode().split("\n") if line.strip().startswith("Model Identifier")][0]
self.constants.detected_os, _, _ = platform.mac_ver()
self.constants.detected_os = float('.'.join(self.constants.detected_os.split('.')[:2]))
def build_opencore(self):
build.BuildOpenCore(self.constants.custom_model or self.current_model, self.constants).build_opencore()
def install_opencore(self):
build.BuildOpenCore(self.constants.custom_model or self.current_model, self.constants).copy_efi()
def change_model(self):
utilities.cls()
utilities.header(["Select Different Model"])
print("""
Tip: Run the following command on the target machine to find the model identifier:
system_profiler SPHardwareDataType | grep 'Model Identifier'
""")
self.constants.custom_model = input("Please enter the model identifier of the target machine: ").strip()
if self.constants.custom_model not in ModelArray.SupportedSMBIOS:
print(f"""
{self.constants.custom_model} is not a valid SMBIOS Identifier for macOS {self.constants.os_support}!
""")
print_models = input(f"Print list of valid options for macOS {self.constants.os_support}? (y/n)")
if print_models in {"y", "Y", "yes", "Yes"}:
print("\n".join(ModelArray.SupportedSMBIOS))
input("Press any key to continue...")
def change_os(self):
utilities.cls()
utilities.header(["Select Patcher's Target OS"])
print(f"""
Minimum Target:\t{self.constants.min_os_support}
Maximum Target:\t{self.constants.max_os_support}
Current target:\t{self.constants.os_support}
""")
temp_os_support = float(input("Please enter OS target: "))
if (self.constants.max_os_support < temp_os_support) or (temp_os_support < self.constants.min_os_support):
print("Unsupported entry")
else:
self.constants.os_support = temp_os_support
if temp_os_support == 11.0:
ModelArray.SupportedSMBIOS = ModelArray.SupportedSMBIOS11
elif temp_os_support == 12.0:
ModelArray.SupportedSMBIOS = ModelArray.SupportedSMBIOS12
def change_verbose(self):
utilities.cls()
utilities.header(["Set Verbose mode"])
verbose_menu = input("Enable Verbose mode(y/n): ")
if verbose_menu in {"y", "Y", "yes", "Yes"}:
self.constants.verbose_debug = True
elif verbose_menu in {"n", "N", "no", "No"}:
self.constants.verbose_debug = False
else:
print("Invalid option")
def change_oc(self):
utilities.cls()
utilities.header(["Set OpenCore DEBUG mode"])
change_oc_menu = input("Enable OpenCore DEBUG mode(y/n): ")
if change_oc_menu in {"y", "Y", "yes", "Yes"}:
self.constants.opencore_debug = True
self.constants.opencore_build = "DEBUG"
elif change_oc_menu in {"n", "N", "no", "No"}:
self.constants.opencore_debug = False
self.constants.opencore_build = "RELEASE"
else:
print("Invalid option")
def change_kext(self):
utilities.cls()
utilities.header(["Set Kext DEBUG mode"])
change_kext_menu = input("Enable Kext DEBUG mode(y/n): ")
if change_kext_menu in {"y", "Y", "yes", "Yes"}:
self.constants.kext_debug = True
elif change_kext_menu in {"n", "N", "no", "No"}:
self.constants.kext_debug = False
else:
print("Invalid option")
def change_metal(self):
utilities.cls()
utilities.header(["Assume Metal GPU Always in iMac"])
print("""This is for iMacs that have upgraded Metal GPUs, otherwise
Patcher assumes based on stock configuration (ie. iMac10,x-12,x)
Valid Options:
1. None(stock GPU)
2. Nvidia GPU
3. AMD GPU
Note: Patcher will detect whether hardware has been upgraded regardless, this
option is for those patching on a different machine or OCLP cannot detect.
""")
change_kext_menu = input("Set GPU Patch type(ie. 1): ")
if change_kext_menu == "1":
self.constants.metal_build = False
self.constants.imac_vendor = "None"
elif change_kext_menu == "2":
self.constants.metal_build = True
self.constants.imac_vendor = "Nvidia"
elif change_kext_menu == "3":
self.constants.metal_build = True
self.constants.imac_vendor = "AMD"
else:
print("Invalid option")
def change_wifi(self):
utilities.cls()
utilities.header(["Assume Upgraded Wifi Always"])
print("""This is for Macs with upgraded wifi cards(ie. BCM94360/2)
Note: Patcher will detect whether hardware has been upgraded regardless, this
option is for those patching on a different machine or cannot detect.
""")
change_kext_menu = input("Enable Upgraded Wifi build algorithm?(y/n): ")
if change_kext_menu in {"y", "Y", "yes", "Yes"}:
self.constants.wifi_build = True
elif change_kext_menu in {"n", "N", "no", "No"}:
self.constants.wifi_build = False
else:
print("Invalid option")
def change_serial(self):
utilities.cls()
utilities.header(["Set SMBIOS Mode"])
print("""This section is for setting how OpenCore generates the SMBIOS
Recommended for adanced users who want control how serials are handled
Valid options:
1. Minimal:\tUse original serials and minimally update SMBIOS
2. Moderate:\tReplave entire SMBIOS but keep original serials
3. Advanced:\tReplace entire SMBIOS and generate new serials
Note: For new users we recommend leaving as default(1. Minimal)
""")
change_serial_menu = input("Set SMBIOS Mode(ie. 1): ")
if change_serial_menu == "1":
self.constants.serial_settings = "Minimal"
elif change_serial_menu == "2":
self.constants.serial_settings = "Moderate"
elif change_serial_menu == "3":
self.constants.serial_settings = "Advanced"
else:
print("Invalid option")
def change_showpicker(self):
utilities.cls()
utilities.header(["Set OpenCore Picker mode"])
print("""By default, OpenCore will show its boot picker each time on boot up,
however this can be disabled by default and be shown on command by repeatedly
pressing the "Esc" key
""")
change_kext_menu = input("Show OpenCore Picker by default(y/n): ")
if change_kext_menu in {"y", "Y", "yes", "Yes"}:
self.constants.showpicker = True
elif change_kext_menu in {"n", "N", "no", "No"}:
self.constants.showpicker = False
else:
print("Invalid option")
def change_vault(self):
utilities.cls()
utilities.header(["Set OpenCore Vaulting"])
print("""By default, this patcher will sign all your files and ensure none of the
contents can be tampered with. However for more advanced users, you may
want to be able to freely edit the config.plist and files.
Note: For secuirty reasons, OpenShell will be disabled when Vault is set.
""")
change_kext_menu = input("Enable Vault(y/n): ")
if change_kext_menu in {"y", "Y", "yes", "Yes"}:
self.constants.vault = True
elif change_kext_menu in {"n", "N", "no", "No"}:
self.constants.vault = False
else:
print("Invalid option")
def change_sip(self):
utilities.cls()
utilities.header(["Set SIP and SecureBootModel"])
print("""SIP and SecureBootModel are used to ensure proper OTA functionality,
however to patch the root volume both of these must be disabled.
Only disable is absolutely necessary.
Note: for minor changes, SIP can be adjusted in recovery like normal.
Additionally, when disabling SIP via the patcher amfi_get_out_of_my_way=1
will be added to boot-args.
Valid options:
1. Enable Both
2. Disable SIP only
3. Disable SecureBootModel Only
4. Disable Both
""")
change_kext_menu = input("Set SIP and SecureBootModel(ie. 1): ")
if change_kext_menu == "1":
self.constants.sip_status = True
self.constants.secure_status = True
elif change_kext_menu == "2":
self.constants.sip_status = False
self.constants.secure_status = True
elif change_kext_menu == "3":
self.constants.sip_status = True
self.constants.secure_status = False
elif change_kext_menu == "4":
self.constants.sip_status = False
self.constants.secure_status = False
else:
print("Invalid option")
def change_imac_nvidia(self):
utilities.cls()
utilities.header(["Force iMac Nvidia Patches"])
print("""Specifically for iMac10,x-12,x with Metal Nvidia GPU upgrades
By default the patcher will try to detect what hardware is
running, however this will enforce iMac Nvidia Build Patches.
""")
change_kext_menu = input("Assume iMac Nvidia patches(y/n): ")
if change_kext_menu in {"y", "Y", "yes", "Yes"}:
self.constants.imac_nvidia_build = True
elif change_kext_menu in {"n", "N", "no", "No"}:
self.constants.imac_nvidia_build = False
else:
print("Invalid option")
def patcher_settings(self):
response = None
while not (response and response == -1):
title = [
"Adjust Patcher Settings"
]
menu = utilities.TUIMenu(title, "Please select an option: ", auto_number=True, top_level=True)
options = [
# TODO: Enable setting OS target when more OSes become supported by the patcher
#[f"Change OS version:\t\t\tCurrently macOS {self.constants.os_support}", self.change_os],
[f"Enable Verbose Mode:\t\tCurrently {self.constants.verbose_debug}", self.change_verbose],
[f"Enable OpenCore DEBUG:\t\tCurrently {self.constants.opencore_debug}", self.change_oc],
[f"Enable Kext DEBUG:\t\t\tCurrently {self.constants.kext_debug}", self.change_kext],
[f"Force iMac Metal Patch:\t\tCurrently {self.constants.imac_vendor}", self.change_metal],
[f"Assume Upgraded Wifi Always:\tCurrently {self.constants.wifi_build}", self.change_wifi],
[f"Set ShowPicker Mode:\t\tCurrently {self.constants.showpicker}", self.change_showpicker],
[f"Set Vault Mode:\t\t\tCurrently {self.constants.vault}", self.change_vault],
[f"Set SIP and SecureBootModel:\tSIP: {self.constants.sip_status} SBM: {self.constants.secure_status}", self.change_sip],
[f"Set SMBIOS Mode:\t\t\tCurrently {self.constants.serial_settings}", self.change_serial],
]
for option in options:
menu.add_menu_option(option[0], function=option[1])
response = menu.start()
def credits(self):
utilities.TUIOnlyPrint(["Credits"], "Press [Enter] to go back.\n",
["""Many thanks to the following:
- Acidanthera:\tOpenCore, kexts and other tools
- Khronokernel:\tWriting and maintaining this patcher
- DhinakG:\t\tWriting and maintaining this patcher
- Syncretic:\t\tAAAMouSSE and telemetrap
- Slice:\t\tVoodooHDA
- cdf:\t\tNightShiftEnabler"""]).start()
def main_menu(self):
response = None
ModelArray.SupportedSMBIOS = ModelArray.SupportedSMBIOS11
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.current_model}",
f"Target OS: macOS {self.constants.os_support}",
]
if (self.constants.custom_model or self.current_model) not in ModelArray.SupportedSMBIOS:
in_between = [
'Your model is not supported by this patcher!',
'',
'If you plan to create the USB for another machine, please select the "Change Model" option in the menu.'
]
elif not self.constants.custom_model and self.current_model in ("MacPro3,1", "iMac7,1") and \
"SSE4.1" not in subprocess.run("sysctl machdep.cpu.features".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.decode():
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.current_model} with SSE4.1+, please select the "Change Model" option in the menu.'
]
elif self.constants.custom_model in ("MacPro3,1", "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", self.build_opencore]] if ((self.constants.custom_model or self.current_model) in ModelArray.SupportedSMBIOS) else []) + ([["Install OpenCore to USB/internal drive", self.install_opencore]] if (self.constants.detected_os > 10.12) else []) + [
["Change Model", self.change_model],
["Patcher Settings", self.patcher_settings],
["Credits", self.credits]
]
for option in options:
menu.add_menu_option(option[0], function=option[1])
response = menu.start()
if getattr(sys, "frozen", False):
subprocess.run("""osascript -e 'tell application "Terminal" to close first window' & exit""", shell=True)
OpenCoreLegacyPatcher().main_menu()
if __name__ == '__main__':
main.OpenCoreLegacyPatcher()

View File

@@ -1,17 +1,18 @@
# -*- mode: python ; coding: utf-8 -*-
import sys, os
sys.path.append(os.path.abspath(os.getcwd()))
from Resources import Constants
from resources import constants
block_cipher = None
a = Analysis(['OpenCore-Patcher.command'],
pathex=['resources', 'data'],
binaries=[],
datas=[('payloads', 'payloads'), ('Resources', 'Resources')],
datas=[('payloads', 'payloads')],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
excludes=['wxPython', 'wxpython'],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
@@ -34,10 +35,10 @@ exe = EXE(pyz,
console=True )
app = BUNDLE(exe,
name='OpenCore-Patcher.app',
icon="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,
"CFBundleShortVersionString": constants.Constants().patcher_version,
"CFBundleExecutable": "MacOS/Launcher",
"NSHumanReadableCopyright": "Copyright 2020-2021 Dortania"
"NSHumanReadableCopyright": constants.Constants().copyright_date,
})

View File

@@ -1,35 +1,69 @@
# OpenCore Legacy Patcher
<div align="center">
<img src="images/OC-Patcher.png" alt="OpenCore Patcher Logo" width="256" />
<h1>OpenCore Legacy Patcher</h1>
</div>
<img src="images/OC-Patcher.png" width="256">
A python program for building and booting OpenCore on legacy Macs, see [Supported SMBIOS](https://dortania.github.io/OpenCore-Legacy-Patcher/MODELS.html) on whether your model is supported.
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:
* System Integrity Protection, FileVault 2, .im4m Secure Boot and Vaulting
* WPA Wifi and Personal Hotspot support
* Native OTA OS DELTA updates on all Macs
* Recovery OS, Safe Mode and Single-user Mode booting
* Zero firmware patching required(ie. APFS ROM patching)
* GPU Switching on MacBook Pro models(2012 and newer)
* Zero firmware patching required (ie. APFS ROM patching)
* GPU Switching on MacBook Pro models (2012 and newer)
Note: Only clean-installs and upgrades are supported, installs already patched with [Patched-Sur](https://github.com/BenSova/Patched-Sur) or [bigmac](https://github.com/StarPlayrX/bigmac) cannot be used due to broken file integrity with APFS snapshots and SIP.
Note: Only clean-installs and upgrades are supported, macOS Big Sur installs already patched with other patchers, such as [Patched Sur](https://github.com/BenSova/Patched-Sur) or [bigmac](https://github.com/StarPlayrX/bigmac), cannot be used due to broken file integrity with APFS snapshots and SIP.
* You can however reinstall macOS with this patcher and retain your original data
Note 2: Currently OpenCore Legacy Patcher only supports macOS 11, Big Sur installs. For older OSes, please use [Dosdude1's patchers](http://dosdude1.com)
Note 2: Currently OpenCore Legacy Patcher officially supports patching to run macOS Big Sur and Monterey installs. For older OSes, OpenCore may function however support is currently not provided from Dortania.
## How to use
See the online guide on how:
* For macOS Mojave and Catalina support, we recommend the use of [dosdude1's patchers](http://dosdude1.com)
* [OpenCore Legacy Patcher Guide](https://dortania.github.io/OpenCore-Legacy-Patcher/)
## Running from source
## Patcher Warnings
To run the project from source, see here: [Build and run from source](./SOURCE.md)
Since this patcher tricks macOS into thinking you're running a newer Mac, certain functionality may be broken:
## Support
* Boot Camp Assistant.app
* We recommend running the assistant on a natively supported OS, running via the patcher may result in unforeseen issues
* Legacy Windows Booting
* Currently OpenCore cannot boot MBR-based installs, so Ivy Bridge and older Machines may not be able to see Windows in OpenCore's Boot Picker
* Boot Buddy support
* Due to how OpenCore overwrites NVRAM , the usage of Boot Buddy and such tools are **highly** in-advised
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 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
* [Acidanthera](https://github.com/Acidanthera)
* OpenCorePkg as well as many of the core kexts and tools
* [DhinakG](https://github.com/DhinakG)
* Main co-author
* [Khronokernel](https://github.com/Khronokernel)
* Main co-author
* [Ausdauersportler](https://github.com/Ausdauersportler)
* iMacs Metal GPUs Upgrade Patch set and documentation
* 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), [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
* [Innie](https://github.com/cdf/Innie) and [NightShiftEnabler](https://github.com/cdf/NightShiftEnabler)
* [Syncretic](https://forums.macrumors.com/members/syncretic.1173816/)
* [AAAMouSSE](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/), [telemetrap](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/post-28447707) and [SurPlus](https://github.com/reenigneorcim/SurPlus)
* [dosdude1](https://github.com/dosdude1)
* Main author of GUI
* Development of previous patchers, laying out much of what needs to be patched
* [parrotgeek1](https://github.com/parrotgeek1)
* [VMM Patch Set](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/4a8f61a01da72b38a4b2250386cc4b497a31a839/payloads/Config/config.plist#L1222-L1281)
* [BarryKN](https://github.com/BarryKN)
* Development of previous patchers, laying out much of what needs to be patched
* [mario_bros_tech](https://github.com/mariobrostech) and the rest of the Unsupported Mac Discord
* Catalyst that started OpenCore Legacy Patcher
* [arter97](https://github.com/arter97/)
* [SimpleMSR](https://github.com/arter97/SimpleMSR/) to disable firmware throttling in Nehalem+ MacBooks without batteries
* MacRumors and Unsupported Mac Communities
* Endless testing, reporting issues
* Apple
* for macOS and many of the kexts, frameworks and other binaries we reimplemented into newer OSes

View File

@@ -1,154 +0,0 @@
# pylint: disable=multiple-statements
# Define Files
from __future__ import print_function
from pathlib import Path
class Constants:
def __init__(self):
self.patcher_version = "0.0.17"
self.opencore_commit = "7bb41aa - 2021-03-06"
self.opencore_version = "0.6.8"
self.lilu_version = "1.5.1"
self.whatevergreen_version = "1.4.8"
self.airportbcrmfixup_version = "2.1.2"
self.bcm570_version = "1.0.0"
self.marvel_version = "1.0.0"
self.nforce_version = "1.0.0"
self.mce_version = "1.0.0"
self.mousse_version = "0.93"
self.telemetrap_version = "1.0.0"
self.io80211high_sierra_version = "1.0.0"
self.io80211mojave_version = "1.0.0"
self.voodoohda_version = "296"
self.restrictevents_version = "1.0.0"
self.piixata_version = "1.0.0"
self.backlight_version = "1.0.0"
self.cpufriend_version = "1.2.3"
self.nightshift_version = "1.1.0"
# Get resource path
self.current_path = Path(__file__).parent.parent.resolve()
self.payload_path = self.current_path / Path("payloads")
self.custom_model: str = None
self.custom_mxm_gpu: str = None
self.current_gpuv: str = None
self.current_gpud: str = None
# Patcher Settings
self.opencore_debug = False
self.opencore_build = "RELEASE"
self.kext_debug = False
self.verbose_debug = True
self.os_support = 11.0
self.min_os_support = 11.0
self.max_os_support = 11.0
self.metal_build = False
self.imac_vendor = "None"
self.wifi_build = False
self.gui_mode = False
self.serial_settings = "Minimal"
self.showpicker = True
self.vault = True
self.sip_status = True
self.secure_status = True
self.detected_os = 0.0
# Payload Location
# OpenCore
@property
def opencore_zip_source(self): return self.payload_path / Path(f"OpenCore/OpenCore-{self.opencore_build}-v{self.opencore_version}.zip")
@property
def plist_template(self): return self.payload_path / Path(f"Config/v{self.opencore_version}/config.plist")
# ACPI
@property
def pci_ssdt_path(self): return self.payload_path / Path("ACPI/SSDT-CPBG.aml")
# Drivers
@property
def nvme_driver_path(self): return self.payload_path / Path("Drivers/NvmExpressDxe.efi")
# Kexts
@property
def payload_kexts_path(self): return self.payload_path / Path("Kexts")
@property
def lilu_path(self): return self.payload_kexts_path / Path(f"Acidanthera/Lilu-v{self.lilu_version}.zip")
@property
def whatevergreen_path(self): return self.payload_kexts_path / Path(f"Acidanthera/WhateverGreen-v{self.whatevergreen_version}.zip")
@property
def airportbcrmfixup_path(self): return self.payload_kexts_path / Path(f"Acidanthera/AirportBrcmFixup-v{self.airportbcrmfixup_version}.zip")
@property
def restrictevents_path(self): return self.payload_kexts_path / Path(f"Acidanthera/RestrictEvents-v{self.restrictevents_version}.zip")
@property
def bcm570_path(self): return self.payload_kexts_path / Path(f"Ethernet/CatalinaBCM5701Ethernet-v{self.bcm570_version}.zip")
@property
def marvel_path(self): return self.payload_kexts_path / Path(f"Ethernet/MarvelYukonEthernet-v{self.marvel_version}.zip")
@property
def nforce_path(self): return self.payload_kexts_path / Path(f"Ethernet/nForceEthernet-v{self.nforce_version}.zip")
@property
def mce_path(self): return self.payload_kexts_path / Path(f"Misc/AppleMCEReporterDisabler-v{self.mce_version}.zip")
@property
def mousse_path(self): return self.payload_kexts_path / Path(f"SSE/AAAMouSSE-v{self.mousse_version}.zip")
@property
def telemetrap_path(self): return self.payload_kexts_path / Path(f"SSE/telemetrap-v{self.telemetrap_version}.zip")
@property
def io80211high_sierra_path(self): return self.payload_kexts_path / Path(f"Wifi/IO80211HighSierra-v{self.io80211high_sierra_version}.zip")
@property
def io80211mojave_path(self): return self.payload_kexts_path / Path(f"Wifi/IO80211Mojave-v{self.io80211mojave_version}.zip")
@property
def voodoohda_path(self): return self.payload_kexts_path / Path(f"Audio/VoodooHDA-v{self.voodoohda_version}.zip")
@property
def piixata_path(self): return self.payload_kexts_path / Path(f"Misc/AppleIntelPIIXATA-v{self.piixata_version}.zip")
@property
def backlight_path(self): return self.payload_kexts_path / Path(f"Misc/AppleBacklightFixup-v{self.backlight_version}.zip")
@property
def cpufriend_path(self): return self.payload_kexts_path / Path(f"Acidanthera/CPUFriend-v{self.cpufriend_version}.zip")
@property
def nightshift_path(self): return self.payload_kexts_path / Path(f"Misc/NightShiftEnabler-v{self.nightshift_version}.zip")
# Build Location
@property
def build_path(self): return self.current_path / Path("Build-Folder/")
@property
def opencore_release_folder(self): return self.build_path / Path(f"OpenCore-{self.opencore_build}-v{self.opencore_version}")
@property
def opencore_zip_copied(self): return self.build_path / Path(f"OpenCore-{self.opencore_build}-v{self.opencore_version}.zip")
@property
def oc_folder(self): return self.opencore_release_folder / Path("EFI/OC/")
@property
def plist_path(self): return self.oc_folder / Path("config.plist")
@property
def acpi_path(self): return self.oc_folder / Path("ACPI")
@property
def drivers_path(self): return self.oc_folder / Path("Drivers")
@property
def kexts_path(self): return self.oc_folder / Path("Kexts")
@property
def resources_path(self): return self.oc_folder / Path("Resources")
@property
def map_kext_folder(self): return self.kexts_path / Path("USB-Map.kext")
@property
def map_contents_folder(self): return self.map_kext_folder / Path("Contents")
@property
def pp_kext_folder(self): return self.kexts_path / Path("CPUFriendDataProvider.kext")
@property
def pp_contents_folder(self): return self.pp_kext_folder / Path("Contents")
# Tools
@property
def macserial_path(self): return self.payload_path / Path("Tools/macserial")
@property
def vault_path(self): return self.payload_path / Path("Tools/CreateVault/sign.command")
# Icons
@property
def app_icon_path(self): return self.current_path / Path("OC-Patcher.icns")
@property
def icon_path(self): return self.payload_path / Path("Icon/.VolumeIcon.icns")
@property
def gui_path(self): return self.payload_path / Path("Icon/Resources.zip")

View File

@@ -1,819 +0,0 @@
# Lists all models and required patches
SupportedSMBIOS11 = [
# MacBook
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
# MacBook Air
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookAir5,1",
"MacBookAir5,2",
# MacBook Pro
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
# Mac Mini
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"Macmini6,1",
"Macmini6,2",
# iMac
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"iMac13,1",
"iMac13,2",
"iMac14,1",
"iMac14,2",
"iMac14,3",
# Mac Pro
"MacPro3,1",
"MacPro4,1",
"MacPro5,1",
# Xserve
"Xserve3,1",
"Dortania1,1"
]
SupportedSMBIOS12 = [
]
## CPU patches
MissingSSE42 = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro7,1",
"Macmini3,1",
"Macmini4,1",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"MacPro3,1",
"Dortania1,1"
]
SSEEmulator = [
"MacPro3,1",
"Dortania1,1"
]
DualSocket = [
"MacPro3,1",
"MacPro4,1",
"MacPro5,1",
"Xserve3,1",
"Dortania1,1"
]
pciSSDT = [
"MacBookPro6,1",
"MacBookPro6,2",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"Dortania1,1"
]
## Ethernet patches
EthernetNvidia = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro7,1",
"Macmini3,1",
"Macmini4,1",
"iMac9,1",
"iMac10,1",
"Dortania1,1"
]
EthernetMarvell = [
"MacBookPro4,1",
"iMac7,1",
"iMac8,1",
"Dortania1,1"
]
EthernetBroadcom = [
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"Dortania1,1"
]
## Wifi patches
WifiAtheros = [
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"MacPro3,1",
"MacPro4,1",
"Dortania1,1"
]
WifiBCM94328 = [
"MacBookAir2,1",
"MacBookPro4,1",
"iMac7,1",
"iMac8,1",
"Dortania1,1"
]
WifiBCM94322 = [
"MacBook5,1",
"MacBook5,2",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro7,1",
"Dortania1,1"
]
WifiBCM943224 = [
"MacBook6,1",
"MacBook7,1",
"MacBookPro6,1",
"MacBookPro6,2",
"Macmini3,1",
"Macmini4,1",
"Dortania1,1"
]
WifiBCM94331 = [
"MacBook5,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBook5,2", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBook6,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBook7,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookAir3,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookAir3,2", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookAir4,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookAir4,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookAir5,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookAir5,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro5,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro5,2", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro5,3", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro5,4", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro5,5", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro6,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro6,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro7,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookPro8,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro8,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro8,3", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro9,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro9,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro10,1",# PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro10,2",# PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini3,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"Macmini4,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"Macmini5,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini5,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini5,3", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini6,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini6,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
#"iMac9,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"iMac13,1", # PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)
"iMac13,2", # PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)
"MacPro5,1", # PciRoot(0x0)/Pci(0x1C,0x5)/Pci(0x0,0x0)
"Dortania1,1"
]
## Audio
LegacyAudio = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"MacPro3,1",
"Dortania1,1"
]
## GPU
LegacyGPU = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"Dortania1,1"
]
LegacyHID = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro7,1",
"Macmini3,1",
"Macmini4,1",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"MacPro3,1",
"Dortania1,1"
]
NVMePatch = [
"MacPro3,1",
"MacPro4,1",
"Xserve3,1",
"Dortania1,1"
]
SidecarPatch = [
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"Macmini6,1",
"Macmini6,2",
"iMac13,1",
"iMac13,2",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"Dortania1,1"
]
DualGPUPatch = [
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"Macmini5,2",
"iMac12,1",
"iMac12,2",
"iMac13,2",
"iMac14,2",
"iMac14,3",
"Dortania1,1"
]
DualGPUPatchRetina = [
"MacBookPro10,1",
]
HiDPIpicker = [
"MacBookPro10,1",
"MacBookPro10,2",
"Dortania1,1"
]
IDEPatch = [
"MacPro3,1",
"Dortania1,1"
]
# 11" Air
MacBookAir61 = [
"MacBookAir3,1",
"MacBookAir4,1",
"MacBookAir5,1",
]
# MacBook and 13" Air
MacBookAir62 = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,2",
"MacBookAir4,2",
"MacBookAir5,2"
]
# MacBook Pro 13"
MacBookPro111 = [
"MacBookPro5,5",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro9,2",
"MacBookPro10,2",
]
# MacBook Pro 15" and 17"
MacBookPro113 = [
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro10,1",
]
# Mac Mini
Macmini71 = [
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"Macmini6,1",
"Macmini6,2"
]
# iMac = AMD and Nvidia GPU
iMac151 = [
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"iMac13,2",
"iMac14,2",
"iMac14,3"
]
# iMac = Intel iGPU
iMac144 = [
"iMac13,1",
"iMac14,1"
]
# Mac Pro and Xserve
MacPro71 = [
"MacPro3,1",
"MacPro4,1",
"MacPro5,1",
"Xserve3,1",
"Dortania1,1"
]
# Maps
XXerve = [
"Xserve3,1",
]
iXac = [
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"iMac13,1",
"iMac13,2",
"iMac14,1",
"iMac14,2",
"iMac14,3",
]
XacBookNormal = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
]
XacBookAir = [
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookAir5,1",
"MacBookAir5,2",
]
XacBookPro = [
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
]
XacPro = [
"MacPro3,1",
"MacPro4,1",
"MacPro5,1",
]
Xacmini = [
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"Macmini6,1",
"Macmini6,2",
]
EHCI = [
"MacPro3,1"
]
EHC1 = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"Macmini6,1",
"Macmini6,2",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"iMac13,1",
"iMac13,2",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"MacPro4,1",
"MacPro5,1",
]
EHC2 = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"Macmini6,1",
"Macmini6,2",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"iMac13,1",
"iMac13,2",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"MacPro4,1",
"MacPro5,1",
]
OHC1 = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro7,1",
"Macmini3,1",
"Macmini4,1",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
]
IHEHC1 = [
"iMac13,1",
"iMac13,2",
"iMac13,3"
]
IHEHC2 = [
"MacBookPro9,1"
]
IH = [
"MacPro6,1"
]
upgradableMXMGPUs = [
"iMac10,1"
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"Xserve3,1",
"Dortania1,1"
]
# Reference: https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/
NVIDIAMXMGPUs = [
"0x12b9",#Quadro K610M
"0x0ff6",#Quadro K1100M
"0x11fc",#Quadro K2100M
"0x0ffc",#Quadro K1000M
"0x0ffb",#Quadro K2000M
"0x11b6",#Quadro K3100M
"0x11b7",#Quadro K4100M
"0x11bc",#Quadro K5000M
"0x11b8",#Quadro K5100M
"0x11e1",#GTX 765M
"0x11e2",#GTX 765M
"0x11e0",#GTX 770M
"0x119e",#GTX 780M Mac Edition
"0x119e",#GTX 780M
"0x119f",#GTX 880M
"0x119a",#GTX 860M
"0x1392",#GTX 860M
"0x1199",#GTX 870M
"0x11a9",#GTX 870M
]
AMDMXMGPUs = [
"0x67EF",#AMD RX 460
"0x67e8",#AMD WX 4130/WX 4150
"0x67e0",#AMD WX 4170
"0x67c0",#AMD WX 7100
]
nativeWifi = [
"ba430000",#BCM43602
"a3430000",#BCM4350
"a0430000",#BCM4360
]
X86PP = [
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"Macmini6,1",
"Macmini6,2",
"iMac13,1",
"iMac13,2",
"iMac14,1",
"iMac14,2",
"iMac14,3",
]
NightShiftExclude = [
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"Macmini6,1",
"Macmini6,2",
"iMac13,1",
"iMac13,2",
"iMac14,1",
"iMac14,2",
"iMac14,3",
]
UGAtoGOP = [
"MacBookPro4,1",
"MacPro3,1"
]
NoSATAPatch = [
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookPro10,1",
"MacBookPro10,2",
"iMac13,1",
"iMac13,2",
"iMac14,1",
"iMac14,2",
"iMac14,3",
]

View File

@@ -1,562 +0,0 @@
# Commands for building the EFI and SMBIOS
from __future__ import print_function
import binascii
import plistlib
import shutil
import subprocess
import uuid
import zipfile
from pathlib import Path
from datetime import date
from Resources import Constants, ModelArray, utilities
def human_fmt(num):
for unit in ["B", "KB", "MB", "GB", "TB", "PB"]:
if abs(num) < 1000.0:
return "%3.1f %s" % (num, unit)
num /= 1000.0
return "%.1f %s" % (num, "EB")
def rmtree_handler(func, path, exc_info):
if exc_info[0] == FileNotFoundError:
return
raise # pylint: disable=misplaced-bare-raise
class BuildOpenCore:
def __init__(self, model, versions):
self.model = model
self.config = None
self.constants: Constants.Constants = versions
def hexswap(self, input_hex: str):
hex_pairs = [input_hex[i:i + 2] for i in range(0, len(input_hex), 2)]
hex_rev = hex_pairs[::-1]
hex_str = "".join(["".join(x) for x in hex_rev])
return hex_str.upper()
def build_efi(self):
utilities.cls()
if not Path(self.constants.build_path).exists():
Path(self.constants.build_path).mkdir()
print("Created build folder")
else:
print("Build folder already present, skipping")
if Path(self.constants.opencore_zip_copied).exists():
print("Deleting old copy of OpenCore zip")
Path(self.constants.opencore_zip_copied).unlink()
if Path(self.constants.opencore_release_folder).exists():
print("Deleting old copy of OpenCore folder")
shutil.rmtree(self.constants.opencore_release_folder, onerror=rmtree_handler)
print()
print(f"- Adding OpenCore v{self.constants.opencore_version} {self.constants.opencore_build}")
shutil.copy(self.constants.opencore_zip_source, self.constants.build_path)
zipfile.ZipFile(self.constants.opencore_zip_copied).extractall(self.constants.build_path)
print("- Adding config.plist for OpenCore")
# Setup config.plist for editing
shutil.copy(self.constants.plist_template, self.constants.oc_folder)
self.config = plistlib.load(Path(self.constants.plist_path).open("rb"))
# Set revision in config
self.config["#Revision"]["Build-Version"] = f"{self.constants.patcher_version} - {date.today()}"
self.config["#Revision"]["OpenCore-Version"] = f"{self.constants.opencore_version} - {self.constants.opencore_build} - {self.constants.opencore_commit}"
self.config["#Revision"]["Original-Model"] = self.model
self.config["NVRAM"]["Add"]["4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102"]["OCLP-Version"] = f"{self.constants.patcher_version}"
for name, version, path, check in [
# Essential kexts
("Lilu.kext", self.constants.lilu_version, self.constants.lilu_path, lambda: True),
("WhateverGreen.kext", self.constants.whatevergreen_version, self.constants.whatevergreen_path, lambda: True),
("RestrictEvents.kext", self.constants.restrictevents_version, self.constants.restrictevents_path, lambda: self.model in ModelArray.MacPro71),
("NightShiftEnabler.kext", self.constants.nightshift_version, self.constants.nightshift_path, lambda: self.model not in ModelArray.NightShiftExclude),
# CPU patches
("AppleMCEReporterDisabler.kext", self.constants.mce_version, self.constants.mce_path, lambda: self.model in ModelArray.DualSocket),
("AAAMouSSE.kext", self.constants.mousse_version, self.constants.mousse_path, lambda: self.model in ModelArray.SSEEmulator),
("telemetrap.kext", self.constants.telemetrap_version, self.constants.telemetrap_path, lambda: self.model in ModelArray.MissingSSE42),
("CPUFriend.kext", self.constants.cpufriend_version, self.constants.cpufriend_path, lambda: self.model in ModelArray.X86PP),
# Ethernet patches
("nForceEthernet.kext", self.constants.nforce_version, self.constants.nforce_path, lambda: self.model in ModelArray.EthernetNvidia),
("MarvelYukonEthernet.kext", self.constants.marvel_version, self.constants.marvel_path, lambda: self.model in ModelArray.EthernetMarvell),
("CatalinaBCM5701Ethernet.kext", self.constants.bcm570_version, self.constants.bcm570_path, lambda: self.model in ModelArray.EthernetBroadcom),
# Legacy audio
("VoodooHDA.kext", self.constants.voodoohda_version, self.constants.voodoohda_path, lambda: self.model in ModelArray.LegacyAudio),
# IDE patch
("AppleIntelPIIXATA.kext", self.constants.piixata_version, self.constants.piixata_path, lambda: self.model in ModelArray.IDEPatch),
]:
self.enable_kext(name, version, path, check)
# WiFi patches
# TODO: -a is not supported in Lion and older, need to add proper fix
wifi_devices = plistlib.loads(subprocess.run("ioreg -c IOPCIDevice -r -d2 -a".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode())
wifi_devices = [i for i in wifi_devices if i["vendor-id"] == binascii.unhexlify("E4140000") and i["class-code"] == binascii.unhexlify("00800200")]
if self.constants.wifi_build is True:
print("- Skipping Wifi patches on request")
elif not self.constants.custom_model and wifi_devices and self.hexswap(binascii.hexlify(wifi_devices[0]["device-id"]).decode()[:4]) in ModelArray.nativeWifi:
print("- Found supported WiFi card, skipping wifi patches")
else:
if self.model in ModelArray.WifiAtheros:
self.enable_kext("IO80211HighSierra.kext", self.constants.io80211high_sierra_version, self.constants.io80211high_sierra_path)
self.get_kext_by_bundle_path("IO80211HighSierra.kext/Contents/PlugIns/AirPortAtheros40.kext")["Enabled"] = True
if self.model in ModelArray.WifiBCM94331:
self.enable_kext("AirportBrcmFixup.kext", self.constants.airportbcrmfixup_version, self.constants.airportbcrmfixup_path)
self.get_kext_by_bundle_path("AirportBrcmFixup.kext/Contents/PlugIns/AirPortBrcmNIC_Injector.kext")["Enabled"] = True
if self.model in ModelArray.EthernetNvidia:
# Nvidia chipsets all have the same path to ARPT
property_path = "PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)"
if self.model in ("MacBookAir2,1", "MacBookAir3,1", "MacBookAir3,2"):
property_path = "PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)"
elif self.model in ("iMac7,1", "iMac8,1"):
property_path = "PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)"
elif self.model in ("iMac13,1", "iMac13,2"):
property_path = "PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)"
elif self.model == "MacPro5,1":
property_path = "PciRoot(0x0)/Pci(0x1C,0x5)/Pci(0x0,0x0)"
else:
# Assumes we have a laptop with Intel chipset
property_path = "PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)"
print("- Applying fake ID for WiFi")
self.config["DeviceProperties"]["Add"][property_path] = {"device-id": binascii.unhexlify("ba430000"), "compatible": "pci14e4,43ba"}
# CPUFriend
pp_map_path = Path(self.constants.current_path) / Path(f"payloads/Kexts/PlatformPlugin/{self.model}/Info.plist")
if self.model in ModelArray.X86PP:
Path(self.constants.pp_kext_folder).mkdir()
Path(self.constants.pp_contents_folder).mkdir()
shutil.copy(pp_map_path, self.constants.pp_contents_folder)
self.get_kext_by_bundle_path("CPUFriendDataProvider.kext")["Enabled"] = True
# HID patches
if self.model in ModelArray.LegacyHID:
print("- Adding IOHIDFamily patch")
self.get_item_by_kv(self.config["Kernel"]["Patch"], "Identifier", "com.apple.iokit.IOHIDFamily")["Enabled"] = True
# SSDT patches
if self.model in ModelArray.pciSSDT:
print("- Adding SSDT-CPBG.aml")
self.get_item_by_kv(self.config["ACPI"]["Add"], "Path", "SSDT-CPBG.aml")["Enabled"] = True
# USB Map
usb_map_path = Path(self.constants.current_path) / Path(f"payloads/Kexts/Maps/Universal/Info.plist")
if usb_map_path.exists():
print(f"- Adding USB-Map.kext")
Path(self.constants.map_kext_folder).mkdir()
Path(self.constants.map_contents_folder).mkdir()
shutil.copy(usb_map_path, self.constants.map_contents_folder)
self.get_kext_by_bundle_path("USB-Map.kext")["Enabled"] = True
# AGPM Patch
if self.model in ModelArray.DualGPUPatch:
print("- Adding dual GPU patch")
self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " agdpmod=pikera"
# HiDPI OpenCanopy and FileVault
if self.model in ModelArray.HiDPIpicker:
print("- Setting HiDPI picker")
self.config["NVRAM"]["Add"]["4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14"]["UIScale"] = binascii.unhexlify("02")
def nvidia_patch(self):
self.constants.custom_mxm_gpu = True
print("- Adding Nvidia Brightness Control patches")
if self.model in ["iMac11,1", "iMac11,2", "iMac11,3"]:
backlight_path = "PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)"
self.config["DeviceProperties"]["Add"][backlight_path] = {"@0,backlight-control": binascii.unhexlify("01000000"), "@0,built-in": binascii.unhexlify("01000000")}
shutil.copy(self.constants.backlight_path, self.constants.kexts_path)
self.get_kext_by_bundle_path("AppleBacklightFixup.kext")["Enabled"] = True
elif self.model in ["iMac12,1", "iMac12,2"]:
backlight_path = "PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)"
self.config["DeviceProperties"]["Add"][backlight_path] = {"@0,backlight-control": binascii.unhexlify("01000000"), "@0,built-in": binascii.unhexlify("01000000")}
print("- Disabling unsupported iGPU")
self.config["DeviceProperties"]["Add"]["PciRoot(0x0)/Pci(0x2,0x0)"] = {"name": binascii.unhexlify("23646973706C6179"), "IOName": "#display", "class-code": binascii.unhexlify("FFFFFFFF")}
else:
print("- Failed to determine model")
def amd_patch(self):
self.constants.custom_mxm_gpu = True
print("- Adding AMD DRM patches")
self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " shikigva=80 unfairgva=1"
if self.model in ["iMac12,1", "iMac12,2"]:
print("- Disabling unsupported iGPU")
self.config["DeviceProperties"]["Add"]["PciRoot(0x0)/Pci(0x2,0x0)"] = {"name": binascii.unhexlify("23646973706C6179"), "IOName": "#display", "class-code": binascii.unhexlify("FFFFFFFF")}
# Check GPU Vendor
if self.constants.metal_build is True:
print("- Adding Metal GPU patches on request")
if self.constants.imac_vendor == "AMD":
amd_patch(self)
elif self.constants.imac_vendor == "Nvidia":
nvidia_patch(self)
else:
print("- Failed to find vendor")
elif self.constants.custom_model == "None":
current_gpu: str = subprocess.run("system_profiler SPDisplaysDataType".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.decode()
self.constants.current_gpuv = [line.strip().split(": ", 1)[1] for line in current_gpu.split("\n") if line.strip().startswith(("Vendor"))][0]
self.constants.current_gpud = [line.strip().split(": ", 1)[1] for line in current_gpu.split("\n") if line.strip().startswith(("Device ID"))][0]
print(f"- Detected GPU: {self.constants.current_gpuv} {self.constants.current_gpud}")
if (self.constants.current_gpuv == "AMD (0x1002)") & (self.constants.current_gpud in ModelArray.AMDMXMGPUs):
amd_patch(self)
elif (self.constants.current_gpuv == "NVIDIA (0x10de)") & (self.constants.current_gpud in ModelArray.NVIDIAMXMGPUs):
nvidia_patch(self)
# Add OpenCanopy
print("- Adding OpenCanopy GUI")
shutil.rmtree(self.constants.resources_path, onerror=rmtree_handler)
shutil.copy(self.constants.gui_path, self.constants.oc_folder)
self.config["UEFI"]["Drivers"] = ["OpenCanopy.efi", "OpenRuntime.efi"]
# Add UGA to GOP layer
if self.model in ModelArray.UGAtoGOP:
print("- Adding UGA to GOP Patch")
self.config["UEFI"]["ProtocolOverrides"]["GopPassThrough"] = True
# ThridPartDrives Check
if self.model not in ModelArray.NoSATAPatch:
print("- Adding SATA Hibernation Patch")
self.config["Kernel"]["Quirks"]["ThirdPartyDrives"] = True
#DEBUG Settings
if self.constants.verbose_debug is True:
print("- Enabling Verbose boot")
self.config["Kernel"]["Quirks"]["PanicNoKextDump"] = True
self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " -v"
if self.constants.kext_debug is True:
print("- Enabling DEBUG Kexts")
self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " -liludbgall"
self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " msgbuf=1048576"
if self.constants.opencore_debug is True:
print("- Enabling DEBUG OpenCore")
self.config["Misc"]["Debug"]["Target"] = 67
if self.constants.showpicker is True:
print("- Enabling ShowPicker")
self.config["Misc"]["Boot"]["ShowPicker"] = True
else:
print("- Hiding picker and enabling PollAppleHotKeys")
self.config["Misc"]["Boot"]["ShowPicker"] = False
self.config["Misc"]["Boot"]["PollAppleHotKeys"] = True
if self.constants.vault is True:
print("- Setting Vault configuration")
self.config["Misc"]["Security"]["Vault"] = "Secure"
self.get_tool_by__path("OpenShell.efi")["Enabled"] = False
if self.constants.sip_status is False:
print("- Disabling SIP")
self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["csr-active-config"] = binascii.unhexlify("FF0F0000")
self.config["NVRAM"]["Delete"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"] += ["csr-active-config"]
self.config["NVRAM"]["Add"]["7C436110-AB2A-4BBB-A880-FE41995C9F82"]["boot-args"] += " amfi_get_out_of_my_way=1"
if self.constants.secure_status is False:
print("- Disabling SecureBootModel")
self.config["Misc"]["Security"]["SecureBootModel"] = "Disabled"
def set_smbios(self):
spoofed_model = self.model
# TODO: Set check as global variable
if self.model in ModelArray.MacBookAir61:
print("- Spoofing to MacBookAir6,1")
spoofed_model = "MacBookAir6,1"
spoofed_board = "Mac-35C1E88140C3E6CF"
elif self.model in ModelArray.MacBookAir62:
print("- Spoofing to MacBookAir6,2")
spoofed_model = "MacBookAir6,2"
spoofed_board = "Mac-7DF21CB3ED6977E5"
elif self.model in ModelArray.MacBookPro111:
print("- Spoofing to MacBookPro11,1")
spoofed_model = "MacBookPro11,1"
spoofed_board = "Mac-189A3D4F975D5FFC"
elif self.model in ModelArray.MacBookPro113:
print("- Spoofing to MacBookPro11,3")
spoofed_model = "MacBookPro11,3"
spoofed_board = "Mac-2BD1B31983FE1663"
elif self.model in ModelArray.Macmini71:
print("- Spoofing to Macmini7,1")
spoofed_model = "Macmini7,1"
spoofed_board = "Mac-35C5E08120C7EEAF"
elif self.model in ModelArray.iMac151:
# Check for upgraded GPUs on iMacs
if self.constants.metal_build is True:
print("- Spoofing to iMacPro1,1")
spoofed_model = "iMacPro1,1"
spoofed_board = "Mac-7BA5B2D9E42DDD94"
elif (self.constants.current_gpuv == "AMD (0x1002)") & (self.constants.current_gpud in ModelArray.AMDMXMGPUs) & (self.constants.custom_model == "None"):
print("- Spoofing to iMacPro1,1")
spoofed_model = "iMacPro1,1"
spoofed_board = "Mac-7BA5B2D9E42DDD94"
elif (self.constants.current_gpuv == "NVIDIA (0x10de)") & (self.constants.current_gpud in ModelArray.NVIDIAMXMGPUs) & (self.constants.custom_model == "None"):
print("- Spoofing to iMacPro1,1")
spoofed_model = "iMacPro1,1"
spoofed_board = "Mac-7BA5B2D9E42DDD94"
else:
print("- Spoofing to iMac15,1")
spoofed_model = "iMac15,1"
spoofed_board = "Mac-42FD25EABCABB274"
elif self.model in ModelArray.iMac144:
print("- Spoofing to iMac14,4")
spoofed_model = "iMac14,4"
spoofed_board = "Mac-81E3E92DD6088272"
elif self.model in ModelArray.MacPro71:
print("- Spoofing to MacPro7,1")
spoofed_model = "MacPro7,1"
spoofed_board = "Mac-27AD2F918AE68F61"
self.spoofed_model = spoofed_model
self.spoofed_board = spoofed_board
self.config["#Revision"]["Spoofed-Model"] = self.spoofed_model
# Setup menu
def minimal_serial_patch(self):
self.config["PlatformInfo"]["PlatformNVRAM"]["BID"] = self.spoofed_board
self.config["PlatformInfo"]["SMBIOS"]["BoardProduct"] = self.spoofed_board
self.config["PlatformInfo"]["UpdateNVRAM"] = True
def moderate_serial_patch(self):
self.config["PlatformInfo"]["Automatic"] = True
self.config["PlatformInfo"]["UpdateDataHub"] = True
self.config["PlatformInfo"]["UpdateNVRAM"] = True
self.config["UEFI"]["ProtocolOverrides"]["DataHub"] = True
self.config["PlatformInfo"]["Generic"]["SystemProductName"] = self.spoofed_model
def adanced_serial_patch(self):
macserial_output = subprocess.run([self.constants.macserial_path] + f"-g -m {self.spoofed_model} -n 1".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
macserial_output = macserial_output.stdout.decode().strip().split(" | ")
self.config["PlatformInfo"]["Automatic"] = True
self.config["PlatformInfo"]["UpdateDataHub"] = True
self.config["PlatformInfo"]["UpdateNVRAM"] = True
self.config["UEFI"]["ProtocolOverrides"]["DataHub"] = True
self.config["PlatformInfo"]["Generic"]["ROM"] = binascii.unhexlify("112233445566")
self.config["PlatformInfo"]["Generic"]["SystemProductName"] = self.spoofed_model
self.config["PlatformInfo"]["Generic"]["SystemSerialNumber"] = macserial_output[0]
self.config["PlatformInfo"]["Generic"]["MLB"] = macserial_output[1]
self.config["PlatformInfo"]["Generic"]["SystemUUID"] = str(uuid.uuid4()).upper()
if self.constants.serial_settings == "Moderate":
moderate_serial_patch(self)
elif self.constants.serial_settings == "Advanced":
adanced_serial_patch(self)
else:
self.spoofed_model = self.model
minimal_serial_patch(self)
# USB Map Patching
self.new_map_ls = Path(self.constants.map_contents_folder) / Path("Info.plist")
self.map_config = plistlib.load(Path(self.new_map_ls).open("rb"))
self.map_config["IOKitPersonalities_x86_64"][self.model]["model"] = self.spoofed_model
if self.model in ModelArray.EHCI:
model_ehci = f"{self.model}-EHCI"
self.map_config["IOKitPersonalities_x86_64"][model_ehci]["model"] = self.spoofed_model
if self.model in ModelArray.EHC1:
model_ehc1 = f"{self.model}-EHC1"
self.map_config["IOKitPersonalities_x86_64"][model_ehc1]["model"] = self.spoofed_model
if self.model in ModelArray.EHC2:
model_ehc2 = f"{self.model}-EHC2"
self.map_config["IOKitPersonalities_x86_64"][model_ehc2]["model"] = self.spoofed_model
if self.model in ModelArray.OHC1:
model_ohc1 = f"{self.model}-OHC1"
model_ohc2 = f"{self.model}-OHC2"
self.map_config["IOKitPersonalities_x86_64"][model_ohc1]["model"] = self.spoofed_model
self.map_config["IOKitPersonalities_x86_64"][model_ohc2]["model"] = self.spoofed_model
if self.model in ModelArray.IHEHC1:
model_ihehc1 = f"{self.model}-InternalHub-EHC1"
model_ihehc1ih = f"{self.model}-InternalHub-EHC1-InternalHub"
self.map_config["IOKitPersonalities_x86_64"][model_ihehc1]["model"] = self.spoofed_model
self.map_config["IOKitPersonalities_x86_64"][model_ihehc1ih]["model"] = self.spoofed_model
if self.model in ModelArray.IHEHC2:
model_ihehc2 = f"{self.model}-InternalHub-EHC2"
self.map_config["IOKitPersonalities_x86_64"][model_ihehc2]["model"] = self.spoofed_model
if self.model in ModelArray.IH:
model_ih = f"{self.model}-InternalHub"
self.map_config["IOKitPersonalities_x86_64"][model_ih]["model"] = self.spoofed_model
plistlib.dump(self.map_config, Path(self.new_map_ls).open("wb"), sort_keys=True)
@staticmethod
def get_item_by_kv(iterable, key, value):
item = None
for i in iterable:
if i[key] == value:
item = i
break
return item
def get_kext_by_bundle_path(self, bundle_path):
kext = self.get_item_by_kv(self.config["Kernel"]["Add"], "BundlePath", bundle_path)
if not kext:
print(f"- Could not find kext {bundle_path}!")
raise IndexError
return kext
def get_tool_by__path(self, bundle_path):
tool = self.get_item_by_kv(self.config["Misc"]["Tools"], "Path", bundle_path)
if not tool:
print(f"- Could not find Tool {bundle_path}!")
raise IndexError
return tool
def enable_kext(self, kext_name, kext_version, kext_path, check=False):
kext = self.get_kext_by_bundle_path(kext_name)
if callable(check) and not check():
# Check failed
return
print(f"- Adding {kext_name} {kext_version}")
shutil.copy(kext_path, self.constants.kexts_path)
kext["Enabled"] = True
def cleanup(self):
print("- Cleaning up files")
plistlib.dump(self.config, Path(self.constants.plist_path).open("wb"), sort_keys=True)
for kext in self.constants.kexts_path.rglob("*.zip"):
with zipfile.ZipFile(kext) as zip_file:
zip_file.extractall(self.constants.kexts_path)
kext.unlink()
for item in self.constants.oc_folder.rglob("*.zip"):
with zipfile.ZipFile(item) as zip_file:
zip_file.extractall(self.constants.oc_folder)
item.unlink()
for i in self.constants.build_path.rglob("__MACOSX"):
shutil.rmtree(i)
Path(self.constants.opencore_zip_copied).unlink()
def sign_files(self):
if self.constants.vault is True:
print("- Vaulting EFI")
subprocess.run([self.constants.vault_path] + f"{self.constants.oc_folder}/".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
def build_opencore(self):
self.build_efi()
self.set_smbios()
self.cleanup()
self.sign_files()
print("")
print("Your OpenCore EFI has been built at:")
print(f" {self.constants.opencore_release_folder}")
print("")
if self.constants.gui_mode is False:
input("Press [Enter] to go back.\n")
def copy_efi(self):
utilities.cls()
utilities.header(["Installing OpenCore to Drive"])
if not self.constants.opencore_release_folder.exists():
utilities.TUIOnlyPrint(
["Installing OpenCore to Drive"],
"Press [Enter] to go back.\n",
[
"""OpenCore folder missing!
Please build OpenCore first!"""
],
).start()
return
print("\nDisk picker is loading...")
all_disks = {}
# TODO: physical is not supported in Sierra and older
# AllDisksAndPartitions is not supported in Yosemite(?) and older
disks = plistlib.loads(subprocess.run("diskutil list -plist physical".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode())
for disk in disks["AllDisksAndPartitions"]:
disk_info = plistlib.loads(subprocess.run(f"diskutil info -plist {disk['DeviceIdentifier']}".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode())
all_disks[disk["DeviceIdentifier"]] = {"identifier": disk_info["DeviceNode"], "name": disk_info["MediaName"], "size": disk_info["Size"], "partitions": {}}
for partition in disk["Partitions"]:
partition_info = plistlib.loads(subprocess.run(f"diskutil info -plist {partition['DeviceIdentifier']}".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode())
all_disks[disk["DeviceIdentifier"]]["partitions"][partition["DeviceIdentifier"]] = {
"fs": partition_info.get("FilesystemType", partition_info["Content"]),
"type": partition_info["Content"],
"name": partition_info.get("VolumeName", ""),
"size": partition_info["Size"],
}
# TODO: Advanced mode
menu = utilities.TUIMenu(
["Select Disk"],
"Please select the disk you would like to install OpenCore to: ",
in_between=["Missing disks? Ensure they have an EFI or FAT32 partition."],
return_number_instead_of_direct_call=True,
loop=True,
)
for disk in all_disks:
if not any(all_disks[disk]["partitions"][partition]["fs"] == "msdos" for partition in all_disks[disk]["partitions"]):
continue
menu.add_menu_option(f"{disk}: {all_disks[disk]['name']} ({human_fmt(all_disks[disk]['size'])})", key=disk[4:])
response = menu.start()
if response == -1:
return
disk_identifier = "disk" + response
selected_disk = all_disks[disk_identifier]
menu = utilities.TUIMenu(
["Select Partition"],
"Please select the partition you would like to install OpenCore to: ",
return_number_instead_of_direct_call=True,
loop=True,
in_between=["Missing partitions? Ensure they are formatted as an EFI or FAT32.", "", "* denotes likely candidate."],
)
for partition in selected_disk["partitions"]:
if selected_disk["partitions"][partition]["fs"] != "msdos":
continue
text = f"{partition}: {selected_disk['partitions'][partition]['name']} ({human_fmt(selected_disk['partitions'][partition]['size'])})"
if selected_disk["partitions"][partition]["type"] == "EFI" or (
selected_disk["partitions"][partition]["type"] == "Microsoft Basic Data" and selected_disk["partitions"][partition]["size"] < 1024 * 1024 * 512
): # 512 megabytes:
text += " *"
menu.add_menu_option(text, key=partition[len(disk_identifier) + 1:])
response = menu.start()
if response == -1:
return
args = [
"osascript",
"-e",
f'''do shell script "diskutil mount {disk_identifier}s{response}"'''
' with prompt "OpenCore Legacy Patcher needs administrator privileges to mount your EFI."'
" with administrator privileges"
" without altering line endings",
]
result = subprocess.run(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if result.returncode != 0:
if "execution error" in result.stderr.decode() and result.stderr.decode()[-5:-1] == "-128":
# cancelled prompt
return
else:
utilities.TUIOnlyPrint(
["Copying OpenCore"], "Press [Enter] to go back.\n", ["An error occurred!"] + result.stderr.decode().split("\n") + ["", "Please report this to the devs at GitHub."]
).start()
return
# TODO: Remount if readonly
partition_info = plistlib.loads(subprocess.run(f"diskutil info -plist {disk_identifier}s{response}".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode())
mount_path = Path(partition_info["MountPoint"])
utilities.cls()
utilities.header(["Copying OpenCore"])
if mount_path.exists():
if (mount_path / Path("EFI")).exists():
print("- Removing preexisting EFI folder")
shutil.rmtree(mount_path / Path("EFI"), onerror=rmtree_handler)
print("- Coping OpenCore onto EFI partition")
shutil.copytree(self.constants.opencore_release_folder / Path("EFI"), mount_path / Path("EFI"))
shutil.copy(self.constants.icon_path, mount_path)
print("OpenCore transfer complete")
print("\nPress [Enter] to continue.\n")
input()
else:
utilities.TUIOnlyPrint(["Copying OpenCore"], "Press [Enter] to go back.\n", ["EFI failed to mount!", "Please report this to the devs at GitHub."]).start()

View File

@@ -1,303 +0,0 @@
[
{
"models": [
"MacBook5,1",
"MacBook5,2"
],
"patches": [
"WifiBCM94322",
"LegacyAudio",
"MissingSSE42",
"EthernetNvidia",
"LegacyGPU"
]
},
{
"models": [
"MacBook6,1",
"MacBook7,1"
],
"patches": [
"WifiBCM943224",
"LegacyAudio",
"MissingSSE42",
"EthernetNvidia",
"LegacyGPU"
]
},
{
"models": [
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2"
],
"patches": [
"WifiBCM94322",
"LegacyAudio",
"MissingSSE42",
"LegacyGPU"
]
},
{
"models": [
"MacBookAir4,1",
"MacBookAir4,2"
],
"patches": [
"WifiBCM94322",
"LegacyAudio",
"LegacyGPU"
]
},
{
"models": [
"MacBookAir5,1",
"MacBookAir5,2"
],
"patches": [
"WifiBCM94322"
]
},
{
"models": [
"MacBookPro3,1"
],
"patches": [
"WifiAtheros",
"EthernetMarvell",
"LegacyAudio",
"MissingSSE42",
"LegacyGPU"
]
},
{
"models": [
"MacBookPro4,1"
],
"patches": [
"WifiBCM94328",
"EthernetMarvell",
"LegacyAudio",
"MissingSSE42",
"LegacyGPU"
]
},
{
"models": [
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5"
],
"patches": [
"WifiBCM94322",
"EthernetNvidia",
"LegacyAudio",
"MissingSSE42",
"LegacyGPU"
]
},
{
"models": [
"MacBookPro6,1",
"MacBookPro6,2"
],
"patches": [
"WifiBCM943224",
"EthernetBroadcom",
"LegacyAudio",
"LegacyGPU",
"PCIBridge"
]
},
{
"models": [
"MacBookPro7,1"
],
"patches": [
"WifiBCM94322",
"EthernetNvidia",
"LegacyAudio",
"MissingSSE42",
"LegacyGPU"
]
},
{
"models": [
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3"
],
"patches": [
"WifiBCM94331",
"EthernetBroadcom",
"LegacyAudio",
"LegacyGPU"
]
},
{
"models": [
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2"
],
"patches": [
"WifiBCM94331"
]
},
{
"models": [
"MacMini3,1",
"MacMini4,1"
],
"patches": [
"WifiBCM943224",
"EthernetNvidia",
"LegacyAudio",
"MissingSSE42",
"LegacyGPU"
]
},
{
"models": [
"Macmini5,1",
"Macmini5,2",
"Macmini5,3"
],
"patches": [
"WifiBCM94331",
"EthernetBroadcom",
"LegacyAudio",
"LegacyGPU"
]
},
{
"models": [
"MacMini6,1",
"MacMini6,2"
],
"patches": [
"WifiBCM94331"
]
},
{
"models": [
"iMac7,1",
"iMac8,1"
],
"patches": [
"WifiBCM94328",
"EthernetNvidia",
"LegacyAudio",
"MissingSSE42",
"LegacyGPU"
]
},
{
"models": [
"iMac9,1"
],
"patches": [
"WifiBCM94322",
"EthernetNvidia",
"LegacyAudio",
"MissingSSE42",
"LegacyGPU"
]
},
{
"models": [
"iMac10,1"
],
"patches": [
"WifiAtheros",
"EthernetNvidia",
"LegacyAudio",
"MissingSSE42",
"LegacyGPU"
]
},
{
"models": [
"iMac11,1",
"iMac11,2",
"iMac11,3"
],
"patches": [
"WifiAtheros",
"EthernetBroadcom",
"LegacyAudio",
"LegacyGPU",
"PCIBridge"
]
},
{
"models": [
"iMac12,1",
"iMac12,2"
],
"patches": [
"WifiAtheros",
"EthernetBroadcom",
"LegacyAudio",
"LegacyGPU"
]
},
{
"models": [
"iMac13,1",
"iMac13,2"
],
"patches": [
"WifiBCM94331"
]
},
{
"models": [
"iMac14,1",
"iMac14,2",
"iMac14,3"
],
"patches": []
},
{
"models": [
"MacPro3,1"
],
"patches": [
"WifiAtheros",
"LegacyAudio",
"MissingSSE42",
"SSEEmulator",
"DualSocket"
]
},
{
"models": [
"MacPro4,1"
],
"patches": [
"WifiAtheros",
"DualSocket"
]
},
{
"models": [
"MacPro5,1"
],
"patches": [
"WifiBCM94322",
"DualSocket"
]
},
{
"models": [
"Xserve3,1"
],
"patches": [
"DualSocket"
]
}
]

View File

@@ -1,123 +0,0 @@
from __future__ import print_function
import os
import math as m
def header(lines):
lines = [i for i in lines if i is not None]
total_length = len(max(lines, key=len)) + 4
print("#" * (total_length))
for line in lines:
left_side = m.floor(((total_length - 2 - len(line.strip())) / 2))
print("#" + " " * left_side + line.strip() + " " * (total_length - len("#" + " " * left_side + line.strip()) - 1) + "#")
print("#" * total_length)
def cls():
os.system('cls' if os.name == 'nt' else 'clear')
# def menu(title, prompt, menu_options, add_quit=True, auto_number=False, in_between=[], top_level=False):
# return_option = ["Q", "Quit", None] if top_level else ["B", "Back", None]
# if add_quit: menu_options.append(return_option)
# cls()
# header(title)
# print()
# for i in in_between: print(i)
# if in_between: print()
# for index, option in enumerate(menu_options):
# if auto_number and not (index == (len(menu_options) - 1) and add_quit):
# option[0] = str((index + 1))
# print(option[0] + ". " + option[1])
# print()
# selected = input(prompt)
# keys = [option[0].upper() for option in menu_options]
# if not selected or selected.upper() not in keys:
# return
# if selected.upper() == return_option[0]:
# return -1
# else:
# menu_options[keys.index(selected.upper())][2]() if menu_options[keys.index(selected.upper())][2] else None
class TUIMenu():
def __init__(self, title, prompt, options=None, return_number_instead_of_direct_call=False, add_quit=True, auto_number=False, in_between=None, top_level=False, loop=False):
self.title = title
self.prompt = prompt
self.in_between = in_between or []
self.options = options or []
self.return_number_instead_of_direct_call = return_number_instead_of_direct_call
self.auto_number = auto_number
self.add_quit = add_quit
self.top_level = top_level
self.loop = loop
self.added_quit = False
def add_menu_option(self, name, description="", function=None, key=""):
self.options.append([key, name, description, function])
def start(self):
return_option = ["Q", "Quit"] if self.top_level else ["B", "Back"]
if self.add_quit and not self.added_quit:
self.add_menu_option(
return_option[1], function=None, key=return_option[0])
self.added_quit = True
while True:
cls()
header(self.title)
print()
for i in self.in_between:
print(i)
if self.in_between:
print()
for index, option in enumerate(self.options):
if self.auto_number and not (index == (len(self.options) - 1) and self.add_quit):
option[0] = str((index + 1))
print(option[0] + ". " + option[1])
for i in option[2]:
print("\t" + i)
print()
selected = input(self.prompt)
keys = [option[0].upper() for option in self.options]
if not selected or selected.upper() not in keys:
if self.loop:
continue
else:
return
if self.add_quit and selected.upper() == return_option[0]:
return -1
elif self.return_number_instead_of_direct_call:
return self.options[keys.index(selected.upper())][0]
else:
self.options[keys.index(selected.upper())][3]() if self.options[keys.index(selected.upper())][3] else None
if not self.loop:
return
class TUIOnlyPrint():
def __init__(self, title, prompt, in_between=None):
self.title = title
self.prompt = prompt
self.in_between = in_between or []
def start(self):
cls()
header(self.title)
print()
for i in self.in_between:
print(i)
if self.in_between:
print()
return input(self.prompt)

81
SOURCE.md Normal file
View File

@@ -0,0 +1,81 @@
# Build and run from source
OpenCore Legacy Patcher at its core is a python-based TUI/CLI based application. This means that to run the project from source, you simply need to invoke the OpenCore-Patcher.command file via Python.
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-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-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.
* Users running new builds of the project without understanding what has changed are at higher of bricking their installation as they do not read any warnings provided in the CHANGELOG. We wish to minimize these situations as much as possible.
## Getting Started
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
Once Python is installed, open Terminal and run the following:
```sh
# Move into a directory to store the project
cd ~/Developer
# Clone project
git clone https://github.com/dortania/OpenCore-Legacy-Patcher
# Move into Project directory
cd ./OpenCore-Legacy-Patcher
# Install Python dependacies used by the project
pip3 install -r requirements.txt
```
## Running OpenCore Legacy Patcher
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
```
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 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.
* Currently our build system is a [Macmini8,1 provided by MacStadium](https://www.macstadium.com/opensource) running macOS Mojave (10.14.6).
```sh
# Install PyInstaller
pip3 install pyinstaller
# Move into project directory
cd ~/Developer/OpenCore-Legacy-Patcher/
# 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 (only for the TUI)
./after_pyinstaller.sh
# Open build folder
open ./dist/
```
Once done, you'll find the application generated at `./dist/OpenCore-Patcher.app`:
![](./images/build-dist.png)

View File

@@ -1,2 +1,2 @@
#!/bin/sh
cp launcher.sh dist/OpenCore-Patcher.app/Contents/MacOS/Launcher
cp payloads/launcher.sh dist/OpenCore-Patcher.app/Contents/MacOS/Launcher

14
create_offline_build.py Normal file
View File

@@ -0,0 +1,14 @@
import subprocess
from resources import constants
patcher_support_pkg_version = constants.Constants().patcher_support_pkg_version
binary_packages = ["10.14-Mojave", "10.15-Catalina", "11-Big-Sur", "12-Monterey"]
for binary_package in binary_packages:
print(f"- Downloading {binary_package}...")
download_cmd = f"curl -LO https://github.com/dortania/PatcherSupportPkg/releases/download/{patcher_support_pkg_version}/{binary_package}.zip"
subprocess.run(download_cmd, shell=True)
print("- Moving into payloads")
move_cmd = f"mv {binary_package}.zip ./payloads/"
subprocess.run(move_cmd, shell=True)
print("- Download complete")

15
data/bluetooth_data.py Normal file
View File

@@ -0,0 +1,15 @@
import enum
class bluetooth_data(enum.IntEnum):
# Bluetooth Chipsets
NonApplicable = 0
BRCM2045 = 1 # TODO: Rename chipset, currently guessing MacPro1,1-3,1 name
BRCM2046 = 2 # BT 2.1
BRCM2070 = 3 # BT 2.1
BRCM20702_v1 = 4 # BT 4.0 - 2012
BRCM20702_v2 = 5 # BT 4.0 - 2013+
BRCM20703 = 6 # BT 4.2
BRCM20703_UART = 9 # BRCM20703 over UART, BT 4.2
UART = 10 # T2
PCIe = 20 # Apple Silicon

24
data/cpu_data.py Normal file
View File

@@ -0,0 +1,24 @@
import enum
class cpu_data(enum.IntEnum):
pentium_4 = 0
yonah = 1
conroe = 2
penryn = 3
nehalem = 4 # (Westmere included)
sandy_bridge = 5 # 2000
ivy_bridge = 6 # 3000
haswell = 7 # 4000
broadwell = 8 # 5000
skylake = 9 # 6000
kaby_lake = 10 # 7000
coffee_lake = 11 # 8000
comet_lake = 12 # 9000
ice_lake = 13 # 10000
apple_dtk = 112 # A12
apple_m1 = 114 # A14
apple_m1_pro = 115
apple_m1_max = 116
apple_m1_ultra = 117

14
data/dylib_data.py Normal file
View File

@@ -0,0 +1,14 @@
# Data for SkyLightShim Plugin systems
class shim_list:
shim_pathing = {
"CoreWLAN.dylib": "/System/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent",
"BacklightFixup.dylib": "/System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow",
}
shim_legacy_accel = [
"CoreWLAN.dylib",
]
shim_legacy_accel_keyboard = [
"BacklightFixup.dylib",
]

477
data/example_data.py Normal file
View File

@@ -0,0 +1,477 @@
# Example Hardware probe of multiple models
# To be used when running validation tests
from resources import device_probe
class MacBook:
MacBook71 = device_probe.Computer(
real_model="MacBook7,1",
real_board_id="Mac-F22C89C8",
reported_model="MacBook7,1",
reported_board_id="Mac-F22C89C8",
gpus=[
device_probe.NVIDIA(vendor_id=4318, device_id=2208, class_code=196608, name="IGPU", model="NVIDIA GeForce 320M", pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
],
igpu=device_probe.NVIDIA(vendor_id=4318, device_id=2208, class_code=196608, name="IGPU", model="NVIDIA GeForce 320M", pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
dgpu=None,
storage=[
device_probe.SATAController(vendor_id=4318, device_id=3464, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0xa,0x0)"),
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17235, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Core(TM)2 Duo CPU P8600 @ 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", "DTES64", "MON", "DSCPL", "VMX", "SMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
),
oclp_version=None,
opencore_version=None,
)
class MacBookPro:
MacBookPro92_Stock = device_probe.Computer(
real_model="MacBookPro9,2",
real_board_id="Mac-6F01561E16C75D06",
reported_model="MacBookPro9,2",
reported_board_id="Mac-6F01561E16C75D06",
gpus=[
device_probe.Intel(vendor_id=32902, device_id=358, class_code=196608, name="IGPU", model="Intel HD Graphics 4000", pci_path="PciRoot(0x0)/Pci(0x2,0x0)")
],
igpu=device_probe.Intel(vendor_id=32902, device_id=358, class_code=196608, name="IGPU", model="Intel HD Graphics 4000", pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
dgpu=None,
storage=[device_probe.SATAController(vendor_id=32902, device_id=7683, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17201, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x1)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name='Intel(R) Core(TM) i5-3210M CPU @ 2.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', 'EST', 'TM2', 'SSSE3', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'TSCTMR', 'AVX1.0', 'RDRAND', 'F16C']
),
oclp_version=None,
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",
real_board_id="J293",
reported_model="MacBookPro17,1",
reported_board_id="J293",
gpus=[device_probe.AMD(vendor_id=4098, device_id=26640, class_code=196608, name="display", model="Unknown Unknown", pci_path="")],
igpu=None,
dgpu=None,
storage=[],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17445, class_code=163840, name="wlan", model=None, pci_path=""),
cpu=device_probe.CPU(
name="Apple M1",
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", "DTSE64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "AES", "SEGLIM64"],
),
oclp_version=None,
opencore_version=None,
)
class Macmini:
Macmini81_Stock = device_probe.Computer(
real_model="Macmini8,1",
real_board_id="Mac-7BA5B2DFE22DDD8C",
reported_model="Macmini8,1",
reported_board_id="Mac-7BA5B2DFE22DDD8C",
gpus=[device_probe.Intel(vendor_id=32902, device_id=16027, class_code=196608, name="IGPU", model="Intel UHD Graphics 630", pci_path="PciRoot(0x0)/Pci(0x2,0x0)")],
igpu=device_probe.Intel(vendor_id=32902, device_id=16027, class_code=196608, name="IGPU", model="Intel UHD Graphics 630", pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
dgpu=None,
storage=[],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17508, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Core(TM) i7-8700B CPU @ 3.20GHz",
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
)
Macmini91_Stock = device_probe.Computer(
# Run under Rosetta
real_model="Macmini9,1",
real_board_id="J274",
reported_model="Macmini9,1",
reported_board_id="J274",
gpus=[
device_probe.AMD(vendor_id=4098, device_id=26640, class_code=196608, name="display", model="Unknown Unknown", pci_path="", )
],
igpu=None,
dgpu=None,
storage=[],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17445, class_code=163840, name="wlan", model=None, pci_path=""),
cpu=device_probe.CPU(
name="Apple M1",
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", "DTSE64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "AES", "SEGLIM64"]
),
oclp_version=None,
opencore_version=None
)
class iMac:
iMac81_Stock = device_probe.Computer(
# Stock Model
real_model="iMac8,1",
real_board_id="Mac-F226BEC8",
reported_model="iMac8,1",
reported_board_id="Mac-F226BEC8",
gpus=[
device_probe.AMD(vendor_id=4098, device_id=38088, class_code=196608, name="GFX0", model="ATI Radeon HD 2400", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)")
],
igpu=None,
dgpu=device_probe.AMD(vendor_id=4098, device_id=38088, class_code=196608, name="GFX0", model="ATI Radeon HD 2400", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=10281, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17192, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x4)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Core(TM)2 Duo CPU E8135 @ 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", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"]
),
oclp_version=None,
opencore_version=None,
)
iMac112_Stock = device_probe.Computer(
# Stock Model
real_model="iMac11,2",
real_board_id="Mac-F2238AC8",
reported_model="iMac11,2",
reported_board_id="Mac-F2238AC8",
gpus=[
device_probe.AMD(vendor_id=4098, device_id=38024, class_code=196608, name="GFX0", model="ATI Radeon HD 4670", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)")
],
igpu=None,
dgpu=device_probe.AMD(vendor_id=4098, device_id=38024, class_code=196608, name="GFX0", model="ATI Radeon HD 4670", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=15138, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
],
wifi=device_probe.Atheros(vendor_id=5772, device_id=42, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x1)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz",
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", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "POPCNT", "PCID"]
),
oclp_version=None,
opencore_version=None,
)
iMac122_Upgraded = 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=196608, name="HD Graphics 3000", model=None, pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
device_probe.AMD(vendor_id=4098, device_id=26600, class_code=196608, name="GFX0", model="Radeon Pro WX4130", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)"),
],
igpu=device_probe.Intel(vendor_id=32902, device_id=258, class_code=196608, name="HD Graphics 3000", model=None, pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
dgpu=device_probe.AMD(vendor_id=4098, device_id=26600, class_code=196608, name="GFX0", model="Radeon Pro WX4130", 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, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17338, class_code=163840, name="ARPT", model=None, 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", "xAPIC", "POPCNT", "AES", "PCID", "XSAVE", "OSXSAVE", "TSCTMR", "AVX1.0"]
),
oclp_version=None,
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(
# Stock Model, stock TS1 GPU and no Wifi card
real_model="MacPro3,1",
real_board_id="Mac-F42C88C8",
reported_model="MacPro3,1",
reported_board_id="Mac-F42C88C8",
gpus=[
device_probe.AMD(vendor_id=4098, device_id=38272, class_code=196608, name="GFX0", model="ATI Radeon HD 2600", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)")
],
igpu=None,
dgpu=device_probe.AMD(vendor_id=4098, device_id=38272, class_code=196608, name="GFX0", model="ATI Radeon HD 2600", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=9857, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
],
wifi=None,
cpu=device_probe.CPU(
name="Intel(R) Xeon(R) CPU X5482 @ 3.20GHz",
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", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
),
oclp_version=None,
opencore_version=None,
)
MacPro31_Upgrade = device_probe.Computer(
# Upgraded Model, TS2 GPU and El-Capitan era Wifi card
real_model="MacPro3,1",
real_board_id="Mac-F42C88C8",
reported_model="MacPro3,1",
reported_board_id="Mac-F42C88C8",
gpus=[
device_probe.AMD(vendor_id=4098, device_id=26808, class_code=196608, name="GFX0", model="ATI Radeon HD 5770", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)")
],
igpu=None,
dgpu=device_probe.AMD(vendor_id=4098, device_id=26808, class_code=196608, name="GFX0", model="ATI Radeon HD 5770", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=9857, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
],
wifi=device_probe.Broadcom(
vendor_id=5348, device_id=17192, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)"
),
cpu=device_probe.CPU(
name="Intel(R) Xeon(R) CPU X5482 @ 3.20GHz",
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", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
),
oclp_version=None,
opencore_version=None,
)
MacPro31_Modern_AMD = device_probe.Computer(
# Upgraded Model, Polaris GPU and BCM94360CD
real_model="MacPro3,1",
real_board_id="Mac-F42C88C8",
reported_model="MacPro3,1",
reported_board_id="Mac-F42C88C8",
gpus=[
device_probe.AMD(vendor_id=4098, device_id=26591, class_code=196608, name="GFX0", model="Radeon RX 470/570", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)")
],
igpu=None,
dgpu=device_probe.AMD(vendor_id=4098, device_id=26591, class_code=196608, name="GFX0", model="Radeon RX 470/570", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=9857, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
],
wifi=device_probe.Broadcom(
vendor_id=5348, device_id=17312, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)"
),
cpu=device_probe.CPU(
name="Intel(R) Xeon(R) CPU X5482 @ 3.20GHz",
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", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
),
oclp_version=None,
opencore_version=None,
)
MacPro31_Modern_Kepler = device_probe.Computer(
# Upgraded Model, Kepler GPU and BCM94360CD
real_model="MacPro3,1",
real_board_id="Mac-F42C88C8",
reported_model="MacPro3,1",
reported_board_id="Mac-F42C88C8",
gpus=[device_probe.NVIDIA(vendor_id=4318, device_id=4737, class_code=196608, name="GFX0", model="NVIDIA GeForce GT 710", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)")],
igpu=None,
dgpu=device_probe.NVIDIA(vendor_id=4318, device_id=4737, class_code=196608, name="GFX0", model="NVIDIA GeForce GT 710", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=9857, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
],
wifi=device_probe.Broadcom(
vendor_id=5348, device_id=17312, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)"
),
cpu=device_probe.CPU(
name="Intel(R) Xeon(R) CPU X5482 @ 3.20GHz",
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", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
),
oclp_version=None,
opencore_version=None,
)
MacPro41_Upgrade = device_probe.Computer(
# Upgraded model with AMD HD7950, Atheros PCIe card
real_model="MacPro4,1",
real_board_id="Mac-F221BEC8",
reported_model="MacPro4,1",
reported_board_id="Mac-F221BEC8",
gpus=[device_probe.AMD(vendor_id=4098, device_id=26522, class_code=196608, name="PXS1", model="AMD Radeon HD 7950", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)")],
igpu=None,
dgpu=None,
storage=[device_probe.SATAController(vendor_id=32902, device_id=14882, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")],
wifi=device_probe.Atheros(vendor_id=5772, device_id=48, class_code=163840, name="PXS4", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x4,0x0)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Xeon(R) CPU W3520 @ 2.67GHz",
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", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "POPCNT"]
),
oclp_version=None,
opencore_version=None
)
MacPro41_Modern_AMD = device_probe.Computer(
# Upgraded model with AMD RX470, BCM94360CD, Intel 660p
# Booted through OpenCore
real_model="MacPro4,1",
real_board_id="Mac-F221BEC8",
reported_model="MacPro4,1",
reported_board_id="Mac-27AD2F918AE68F61",
gpus=[device_probe.AMD(vendor_id=4098, device_id=26591, class_code=196608, name="GFX0", model="Radeon RX 470/570", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)")],
igpu=None,
dgpu=device_probe.AMD(vendor_id=4098, device_id=26591, class_code=196608, name="GFX0", model="Radeon RX 470/570", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=14882, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)"),
device_probe.NVMeController(vendor_id=32902, device_id=61864, class_code=67586, name="PXS3", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)", aspm=2)
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17312, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x4,0x0)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Xeon(R) CPU W3520 @ 2.67GHz",
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", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "POPCNT"]
),
oclp_version="0.2.5",
opencore_version="REL-071-2021-07-02"
)
MacPro41_51__Flashed_Modern_AMD = device_probe.Computer(
# 4,1 flashed to 5,1, RX5700XT, BCM94360CD, WD SN750 NVMe
real_model="MacPro5,1",
real_board_id="Mac-F221BEC8",
reported_model="MacPro5,1",
reported_board_id="Mac-F221BEC8",
gpus=[device_probe.AMD(vendor_id=4098, device_id=29471, class_code=196608, name="GFX0", model="AMD Radeon RX 5700 XT", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)")],
igpu=None,
dgpu=device_probe.AMD(vendor_id=4098, device_id=29471, class_code=196608, name="GFX0", model="AMD Radeon RX 5700 XT", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=14882, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)"),
device_probe.NVMeController(vendor_id=5559, device_id=20482, class_code=67586, name="PXS3", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)", aspm=2)
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17312, class_code=163840, name="PXS4", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x4,0x0)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Xeon(R) CPU X5670 @ 2.93GHz",
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", "POPCNT", "AES", "PCID"]
),
oclp_version="0.2.5",
opencore_version="REL-071-2021-07-02"
)

11
data/mirror_data.py Normal file
View File

@@ -0,0 +1,11 @@
# Mirrors of Apple's InstallAssistant.ppkg
# Currently only listing important Installers no longer on Apple's servers
Install_macOS_Big_Sur_11_2_3 = {
"Version": "11.2.3",
"Build": "20D91",
"Link": "https://archive.org/download/install-assistant-20D91/InstallAssistant.pkg",
"Size": 12211077798,
"Source": "Archive.org",
"integrity": None,
}

395
data/model_array.py Normal file
View File

@@ -0,0 +1,395 @@
# Lists all models and required patches
# Copyright (C) 2020-2022, Dhinak G, Mykola Grymalyuk
SupportedSMBIOS = [
# MacBook
"MacBook4,1",
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBook8,1",
# MacBook Air
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookAir6,1",
"MacBookAir6,2",
# MacBook Pro
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"MacBookPro11,1",
"MacBookPro11,2",
"MacBookPro11,3",
# Mac Mini
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"Macmini6,1",
"Macmini6,2",
# iMac
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"iMac13,1",
"iMac13,2",
"iMac13,3",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"iMac14,4",
"iMac15,1",
# Mac Pro
"MacPro3,1",
"MacPro4,1",
"MacPro5,1",
# Xserve
"Xserve2,1",
"Xserve3,1",
]
# Audio
LegacyAudio = [
"MacBook4,1",
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
# "iMac7,1",
# "iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"MacPro3,1",
"Dortania1,1",
]
# GPU
ModernGPU = [
"MacBookAir5,1", # Intel 4000
"MacBookAir5,2", # Intel 4000
"MacBookPro9,1", # Intel 4000 + Nvidia 650M
"MacBookPro9,2", # Intel 4000
"MacBookPro10,1", # Intel 4000 + Nvidia 650M
"MacBookPro10,2", # Intel 4000
"MacBookPro11,3", # Intel 5000 + Nvidia Kepler
"Macmini6,1", # Intel 4000
"Macmini6,2", # Intel 4000
"iMac13,1", # Intel 4000
"iMac13,2", # Intel 4000 + Nvidia Kepler
"iMac13,3", # Intel 4000
"iMac14,1", # Intel 5000 + Nvidia Kepler
"iMac14,2", # Intel 5000 + Nvidia Kepler
"iMac14,3", # Intel 5000 + Nvidia Kepler
]
LegacyGPU = [
"MacBook4,1", # GMA X3100
"MacBook5,1", # Nvidia 9000
"MacBook5,2", # Nvidia 9000
"MacBook6,1", # Nvidia 9000
"MacBook7,1", # Nvidia 300
"MacBookAir2,1", # Nvidia 9000
"MacBookAir3,1", # Nvidia 300
"MacBookAir3,2", # Nvidia 300
"MacBookAir4,1", # Intel 3000
"MacBookAir4,2", # Intel 3000
"MacBookPro4,1", # Nvidia 8000
"MacBookPro5,1", # Nvidia 9000
"MacBookPro5,2", # Nvidia 9000
"MacBookPro5,3", # Nvidia 9000
"MacBookPro5,4", # Nvidia 9000
"MacBookPro5,5", # Nvidia 9000
"MacBookPro6,1", # Intel 100 + Nvidia 300
"MacBookPro6,2", # Intel 100 + Nvidia 300
"MacBookPro7,1", # Nvidia 300
"MacBookPro8,1", # Intel 3000
"MacBookPro8,2", # Intel 3000 + AMD 6000
"MacBookPro8,3", # Intel 3000 + AMD 6000
"Macmini3,1", # Nvidia 9000
"Macmini4,1", # Nvidia 300
"Macmini5,1", # Intel 3000
"Macmini5,2", # AMD 6000
"Macmini5,3", # Intel 3000
"iMac7,1", # AMD 2000
"iMac8,1", # Nvidia and AMD 2400
"iMac9,1", # Nvidia 9000
"iMac10,1", # Nvidia 9000 and AMD 4000
"iMac11,1", # AMD 4000
"iMac11,2", # AMD 4000 and 5000
"iMac11,3", # AMD 5000
"iMac12,1", # AMD 6000
"iMac12,2", # AMD 6000
"Dortania1,1", # RTX 3080
]
LegacyGPUNvidia = [
"MacBook5,1", # Nvidia 9000
"MacBook5,2", # Nvidia 9000
"MacBook6,1", # Nvidia 9000
"MacBook7,1", # Nvidia 300
"MacBookAir2,1", # Nvidia 9000
"MacBookAir3,1", # Nvidia 300
"MacBookAir3,2", # Nvidia 300
"MacBookPro4,1", # Nvidia 8000
"MacBookPro5,1", # Nvidia 9000
"MacBookPro5,2", # Nvidia 9000
"MacBookPro5,3", # Nvidia 9000
"MacBookPro5,4", # Nvidia 9000
"MacBookPro5,5", # Nvidia 9000
"MacBookPro6,1", # Intel 100 + Nvidia 300
"MacBookPro6,2", # Intel 100 + Nvidia 300
"MacBookPro7,1", # Nvidia 300
"Macmini3,1", # Nvidia 9000
"Macmini4,1", # Nvidia 300
"iMac9,1", # Nvidia 9000
# "iMac10,1", # Nvidia 9000 and AMD 4000
]
LegacyGPUAMD = [
"MacBookPro8,2", # Intel 3000 + AMD 6000
"MacBookPro8,3", # Intel 3000 + AMD 6000
"Macmini5,2", # AMD 6000
"iMac7,1", # AMD 2000
# "iMac8,1", # Nvidia and AMD 2000
# "iMac10,1", # Nvidia 9000 and AMD 4000
"iMac11,1", # AMD 4000
"iMac11,2", # AMD 4000 and 5000
"iMac11,3", # AMD 5000
"iMac12,1", # AMD 6000
"iMac12,2", # AMD 6000
]
LegacyGPUAMDIntelGen2 = [
"MacBookPro8,2", # Intel 3000 + AMD 6000
"MacBookPro8,3", # Intel 3000 + AMD 6000
"Macmini5,2", # AMD 6000
"iMac12,1", # AMD 6000
"iMac12,2", # AMD 6000
]
LegacyGPUIntelGen1 = [
"MacBookPro6,1", # Intel 100 + Nvidia 300
"MacBookPro6,2", # Intel 100 + Nvidia 300
]
LegacyGPUIntelGen2 = [
"MacBookAir4,1", # Intel 3000
"MacBookAir4,2", # Intel 3000
"MacBookPro8,1", # Intel 3000
"MacBookPro8,2", # Intel 3000 + AMD 6000
"MacBookPro8,3", # Intel 3000 + AMD 6000
"Macmini5,1", # Intel 3000
"Macmini5,3", # Intel 3000
]
LegacyBrightness = [
"MacBook5,2",
"iMac7,1",
"iMac8,1",
"iMac9,1",
]
NVMePatch = ["MacPro3,1", "MacPro4,1", "Xserve3,1", "Dortania1,1"]
DualGPUPatch = [
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro8,2",
"MacBookPro8,3",
"Macmini5,2",
"iMac12,1",
"iMac12,2",
"iMac13,1",
"iMac13,2",
"iMac14,2",
"iMac14,3",
"Dortania1,1",
]
DualGPUPatchRetina = [
"MacBookPro10,1",
"MacBookPro11,3",
]
IntelNvidiaDRM = [
"iMac13,1",
"iMac13,2",
"iMac14,2",
"iMac14,3",
]
IDEPatch = ["MacBook4,1", "MacBookPro4,1", "iMac7,1", "iMac8,1", "MacPro3,1", "Xserve2,1", "Dortania1,1"]
# Mac Pro and Xserve
MacPro = ["MacPro3,1", "MacPro4,1", "MacPro5,1", "Xserve2,1", "Xserve3,1", "Dortania1,1"]
SATAPatch = [
"MacBook4,1",
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro9,2",
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"MacPro3,1",
"MacPro4,1",
"MacPro5,1",
"Xserve2,1",
"Xserve3,1",
"Dortania1,1",
]
NoAGPMSupport = ["MacBook4,1", "MacBookPro4,1", "iMac7,1", "iMac8,1", "MacPro3,1", "Xserve2,1", "Dortania1,1"]
AGDPSupport = [
"MacBookPro9,1",
"MacBookPro10,1",
"iMac13,1",
"iMac13,2",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"iMac14,4",
"iMac15,1",
# TODO: Uncomment when dropped from macOS
# "iMac17,1",
# "iMac18,2",
# "iMac18,3",
# "iMac19,1",
# "iMac19,2",
# "iMac20,1",
# "iMac20,2",
# "iMacPro1,1",
# "MacPro6,1",
]
Missing_USB_Map = [
"MacBook4,1",
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"MacPro3,1",
"MacPro4,1",
"Xserve2,1",
"Xserve3,1",
]

20
data/os_data.py Normal file
View File

@@ -0,0 +1,20 @@
import enum
class os_data(enum.IntEnum):
# OS Versions, Based off Major Kernel Version
tiger = 8
leopard = 9
snow_leopard = 10
lion = 11
mountain_lion = 12
mavericks = 13
yosemite = 14
el_capitan = 15
sierra = 16
high_sierra = 17
mojave = 18
catalina = 19
big_sur = 20
monterey = 21
max_os = 99

1029
data/pci_data.py Normal file

File diff suppressed because it is too large Load Diff

134
data/sip_data.py Normal file
View File

@@ -0,0 +1,134 @@
from data import os_data
class system_integrity_protection:
csr_values = {
# Source: macOS 11.4 (XNU's csr.h)
# https://opensource.apple.com/source/xnu/xnu-7195.121.3/bsd/sys/csr.h.auto.html
"CSR_ALLOW_UNTRUSTED_KEXTS": False, # 0x1 - Allows Unsigned Kexts - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_UNRESTRICTED_FS": False, # 0x2 - File System Access - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_TASK_FOR_PID": False, # 0x4 - Unrestricted task_for_pid() - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_KERNEL_DEBUGGER": False, # 0x8 - Allow Kernel Debugger - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_APPLE_INTERNAL": False, # 0x10 - Set AppleInternal Features - Introduced in El Capitan # noqa: E241
# "CSR_ALLOW_DESTRUCTIVE_DTRACE": False, # 0x20 - Allow destructive DTrace - Deprecated # noqa: E241
"CSR_ALLOW_UNRESTRICTED_DTRACE": False, # 0x20 - Unrestricted DTrace usage - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_UNRESTRICTED_NVRAM": False, # 0x40 - Unrestricted NVRAM write - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_DEVICE_CONFIGURATION": False, # 0x80 - Allow custom DeviceTree (iOS) - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_ANY_RECOVERY_OS": False, # 0x100 - Skip BaseSystem Verification - Introduced in Sierra # noqa: E241
"CSR_ALLOW_UNAPPROVED_KEXTS": False, # 0x200 - Allow Unnotarized Kexts - Introduced in High Sierra # noqa: E241
"CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE": False, # 0x400 - Override Executable Policy - Introduced in Mojave # noqa: E241
"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
"CSR_ALLOW_UNRESTRICTED_FS", # 0x2
"CSR_ALLOW_UNAPPROVED_KEXTS", # 0x200
]
root_patch_sip_big_sur = [
# Variables required to root patch in Big Sur and Monterey
"CSR_ALLOW_UNTRUSTED_KEXTS", # 0x1
"CSR_ALLOW_UNRESTRICTED_FS", # 0x2 - Required to mount and edit root volume, as well as load modded platform binaries
"CSR_ALLOW_UNAPPROVED_KEXTS", # 0x200
"CSR_ALLOW_UNAUTHENTICATED_ROOT", # 0x800 - Required to avoid KC mismatch kernel panic
]
# CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE (introduced with Mojave):
# This bit is quite strange and was originally assumed to be required for modded platform binaries
# However after extensive testing, this doesn't seem true. In addition, this bit is never flipped via
# 'csrutil disable'. Usage within the kernel is not present.

3007
data/smbios_data.py Normal file

File diff suppressed because it is too large Load Diff

287
data/sys_patch_data.py Normal file
View File

@@ -0,0 +1,287 @@
# Lists Root patches used by sys_patch.py
# Copyright (C) 2020-2021, Dhinak G, Mykola Grymalyuk
DeleteNvidiaAccel11 = [
"AMDRadeonX4000.kext",
"AMDRadeonX4000HWServices.kext",
"AMDRadeonX5000.kext",
"AMDRadeonX5000HWServices.kext",
"AMDRadeonX6000.kext",
"AMDRadeonX6000Framebuffer.kext",
"AMDRadeonX6000HWServices.kext",
"AppleIntelBDWGraphics.kext",
"AppleIntelBDWGraphicsFramebuffer.kext",
"AppleIntelCFLGraphicsFramebuffer.kext",
"AppleIntelHD4000Graphics.kext",
"AppleIntelHD5000Graphics.kext",
"AppleIntelICLGraphics.kext",
"AppleIntelICLLPGraphicsFramebuffer.kext",
"AppleIntelKBLGraphics.kext",
"AppleIntelKBLGraphicsFramebuffer.kext",
"AppleIntelSKLGraphics.kext",
"AppleIntelSKLGraphicsFramebuffer.kext",
"AppleIntelFramebufferAzul.kext",
"AppleIntelFramebufferCapri.kext",
"AppleParavirtGPU.kext",
"GeForce.kext",
"IOAcceleratorFamily2.kext",
"IOGPUFamily.kext",
]
DeleteAMDAccel11 = [
"AMDRadeonX4000.kext",
"AMDRadeonX4000HWServices.kext",
"AMDRadeonX5000.kext",
"AMDRadeonX5000HWServices.kext",
"AMDRadeonX6000.kext",
"AMDRadeonX6000Framebuffer.kext",
"AMDRadeonX6000HWServices.kext",
"AMD7000Controller.kext", # AMDSupport Dependency
"AMD8000Controller.kext", # AMDSupport Dependency
"AMD9000Controller.kext", # AMDSupport Dependency
"AMD9500Controller.kext", # AMDSupport Dependency
"AMD10000Controller.kext", # AMDSupport Dependency
"AppleIntelBDWGraphics.kext",
"AppleIntelBDWGraphicsFramebuffer.kext",
"AppleIntelCFLGraphicsFramebuffer.kext",
"AppleIntelHD4000Graphics.kext",
"AppleIntelHD5000Graphics.kext",
"AppleIntelICLGraphics.kext",
"AppleIntelICLLPGraphicsFramebuffer.kext",
"AppleIntelKBLGraphics.kext",
"AppleIntelKBLGraphicsFramebuffer.kext",
"AppleIntelSKLGraphics.kext",
"AppleIntelSKLGraphicsFramebuffer.kext",
"AppleIntelFramebufferAzul.kext",
"AppleIntelFramebufferCapri.kext",
"AppleParavirtGPU.kext",
"GeForce.kext",
"IOGPUFamily.kext",
]
DeleteAMDAccel11TS2 = [
"AppleCameraInterface.kext",
]
AddNvidiaAccel11 = [
"GeForceGA.bundle",
"GeForceTesla.kext",
"GeForceTeslaGLDriver.bundle",
"GeForceTeslaVADriver.bundle",
"NVDANV50HalTesla.kext",
"NVDAResmanTesla.kext",
"IOSurface.kext",
]
AddNvidiaBrightness = [
"GeForceGA.bundle",
"GeForceTesla.kext",
"GeForceTeslaGLDriver.bundle",
"GeForceTeslaVADriver.bundle",
"NVDANV50HalTesla.kext",
"NVDAResmanTesla.kext",
]
AddNvidiaKeplerAccel11 = [
"GeForce.kext",
"GeForceAIRPlugin.bundle",
"GeForceGLDriver.bundle",
"GeForceMTLDriver.bundle",
"GeForceVADriver.bundle",
"NVDAGF100Hal.kext",
"NVDAGK100Hal.kext",
"NVDAResman.kext",
"NVDAStartup.kext",
]
AddNvidiaTeslaAccel12 = [
"NVDAStartup.kext",
]
AddAMDAccel11 = [
"AMD2400Controller.kext",
"AMD2600Controller.kext",
"AMD3800Controller.kext",
"AMD4600Controller.kext",
"AMD4800Controller.kext",
"AMD5000Controller.kext",
"AMD6000Controller.kext",
"AMDFramebuffer.kext",
"AMDLegacyFramebuffer.kext",
"AMDLegacySupport.kext",
"AMDRadeonVADriver.bundle",
"AMDRadeonVADriver2.bundle",
"AMDRadeonX3000.kext",
"AMDRadeonX3000GLDriver.bundle",
"AMDShared.bundle",
"AMDSupport.kext",
"ATIRadeonX2000.kext",
"ATIRadeonX2000GA.plugin",
"ATIRadeonX2000GLDriver.bundle",
"ATIRadeonX2000VADriver.bundle",
]
AddAMDBrightness = [
"AMD2400Controller.kext",
"AMD2600Controller.kext",
"AMD3800Controller.kext",
"AMD4600Controller.kext",
"AMD4800Controller.kext",
"AMD5000Controller.kext",
"AMD6000Controller.kext",
"AMDLegacyFramebuffer.kext",
"AMDLegacySupport.kext",
"AMDRadeonVADriver.bundle",
"AMDRadeonVADriver2.bundle",
# "AMDRadeonX3000.kext",
# "AMDRadeonX3000GLDriver.bundle",
"AMDShared.bundle",
"ATIRadeonX2000.kext",
"ATIRadeonX2000GA.plugin",
"ATIRadeonX2000GLDriver.bundle",
"ATIRadeonX2000VADriver.bundle",
]
AddAMDAccel11TS2 = [
"IOSurface.kext",
"IOAcceleratorFamily2.kext",
]
AddIntelGen1Accel = [
"AppleIntelHDGraphics.kext",
"AppleIntelHDGraphicsFB.kext",
"AppleIntelHDGraphicsGA.plugin",
"AppleIntelHDGraphicsGLDriver.bundle",
"AppleIntelHDGraphicsVADriver.bundle",
]
AddIntelGen2Accel = [
"AppleIntelHD3000Graphics.kext",
"AppleIntelHD3000GraphicsGA.plugin",
"AppleIntelHD3000GraphicsGLDriver.bundle",
"AppleIntelHD3000GraphicsVADriver.bundle",
# "AppleIntelSNBGraphicsFB.kext",
"AppleIntelSNBVA.bundle",
]
AddIntelGen2AccelStock = [
"AppleIntelSNBGraphicsFB-Clean.kext",
]
AddIntelGen2AccelPatched = [
"AppleIntelSNBGraphicsFB.kext",
]
AddIntelGen3Accel = [
"AppleIntelFramebufferCapri.kext",
"AppleIntelHD4000Graphics.kext",
"AppleIntelHD4000GraphicsGLDriver.bundle",
"AppleIntelHD4000GraphicsMTLDriver.bundle",
"AppleIntelHD4000GraphicsVADriver.bundle",
"AppleIntelIVBVA.bundle",
"AppleIntelGraphicsShared.bundle",
]
AddGeneralAccel = ["IOAcceleratorFamily2.kext", "IOSurface.kext"]
DeleteBrightness = ["AppleGraphicsControl.kext/Contents/PlugIns/AGDCBacklightControl.kext"]
DeleteDemux = [
"AppleGraphicsControl.kext/Contents/PlugIns/AGDCBacklightControl.kext",
"AppleGraphicsControl.kext/Contents/PlugIns/AppleMuxControl.kext",
"AppleBacklight.kext",
]
AddDemux = [
"AppleMuxControl.kext",
]
AddBrightness = [
"AppleBacklight.kext",
"AppleBacklightExpert.kext",
]
AddVolumeControl = [
"AppleHDA.kext",
"IOAudioFamily.kext",
]
AddVolumeControlv2 = [
"AppleHDA.kext",
]
DeleteVolumeControl = [
"AppleVirtIO.kext",
"AppleVirtualGraphics.kext",
"AppleVirtualPlatform.kext",
"ApplePVPanic.kext",
"AppleVirtIOStorage.kext",
]
AddNvidiaAccelLegacy = [
# "GeForceGA.bundle",
"GeForceTesla.kext",
"GeForceTeslaGLDriver.bundle",
"GeForceTeslaVADriver.bundle",
"NVDANV50HalTesla.kext",
"NVDAResmanTesla.kext",
]
AddAMDAccelLegacy = [
"AMD2400Controller.kext",
"AMD2600Controller.kext",
"AMD3800Controller.kext",
"AMD4600Controller.kext",
"AMD4800Controller.kext",
"AMD5000Controller.kext",
"AMD6000Controller.kext",
"AMDFramebuffer.kext",
"AMDLegacyFramebuffer.kext",
"AMDLegacySupport.kext",
"AMDRadeonVADriver.bundle",
"AMDRadeonVADriver2.bundle",
"AMDRadeonX3000.kext",
"AMDRadeonX3000GLDriver.bundle",
"AMDRadeonX4000HWServices.kext",
"AMDRadeonX4000.kext",
"AMDRadeonX4000GLDriver.bundle",
"AMDShared.bundle",
"AMDSupport.kext",
"ATIRadeonX2000.kext",
"ATIRadeonX2000GA.plugin",
"ATIRadeonX2000GLDriver.bundle",
"ATIRadeonX2000VADriver.bundle",
]
AddGeneralAccelCatalina = [
"AppleGraphicsControl.kext",
"AppleGraphicsPowerManagement.kext",
"AppleMCCSControl.kext",
"IOGraphicsFamily.kext",
"IONDRVSupport.kext",
"IOSurface.kext",
]
AddGeneralAccelMojave = [
"IONDRVSupport.kext",
"AppleGraphicsControl.kext",
"AppleGraphicsPowerManagement.kext",
"AppleMCCSControl.kext",
"IOAccelerator2D.plugin",
"IOAcceleratorFamily2.kext",
"IOGraphicsFamily.kext",
]
BackupLocations = [
"System/Library/Extensions",
"System/Library/Frameworks/CoreDisplay.framework",
"System/Library/Frameworks/IOSurface.framework",
"System/Library/Frameworks/OpenGL.framework",
"System/Library/Frameworks/WebKit.framework",
"System/Library/LaunchDaemons",
"System/Library/PrivateFrameworks/DisplayServices.framework",
"System/Library/PrivateFrameworks/GPUSupport.framework",
"System/Library/PrivateFrameworks/SkyLight.framework",
"System/Library/PrivateFrameworks/IOAccelerator.framework",
"System/Library/PrivateFrameworks/AppleGVA.framework",
"System/Library/PrivateFrameworks/AppleGVACore.framework",
]

View File

@@ -55,7 +55,9 @@ module.exports = {
themeConfig: {
lastUpdated: true,
repo: 'https://github.com/dortania/OpenCore-Legacy-Patcher',
repo: 'https://github.com/dortania/OpenCore-Legacy-Patcher/',
docsDir: 'docs',
docsBranch: 'main',
editLinks: true,
editLinkText: 'Help us improve this page!',
logo: 'homepage.png',
@@ -67,6 +69,7 @@ module.exports = {
children: [
'START',
'MODELS',
['BENIFITS', 'Benefits and drawbacks'],
]
},
@@ -90,13 +93,47 @@ module.exports = {
]
},
{
title: 'macOS Monterey',
collapsable: false,
sidebarDepth: 1,
children: [
'MONTEREY-DROP',
]
},
{
title: 'Misc',
collapsable: false,
sidebarDepth: 1,
children: [
'ACCEL',
'TROUBLESHOOTING',
'DEBUG',
'UPDATE',
'UNINSTALL',
'ICNS',
'WINDOWS',
]
},
{
title: 'Credit',
collapsable: false,
sidebarDepth: 1,
children: [
'DONATE',
'LICENSE',
]
},
{
title: 'Documentation',
collapsable: false,
sidebarDepth: 1,
children: [
'TESTED',
'TERMS',
'HOW',
'PATCHEXPLAIN',
]
},

171
docs/ACCEL.md Normal file
View File

@@ -0,0 +1,171 @@
# 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)
* [Keyboard Backlight broken](#keyboard-backlight-broken)
* [Photos and Maps Apps Heavily Distorted](#photos-and-maps-apps-heavily-distorted)
* [Cannot press "Done" when editing a Sidebar Widget](#cannot-press-done-when-editing-a-sidebar-widget)
* [Wake from sleep heavily distorted on AMD/ATI in macOS 11.3 and newer](#wake-from-sleep-heavily-distorted-on-amd-ati-in-macos-11-3-and-newer)
* [Unable to switch GPUs on 2011 15" and 17" MacBook Pros](#unable-to-switch-gpus-on-2011-15-and-17-macbook-pros)
* [Erratic Colours on ATI TeraScale 2 GPUs (HD5000/HD6000)](#erratic-colours-on-ati-terascale-2-gpus-hd5000-hd6000)
* [Unable to allow Safari Extensions](#unable-to-allow-Safari-Extensions)
* [Cannot Login on 2011 15" and 17" MacBook Pros](#cannot-login-on-2011-15-and-17-macbook-pros)
The below page is for users experiencing issues with their overall usage of macOS Big Sur / macOS Monterey and the Legacy Graphics Acceleration patches. Note that the following GPUs currently do not have acceleration support in Big Sur / Monterey:
* Intel 3rd and 4th Gen - GMA series
For those unfamiliar with what is considered a non-Metal GPU, see below chart:
::: details macOS GPU Chart
| Graphics Vendor | Architecture | Series | Supports Metal |
| :--- | :--- | :--- | :--- |
| ATI | TeraScale 1 | HD2000 - HD4000 | <span style="color:red">No</span> |
| ^^ | TeraScale 2 | HD5000 - HD6000 | ^^ |
| AMD | GCN (and newer) | HD7000+ | <span style="color:green">Yes</span> |
| Nvidia | Tesla | 8000GT - GT300 | <span style="color:red">No</span> |
| ^^ | Fermi | GT400 - GT500 | ^^ |
| ^^ | Kepler | GT600 - GT700 | <span style="color:green">Yes</span> |
| Intel | GMA | GMA900 - GMA3000 | <span style="color:red">No</span> |
| ^^ | Iron Lake | HD series | ^^ |
| ^^ | Sandy Bridge | HD3000 | ^^ |
| ^^ | Ivy Bridge (and newer) | HD4000 | <span style="color:green">Yes</span> |
:::
## 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:
![](../images/OCLP-GUI-Settings-Beta-Blur.png)
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.
* [Apple Apps for Non-Metal Macs](https://archive.org/details/apple-apps-for-non-metal-macs)
Note: This archive assumes that you own these copies of these apps through the Mac App Store, Dortania does not condone piracy
## Unable to run Zoom
Currently Zoom relies partially on Metal and so needs a small binary patch. Dosdude1 has provided a nice script for this:
* [Zoom Non-Metal Fix](http://dosdude1.com/catalina/zoomnonmetal-new.command.zip)
## Unable to grant special permissions to apps (ie. Camera Access to Zoom)
With version 0.2.5, this issue should be full resolved
::: details 0.2.4 and older Work-Around
Due to the usage of `amfi_get_out_of_my_way=1`, macOS will fail to prompt users for special permissions upon application start as well as omit the entires in System Preferences. To work around this, we recommend users install [tccplus](https://github.com/jslegendre/tccplus) to manage permissions.
Example usage with Discord and microphone permissions:
```sh
# Open Terminal and run the following commands
cd ~/Downloads/
chmod +x tccplus
./tccplus add Microphone com.hnc.Discord
```
For those who may experience issues with `tccplus`, you can manually patch `com.apple.TCC` to add permissions:
```sh
# get app id (Zoom.us used in example):
$ osascript -e 'id of app "zoom.us"'
# output: us.zoom.xos
$ sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','us.zoom.xos',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109);"
$ sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceCamera','us.zoom.xos',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109);"
```
:::
## Keyboard Backlight broken
Due to forcing `hidd` into spinning up with the fallback mode enabled, this can break the OS's recognition of backlight keyboards. Thankfully the drivers themselves still do operate so applications such as [LabTick](https://www.macupdate.com/app/mac/22151/lab-tick) are able to set the brightness manually.
## Photos and Maps Apps Heavily Distorted
Due to the Metal Backend, the enhanced color output of these apps seems to heavily break overall UI usage. To work around this, [users reported](https://forums.macrumors.com/threads/macos-11-big-sur-on-unsupported-macs-thread.2242172/post-29870324) forcing the color output of their monitor from Billions to Millions of colors helped greatly. Apps easily allowing this customization are [SwitchResX](https://www.madrau.com), [ResXreme](https://macdownload.informer.com/resxtreme/) and [EasyRes](http://easyresapp.com).
## Cannot press "Done" when editing a Sidebar Widget
Workaround: Press some combination of Tab, or Tab and then Shift-Tab, or just Shift-Tab until the "Done" button is highlighted. Then press spacebar to activate the button, the same as in any other dialog with a highlighted button halo.
## Wake from sleep heavily distorted on AMD/ATI in macOS 11.3 and newer
Unfortunately a very well known issue the community is investigating, current known solution is to simply downgrade to 11.2.3 or older until a proper fix can be found. Additionally logging out and logging in can resolve the issue without requiring a reboot
* Note, this issue should be exclusive to TeraScale 1 GPUs (ie. HD2000-4000). TeraScale 2 GPUs should not exhibit this issue
In the event Apple removes 11.2.3 from their catalogue, we've provided a mirror below:
* [Install macOS 11.2.3 20D91](https://archive.org/details/install-mac-os-11.2.3-20-d-91)
## Unable to switch GPUs on 2011 15" and 17" MacBook Pros
Currently OpenCore Legacy Patcher, GPU switching between the iGPU and dGPU is broken. The simplest way to set a specific GPU is to disable the dGPU when you wish to remain on the more power efficient iGPU.
The best way to achieve this is to boot Recovery (or Single User Mode if the dGPU refuses to function at all) and run the following command:
```sh
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, 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:
* [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
This tool can be used to work-around this issue:
* [Non-Metal Safari Extensions](https://github.com/moosethegoose2213/Non-Metal-Safari-Extensions/)
## Cannot Login on 2011 15" and 17" MacBook Pros
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 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
2. When command line prompt appears, enter the dGPU disabler argument (at the bottom)
3. Reboot and patched macOS should work normally
4. If you still want to use the dGPU, run OCLP's TUI app and enable TS2 Acceleration. Then root patch your Mac again
* `Patcher Settings -> Misc Settings -> TeraScale 2 Accel`
5. Either Reset NVRAM or set `gpu-power-prefs` to zeros to re-enable the dGPU
```sh
# Forces GMUX to use iGPU only (ie. disable dGPU)
nvram FA4CE28D-B62F-4C99-9CC3-6815686E30F9:gpu-power-prefs=%01%00%00%00
# To reset, simply write zeros or NVRAM Reset your Mac
nvram FA4CE28D-B62F-4C99-9CC3-6815686E30F9:gpu-power-prefs=%00%00%00%00
```

24
docs/BENIFITS.md Normal file
View File

@@ -0,0 +1,24 @@
# Benefits and Drawbacks between OpenCore Legacy Patcher and other patchers
With OpenCore Legacy Patcher we recommend users go through the below table to understand what the benefits and drawbacks are compared to other patchers. There are positive and negatives to each and we feel transparency is most important when patching another users machine. There should be no grey areas where users may be mislead.
* Note: [Patched Sur](https://github.com/BenSova/Patched-Sur) and [MicropatcherAutomator](https://github.com/moosethegoose2213/automator-for-barrykn-micropatcher) are iterations of [BarryKN's micropatcher](https://github.com/barrykn/big-sur-micropatcher) and therefore share many of the same benefits and limitations. Patched Sur is used for this comparison as it's the most common form of BarryKN's patcher users will find.
| Features | [OpenCore Legacy Patcher](https://github.com/dortania/OpenCore-Legacy-Patcher/) | [Patched Sur](https://github.com/BenSova/Patched-Sur) |
| :--- | :--- | :--- |
| Over The Air Updates | <span style="color:#30BCD5">Native System Preferences, additionally supports Deltas (~2GB) for Metal GPUs</span> | <span style="color:red">Inside Patcher Sur app (~12GB), only available when InstallAssistants release.</span> InstallAssistants generally available same day as System Preference updates, however developer betas will lag behind by 1 day compared to OTAs |
| FileVault | <span style="color:#30BCD5">Fully supported on all machines</span>. Note unsupported on APFS ROM Patched Macs, revert to stock firmware to resolve | <span style="color:red">Not supported</span> |
| System Integrity Protection | <span style="color:#30BCD5">Fully enabled on Metal GPUs</span> | <span style="color:red">Disabled for early 2013 and older during the patching process and first boot afterwards, otherwise enabled</span> |
| APFS Snapshots | <span style="color:#30BCD5">Fully enabled</span> | <span style="color:red">Disabled</span> |
| User facing | <span style="color:red">TUI interface</span> | <span style="color:#30BCD5">SwiftUI interface, more user friendly</span> |
| Supported OSes | <span style="color:#30BCD5">10.7-12</span> | <span style="color:red">10.15-11</span> |
| Firmware Patching | <span style="color:#30BCD5">None required</span> | <span style="color:red">Required for models without native APFS support</span> |
| BootCamp Switching | <span style="color:red">Requires EFI Conversion for Start Disk support, otherwise still supported</span> | <span style="color:#30BCD5">Native</span> |
| Non-Metal GPU Acceleration | <span style="color:#30BCD5">In active development</span>, see Acceleration Progress Tracker: [Link](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108) | <span style="color:red">Currently not researching</span> |
| El Capitan-era Wifi cards | <span style="color:#30BCD5">Supported</span> | <span style="colorred">Not supported</span> |
| WPA Wireless Support | <span style="color:#30BCD5">Supported</span> | <span style="color:red">Minority may experience issues on early 2013 and older Models</span> |
| Personal Hotspot Support | <span style="color:#30BCD5">Native</span> | <span style="color:red">Often requires extra steps to achieve on early 2013 and older Models</span> |
| HEVC/H.265 Support for Mac Pros and iMacs with Polaris+ GPUs | <span style="color:#30BCD5">Supported</span> | <span style="color:red">Not supported</span> |
| Big Sur-styled Boot Picker | <span style="color:#30BCD5">Available</span>, though as a shim to the original boot picker | <span style="color:red">Not available</span> |
| Hibernation Support | <span style="color:#30BCD5">Supports 3rd party SATA SSDs on 2011 and older models in addition to stock drives</span> | <span style="color:red">Only supports stock drives on 2011 and older models</span> |
| Sidecar Support | <span style="color:#30BCD5">Supports any Mac with Metal Intel iGPU</span>, artifacting way exhibited on high movement screen content | <span style="color:red">Not supported at all</span> |

View File

@@ -2,7 +2,7 @@
Now we finally get to boot OpenCore!
Reboot machine while holding `Option` to select the EFI Boot entry with the OpenCore icon:
Reboot machine while holding `Option` to select the EFI Boot entry with the OpenCore icon (holding the `Control` key will make this the default boot entry):
* This will be the Mac Boot Picker
@@ -14,7 +14,12 @@ Now that you've loaded OpenCore, now select Install macOS!:
![](../images/oc-boot.png)
After plenty of verbose booting, you will reach the installer screen! From there it's just like any normal macOS install. For an example of how the boot process looks, see the following video:
After plenty of verbose booting, you will reach the installer screen! From there it's just like any normal macOS install.
* [OpenCore Legacy Patcher Boot Process](https://www.youtube.com/watch?v=AN3zsbQV_n4)
# Once installed and booting, head to [Post-Installation](./POST-INSTALL.md)
**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)

View File

@@ -2,36 +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`:
![](../images/first-run.png)
![](../images/OCLP-GUI-Main-Menu.png)
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":
![](../images/build-efi.png)
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 |
| :--- | :--- |
| ![](../images/disk-start.png) | ![](../images/disk-efi.png) |
| ![](../images/OCLP-GUI-Build-Start.png) | ![OCLP GUI Build Finished](../images/OCLP-GUI-Build-Finished.png) |
* 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 it finishes building, you'll want to select the Install OpenCore button:
# Once finished, head to [Booting OpenCore and macOS](./BOOT.md)
* 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 |
| :--- | :--- |
| ![](../images/OCLP-GUI-EFI-Select-Disk.png) | ![](../images/OCLP-GUI-EFI-Select-Partition.png) |
# Once finished, head to [Booting OpenCore and macOS](./BOOT.md)

46
docs/DEBUG.md Normal file
View File

@@ -0,0 +1,46 @@
# How to debug with OpenCore
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
The easiest way to debug yourself is via Patcher Settings. Here there are many different settings however the 3 main options that will help are:
* "Enable Verbose Mode"
* "Enable OpenCore DEBUG"
* "Enable Kext DEBUG"
When you've enabled these 3 options, rebuild OpenCore and install to your drive. This will provide much greater debug information as well as write logs to the EFI Partition.
## Obtaining OpenCore logs from disk
With "Enable OpenCore DEBUG" set, every boot there will be a .txt file generated in your disk. To grab these logs, [download and run MountEFI](https://github.com/corpnewt/MountEFI):
![](../images/mountefi.png)
Once you've mounted the EFI Partition of the drive you have macOS on, you should see some nice logs:
![](../images/logs-efi.png)
## Obtaining Kernel logs from macOS
With "Enable Kext DEBUG" set, every boot will now have much more detailed logs stored in the OS. To get these logs, simply run the below command:
```sh
sudo dmesg > ~/Desktop/DMESG.txt
```
From there, you'll have a log on your desktop.
## Filing an issue with us
Now that you have proper logs, you can now [file issues with us](https://github.com/dortania/OpenCore-Legacy-Patcher/issues). Reminder we want the following info:
* Model patching for (ie. MacBookPro10,1)
* Target OS (ie. macOS 11.2.3)
* Host OS (ie. macOS 10.15.7)
* Upload of your OpenCore Build Folder
* Upload of your OpenCore log (if applicable)
* Upload of your Kernel log (if applicable)
Additionally, please search whether the issue has been reported before. This avoids having duplicate issues.

42
docs/DONATE.md Normal file
View File

@@ -0,0 +1,42 @@
# Supporting the patcher
OpenCore Legacy Patcher is a hobby project for us developers, and while we love helping out the community it's very difficult for us to troubleshoot issues remotely. The best way for us to get to work on the patcher, fix issues and add enhancements is having the hardware in-hand. As a hobby project, neither of the main developers can afford to buy every legacy Mac to test on.
The best way to support us in all honesty is to donate any old hardware you no longer need, as this allows us to have machines to test locally and push fixes much faster. While we appreciate cash donations, this makes it much more difficult for us to handle as an organization.
Main sections of help we'd appreciate:
* Donating any Mac you own
* Does require SSE4,1 CPU to test on Sierra and newer however
* Donating any spare SATA SSDs
* Having extra SSDs on hand allows us to quickly and easily test specific builds of macOS without having to wipe drives and reinstall as much
* Aiding by buying items in our Amazon Wishlist
* Currently we have a few members within Dortania testing so we recommend messaging the email listed below to see which member at the time would require something purchased the most
Additionally, hardware info dumps are greatly beneficial for us to determine what patches a machine might need:
* [IORegistryExplorer](https://github.com/khronokernel/IORegistryClone/blob/master/ioreg-210.zip?raw=true)
* `File -> SaveAs` and open an issue on Github
* Note: We want IOReg dumps of hardware not running on OpenCore, instead running a clean, officially supported OS by the machine
If you have any legacy hardware you're willing to donate or what to buy us something, please contact us at the following email:
* khronokernel@icloud.com
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 |
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 |

9
docs/HOW.md Normal file
View File

@@ -0,0 +1,9 @@
# Boot Process with OpenCore Legacy Patcher
OpenCore Legacy Patcher itself is actually quite a "dumb" program, and essentially edits a config.plist file and moves files around, it actually has little logic regarding the boot process. The real magic of OCLP is [OpenCorePkg](https://github.com/acidanthera/OpenCorePkg), our back-end and what makes this patcher so powerful.
## Boot Process with OpenCore
To understand a bit more of how OpenCore is able revive older Macs in such a native-like way, we need to go over *how* OpenCore works with your Mac:
![](../images/oc-explained.png)

103
docs/ICNS.md Normal file
View File

@@ -0,0 +1,103 @@
# Creating custom icons for OpenCore and Mac Boot Picker
For users who want to customize your setup to be more personal, OpenCore does allow for custom icons and images in the boot picker.
* [Custom OpenCore icons](#custom-opencore-icons)
* [Custom Mac Boot Picker icons](#custom-mac-boot-picker-icons)
* [Installing updated icons](#installing-updated-icons)
# Custom OpenCore icons
To generate custom OpenCore icons, you'll need the following:
* Images in PNG format
* Each image, with the following res:
* Cursor — Mouse cursor (mandatory, up to 144x144).
* Selected — Selected item (mandatory, 144x144).
* Selector — Selecting item (mandatory, up to 144x40).
* Left — Scrolling left (mandatory, 40x40).
* Right — Scrolling right (mandatory, 40x40).
* HardDrive — Generic OS (mandatory, 128x128).
* Background — Centred background image. (Recommended max size 1920x1080)
* Apple — Apple OS (128x128).
* AppleRecv — Apple Recovery OS (128x128).
* AppleTM — Apple Time Machine (128x128).
* Windows — Windows (128x128).
* Other — Custom entry (see [Entries](https://dortania.github.io/docs/latest/Configuration.html), 128x128).
* ResetNVRAM — Reset NVRAM system action or tool (128x128).
* Shell — Entry with UEFI Shell name for e.g. OpenShell (128x128).
* Tool — Any other tool (128x128).
Note, for each image we recommend having one of double the size. This ensures that icons are scaled correctly since .icns support dedicated images depending on HiDPI or not.
Once you have a custom image you want to use(for example, as a background), download the [latest release of OpenCorePkg](https://github.com/acidanthera/OpenCorePkg/releases) and enter the `Utilities/icnspack/` folder:
![](../images/icnspack-folder.png)
Now `cd` this folder in terminal and run the following:
```sh
./icnspack Background.icns <insert_x1_image> <insert_x2_image>
```
Once done, you'll see your custom icon generated in `icnspack`'s folder:
![](../images/icnspack-done.png)
# Custom Mac Boot Picker icons
Custom boot picker icons is much more complicated on Legacy Macs, on late 2013+ Macs the [Custom OpenCore icons](#custom-opencore-icons) method will work just fine. However on many 2012 and older Macs, the icons generated will be incompatible with the firmware.
To generate legacy icons, you'll need the following:
* A machine running macOS 10.4 through 10.11
* Icon Composer.app (Requires Apple Developer Account for official download)
* Users without the developer account can find a mirrors here:
* [Icon Composer 10.6](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/main/docs/Icon-Composer-10.6.zip)
* [Icon Composer 10.11](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/main/docs/Icon-Composer-10.11.zip)
* PNG Image you wish to convert
Head to [developer.apple's More Downloads page](https://developer.apple.com/download/more/) and search for `Graphics Tools` that is supported by your OS(note for 10.6 and older, the app is hidden inside `Developer Tools`):
![](../images/graphics-download.png)
Once downloaded, open the disk image and you'll find Icon Composer.app:
![Graphics Open](../images/graphics-open.png)
Now run the app and simply drag the images to each section as so:
![](../images/icon-SL.png)
Now save and export the new icns
# Installing updated icons
To install, please ensure that Vault is disabled when you built OpenCore. If you're unsure, simply rebuild OpenCore with the Patcher setting "Vault" set to false.
* <span style="color:red"> Warning</span>: Editing your OpenCore EFI incorrectly can result in a bricked install. Please ensure you have a natively supported version of macOS installed to boot into in case of issues.
Now that you've verified you can edit OpenCore safely, you'll need to mount the drive that OpenCore is stored on. To do this, download [MountEFI](https://github.com/corpnewt/MountEFI) and run it:
![](../images/mountefi.png)
Select the drive you installed OpenCore to and mount it.
* [Updating OpenCore icons](#updating-opencore-icons)
* [Updating Mac Boot Picker icons](#updating-mac-boot-picker-icons)
### Updating OpenCore icons
Head to `EFI/OC/Resources/Image/` on your drive and you'll see all the custom icons. For Background.icns, we need to ensure the file matches the theme OpenCore has set so we add the prefix `Modern` to it:
![](../images/background-moved.png)
Now reboot and you should see your updated icon(s)!
### Updating Mac Boot Picker icons
To update the Mac Boot Picker icons is actually quite simple, on the root of your drive simply drop the icon onto the root of the drive with the name `.VolumeIcon.icns`
![](../images/mac-icns-drive.png)
Now reboot and you'll see the new icon!

View File

@@ -1,53 +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
mkdir ~/macOS-installer && cd ~/macOS-installer && 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)
![](../images/munki.png)
For this guide, we'll be using the standard OpenCore-Patcher (GUI).
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:
Once downloaded, open the app and you should be greeted with this menu:
![](../images/munki-process.png)
![OCLP GUI Main Menu](../images/OCLP-GUI-Main-Menu.png)
This is going to take a while as we're downloading the entire 12GB+ macOS installer.
First we'll want to select the "Create macOS Installer" button. This will present you with 2 options:
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.
![](../images/OCLP-GUI-Create-Installer-Menu.png)
* 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`
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:
![](../images/munki-done-2.png)
| Downloading | Listed Installers |
| :--- | :--- |
| ![OCLP GUI Installer Download Catalog](../images/OCLP-GUI-Installer-Download-Catalog.png) | ![OCLP GUI Installer Download Listed Products](../images/OCLP-GUI-Installer-Download-Listed-Products.png) |
![](../images/munki-dmg.png)
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.
## Building
| Downloading the Installer | Requesting to install | Finished Installing |
| :--- | :--- | :--- |
| ![OCLP GUI Installer Download Progress](../images/OCLP-GUI-Installer-Download-Progress.png) | ![OCLP GUI Installer Needs Installing](../images/OCLP-GUI-Installer-Needs-Installing.png) | ![OCLP GUI Installer Download Finished](../images/OCLP-GUI-Installer-Download-Finished.png) |
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.
Once finished, you can proceed to write the installer onto a USB drive.
* Note: By default, Disk Utility only shows partitions press Cmd/Win+2 to show all devices (alternatively you can press the View button)
* Note: The entire USB drive will be formatted
![Formatting the USB](../images/format-usb.png)
| Select Downloaded Installer | Select disk to format |
| :--- | :--- |
| ![](../images/OCLP-GUI-Installer-Select-Local-Installer.png) | ![](../images/OCLP-GUI-Installer-Format-USB.png) |
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`:
Now the patcher will start the installer flashing!
```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).
![](../images/createinstallmedia.png)
| Flashing | Success Prompt | Finished Flashing |
| :--- | :--- |
| ![](../images/OCLP-GUI-Installer-Flashing-Process.png) | ![](../images/OCLP-GUI-Installer-Sucess-Prompt.png) | ![](../images/OCLP-GUI-Installer-Finished-Script.png) |
# Once finished, head to [Building and installing OpenCore](./BUILD.md)

Binary file not shown.

BIN
docs/Icon-Composer-10.6.zip Normal file

Binary file not shown.

23
docs/LICENSE.md Normal file
View File

@@ -0,0 +1,23 @@
# OpenCore Legacy Patcher Licence
This patcher is made of multiple external applications from different people and organizations. See each program for their licensing:
* BSD 3-Clause "New" or "Revised" License
* [OpenCorePkg](https://github.com/acidanthera/OpenCorePkg/blob/master/LICENSE.txt)
* [Lilu](https://github.com/acidanthera/Lilu/blob/master/LICENSE.txt)
* [WhateverGreen](https://github.com/acidanthera/WhateverGreen/blob/master/LICENSE.txt)
* [AirportBrcmFixup](https://github.com/acidanthera/AirportBrcmFixup/blob/master/LICENSE.txt)
* [CPUFriend](https://github.com/acidanthera/CPUFriend/blob/master/LICENSE)
* [RestrictEvents](https://github.com/acidanthera/RestrictEvents/blob/master/LICENSE.txt)
* [FeatureUnlock](https://github.com/acidanthera/FeatureUnlock/blob/master/LICENSE.txt)
* [Innie](https://github.com/cdf/Innie/blob/master/LICENSE.txt)
* GPL 2.0
* [NVMeFix](https://github.com/acidanthera/NVMeFix/blob/master/LICENSE.txt)
* All rights reserved to respective authors
* [AAAMouSSE](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/) - Syncretic
* [telemetrap](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/post-28447707) - Syncretic
* [SurPlus](https://github.com/reenigneorcim/SurPlus) - Syncretic
* [VMM Patch Set](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/4a8f61a01da72b38a4b2250386cc4b497a31a839/payloads/Config/config.plist#L1222-L1281) - parrotgeek1
* Apple Binaries - Apple Inc.
Remaining files within OpenCore Legacy Patcher are copyrighted 2020-2022 Mykola Grymalyuk & Dhinak G. For integration into other projects, please request written permission.

View File

@@ -1,6 +1,6 @@
# Supported Models
Any hardware supporting SSE4.1 CPU and 64-Bit firmware work on this patcher. To check your hardware model, run the below command on the applicable machine:
Any hardware supporting SSE4.1 CPU and 64-Bit firmware work on this patcher. To check your hardware model, run the below command on the applicable machine in terminal:
```bash
system_profiler SPHardwareDataType | grep 'Model Identifier'
@@ -16,6 +16,16 @@ The below table will list all supported and unsupported functions of the patcher
* [Mac Pro](#mac-pro)
* [Xserve](#xserve)
Regarding OS support, see below:
| Support Entry | Supported OSes | Description | Comment |
| :--- | :--- | :--- | :--- |
| HostOS | macOS 10.9 - macOS 12 | Refers to OSes where running OpenCore-Patcher.app are supported | Supports 10.7+ if [Python 3.9 or higher](https://www.python.org/downloads/) is manually installed, simply run the `OpenCore-Patcher.command` located in the repo |
| TargetOS | macOS 11 - macOS 12 | Refers to OSes that can be patched to run with OpenCore | May support 10.4 and newer (in a potentially broken state). No support provided. |
* macOS Monterey support is currently in beta and is not recommended for everyday users.
* Recommend looking at the [macOS Monterey Support page](./MONTEREY-DROP.md) for a better idea of Monterey's current status
### MacBook
| SMBIOS | Year | Supported | Comment |
@@ -23,24 +33,27 @@ The below table will list all supported and unsupported functions of the patcher
| MacBook1,1 | Mid-2006 | <span style="color:red"> NO </span> | 32-Bit CPU limitation |
| MacBook2,1 | Late 2006 | ^^ | 32-Bit Firmware limitation |
| MacBook3,1 | Late 2007 | ^^ | ^^ |
| MacBook4,1 | Early 2008 | ^^ | ^^ |
| MacBook5,1 | Late 2008 | <span style="color:#30BCD5"> YES </span> | - No GPU Acceleration in Big Sur<br/>- No AppleHDA(Audio) Patching implemented(yet) |
| MacBook5,2 | Early 2009 | ^^ | ^^ |
| MacBook6,1 | Late 2009 | ^^ | ^^ |
| MacBook4,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | - No GPU Acceleration in Mavericks and newer<br/>- No Keyboard and Trackpad<br/>- No USB |
| MacBook5,1 | Late 2008 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/> |
| MacBook5,2 | Early 2009 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/>- Trackpad is recognized as mouse |
| MacBook6,1 | Late 2009 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/> |
| MacBook7,1 | Mid-2010 | ^^ | ^^ |
| MacBook8,1 | Mid-2015 | ^^ | <span style="color:green"> Everything is supported</span> |
### MacBook Air
| SMBIOS | Year | Supported | Comment |
| :--- | :--- | :--- | :--- |
| MacBookAir1,1 | Early 2008 | <span style="color:red"> NO </span> | Requires SSE4.1 CPU |
| MacBookAir2,1 | Late 2008 |<span style="color:#30BCD5"> YES </span> | - No GPU Acceleration in Big Sur<br/>- No AppleHDA(Audio) Patching implemented(yet)<br/>- No Wifi Patches implemented(yet) |
| MacBookAir3,1 | Late 2010 | ^^ | - No GPU Acceleration in Big Sur<br/>- No AppleHDA(Audio) Patching implemented(yet) |
| MacBookAir2,1 | Late 2008 |<span style="color:#30BCD5"> YES </span> | GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)) |
| MacBookAir3,1 | Late 2010 | ^^ | ^^ |
| MacBookAir3,2 | ^^ | ^^ | ^^ |
| MacBookAir4,1 | Mid-2011 | ^^ | ^^ |
| MacBookAir4,2 | ^^ | ^^ | ^^ |
| MacBookAir5,1 | Mid-2012 |^^ | <span style="color:green"> Everything is supported</span> |
| MacBookAir5,2 | ^^ | ^^ | ^^ |
| MacBookAir6,1 | Mid-2013, Early 2014 | ^^ | ^^ |
| MacBookAir6,2 | ^^ | ^^ | ^^ |
### MacBook Pro
@@ -50,9 +63,9 @@ The below table will list all supported and unsupported functions of the patcher
| MacBookPro1,2 | ^^ | ^^ | ^^ |
| MacBookPro2,1 | Late 2006 | ^^ | 32-Bit Firmware limitation |
| MacBookPro2,2 | Late 2006 | ^^ | ^^ |
| MacBookPro3,1 | Mid-2007 | ^^ | - Requires SSE4.1 CPU |
| MacBookPro4,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | - No GPU Acceleration in Big Sur<br/>- No AppleHDA(Audio) Patching implemented(yet)<br/>- No Wifi Patches implemented(yet) |
| MacBookPro5,1 | Late 2008 | ^^ | - No GPU Acceleration in Big Sur<br/>- No AppleHDA(Audio) Patching implemented(yet) |
| MacBookPro3,1 | Mid-2007 | ^^ | Requires SSE4.1 CPU |
| MacBookPro4,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)) |
| MacBookPro5,1 | Late 2008 | ^^ | ^^ |
| MacBookPro5,2 | Early 2009 | ^^ | ^^ |
| MacBookPro5,3 | Mid-2009 | ^^ | ^^ |
| MacBookPro5,4 | ^^ | ^^ | ^^ |
@@ -60,13 +73,16 @@ The below table will list all supported and unsupported functions of the patcher
| MacBookPro6,1 | Mid-2010 | ^^ | ^^ |
| MacBookPro6,2 | ^^ | ^^ | ^^ |
| MacBookPro7,1 | ^^ | ^^ | ^^ |
| MacBookPro8,1 | Early 2011 | ^^ | - No GPU Acceleration in Big Sur<br/>- No AppleHDA(Audio) Patching implemented(yet)<br/>- Ethernet Connection Issues |
| MacBookPro8,1 | Early 2011 | ^^ | ^^ |
| MacBookPro8,2 | ^^ | ^^ | ^^ |
| MacBookPro8,3 | ^^ | ^^ | ^^ |
| MacBookPro9,1 | Mid-2012 | ^^ | <span style="color:green"> Everything is supported</span> |
| MacBookPro9,2 | ^^ | ^^ | ^^ |
| MacBookPro10,1 | ^^ | ^^ | ^^ |
| MacBookPro10,2 | Late 2012 | ^^ | ^^ |
| MacBookPro9,2 | ^^ | ^^ | ^^ |
| MacBookPro10,1 | Mid-2012, Early 2013 | ^^ | ^^ |
| MacBookPro10,2 | Late 2012, Early 2013 | ^^ | ^^ |
| MacBookPro11,1 | Late 2013, Mid-2014 | ^^ | ^^ |
| MacBookPro11,2 | ^^ | ^^ | ^^ |
| MacBookPro11,3 | ^^ | ^^ | ^^ |
### Mac mini
@@ -74,9 +90,9 @@ The below table will list all supported and unsupported functions of the patcher
| :--- | :--- | :--- | :--- |
| Macmini1,1 | Early 2006 | <span style="color:red"> NO </span> | 32-Bit CPU limitation |
| Macmini2,1 | Mid-2007 | ^^ | 32-Bit Firmware limitation |
| Macmini3,1 | Early 2009 | <span style="color:#30BCD5"> YES </span> | - No GPU Acceleration in Big Sur<br/>- No AppleHDA(Audio) Patching implemented(yet) |
| Macmini3,1 | Early 2009 | <span style="color:#30BCD5"> YES </span> | GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)) |
| Macmini4,1 | Mid-2010 | ^^ | ^^ |
| Macmini5,1 | Mid-2011 | ^^ | - No GPU Acceleration in Big Sur<br/>- No AppleHDA(Audio) Patching implemented(yet)<br/>- Ethernet Connection Issues |
| Macmini5,1 | Mid-2011 | ^^ | ^^ |
| Macmini5,2 | ^^ | ^^ | ^^ |
| Macmini5,3 | ^^ | ^^ | ^^ |
| Macmini6,1 | Late 2012 | ^^ | <span style="color:green"> Everything is supported</span> |
@@ -91,20 +107,25 @@ The below table will list all supported and unsupported functions of the patcher
| iMac5,1 | Late 2006 | ^^ | 32-Bit Firmware limitation |
| iMac5,2 | ^^ | ^^ | ^^ |
| iMac6,1 | ^^ | ^^ | ^^ |
| iMac7,1 | Mid-2007 | <span style="color:#30BCD5"> YES </span> | - Requires an SSE4.1 CPU Upgrade<br/>- No GPU Acceleration in Big Sur<br/>- No AppleHDA(Audio) Patching implemented(yet)<br/>- No Wifi Patches implemented (yet) |
| iMac8,1 | Early 2008 | ^^ | - No GPU Acceleration in Big Sur<br/>- No AppleHDA(Audio) Patching implemented(yet)<br/>- No Wifi Patches implemented (yet) |
| iMac9,1 | Early 2009 | ^^ | - No GPU Acceleration in Big Sur<br/>- No AppleHDA(Audio) Patching implemented(yet) |
| iMac10,1 | Late 2009 | ^^ | ^^ |
| iMac11,1 | ^^ | ^^ | - No GPU Acceleration in Big Sur<br/>- No AppleHDA(Audio) Patching implemented(yet)<br/>- Ethernet Connection Issues |
| iMac7,1 | Mid-2007 | <span style="color:#30BCD5"> YES </span> | - Requires an [SSE4.1 CPU Upgrade](https://lowendmac.com/2018/penryn-t9300-9500-cpu-upgrades-for-the-2007-imac/)<br/>- GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/>- Stock Bluetooth 2.0 card non-functional |
| iMac8,1 | Early 2008 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))) |
| iMac9,1 | Early 2009 | ^^ | ^^ |
| iMac10,1 | Late 2009 | ^^ | - GPU is socketed, [recommend upgrading to Metal GPU](https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/?post=17425857#post-17425857) <br/>- GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)) |
| iMac11,1 | ^^ | ^^ | ^^ |
| iMac11,2 | Mid-2010 | ^^ | ^^ |
| iMac11,3 | ^^ | ^^ | ^^ |
| iMac12,1 | Mid-2011 | ^^ | ^^ |
| iMac12,2 | ^^ | ^^ | ^^ |
| iMac13,1 | Late 2012 | ^^ | <span style="color:green"> Everything is supported</span> |
| iMac13,2 | ^^ | ^^ | ^^ |
| iMac13,3 | ^^ | ^^ | ^^ |
| iMac14,1 | Late 2013 | ^^ | ^^ |
| iMac14,2 | ^^ | ^^ | ^^ |
| iMac14,3 | ^^ | ^^ | ^^ |
| iMac14,4 | Mid-2014 | ^^ | ^^ |
| 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)
### Mac Pro
@@ -112,16 +133,16 @@ The below table will list all supported and unsupported functions of the patcher
| :--- | :--- | :--- | :--- |
| MacPro1,1 | Mid-2006 | <span style="color:red"> NO </span> | 32-Bit Firmware limitation |
| MacPro2,1 | Mid-2007 | ^^ | ^^ |
| MacPro3,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | - Requires an SSE4.1 CPU Upgrade<br/>- No AppleHDA(Audio) Patching implemented(yet) |
| MacPro3,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | - Potential boot issues with built-in USB 1.1 ports (recommend using a USB 2.0 hub or dedicated USB PCIe controller)<br/>- Potential boot issues with stock Bluetooth card, recommend removing to avoid kernel panics |
| MacPro4,1 | Early 2009 | ^^ | <span style="color:green"> Everything is supported as long as GPU is Metal capable </span> |
| MacPro5,1 | Mid-2010 | ^^ | ^^ |
| MacPro5,1 | Mid-2010, Mid-2012 | ^^ | ^^ |
### Xserve
| SMBIOS | Year | Supported | Comment |
| :--- | :--- | :--- | :--- |
| Xserve1,1 | Mid-2006 | <span style="color:red"> NO </span> | 32-Bit Firmware limitation |
| Xserve2,1 | Early 2008 | ^^ | ^^ |
| Xserve3,1 | Early 2009 | <span style="color:#30BCD5"> YES </span> | <span style="color:green"> Everything is supported as long as GPU is Metal capable </span> |
| Xserve2,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | <span style="color:green"> Everything is supported as long as GPU is Metal capable </span> |
| Xserve3,1 | Early 2009 | ^^ | ^^ |
# Once you've verified your hardware is supported, head to [Download and build macOS Installers](./INSTALLER.md)
# Once you've verified your hardware is supported, head to [Download and build macOS Installers](./INSTALLER.md)

145
docs/MONTEREY-DROP.md Normal file
View File

@@ -0,0 +1,145 @@
# macOS Monterey Support
With OpenCore Legacy Patcher v0.1.7 and newer, we've implemented beta macOS Monterey support for users. Please note that Apple has dropped a lot of hardware with this release as well as broken many of our previous patch sets. This page will be used to inform users regarding current issues and will be updated as new patch sets are developed and added to our patcher.
## Newly dropped hardware
With Monterey, Apple continues their their somewhat ruthless march of dropping Intel hardware. This release saw the removal, and thus addition into OpenCore Legacy Patcher, of the following models:
* iMac14,4
* iMac15,1
* MacBook8,1
* MacBookAir6,1
* MacBookAir6,2
* MacBookPro11,1
* MacBookPro11,2
* MacBookPro11,3
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:
* [12.0 Beta 3 (21A5284e) InstallAssistant (Direct)](http://swcdn.apple.com/content/downloads/02/08/071-63739-A_G5RYVW5JHT/dfz5gp3s0jm9vl7m30oewq141zkpv8edr8/InstallAssistant.pkg)
* [12.0 Beta 3 (21A5284e) InstallAssistant (archive.org)](https://archive.org/details/12.0-21a5284e-beta-3)
A temporary fix is to restart the BlueTool and bluetoothd process with each boot, note it may not work for all users:
```sh
sudo killall -9 BlueTool bluetoothd
```
:::
::: details Wireless Support Dropped (Resolved in 0.2.5 and newer)
* Broadcom BCM94328, BCM94322 and Atheros Wireless Chipsets lost support
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
:::
::: details Bluetooth Support Dropped (Resolved in 0.2.5 and newer)
* BRCM2046 and BRCM2070 Bluetooth Chipsets lost support
The following models lost Bluetooth support in macOS Monterey due to their legacy Bluetooth chipset:
* iMac12,x and older
* Macmini5,1 and older
* MacBook7,1 and older
* MacBookAir4,1 and older
* MacBookPro8,1 and older
* MacPro5,1 and older
Note: Native BRCM20702 and BRCM20703 are still fully support by OpenCore Legacy Patcher
::: details Dropped Firmwares
Here are the firmwares macOS Monterey Dropped (previously located within IOBluetoothUSBDFU.kext):
* 2046_820F.dfu
* 2046_8210.dfu
* 2046_8213.dfu
* 2046_8215.dfu
* 2046_8216.dfu
* 2046_8217.dfu
* 2070_821A.dfu
* 2070_821B.dfu
* 2070_8218.dfu
* 20702_821D.dfu
* 20702_821F.dfu
* 20702_828A.dfu
* 20702_828B.dfu
* 20702_828C.dfu
* 20702_8281.dfu
* 20702_8286.dfu
:::
::: details Ivy Bridge iGPU Acceleration (Resolved in 0.1.7 and newer)
* Intel HD4000 iGPUs lost support
By default these machines require root volume patches to gain graphics acceleration in Monterey. OpenCore Legacy Patcher supports readding support however SIP can no longer be enabled due to root patching:
* Macmini6,x
* MacBookAir5,x
* MacBookPro9,x
* MacBookPro10,x
:::
::: details NVIDIA Kepler dGPU Acceleration (Resolved in 0.2.5 and newer)
* NVIDIA Kepler dGPUs lost support
By default these machines require root volume patches to gain graphics acceleration in Monterey. OpenCore Legacy Patcher supports readding support however SIP can no longer be enabled due to root patching:
* MacBookPro9,1
* MacBookPro10,1
* iMac13,x
* iMac14,x
:::
::: details Non-Metal Acceleration (Resolved in 0.2.5 and newer)
* Non-Metal GPUs no longer have working acceleration patches:
* Intel Ironlake and Sandy Bridge iGPUs
* Nvidia Tesla and Fermi GPUs
* AMD TeraScale 1 and 2 GPUs
The following machines cannot gain graphics acceleration at all in Monterey, only basic framebuffer and brightness control (iMac8,1/9,1 and MacBook5,2 excluded):
* iMac12,x and older
* Macmini5,x and older
* MacBook7,1 and older
* MacBookAir4,x and older
* MacBookPro8,x and older
Note: iMac10,1 through iMac12,x can be upgraded with Metal GPUs, [see here for more info](https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/)
:::

389
docs/PATCHEXPLAIN.md Normal file
View File

@@ -0,0 +1,389 @@
# Explaining the patches in OpenCore Legacy Patcher
In our patcher, there are numerous patches used to ensure a stable system. Here we're going to go over what patches are used and why we recommend or even require them.
* [OpenCore Settings](#opencore-settings)
* [Injected Kexts](#injected-kexts)
* [On-Disk Patches](#on-disk-patches)
## OpenCore Settings
Below is a run down of the main logic OpenCore Legacy Patcher uses to gain native support in macOS. Note OpenCore's configuration is documented within [OpenCorePkg](https://github.com/acidanthera/OpenCorePkg) as well as an online version provided by us:
* [OpenCorePkg Online Docs](https://dortania.github.io/docs/latest/Configuration.html)
::: 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
* 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
* ForceBooterSignature
* Reason: Required to ensure Hibernation support
* Logic: Tricks boot.efi into thinking OpenCore is Apple's firmware
* Models: All models require
### DeviceProperties -> Add
* `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
* Logic: Sets AppleBackLight properties
* Models: iMac11,x and iMac12,x with upgraded Nvidia Metal GPUs
* `PciRoot(0x0)/Pci(0x2,0x0)`
* Reason: Disables internal GPU to fix sleep issues on upgrades iMacs
* Logic: Tricks macOS into thinking iGPU is a generic PCI device
* Models: iMac12,x with upgraded Metal GPUs
### Kernel -> Patch
* SMC Patch
* Reason: Required to avoid SMC Firmware updates
* Logic: Patches out `smc-version` in AppleSMC.kext, requires SMC-Spoof.kext for full functionality
* Models: All models require when spoofing SMBIOS
* IOHIDFamily Patch
* Reason: Required for HID peripheral support in macOS on older hardware
* Logic: Tricks IOHIDFamily into thinking it's always booting recovery
* Models: 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
* ThridPartyDrives
* Reason: Required to avoid Hibernation wake issues on 3rd party drives
* Logic: Patches AppleAHCIPort.kext into support
* Models: All models with standard SATA ports
* PanicNoKextDump
* Reason: Avoids kext dump on kernel panics, easier kernel debugging
* Logic: Patches Kernel to not dump dump unnecessary info
* Models: Only set when Verbose Boot is enabled by the user
### Misc -> Security
* SecureBootModel
* 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
* `-v debug=0x100`
* Reason: Used to see debug info of macOS's kernel and kexts, and avoids reboots on panic
* Logic: Adds args to NVRAM
* Models: Only set when Verbose Boot is enabled by the user
* `-liludbgall`
* Reason: Enables Lilu and plugin debug logging
* Logic: Adds args to NVRAM
* Models: Only set when Kext DEBUG is enabled by the user
* `msgbuf=1048576`
* Reason: Sets message buffer size to 1MB, ensures boot logs are retained
* Logic: Adds args to NVRAM
* Models: Only set when Kext DEBUG is enabled by the user
* `agdpmod=pikera`
* Reason: Fixes GPU switching on MacBookPro9,x
* Logic: Adds args to NVRAM
* Models: MacBookPro9,x
* `shikigva=80 unfairgva=1`
* `shikigva=128 unfairgva=1 -wegtree`
* Reason: Fixes DRM support on models with upgraded AMD Metal GPUs
* Logic: Adds args to NVRAM
* Models: Models with upgraded AMD Metal GPUs
### UEFI -> ProtocolOverrides
* GopPassThrough
* Reason: Used for proper output on machines with UGA firmware but GOP GPU
* Logic: Provide GOP protocol instances on top of UGA protocol instances
* Models: MacPro3,1, MacBook4,1 iMac7,1-8,1
:::
## Injected Kext
Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into memory on boot-up.
::: details Injected Kext Explanation
### Acidanthera
* Lilu
* Reason: Patching engine for other kexts
* Models: All models require
* WhateverGreen
* Reason: Patches GPU Frameworks and kext to ensure proper support
* Models: All models require when spoofing or have non-stock GPU
* CPUFriend
* Reason: Patches IOx86PlatformPlugin to restore previous CPU profiles
* Models: All models using minimal or higher spoofing
* AirportBrcmFixup
* 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
### Ethernet
* nForceEthernet
* Reason: Inject old Nvidia Ethernet kext to resolve networking in Catalina and newer
* Models: 2010 and older Nvidia Ethernet require
* MarvelYukonEthernet
* Reason: Inject old Marvel Ethernet kext to resolve networking in Catalina and newer
* Models: 2008 and older Marvel Ethernet require
* CatalinaBCM5701Ethernet
* Reason: Inject old Broadcom Ethernet kext to resolve networking in Big Sur
* Logic: Patch out conflicting symbols to not colide existing BCM5701Ethernet
* Models: 2011 and older Broadcom Ethernet require
### Maps
* USBMap
* Reason: Inject old USB map profiles to fix USB
* Models: All models require when spoofing moderate or higher, as well as pre-2012 models
### SSE
* AAMouSSE
* Reason: Translates SSE4.2 instructions to compatible code for SSE4,1 CPUs, required for AMD Metal drives
* Models: MacPro3,1
* telemetrap
* Reason: Ensures temelemtry.plugin doesn't run, required for SSE4,1 CPUs
* Models: Penryn CPUs
### Wifi
* IO80211HighSierra
* Reason: Re-inject Atheros wifi drivers from High Sierra
* Logic: Patch out conflicting symbols to not colide existing IO80211Family
* Models: Atheros cards
* IO80211Mojave
* Reason: Re-inject Broadcom wifi drivers from Mojave
* Logic: Patch out conflicting symbols to not colide existing IO80211Family
* Models: BCM94322
### Misc
* AppleBackLightFixup
* Reason: Patch AppleBacklight for iMacs with Nvidia Metal GPU upgrades
* Models: iMac11,x, iMac12,x with upgraded Nvidia Metal GPUs
* AppleIntelPIIXATA
* Reason: Fix IDE support on MacPro3,1
* Models: MacPro3,1
* AppleIntelMCEDisabler
* Reason: Fix dual socket support in Catalina and newer
* Models: Mac Pros and Xserves
* NightShiftEnabler
* Reason: Enables NightShift support on unsupported models
* Models: 2011 and older, MacBookPro9,x included
* SMC-Spoof
* Reason: Spoofs SMC version to 9.9999
* 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 (11.0+)
### Extensions
* AppleHDA
* Reason: Re-add El Capitan's AppleHDA to achieve audio support
* Models: iMac7,1 and iMac8,1
:::
::: 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
#### General Patches
* IOSurface.kext
* Reason: Fixes immediate logout on login
* Logic: Downgrade to Catalina IOSurface
* Note: For AMD and Intel, additional `addMemoryRegion/removeMemoryRegion` patch added changing the first conditional jump to non conditional jump
* At Offset `0xdb52` and `0xdbc6`, replace following bytes with `0xeb`
#### Dropped Acceleration Binaries
* Nvidia Binaries
* GeForceGA.bundle
* GeForceTesla.kext
* Skip IOFree Panic - Mojave+
* At Offset `0x5CF9A` replace following bytes with `0xEB`
* Avoids `addMemoryRegion/removeMemoryRegion` calls
* At Offset `0x5527` and `0x77993`, replace following bytes with `0x909090909090`
* GeForceTeslaGLDriver.bundle
* GeForceTeslaVADriver.bundle
* NVDANV50HalTesla.kext
* NVDAResmanTesla.kext
* 0x1ea59a - 0x1ea5b3: nop
* Replace VSLGestalt to IOLockLock or any other known symbol of the same length.
* AMD/ATI Binaries
* AMD2400Controller.kext
* AMD2600Controller.kext
* AMD3800Controller.kext
* AMD4600Controller.kext
* AMD4800Controller.kext
* AMD5000Controller.kext
* AMD6000Controller.kext
* AMDFramebuffer.kext
* AMDLegacyFramebuffer.kext
* AMDLegacySupport.kext
* AMDRadeonVADriver.bundle
* AMDRadeonVADriver2.bundle
* AMDRadeonX3000.kext
* AMDRadeonX3000GLDriver.bundle
* AMDShared.bundle
* AMDSupport.kext
* ATIRadeonX2000.kext
* ATIRadeonX2000GA.plugin
* ATIRadeonX2000GLDriver.bundle
* ATIRadeonX2000VADriver.bundle
* Intel 5th Gen Binaries
* AppleIntelFramebufferAzul.kext
* AppleIntelFramebufferCapri.kext
* AppleIntelHDGraphics.kext
* AppleIntelHDGraphicsFB.kext
* AppleIntelHDGraphicsGA.plugin
* AppleIntelHDGraphicsGLDriver.bundle
* AppleIntelHDGraphicsVADriver.bundle
* Intel 6th Gen Binaries
* AppleIntelHD3000Graphics.kext
* AppleIntelHD3000GraphicsGA.plugin
* AppleIntelHD3000GraphicsGLDriver.bundle
* AppleIntelHD3000GraphicsVADriver.bundle
* AppleIntelSNBGraphicsFB.kext
* Board ID Patch
* Replace original Board ID with updated model
* AppleIntelSNBVA.bundle
### Frameworks
* CoreDisplay.framework
* Logic: Copied from Mojave, heavy modifications/shims
* IOSurface.framework
* OpenGL.framework
* Logic: Copied from Mojave
### PrivateFrameworks
* GPUSupport.framework
* Logic: Copied from Mojave
* SkyLight.framework
* Logic: Copied from Mojave, heavy modifications/shims
:::

View File

@@ -2,6 +2,7 @@
* [Booting without USB drive](#booting-without-usb-drive)
* [Booting seamlessly without Verbose or OpenCore Picker](#booting-seamlessly-without-verbose-or-opencore-picker)
* [Applying Post Install Volume Patches](#applying-post-install-volume-patches)
## Booting without USB drive
@@ -19,11 +20,83 @@ And voila! No more USB drive required
To do this, run the OpenCore Patcher and head to Patcher Settings:
![](../images/settings.png)
| GUI Settings | TUI Settings
| :--- | :--- |
|![](../images/OCLP-GUI-Settings-ShowPicker.png) | ![](../images/settings.png) |
Here you can change different patcher settings, however the main 2 of interest are:
Here you can change different patcher settings, however the main interest is:
* Enable Verbose Mode
* Set ShowPicker Mode
Once you've toggled them both off, build your OpenCore EFI once again and install to your desired drive. Now to show OpenCore picker, you can simply press "Esc" key repeatedly.
Once you've toggled them both off, build your OpenCore EFI once again and install to your desired drive. Now to show the OpenCore selector, you can simply hold down the "ESC" key while clicking on EFI boot, then you can release the "ESC" key when you see the cursor arrow at the top left.
## 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 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
| SIP Enabled | SIP Lowered (Root Patching) | SIP Disabled |
| :--- | :--- | :--- |
| ![](../images/OCLP-GUI-Settings-SIP-Enabled.png) | ![](../images/OCLP-GUI-Settings-SIP-Root-Patch.png) | ![](../images/OCLP-GUI-Settings-SIP-Disabled.png) |
::: 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
For users with unsupported GPUs/wifi cards, you'll need to run the Post Install Root Volume patches to regain functionality. See below on whether your hardware needs root volume patching.
* 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 |
| :--- | :--- |
| ![](../images/OCLP-GUI-Root-Patching-List.png) | ![](../images/OCLP-GUI-Root-Patching-Finished.png) |
::: 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:
* Tesla (8000 - 300 series)
* AMD:
* TeraScale (2000 - 6000 series)
* Intel:
* Iron Lake
* Sandy Bridge (2000 - 3000 series)
:::
::: details Unsupported GPUs in macOS Monterey
* Nvidia:
* Tesla (8000 - 300 series)
* Kepler (600 - 800 series)
* AMD:
* TeraScale (2000 - 6000 series)
* Intel:
* Iron Lake
* Sandy Bridge (2000 - 3000 series)
* Ivy Bridge (4000 series)
:::
::: details Unsupported Wireless Cards in macOS Monterey
* Broadcom:
* BCM94328
* BCM94322
* Atheros
:::

View File

@@ -13,8 +13,8 @@ features:
- title: Built with security in mind
details: Supporting System Integrity Protection(SIP), FileVault 2, .im4m Secure Boot and Vaulting. You're just as secure as a supported Mac
- title: Native OTA updates
details: Install updates the moment the come out just like on a supported Mac, and no more 12GB+ updates.
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
---

BIN
docs/ResXtreme.zip Normal file

Binary file not shown.

View File

@@ -5,9 +5,21 @@ This is a sophisticated boot loader used to inject and patch data in memory, ins
* System Integrity Protection, FileVault 2, .im4m Secure Boot and Vaulting
* Native OTA OS DELTA updates on all Macs
* Recovery OS, Safe Mode and Single-user Mode booting
* WPA Wifi and Personal Hotspot support
While many PC users from the Hackintosh community are familiar with OpenCore, OpenCore was designed as Mac and PC agnostic ensuring both platforms can use it easily. And with OpenCore Legacy Patcher, we help automate the process making running with OpenCore that much easier.
For advanced troubleshooting, we highly recommend users check out the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN) as this is generally the quickest way to get a hold of us developers and get help from the community.
For those who wish to support this patcher, please see the [Supporting the Patcher page](./DONATE.md)
## Patcher Warnings
Since this patcher tricks macOS into thinking you're running a newer Mac, certain functionality may be broken:
* Boot Camp Assistant.app
* We recommend following our [guide on getting a UEFI Windows Install working](./WINDOWS.md). Legacy MBR Based installs won't show up in OpenCore
## How do I get started?
1. The first step of ensuring whether your model is support is checking here:

39
docs/TERMS.md Normal file
View File

@@ -0,0 +1,39 @@
# OpenCore Patcher Terminology
With OpenCore Legacy Patcher, we use a lot of different terms to refer to hardware including `SSE4.1`, `32-Bit Firmware`, etc. This page is to help users understand what all these confusing words mean.
# Terminology
Term | Description
--- | ---
**macOS** | Apple's own UNIX based OS used for Mac machines and "What makes a Mac a Mac".
**Windows** | Microsoft's proprietary OS that is used and supported on a wide range of devices
**Linux** | Family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged in a Linux distribution. Note that while macOS and Linux may be UNIX-based, they're vastly different.
**Bootloader** | Piece of software that loads an OS, usually made by the OS creators. OpenCore is technically not a bootloader per se (see boot manager explanation down below). Apple's Boot.efi would be the actual boot loader in a Mac.
**Boot Manager** | Piece of software that manages bootloaders we have many of these: Clover, systemd-boot, OpenCore, rEFInd, rEFIt... These are generally seen as prepping the system for the actual boot loader.
---
Term | Description
--- | ---
**OpenCore** | The new hotness on the scene, made with security in mind by the [Acidanthera team](https://github.com/acidanthera), has faster booting and lighter weight than previous boot managers. Supports many native Mac features such as SIP, FileVault, Secure Boot, etc
**ACPI** | Tables defined in your firmware defining your hardware and different methods, tied directly to how IOKit/IOService handles device setup
**NVRAM** | Non-volitile storage, where many variables are stored including default boot options, Hibernation keys, Secure Boot information, etc
---
Term | Description
--- | ---
**XNU** | Also known as **X** is **N**ot **U**nix, XNU is referred to as macOS's "kernel" and the heart of what makes macOS tick
**Kexts** | Also known as **K**ernel **Ext**ensions, are macOS's drivers. They're used to perform different tasks like device drivers or for a different purpose (in this patcher) like patching the OS, injecting information or running tasks.
**KernelCollection** | Also known as the ImmutableKernel and PrelinkedKernel, this is a bundle of the kernel(XNU) and kernel extensions(Kexts) that we use to boot macOS. This is also what OpenCore patches in memory to allow us to have a seamless experience <br/>- PrelinkedKernel: Default caching system since 10.7 <br/>- ImmutableKernel: Secure Boot based caching system since 10.13 <br/>- KernelCollection: Merge of both Prelinked and ImmutableKernel's since macOS 11, Big Sur
**IOKit** | Backbone of how Kernel Extentions (Kexts) probe and attach onto hardware, starts quickly after kernel initates
**WindowServer** | Backbone of the GUI interface in macOS, one of the first userfacing userspace programs to kick-in
**OTA** | Short for **O**ver **T**he **A**ir, refers to native OS updates via System Preferences like a supported Mac
**DELTA** | Often used with OTA, refers to OS updates that much smaller than full installers (generally ~3GB), note Deltas require the root volume to be unmodified otherwise ~12GB updates will occur.
---
Term | Description
--- | ---
**EFI** | It can denote two things: <br/>- Mac's firmware, which is the same as UEFI, but pretty modified for Macs only, so not so "Universal" <br/>- The partition on your hard drive that stores software read by the UEFI to load OSes (like the Windows bootloader) or UEFI Applications (like OpenCore), it's FAT32 formatted and has an ID type of EF00 (in hex). It can be named ESP or SYSTEM, and it's usually from 100MB to 400MB in size but the size doesn't reflect upon anything.
**HFS+** | Also known as MacOS Journaled, this was the default macOS drive format up until macOS 10.13, format was designed around spinning disks
**APFS** | This was the default macOS drive from macOS 10.13 and onwards for SSDs, and standard for all drives in Mojave. Format was designed around SSDs primarily.
**32 and 64-Bit CPU** | The bit number of a CPU determines how much data a CPU can address. <br/>- 32-Bit CPUs were only supported up-to Mac OS X 10.6, Snow Leopard.
**32-Bit Firmware** | The bit number of a Firmware determines how much data the firmware can address. In some older Macs, it's common to have a 64-Bit CPU can have a 32-Bit firmware<br/>- 32-Bit Firmwares were only supported up-to Mac OS X 10.7, Lion.
**SSE Instructions** | Also known as **S**IMD **S**ingle-Precision Floating-Point **I**nstructions, these are defined as instruction sets supported by your CPU. In macOS, there are a certain number of instruction sets required for normal operation: <br/>- SSE3: Required for all Intel CPUs since Mac OS X 10.4, Tiger <br/>- SSSE3: Required for all Intel 64-Bit CPUs since Mac OS X 10.6, Snow Leopard <br/>- SSE4.1: Required for all Intel CPUs since macOS 10.12, Sierra
---

123
docs/TESTED.md Normal file
View File

@@ -0,0 +1,123 @@
# Tested Models on OpenCore Legacy Patcher
To aid users in troubleshooting, we've compiled a list of users who've reported success with OpenCore Legacy patcher as well as the version used. This should aid users in verifying whether issues with the patcher are regression-related with newer versions.
### MacBook
| SMBIOS | Tested | Tester | Comment |
| :--- | :--- | :--- | :--- |
| MacBook4,1 | <span style="color:#30BCD5"> YES </span> | Mami | - Stock Model<br/>- Couldn't install due to broke USB support |
| MacBook5,1 | ^^ | air.man | - Stock Model<br/>- Patcher version 0.0.19 |
| MacBook5,2 | ^^ | Finder352 | ^^ |
| MacBook6,1 | ^^ | Finder352 | ^^ |
| MacBook7,1 | ^^ | MykolaG | ^^ |
| ^^ | ^^ | Jazzzny | ^^ |
| ^^ | ^^ | AlexSakha67 | - Stock Model<br/>- Patcher version 0.0.20 |
### MacBook Air
| SMBIOS | Tested | Tester | Comment |
| :--- | :--- | :--- | :--- |
| MacBookAir2,1 | No reports | N/A | N/A |
| 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 | <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 |
| ^^ | ^^ | K-Hobert | - Stock model <br/>- Patcher version unknown |
| ^^ | ^^ | cboukouv | - Stock model <br/>- Patcher version 0.0.21 |
### MacBook Pro
| SMBIOS | Tested | Tester | Comment |
| :--- | :--- | :--- | :--- |
| MacBookPro4,1 | <span style="color:#30BCD5"> YES </span> | cboukouv | - Stock model <br/>- Patcher version 0.0.19 |
| MacBookPro5,1 | ^^ | GURU_Jasho#5736 | - Stock model <br/>- Patcher version 0.0.21 |
| MacBookPro5,2 | ^^ | hvds | ^^ |
| MacBookPro5,3 | ^^ | kommtzeitkonrad | - Stock model <br/>- Patcher version 0.0.22 |
| MacBookPro5,4 | No reports | N/A | N/A |
| MacBookPro5,5 | ^^ | ^^ | ^^ |
| 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 |
| MacBookPro9,1 | <span style="color:#30BCD5"> YES </span> | jbdamiano | - Stock model <br/>- Patcher version 0.0.19 |
| ^^ | ^^ | dennes544 | ^^|
| ^^ | ^^ | cgrazy | ^^ |
| ^^ | ^^ | LIPA85 | ^^ |
| MacBookPro9,2 | ^^ | alexx17xx | - Stock model <br/>- Patcher version 0.0.19 |
| ^^ | ^^ | Arvxistanx | ^^ |
| ^^ | ^^ | CyberDroid1 | - Stock model<br/>- Patcher version 0.0.16 |
| ^^ | ^^ | 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
| SMBIOS | Tested | Tester | Comment |
| :--- | :--- | :--- | :--- |
| Macmini3,1 | No reports | N/A | N/A |
| Macmini4,1 | ^^ | ^^ | ^^ |
| Macmini5,1 | ^^ | ^^ | ^^ |
| 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 |
| ^^ | ^^ | mwidjaya | - Stock model <br/>- Patcher version 0.0.18 |
| Macmini6,2 | ^^ | Shelbs | - Stock model <br/>- Patcher version 0.0.16 |
### iMac
| SMBIOS | Tested | Tester | Comment |
| :--- | :--- | :--- | :--- |
| iMac7,1 | <span style="color:#30BCD5"> YES </span> | lulujyc | iMac 20-inch 2007. Patcher version 0.3.1. The USB 1.1 controller is rather unstable on Big Sur+, using USB hubs (forcing USB 2.0) can fix unrecognized keyboard/ mouse. Otherwise runs great, including brightness control. Upgraded BCM94352HMB, manually added 3rd-party drivers. Tested: Big Sur, Monterey. |
| iMac8,1 | ^^ | EduCovas | - Stock Model<br/>- Patcher version 0.0.21 |
| iMac9,1 | ^^ | Allanrfox | ^^ |
| ^^ | ^^ | Jakeluke | ^^ |
| iMac10,1 | ^^ | Ausdauersportler | - Upgraded with WX4150 |
| iMac11,1 | ^^ | internetzel | - Upgraded with RX580 mobile |
| iMac11,2 | ^^ | MykolaG | - Stock Model<br/>- Patcher version 0.0.21 |
| ^^ | ^^ | iMac-iPad | - Stock Model<br/>- Patcher version 0.0.21 |
| ^^ | ^^ | vinaypundith | - Patcher version 0.0.19 |
| iMac11,3 | ^^ | Ausdauersportler | - Upgraded with Polaris GPU<br/>- Upgraded BCM943602CDP<br/>- Patcher version 0.0.21 |
| iMac12,1 | ^^ | shnockdu | - Upgraded with Kepler GPU<br/>- Patcher version 0.0.21 |
| ^^ | ^^ | StephN999 | - Upgraded WX4150 GPU<br/>- Upgraded BCM94360CD<br/>- Patcher version 0.0.21 |
| iMac12,2 | ^^ | Ausdauersportler | - Upgraded with Polaris GPU<br/>- Upgraded BCM943602CDP<br/>- Patcher version 0.0.21 |
| iMac13,1 | ^^ | alexx17xx | - Stock Model<br/>- Patcher version 0.0.19 |
| iMac13,2 | ^^ | Alain13 | ^^ |
| ^^ | ^^ | algernonpule | - Stock Model<br/>- Patcher version 0.0.19 |
| iMac13,3 | No reports | N/A | N/A |
| iMac14,1 | <span style="color:#30BCD5"> YES </span> | woefi | - Upgraded NVMe<br/>- Patcher version 0.0.21 |
| ^^ | ^^ | mikeboss | - Stock Model<br/>- Patcher version 0.0.19 |
| 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
| SMBIOS | Tested | Tester | Comment |
| :--- | :--- | :--- | :--- |
| MacPro3,1 | <span style="color:#30BCD5"> YES </span> | MykolaG | - Upgraded with RX 470 and BCM94360CD<br/>- Stock Bluetooth card removed<br/>- Patcher version 0.1.6 |
| ^^ | ^^ | christiann | - Upgraded with RX 560 and BCM94322<br/>- Stock Bluetooth card removed<br/>- Patcher version 0.0.21 |
| ^^ | ^^ | gw463 | - Upgraded GTX 680<br/>- Upgraded BCM94360<br/>- Patcher version 0.0.22 |
| ^^ | ^^ | AlexSakha67 | - Upgraded R9 280<br/>- Patcher version 0.0.20 |
| ^^ | ^^ | nekton1 | - Upgraded GTX 680<br/>- Patcher version 0.0.20 |
| ^^ | ^^ | Pri-est | - Patcher version 0.0.9 |
| ^^ | ^^ | vinaypundith | - Upgraded GTX 680<br/>- Upgraded BCM94360CD<br/>- Patcher version 0.0.6 |
| MacPro4,1 | ^^ | ^^ | - Patcher version 0.0.9 |
| MacPro5,1 | ^^ | woefi | - Upgraded with RX 580<br/>- Patcher version 0.0.21 |
| ^^ | ^^ | Mabrouk Oscar | - Patcher version 0.0.21 |
| ^^ | ^^ | astuffedtiger | - MacPro4,1 flashed to 5,1<br/>- Patcher version 0.0.18 |

View File

@@ -8,6 +8,15 @@ Here are some common errors users may experience while using this patcher:
* [Reboot when entering Hibernation (`Sleep Wake Failure`)](#reboot-when-entering-hibernation-sleep-wake-failure)
* [Booting with a non-flashed GPU](#booting-with-a-non-flashed-gpu)
* [How to Boot Big Sur Recovery](#how-to-boot-big-sur-recovery)
* [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](#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`
@@ -45,9 +54,84 @@ sudo bless --verbose --file /Volumes/VOLNAME/EFI/OC/OpenCore.efi --folder /Volum
* Note you will need to replace `VOLNAME` with the Volume name of your USB or hard drive with OpenCore
* Note 2: Once done, you can re-enable SIP
* Note 3: The EFI partition OpenCore was installed on must be mounted, if it's unmounted simply rerun "Install OpenCore to drive"
Once you boot OpenCore for the first time, LauncherOption will install itself as the top boot priority making OpenCore always launch. Combined with `RequestBootVar`, all boot options must go through OpenCore ensuring seamless usage even with OS installation and updates.
## How to Boot Big Sur Recovery
By default, the patcher will try to hide extra boot options such as recovery from the user. To make them appear, simply press the "Spacebar" inside OpenCore's Picker to list all boot options.
By default, the patcher will try to hide extra boot options such as recovery from the user. To make them appear, simply press the "Spacebar" inside OpenCore's Picker to list all boot options.
## Stuck on "Your Mac needs a firmware update"
Full error: "Your Mac needs a firmware update in order to install to this Volume. Please select a Mac OS Extended (Journaled) volume instead."
This error occurs when macOS determines the firmware to not have full APFS support. To resolve is quite simple, when building OpenCore head to "Patcher Settings" and enable "Moderate SMBIOS Patching" or higher. This will ensure that the firmware reported will show as supporting full APFS capabilities.
## No Brightness Control
With OCLP v0.0.22, we've added support for brightness control on many models. However some users may have noticed that their brightness keys do not work.
To work-around, we recommend user try out the below app:
* [Brightness Slider](https://actproductions.net/free-apps/brightness-slider/)
## Cannot connect Wi-Fi on Monterey with legacy cards
With OCLP v0.2.5, we've added support for legacy Wi-Fi on Monterey. However some users may have noticed that they can't connect to wireless networks.
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
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.
![](../images/OCLP-GUI-SMBIOS-Minimal.png)
## Volume Hash Mismatch Error in macOS Monterey
A semi-common popup some users face is the "Volume Hash Mismatch" error:
![](../images/Hash-Mismatch.png)
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 |
| :--- | :--- | :--- |
| ![](../images/OCLP-GUI-Settings-SIP-Enabled.png) | ![](../images/OCLP-GUI-Settings-SIP-Root-Patch.png) | ![](../images/OCLP-GUI-Settings-SIP-Disabled.png) |
## 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

View File

@@ -3,9 +3,13 @@
To remove OpenCore is actually quite simply:
1. Remove OpenCore either from the USB or internal drive
* You'll need to mount the drive's EFI partition, and delete the EFI folder
* [See here for example how to mount](https://dortania.github.io/OpenCore-Post-Install/universal/oc2hdd.html)
2. Reset NVRAM
* [Reset NVRAM or PRAM on your Mac](https://support.apple.com/HT204063)
Know that if you are on Big Sur when you remove the EFI folder, your Mac will no longer boot and show the prohibited symbol. Be ready to install an older version of macOS before you uninstall OpenCore.
* You'll need to mount the drive's EFI partition, and delete the EFI/OC folder as well as the System folder
* Note **do not** delete the entire EFI folder, this will likely break any existing Windows and Linux installations
* [See here for example how to mount](https://dortania.github.io/OpenCore-Post-Install/universal/oc2hdd.html)
2. Reset NVRAM
* [Reset NVRAM or PRAM on your Mac](https://support.apple.com/HT204063)
Know that if you are on Big Sur when you remove the EFI folder, your Mac will no longer boot and show the prohibited symbol. Be ready to install an older version of macOS before you uninstall OpenCore.

22
docs/UPDATE.md Normal file
View File

@@ -0,0 +1,22 @@
# Updating OpenCore and Co
With OpenCore Legacy Patcher, generally there's very little reason for users to update the OpenCore installed on their machine unless you feel there's a benefit with new versions for your setup.
For those who do wish to update, it's actually quite easy. Simply [download the latest release](https://github.com/dortania/OpenCore-Legacy-Patcher/releases) and rerun the patcher:
![](../images/first-run.png)
Then simply rebuild your OpenCore build and install again. Then voila, OpenCore is updated!
To check what version of OpenCore and Patcher version you're currently running, you can run the following in terminal:
```bash
# OpenCore Version
nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:opencore-version
# Patcher Version
nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:OCLP-Version
```
![](../images/oclp-version.png)
From this, we can see we're running a RELEASE version of OpenCore 0.6.8 built on March 27th, 2021 with Patcher Version 0.0.20!

92
docs/WINDOWS.md Normal file
View File

@@ -0,0 +1,92 @@
# Installing UEFI Windows 10
* Guide based off of [cdf's Mac Pro Thread](https://forums.macrumors.com/threads/opencore-on-the-mac-pro.2207814/)
To install UEFI is actually super simple! All it requires is to boot Windows' Installer through OpenCore to force a UEFI setup. Here we'll be going a bit more step by step in the process including partitioning and such.
* Note: UEFI Windows is generally quite usable for Arrendale and newer models, however machines with Penryn CPUs may experience issues
* Recommended Models:
* 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:
* An 8GB USB drive for the Windows Installer
* Minimum of 30GB of free space on whatever drive you want to install Windows too
First, lets format out drives as follows:
### USB Drive Formatting
Open Disk Utility in macOS and format the USB Drive as ExFat with MBR Scheme:
![](../images/windows-mbr-format.png)
### Disk Formatting
Next, grab the drive you wish to install Windows on and partition it as ExFat (If formatting entire drive, ensure it's GUID Partition Table):
![](../images/windows-partition-1.png)
If you plan to use the same hard drive for macOS and Windows, we recommend creating a dedicated partition just for OpenCore. This lets Windows have the ESP to itself and OpenCore can stay within it's own bubble.
Recommended size is 200MB and the partition format **must** be FAT32 for OpenCore to operate correctly. You will next want to install OpenCore onto the new partition, either moving from the ESP with [MountEFI](https://github.com/corpnewt/MountEFI) or rerunning the OpenCore-Patcher.app
* Note: For machines with dedicated drives for Windows, having different partitions for OpenCore is not required
* Note 2: We recommend uninstalling OpenCore from the ESP/EFI Partition when you create this new OpenCore partition to avoid confusion when selecting OpenCore builds in the Mac's boot picker
![](../images/windows-partition-2.png)
## Creating the Installer
First up, lets grab Windows's Installer at the below link:
* [Download Windows 10 Disc Image (ISO File)](https://www.microsoft.com/en-ca/software-download/windows10ISO)
Next, mount the Windows 10 ISO:
![](../images/windows-iso.png)
The open terminal and run `rsync` on the USB drive (replace CCCOMA_X64 with the mounted ISO's name, as well as replacing W10USB with your USB drive's name):
```
rsync -r -P /Volumes/CCCOMA_X64/ /Volumes/W10USB
```
![](../images/rsync-progess.png)
Command will take some time, so sit back and get some coffee. Once finished, the root of the USB drive should look as follows:
* Ensure that these folders and files are on the root, otherwise the USB will not boot
![](../images/windows-rsync-done.png)
Once done, lets reboot into OpenCore's Menu and you'll see a new Windows' entry:
* Note: Do not boot the installer outside of OpenCore as this will default back to the old MBR BIOS setup. Booting through OpenCore ensures Windows uses UEFI
![](../images/oc-windows.png)
From there, install Windows as normal and you'll get a new BootCamp entry in OpenCore's picker when done!
* Don't forget to run BootCamp's utilities installer as well to ensure Wifi and such are functioning correctly. This can be downloaded from the BootCamp Assistant app in macOS
![](../images/oc-windows-done.png)
## Troubleshooting
### iMac12,x Bluescreen after driver installation
Currently Intel's iGPU drivers for the HD 3000 series do not support UEFI booting in Windows. Recommended solution is to simply disable: [iMac 12,1 Windows 10 Boot Loop Fix Intel Graphics issue](https://zzq.org/?p=39)

View File

@@ -1,6 +1,6 @@
{
"name": "OpenCore-Legacy-Patcher",
"version": "0.6.6",
"version": "0.0.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

2569
gui/gui_main.py Normal file

File diff suppressed because it is too large Load Diff

43
gui/menu_redirect.py Normal file
View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
images/OC-Build.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

View File

Before

Width:  |  Height:  |  Size: 141 KiB

After

Width:  |  Height:  |  Size: 141 KiB

BIN
images/OC-Picker-SD.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

BIN
images/OC-Picker-SSD.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 307 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 247 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 194 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 923 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 916 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 893 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 KiB

BIN
images/background-moved.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

BIN
images/build-dist.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 68 KiB

Some files were not shown because too many files have changed in this diff Show More