Compare commits

...

284 Commits
0.4.3 ... 0.4.6

Author SHA1 Message Date
Mykola Grymalyuk
e6a3b00ef4 build.py: Move Ventura logic to ventura-alpha branch 2022-06-09 14:50:28 -06:00
Mykola Grymalyuk
b0f2b00425 Add Trackpad fix for Ventura
Credit to IronApple for inital findings
2022-06-09 12:12:20 -06:00
Mykola Grymalyuk
1dd667df89 sys_patch_dict.py: Add reference info for recently discontinued drivers 2022-06-07 09:24:36 -07:00
Mykola Grymalyuk
1cfec607df os_data.py: Add Ventura identifier 2022-06-07 09:08:22 -07:00
Mykola Grymalyuk
b7c1b2b3d1 build.py: Switch boot.efi model patch to iMac18,1 2022-06-06 12:34:38 -07:00
Mykola Grymalyuk
a0819f0497 build.py: Add beta Lilu support
Commited from Apple Park!
2022-06-06 09:04:29 -07:00
Mykola Grymalyuk
8a08f42f48 gui_main.py: Enforce Root Patch window height
Commited on my flight to WWDC!
2022-06-04 07:40:43 -06:00
Mykola Grymalyuk
d072f118e7 CHANGELOG: Add deprecation note for TUI
We have no plans to explicitly break TUI support however no effort will be made to keep them functional

0.4.6 release will be the last to publish the TUI on release, future builds will require users to run from source if TUI is desired
2022-06-03 15:31:34 -06:00
Mykola Grymalyuk
92479f18d4 README.md: Update credits lists 2022-06-02 20:33:51 -06:00
Mykola Grymalyuk
1ea3062ca5 py: Remove unused imports 2022-06-01 09:46:43 -06:00
Mykola Grymalyuk
2768090383 installer.py: Add pre-10.13 incantation handling for createinstallmedia 2022-05-31 16:00:16 -06:00
Mykola Grymalyuk
c57b271d37 gui_main.py: Don’t change hyperlink colour on press 2022-05-31 15:52:57 -06:00
Mykola Grymalyuk
e32e71d345 Display Commit Info in Dev Debug menu 2022-05-31 11:04:34 -06:00
Mykola Grymalyuk
f220ff0d14 defaults.py: Remove Rim Beta as default 2022-05-31 11:01:54 -06:00
Mykola Grymalyuk
39f110a6ac Remove trailing whitespaces 2022-05-30 22:51:00 -06:00
Mykola Grymalyuk
d09d8f4c5e Build-Binary.command: Add homebrew pathing support
Co-Authored By: Jim B <bosephus61@gmail.com>
2022-05-30 22:44:29 -06:00
Mykola Grymalyuk
e6034d15e9 defaults.py: Set Beta Blur and Rim by default
Option still configurable in OCLP settings
2022-05-30 22:38:17 -06:00
Mykola Grymalyuk
22369cd1a8 gui_main.py: add error handling for unaccelerated AppleScript 2022-05-30 21:38:51 -06:00
Mykola Grymalyuk
1888ef7b89 example_data.py: Add Web Driver unit to CI validation 2022-05-30 14:04:59 -06:00
Mykola Grymalyuk
6826b5403d Merge pull request #993 from dortania/web-driver-alpha
Implement Alpha Support for Nvidia Web Drivers
2022-05-30 13:03:44 -06:00
Mykola Grymalyuk
4fe9679660 sys_patch_auto.py: Avoid prompting config changes on hackintoshes 2022-05-30 11:29:27 -06:00
Mykola Grymalyuk
c1258ac50d sys_patch.py: Adjust delete_nonmetal_enforcement() logic 2022-05-30 11:18:28 -06:00
Mykola Grymalyuk
d84fbb6cb0 device_probe.py: Add non-Mac detection
Applicable for Virtual Machines and Hackintoshes
2022-05-29 21:49:57 -06:00
Mykola Grymalyuk
d289dbbffa sys_patch_dict.py: Omit NV Web Pref Pane 2022-05-29 20:00:03 -06:00
Mykola Grymalyuk
9be9c1313b sys_patch_detect.py: Remove unneeded check 2022-05-29 13:26:12 -06:00
Mykola Grymalyuk
c249eb767a defaults.py: Set non-Metal Beta options by default on Desktops 2022-05-29 13:07:48 -06:00
Mykola Grymalyuk
7342931b4e Merge branch 'main' into web-driver-alpha 2022-05-29 12:28:18 -06:00
Mykola Grymalyuk
3e568caa39 gui_main.py: Set app update check correctly 2022-05-29 12:26:29 -06:00
Dhinak G
391b5381f6 utilities.py: Ensure null terminators are stripped when value is already string 2022-05-29 13:23:49 -04:00
Mykola Grymalyuk
e8f2f7fd78 sys_patch_dict.py: ensure get_nvram() decodes when str expected 2022-05-29 11:09:48 -06:00
Mykola Grymalyuk
467cc78f58 utilities.py: decode amfi argument 2022-05-29 10:58:06 -06:00
Mykola Grymalyuk
bce687bba1 Merge branch 'main' into web-driver-alpha 2022-05-29 10:51:44 -06:00
Mykola Grymalyuk
0161d6d624 sys_patch_detect.py: Fix crash on MacBookPro11,3 in 12.4+ 2022-05-29 10:50:26 -06:00
Mykola Grymalyuk
31599c90b4 sys_patch_detect.py: explisitly check for true 2022-05-28 10:15:57 -06:00
Mykola Grymalyuk
b547c2e407 utilities.py: Add amfi=128 support for amfi check 2022-05-28 10:00:00 -06:00
Mykola Grymalyuk
fe4914f67b utilities.py: Fix amfi check 2022-05-28 09:43:31 -06:00
flagersgit
a129d611fb sys_patch.py: Correct non-Metal Enforcement cleanup faulty logic 2022-05-28 11:30:20 -04:00
Mykola Grymalyuk
4093742e9b Merge branch 'web-driver-alpha' of https://github.com/dortania/OpenCore-Legacy-Patcher into web-driver-alpha 2022-05-28 09:24:19 -06:00
Mykola Grymalyuk
46f5e6a491 sys_patch.py: Run defaults delete with privilage 2022-05-28 09:23:30 -06:00
flagersgit
43f9dd7c48 sys_patch.py: Clean-up non-Metal enforcement during preflight & unpatch 2022-05-28 11:22:03 -04:00
flagersgit
db72c0cbb7 sys_patch.py: Clean-up non-Metal enforcement during preflight & unpatch 2022-05-28 11:17:41 -04:00
Mykola Grymalyuk
46549b6dd3 build.py: Move Web Driver poperty building to dedicated loop
Allows properties to be applied on all units if applicable
2022-05-27 23:06:02 -06:00
Mykola Grymalyuk
f068e82bb5 Convert NV Web default to global_settings.py 2022-05-27 21:03:54 -06:00
Mykola Grymalyuk
b73f9f240a Merge branch 'main' into web-driver-alpha 2022-05-27 20:56:36 -06:00
Mykola Grymalyuk
8254434856 global_settings.py: Implement settings system 2022-05-27 20:54:00 -06:00
Mykola Grymalyuk
f1d045e5f4 Set defaults location on r/w 2022-05-27 18:33:17 -06:00
Mykola Grymalyuk
a70e977eb6 gui_main.py: Add Force Web Drivers option 2022-05-27 18:10:45 -06:00
Mykola Grymalyuk
90e23bef92 sys_patch_detect.py: Add support for Web Drivers on Tesla/Kepler 2022-05-27 16:02:19 -06:00
Mykola Grymalyuk
7a0e824536 pci_data.py: Add additional Maxwell and Pascal IDs 2022-05-27 12:14:01 -06:00
Mykola Grymalyuk
897f89d47c gui_main.py: fix Privacy prompt 2022-05-27 11:39:34 -06:00
Mykola Grymalyuk
4a1199cb59 sys_patch_detect.py: Implement proper SIP checks for Web Drivers 2022-05-27 10:25:38 -06:00
Mykola Grymalyuk
ba7df10148 Merge branch 'main' into web-driver-alpha 2022-05-26 23:02:20 -06:00
Mykola Grymalyuk
c1ebfd900f sys_patch.py: Add handling for System Preferences prompt 2022-05-26 22:31:15 -06:00
Mykola Grymalyuk
de21c361db sys_patch_detect.py: Add additional checks for Web Drivers
Ensures system is correctly configured before patching, avoiding users incorrectly faulting the program instead of their local configuration
2022-05-26 21:33:10 -06:00
Mykola Grymalyuk
d5df1c2b73 Merge pull request #994 from ParaDoX1994/main
POST-INSTALL.md Update
2022-05-26 21:08:35 -06:00
neon ball
4980c6d029 Merge pull request #1 from ParaDoX1994/ParaDoX1994-Docs-Update
Updating POST-INSTALL.md
2022-05-27 05:46:10 +03:00
neon ball
cd571e2af3 Updating POST-INSTALL.md
Adding mention of swapping GPU's on Mac Pros with autopatching.
2022-05-27 05:44:04 +03:00
Mykola Grymalyuk
61ef7fe81b Add M4000 PCI ID 2022-05-26 20:10:41 -06:00
Mykola Grymalyuk
035d441cb9 sys_patch_dict.py: Remove Nvidia Pref Pane
Broken in Mojave and newer, unneeded for ourselves
2022-05-26 18:43:59 -06:00
Dhinak G
9d07a8cf59 sys_patch_auto.py: Fix typos 2022-05-26 01:06:08 -04:00
Mykola Grymalyuk
87df615150 build.py: Move nvda_drv to dedicated entry 2022-05-25 21:03:05 -06:00
Mykola Grymalyuk
a2858a1ecf build.py: Add WhateverGreen for Web Driver configs 2022-05-25 19:06:54 -06:00
Mykola Grymalyuk
8f7df604af Implement Alpha Support for Nvidia Web Drivers 2022-05-25 17:11:50 -06:00
Mykola Grymalyuk
37f428ede6 pci_ids.py: Add K620 ID 2022-05-25 13:42:59 -06:00
Mykola Grymalyuk
ee21940bd2 Update README.md 2022-05-25 13:02:20 -06:00
Mykola Grymalyuk
5af3aff1d7 GUI: Standardize Application Identifier for defaults 2022-05-25 12:47:33 -06:00
Mykola Grymalyuk
a2e0270f99 Build-Command: Strip additional binaries during build 2022-05-25 12:20:22 -06:00
Mykola Grymalyuk
5c2cec3905 Sync Changelog 2022-05-25 11:32:00 -06:00
Mykola Grymalyuk
0d98d7212f Merge pull request #992 from dortania/zlib-test
Pre-Sandy Bridge Macs: Downgrade AppleFSCompressionTypeZlib to 12.3.1
2022-05-25 08:42:41 -06:00
Mykola Grymalyuk
d394bf75db Sync changelog 2022-05-25 08:36:40 -06:00
Mykola Grymalyuk
67a78ec4a2 APFS: Implement ZLib downgrade for 12.4+
Applicable for pre-Sandy Bridge Macs
2022-05-24 17:48:40 -06:00
Mykola Grymalyuk
d9ed037d7a gui_main.py: Prevent Idle sleep during long processes 2022-05-24 17:13:39 -06:00
Mykola Grymalyuk
e8b36a9604 gui_main.py: Show download frame before download starts 2022-05-24 10:43:36 -06:00
Mykola Grymalyuk
3584ccdad4 Build-Binary: Add optional --reset_binaries arg 2022-05-23 16:18:59 -06:00
Mykola Grymalyuk
a80e9a6274 CI: Force py3 pathing 2022-05-23 12:00:58 -06:00
Mykola Grymalyuk
d26d8e8ca7 CI: Standardize Build Script 2022-05-23 11:57:42 -06:00
Mykola Grymalyuk
9e5327f2d4 gui_main.py: start build on modal launch 2022-05-22 11:54:34 -06:00
Mykola Grymalyuk
e7143f2242 GUI: set modal work-around to Big Sur+ 2022-05-22 11:31:20 -06:00
Mykola Grymalyuk
69f7ad7115 GUI: move help menu to dedicated class 2022-05-22 10:23:57 -06:00
Mykola Grymalyuk
066e7c9a3d gui_main.py: Add "Search for disks again" option 2022-05-22 00:20:45 -06:00
Mykola Grymalyuk
c1e7765284 gui_main.py: Add missing height enforcement in root patch modal 2022-05-22 00:02:00 -06:00
Mykola Grymalyuk
0068a86035 gui_main.py: Add return to disk when selecting partitions 2022-05-21 23:29:47 -06:00
Mykola Grymalyuk
d7b5ba68b1 gui_main.py: Work-around incorrect modal sheet anchoring
Due to wxPython’s anchoring logic, if the previous view was a modal sheet, the new sheet will anchor to it. To resolve, call ShowWithoutActivating() forcing the view to re-anchor onto the core window
2022-05-21 22:46:09 -06:00
Mykola Grymalyuk
2a02fade55 Merge pull request #991 from dortania/modal-test
GUI: Implement modal sheets for taller windows
2022-05-21 20:51:37 -06:00
Mykola Grymalyuk
bd351ac90d gui_main.py: Remove extra modal reset function 2022-05-21 20:45:58 -06:00
Mykola Grymalyuk
7cc91f8f38 gui_main.py: Expand modal sheet to root patch menu 2022-05-21 20:35:13 -06:00
Mykola Grymalyuk
d9ef84d291 gui_main.py: Move to centralized modal 2022-05-21 18:25:07 -06:00
Mykola Grymalyuk
89c0f9b3d5 gui_main.py: Adjust payload verification 2022-05-21 14:35:57 -06:00
Mykola Grymalyuk
52b12a7e0b gui_main.py: Add Modal to Root Patching 2022-05-21 10:43:13 -06:00
Mykola Grymalyuk
58cd6c2bc7 Force Header height position 2022-05-20 23:11:40 -06:00
Mykola Grymalyuk
82d11b5094 Adjust docs
Co-Authored-By: @ParaDoX1994
2022-05-20 23:00:39 -06:00
Mykola Grymalyuk
4f4c79f7a0 Test Modal usage 2022-05-20 22:12:42 -06:00
Mykola Grymalyuk
8224ddc6fb Docs: Misc updates
Co-Authored-By: @ParaDoX1994
Co-Authored-By: @ironapple0915
Co-Authored-By: @ hazelph
2022-05-20 22:07:17 -06:00
Mykola Grymalyuk
ee67b15c31 Merge branch 'main' of https://github.com/dortania/OpenCore-Legacy-Patcher 2022-05-20 21:29:48 -06:00
Dhinak G
7060041c7d Docs: expand max content width 2022-05-20 23:16:37 -04:00
Mykola Grymalyuk
88427d2c5d sys_patch.py: Add auth exemption for /L*/Extensions 2022-05-20 15:59:23 -06:00
Mykola Grymalyuk
88374c1b96 gui_main.py: Lower count down for relaunch to 5s
With newly optimized binary, no longer need to present the GUI for as long
2022-05-19 15:39:12 -06:00
Mykola Grymalyuk
f437b9d921 reroute_payloads.py: Only unmount our DMG on exit 2022-05-19 15:29:21 -06:00
Mykola Grymalyuk
526dbb5d8a gui_main.py: Hide window during close
Allows background processes to finish cleaning up without stalling the UI
2022-05-19 13:55:11 -06:00
Mykola Grymalyuk
05b08071fc reroute_payloads.py: Remove unused import 2022-05-19 10:46:14 -06:00
Mykola Grymalyuk
0354930e46 Docs: add info on Root Patch menu
Co-Authored-by: @ParaDoX1994
2022-05-19 08:57:52 -06:00
Mykola Grymalyuk
b90956dc4a gui_main.py: Add extra error handling for payload unpacking 2022-05-19 08:55:51 -06:00
Mykola Grymalyuk
78bee05092 main.py: Wait for unpack thread in CI 2022-05-18 22:08:13 -06:00
Mykola Grymalyuk
49eb82f831 updates.py: Resolve failing to find new updates 2022-05-18 21:00:55 -06:00
Mykola Grymalyuk
fb573b0e8c Merge pull request #990 from dortania/onedir-gui
Implement faster app load times in GUI
2022-05-18 20:52:31 -06:00
Mykola Grymalyuk
23119dedc9 Add better CLI error handling 2022-05-18 20:11:14 -06:00
Mykola Grymalyuk
c8a70764b8 CHANGELOG.md: Adjust wording 2022-05-18 19:53:59 -06:00
Mykola Grymalyuk
e6d69d5d47 Sync changelog 2022-05-18 19:46:42 -06:00
Mykola Grymalyuk
3134530b4c Move payload reroutes to dedicated class 2022-05-18 19:41:13 -06:00
Mykola Grymalyuk
ccdfe740d9 Add Build info to GUI 2022-05-18 17:14:46 -06:00
Mykola Grymalyuk
3ed3c14668 Remove unused code path 2022-05-18 16:55:17 -06:00
Mykola Grymalyuk
45a04d5965 gui_main.py: Adjust non-Metal detection 2022-05-18 16:37:17 -06:00
Mykola Grymalyuk
4cff4b7675 Fix dmg name 2022-05-18 16:25:11 -06:00
Mykola Grymalyuk
053641bf4f Set dmg as mount type 2022-05-18 16:08:47 -06:00
Mykola Grymalyuk
b98fa0ced9 Add password to zip 2022-05-18 14:19:50 -06:00
Mykola Grymalyuk
416138344a Switch to onedir option 2022-05-18 14:10:13 -06:00
Mykola Grymalyuk
a64817bf3e sys_patch_dict.py: Adjust formatting 2022-05-18 09:30:57 -06:00
Mykola Grymalyuk
59ce63fa56 sys_patch_dict.py: Add info on HS Metal 2022-05-17 19:44:09 -06:00
Mykola Grymalyuk
1fed09982c sys_patch_detect: fix boolean check 2022-05-17 18:17:26 -06:00
Mykola Grymalyuk
8981cad20d smbios_data.py: Update Bluetooth defaults
2011 MacBook Air and Mac minis natively shipped with Bluetooth 4.0 modules:
https://everymac.com/systems/by_capability/macs-with-bluetooth-different-bluetooth-capabilities.html

This commit does not affect on-model building, as hardware detection is still enforced
2022-05-17 11:45:45 -06:00
Mykola Grymalyuk
15026d8c42 installer.py: Fix typo 2022-05-17 09:38:10 -06:00
Mykola Grymalyuk
01cf9055d7 Update CHANGELOG.md 2022-05-17 08:19:47 -06:00
Mykola Grymalyuk
0e9b59d91e BlueToolFixup.patch: Update comments 2022-05-16 22:51:21 -06:00
Mykola Grymalyuk
937aadd4f5 BlueToolFixup: Set unconditional jump 2022-05-16 20:51:19 -06:00
Mykola Grymalyuk
93222701e3 integrity_verification.py: Add extra error handling 2022-05-16 20:22:01 -06:00
Mykola Grymalyuk
0cd1e69dfe Incrment build 2022-05-16 18:15:03 -06:00
Mykola Grymalyuk
cbeedb7374 BlueToolFixup: Fix 12.4 Release Bluetooth support
Applicable for BCM2070 and BCM2046 chipsets
2022-05-16 17:29:43 -06:00
Mykola Grymalyuk
b3cd9de714 sys_patch.py: Convert process to dict when elevated 2022-05-16 14:46:37 -06:00
Mykola Grymalyuk
99442b1d54 BOOT.md: Fix verbose comment and add extra troubleshooting
Co-authored-by: @ParaDoX1994
2022-05-16 12:44:37 -06:00
Mykola Grymalyuk
f670a821a3 gui_main.py: Add note when system already patched 2022-05-16 12:43:09 -06:00
Mykola Grymalyuk
71424e4c6d Sync PatcherSupportPkg 2022-05-16 12:42:01 -06:00
Mykola Grymalyuk
77bf82d65a installer.py: Fix loading newest IAs 2022-05-16 12:08:42 -06:00
Mykola Grymalyuk
dc6ad32e2c TUI: Remove unused setting 2022-05-15 20:46:02 -06:00
Mykola Grymalyuk
020a451e9f sys_patch_dict.py: Set ShowDate var as global 2022-05-15 19:40:18 -06:00
Mykola Grymalyuk
ca859c7ad7 TESTED.md: Fix MacPro4,1 tester
Co-authored-by: @ParaDoX1994
2022-05-14 18:41:51 -06:00
Mykola Grymalyuk
93aa8b09c4 UPDATE.md: Adjust image pathing 2022-05-14 16:47:15 -06:00
Mykola Grymalyuk
c20587ced4 Docs: Remove cmd flavor 2022-05-14 16:13:28 -06:00
Mykola Grymalyuk
f5594afb8d device_probe.py: Grab local Root Patch info 2022-05-14 15:39:23 -06:00
Mykola Grymalyuk
858f3b0162 integrity_verification.py: Deduplicate chunklist logic 2022-05-14 15:38:28 -06:00
Mykola Grymalyuk
4aec8898d4 Docs: Update guide
Co-authored-by: @crystall1nedev
2022-05-14 15:37:55 -06:00
Mykola Grymalyuk
69db9ca74b Docs: Update TS2 comments
Co-authored-by: @ParaDoX1994
2022-05-12 21:36:19 -06:00
Mykola Grymalyuk
a33458fa32 Docs: Update PATCHEXPLAINED
Co-authored-by: @crystall1nedev
2022-05-12 20:29:04 -06:00
Mykola Grymalyuk
8e95710975 sys_patch_dict.py: Set Clock Date logic 2022-05-12 14:46:57 -06:00
Mykola Grymalyuk
63118d7d43 gui_main.py: Add work-around for broke pulse() on non-Metal
Applicable for non-Metal Macs running Monterey, NSProgressBar’s indeterminate function is broken when called by wxWidgets/wxPython
2022-05-12 11:46:53 -06:00
Mykola Grymalyuk
a7a3643b12 binary.py: Avoid bin patching multiple times 2022-05-11 20:00:30 -06:00
Mykola Grymalyuk
78355c2c5a defaults.py: Fix defaults write 2022-05-11 14:37:16 -06:00
Mykola Grymalyuk
feb108b1eb gui_main.py: Add Pulsing Progress bar during disk parsing 2022-05-11 13:23:11 -06:00
Mykola Grymalyuk
4f2e302d0a gui_main.py: Add Pulsing Progress bar during sucatalog parsing 2022-05-11 12:35:33 -06:00
Mykola Grymalyuk
d9292c513a utilities.py: Remove unneeded print 2022-05-11 09:50:00 -06:00
Mykola Grymalyuk
7d7a9418d4 Add error handling to non-standard/malformed OpenCore Boot Path 2022-05-11 09:48:30 -06:00
Mykola Grymalyuk
2ddb679554 Add Checksum verification to InstallAssistant.pkg download 2022-05-10 22:46:49 -06:00
Mykola Grymalyuk
60fab3986e Add User prompt for mismatched config 2022-05-10 18:17:23 -06:00
Mykola Grymalyuk
c23546378f sys_patch_dict.py: Add WebKit patch to non-Metal patch set 2022-05-10 18:05:37 -06:00
Mykola Grymalyuk
0cddccee47 sys_patch.py: Remove unused libraries 2022-05-10 16:07:38 -06:00
Mykola Grymalyuk
ccb2c21dcb payloads: Remove unused kexts 2022-05-09 15:08:14 -06:00
Mykola Grymalyuk
42ce85f622 utilities.py: Adjust SBM detection 2022-05-09 13:32:11 -06:00
Mykola Grymalyuk
e9ef25f31e sys_patch.py: Supress ditto logging 2022-05-09 11:44:56 -06:00
Mykola Grymalyuk
c3c9d8fef0 sys_patch_helpers.py: Fix unsupported typo 2022-05-09 11:25:20 -06:00
Mykola Grymalyuk
2f1895ed20 validation.py: Fix indentation 2022-05-09 11:21:57 -06:00
Mykola Grymalyuk
806417842f validation.py: Fix indentation 2022-05-09 11:15:29 -06:00
Mykola Grymalyuk
82d5824d70 CI: Add sys_patch validation 2022-05-09 11:10:23 -06:00
Mykola Grymalyuk
64fe3be296 build.py: Fix NVRAM GUID for OCLP storage 2022-05-09 10:39:19 -06:00
Mykola Grymalyuk
82b4d20b17 sys_patch_dict.py: Adjust Display Name variable 2022-05-08 21:14:41 -06:00
Mykola Grymalyuk
07b048fb65 device_probe.py: Fix SecureBootPolicy variable 2022-05-08 12:56:42 -06:00
Mykola Grymalyuk
17a4840cfe pci_data.py: Fix formatting 2022-05-08 12:09:28 -06:00
Mykola Grymalyuk
6bd88f1ad8 pci_data.py: Add 73A3 and 73E0 to Navi 20 IDs 2022-05-08 12:06:35 -06:00
Mykola Grymalyuk
121c8d7741 pci_data.py: Add more Device ID comments 2022-05-08 12:00:32 -06:00
Mykola Grymalyuk
b76bb7fe20 utilities.py: Fix SB Policy detection 2022-05-08 10:07:12 -06:00
Mykola Grymalyuk
4538341966 utilities.py: Add ApSecurityMode check 2022-05-08 09:35:13 -06:00
Mykola Grymalyuk
396590c2b2 utilities.py: Fix SecureBootModel detection 2022-05-07 22:25:19 -06:00
Mykola Grymalyuk
b8e6b86552 sys_patch_detect.py: Remove Web Driver data 2022-05-07 19:42:34 -06:00
Mykola Grymalyuk
ae983db5f0 device_probe.py: Add Maxwell and Pascal detection 2022-05-07 19:36:02 -06:00
Mykola Grymalyuk
b6d89f7310 sys_patch_dict.py: Update comments 2022-05-07 18:55:46 -06:00
Mykola Grymalyuk
3a6d801d80 sys_patch_dict.py: Add display names 2022-05-07 17:52:27 -06:00
Mykola Grymalyuk
ea4f4c4173 sys_patch_dict.py: Rename shared TeraScale patches 2022-05-07 16:44:45 -06:00
Mykola Grymalyuk
0c7384be94 sys_patch: Add better OS handling 2022-05-07 12:24:23 -06:00
Mykola Grymalyuk
8b4332e0c0 Add Serial Number Spoofing 2022-05-06 23:07:45 -06:00
Mykola Grymalyuk
7a859a8210 sys_patch_dict.py: Adjust OS Support name 2022-05-06 21:39:46 -06:00
Mykola Grymalyuk
886549f31f sys_patch_detect.py: Fix TS2 patch set handling 2022-05-06 21:20:48 -06:00
Mykola Grymalyuk
53da1ee91f pci_data.py: Add BCM4387 chipset detection 2022-05-06 20:22:16 -06:00
Mykola Grymalyuk
499987e8e0 AutoPkg: Fix relative pathing 2022-05-06 11:22:38 -06:00
Mykola Grymalyuk
b39f2a1d5d sys_patch.py: Add additional preflight checks 2022-05-06 11:04:41 -06:00
Mykola Grymalyuk
0c5017a16a sys_patch.py: Fix exists() invocations 2022-05-05 20:13:21 -06:00
Mykola Grymalyuk
61521e2fb1 AutoPatcher: Add preinstall script 2022-05-05 17:08:37 -06:00
Mykola Grymalyuk
79ba047d14 model_array.py: Remove unused variables 2022-05-05 15:57:38 -06:00
Mykola Grymalyuk
b739b311a8 CI: Re-enable commit info
Disabled previously due to parsing issues with PyInstaller
2022-05-05 15:57:22 -06:00
Mykola Grymalyuk
b39ff91251 arguments.py: Avoid overwritting vars in auto patcher 2022-05-05 14:53:52 -06:00
Mykola Grymalyuk
ca35f11ad4 sys_patch_auto.py: Change external detection var
Users with external SSDs as macOS installers will report as not removable, however will still report ejectable
2022-05-05 12:07:28 -06:00
Mykola Grymalyuk
49ee43f6ed sys_patch.py: Add patch set info to root 2022-05-05 11:35:03 -06:00
Mykola Grymalyuk
1e6eec3bda sys_patch_dict.py: Fix formatting 2022-05-05 10:03:53 -06:00
Mykola Grymalyuk
01fa2c349f main.py: Update cwd path 2022-05-04 21:49:27 -06:00
Mykola Grymalyuk
974ce05088 Work around payload write error with Auto Patcher 2022-05-04 21:24:50 -06:00
Mykola Grymalyuk
7169687441 Merge pull request #988 from dortania/sys_patch-refactor
Refactor sys_patch.py
2022-05-04 17:17:18 -06:00
Mykola Grymalyuk
9f4fb692d7 Merge branch 'main' into sys_patch-refactor 2022-05-04 15:32:40 -06:00
Mykola Grymalyuk
5e5139855b Fix AutoPkg download 2022-05-04 15:31:30 -06:00
Mykola Grymalyuk
f2a6d8c181 sys_patch_detect.py: Rename Tesla variable 2022-05-04 14:35:02 -06:00
Mykola Grymalyuk
62291089fc sys_patch.py: Add better documentation 2022-05-04 14:27:43 -06:00
Mykola Grymalyuk
837bb692bf sys_patch: Move launch_agent function 2022-05-04 11:30:38 -06:00
Mykola Grymalyuk
738d030e3a sys_patch.py: Remove unused import 2022-05-03 22:07:56 -06:00
Mykola Grymalyuk
776be570fa Remove more duplicate functions 2022-05-03 21:30:50 -06:00
Mykola Grymalyuk
35031d8fa2 sys_patch_dict.py: Deduplicate TS1/TS2 patch sets 2022-05-03 20:12:41 -06:00
Mykola Grymalyuk
c23e391990 sys_patch.py: Fix indentation 2022-05-02 22:14:31 -06:00
Mykola Grymalyuk
8489823f8b Remove more unneeded code 2022-05-02 22:09:22 -06:00
Mykola Grymalyuk
b4bfd827ce Remove unused variables 2022-05-02 16:53:23 -06:00
Mykola Grymalyuk
e7defde42f CI: Strip commit info 2022-05-02 14:23:37 -06:00
Mykola Grymalyuk
3940b5ee3f Test 2022-05-02 14:19:38 -06:00
Mykola Grymalyuk
3cd270593f sys_patch_dict.py: Remove OpenCL defaults for TS2 2022-05-02 13:50:55 -06:00
Mykola Grymalyuk
48bf233250 create_offline_build.py: Update binary selection 2022-05-02 13:29:53 -06:00
Mykola Grymalyuk
4e1254c31e Initial Commit 2022-05-02 13:19:36 -06:00
Mykola Grymalyuk
754a6c2a87 CHANGELOG.md: Resolve typos 2022-05-02 10:07:52 -06:00
Mykola Grymalyuk
bd556a8114 Increment Version 2022-05-02 10:00:47 -06:00
Mykola Grymalyuk
218529afe2 utilities.py: Avoid extra printing in non-TUI enviroments 2022-04-30 08:29:21 -06:00
Mykola Grymalyuk
93a2eeb8b5 Only list newest installers by default 2022-04-29 21:33:31 -06:00
Mykola Grymalyuk
3dd680c9c8 gui_main.py: Avoid Prompting on unsupported configs 2022-04-29 15:36:13 -06:00
Mykola Grymalyuk
810da555c6 Resolve 12.3 Beta 3 Bluetooth Address Erroring 2022-04-28 22:48:13 -06:00
Mykola Grymalyuk
a208216316 gui_main.py: Don’t centre bytes text every update 2022-04-28 11:47:46 -06:00
Mykola Grymalyuk
d625078090 gui_main.py: Add prompt after CIM 2022-04-28 11:14:28 -06:00
Mykola Grymalyuk
5324df9470 Add User configurable Disk notification 2022-04-28 10:36:43 -06:00
Mykola Grymalyuk
f307b4ab69 Add Disk Prompt for autopatcher 2022-04-28 08:44:10 -06:00
Mykola Grymalyuk
587a7d1681 Docs: Add HD3000 info 2022-04-27 20:48:43 -06:00
Mykola Grymalyuk
3340f10fbd gui_main.py: Add disk highlighting during install 2022-04-26 21:24:45 -06:00
Mykola Grymalyuk
4b5f1b4016 constants.py: Fix Asset pathing 2022-04-25 10:43:21 -06:00
Mykola Grymalyuk
f6e55ea514 Merge pull request #987 from dortania/actions-v3
CI: Update to Actions V3
2022-04-25 10:04:47 -06:00
Mykola Grymalyuk
cf1ea62b1f CI: Update to Actions V3 2022-04-25 09:08:46 -06:00
Mykola Grymalyuk
be823630f7 SOURCE.md: Resolve formatting 2022-04-24 16:15:14 -06:00
Mykola Grymalyuk
fba6982f2b Sync Pkg name 2022-04-24 15:24:39 -06:00
Mykola Grymalyuk
7b4f7024c4 Remove Online Binaries 2022-04-24 15:01:43 -06:00
Mykola Grymalyuk
8e02cc4d83 Fix binary upload 2022-04-24 13:00:18 -06:00
Mykola Grymalyuk
a7be418a89 Remove Unoffical Mojave/Catalina Root Patching
Feature originally intended for internal developers during early non-Metal development, removed outright due to maintance costs.

For non-TeraScale 2 Acceleration, use dosdude’s tools. For TeraScale 2 acceleration, use 0.4.3 or older
2022-04-24 12:12:32 -06:00
Mykola Grymalyuk
56585691bf sys_patch.py: Update Blacklight defaults 2022-04-24 08:40:00 -06:00
Mykola Grymalyuk
759cd6518c Sync PatcherSupportPkg
Resolves Terminal regression in 11.0 from previous PatcherSupportPkg
2022-04-23 20:52:26 -06:00
Mykola Grymalyuk
2f2aaa1cc2 CI: Fix package pathing 2022-04-23 12:00:42 -06:00
Mykola Grymalyuk
0bb7ce9cee Sync Packages payload 2022-04-23 10:43:28 -06:00
Mykola Grymalyuk
36a31f9116 gui_main.py: Reword Reboot Prompt 2022-04-22 10:34:25 -06:00
Mykola Grymalyuk
9f3a4584b4 gui_main.py: Add popup on OpenCore Build 2022-04-21 21:35:05 -06:00
Mykola Grymalyuk
0e3d4244e7 Add Reboot Prompt in GUI after Root Patching 2022-04-21 15:35:11 -06:00
Mykola Grymalyuk
6537119632 Sync changelog 2022-04-21 11:53:30 -06:00
Mykola Grymalyuk
bc1cdb16f5 Merge pull request #986 from dortania/autopatcher
Implement Automatic Root Patching: Install and Update Support
2022-04-21 11:42:02 -06:00
Mykola Grymalyuk
fecc8a7245 Merge branch 'main' into autopatcher 2022-04-21 11:30:41 -06:00
Mykola Grymalyuk
3faaa35f9c Sync changelog to PSP0.3.7 changes 2022-04-20 22:34:28 -06:00
Mykola Grymalyuk
774b0cc52f gui_main.py: Sync defaults with PSP 0.3.7 2022-04-20 22:20:12 -06:00
Mykola Grymalyuk
d06be7da13 Merge branch 'main' into autopatcher 2022-04-20 22:02:51 -06:00
Mykola Grymalyuk
6d49b95d02 Resolve Siri support from PSP 0.3.6 update 2022-04-20 21:59:02 -06:00
Mykola Grymalyuk
64daaf3e4b gui_main.py: use ditto for unzips 2022-04-20 12:10:09 -06:00
Mykola Grymalyuk
cf8c8f72a4 CI: Upload just as pkg 2022-04-20 11:27:35 -06:00
Mykola Grymalyuk
f214e1d89c Merge branch 'main' into autopatcher 2022-04-20 10:08:24 -06:00
Mykola Grymalyuk
8c48164e1f cli_menu.py: Resolve subprocess import error 2022-04-20 10:07:10 -06:00
Mykola Grymalyuk
6f48f38814 Fix redirects 2022-04-20 10:04:44 -06:00
Mykola Grymalyuk
d00d20a146 docs: Simplify process 2022-04-18 16:28:40 -06:00
Mykola Grymalyuk
4fc0f2b06f Merge branch 'main' into autopatcher 2022-04-18 10:05:51 -06:00
Mykola Grymalyuk
c31cbee99f Increment Binaries 2022-04-18 10:01:28 -06:00
Mykola Grymalyuk
39bc49639d gui_main.py: Streamline pkg installation 2022-04-18 09:43:21 -06:00
Mykola Grymalyuk
e16e8540cf CI: Fix formatting 2022-04-17 12:18:39 -06:00
Mykola Grymalyuk
681174ac30 Fix Links 2022-04-17 10:25:58 -06:00
Mykola Grymalyuk
26bc5fa4c5 gui_main.py: Add non-zip handling 2022-04-16 12:40:16 -06:00
Mykola Grymalyuk
3e8f28a2db Add Proper .pkg link fallbacks 2022-04-16 09:51:23 -06:00
Mykola Grymalyuk
28769098fd sys_patch.py: Clean kmutil comments 2022-04-15 18:06:03 -06:00
Mykola Grymalyuk
dc15a53e85 gui_main.py: Fix pkg file check 2022-04-14 09:53:45 -06:00
Mykola Grymalyuk
b32cbe06ef Remove unneeded code 2022-04-14 09:27:45 -06:00
Mykola Grymalyuk
9e61380aec postinstall.sh: Drop extra logging 2022-04-14 09:24:05 -06:00
Mykola Grymalyuk
45a29d2617 utilities.py: clean block logic 2022-04-13 21:53:53 -06:00
Mykola Grymalyuk
2973f0b6ab arguments.py: Fix typo 2022-04-13 18:08:09 -06:00
Mykola Grymalyuk
42c4ed17bc Work-around Root Volume unmounting 2022-04-13 16:21:02 -06:00
Mykola Grymalyuk
945ba18652 sys_patch.py: Handle non-standard app names 2022-04-11 21:30:12 -06:00
Mykola Grymalyuk
c717b7ea9c sys_patch.py: Fix path string comparison 2022-04-11 20:52:22 -06:00
Mykola Grymalyuk
a72b2ffb23 CI: Move Validation to Offline TUI workflow 2022-04-11 17:11:52 -06:00
Mykola Grymalyuk
27d2b7500a gui_main.py: Add remaining patches 2022-04-11 17:05:47 -06:00
Mykola Grymalyuk
45a0824515 OCLP-Install-Setup: Use relative path 2022-04-11 16:21:50 -06:00
Mykola Grymalyuk
d7788540d9 Initial Commit 2022-04-11 16:11:33 -06:00
Mykola Grymalyuk
74e523633d main.py: Clean up code 2022-04-07 21:08:50 -06:00
Mykola Grymalyuk
267c3c5c6c gui_main.py: Disable Return buttons during heavy process 2022-04-07 18:23:14 -06:00
Mykola Grymalyuk
c5cb423eab sip_data.py: Update Mojave/Catalina comment 2022-04-07 18:22:16 -06:00
Mykola Grymalyuk
201dae54aa gui_main.py: Disable return button while patching 2022-04-06 15:25:10 -06:00
Mykola Grymalyuk
5d193192ef installer.py: Download SUCatalog into memory
Skips writing to disk
2022-04-06 13:42:39 -06:00
Mykola Grymalyuk
3a9d97131d Resolve 1200s Catalyst Bug on non-Metal 2022-04-05 11:08:02 -06:00
Mykola Grymalyuk
b3d604b5df build.py: Add Electron Work-around
With 12.3/12.3.1, Apple broke Electron support when SIP is lowered. Unknown whether this is intended behavior or not, revisit with 12.4
2022-04-05 10:26:16 -06:00
Mykola Grymalyuk
391ef62b33 gui_main.py: Streamline relaunch 2022-04-04 21:55:44 -06:00
Mykola Grymalyuk
c839e9192d defaults.py: Resolve import and var 2022-04-02 22:37:23 -06:00
Mykola Grymalyuk
8b98be5189 Remember TeraScale 2 Setting on MacBookPro8,2/3 2022-04-02 20:02:42 -06:00
Mykola Grymalyuk
fae2f0058d sys_patch.py: Update SIP message 2022-04-02 19:49:51 -06:00
Mykola Grymalyuk
847c83f657 Fix for typo (thanks @alphascorp)
Ref: https://github.com/dortania/OpenCore-Legacy-Patcher/pull/964

Author: @alphascorp
2022-04-02 19:11:00 -06:00
Mykola Grymalyuk
e17acc96d1 Fix Partially typo (thanks @jed2191)
Ref: https://github.com/dortania/OpenCore-Legacy-Patcher/pull/969

Author: @jed2191
2022-04-02 19:09:41 -06:00
Mykola Grymalyuk
357e446987 Lower SIP requirement 2022-04-02 19:00:46 -06:00
Mykola Grymalyuk
e155613958 Increment Version 2022-03-22 10:11:09 -06:00
137 changed files with 22307 additions and 3135 deletions

View File

@@ -1,40 +0,0 @@
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

@@ -1,40 +0,0 @@
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

@@ -15,23 +15,36 @@ jobs:
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
- uses: actions/checkout@v3
- run: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 Build-Binary.command --reset_binaries --branch ${{ env.branch }} --commit ${{ env.commiturl }} --commit_date ${{ env.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: cd dist; ditto -c -k --sequesterRsrc --keepParent OpenCore-Patcher.app ../OpenCore-Patcher-wxPython.app.zip
- run: ./../sign-wxpython.sh
- run: packagesbuild ./payloads/InstallPackage/AutoPkg-Assets-Setup.pkgproj
- run: mv ./OpenCore-Patcher-wxPython.app.zip ./OpenCore-Patcher-GUI.app.zip
- name: Upload App to Artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: OpenCore-Patcher.app (GUI)
path: OpenCore-Patcher-GUI.app.zip
- name: Upload to Release
- name: Upload Package to Artifacts
uses: actions/upload-artifact@v3
with:
name: AutoPkg-Assets.pkg
path: ./dist/AutoPkg-Assets.pkg
- name: Upload Binary to Release
if: github.event_name == 'release'
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: OpenCore-Patcher-GUI.app.zip
tag: ${{ github.ref }}
file_glob: true
- name: Upload Package to Release
if: github.event_name == 'release'
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ./dist/AutoPkg-Assets.pkg
tag: ${{ github.ref }}
file_glob: true

View File

@@ -15,15 +15,13 @@ jobs:
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
- uses: actions/checkout@v3
- run: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 Build-Binary.command --build_tui --reset_binaries --branch ${{ env.branch }} --commit ${{ env.commiturl }} --commit_date ${{ env.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-TUI.app.zip OpenCore-Patcher.app
- run: ./../sign-tui.sh
- name: Upload App to Artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
with:
name: OpenCore-Patcher-TUI.app
path: OpenCore-Patcher-TUI.app.zip
@@ -36,3 +34,5 @@ jobs:
file: OpenCore-Patcher-TUI.app.zip
tag: ${{ github.ref }}
file_glob: true
- name: Validate OpenCore
run: ./dist/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher --validate

View File

@@ -10,11 +10,11 @@ jobs:
name: Build Site and Deploy
runs-on: ubuntu-latest
steps:
- uses: actions/setup-node@v2-beta
- uses: actions/setup-node@v3
with:
node-version: '12'
- name: Checkout Repository
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
fetch-depth: '0'
persist-credentials: false

6
.gitignore vendored
View File

@@ -24,3 +24,9 @@ __pycache__/
/payloads/Installer.sh
/payloads/Info.plist
/payloads/seed.plist
/payloads/AutoPkg-Assets.pkg
/payloads/AutoPkg-Assets.pkg.zip
/payloads/Universal-Binaries
/payloads/OpenCore-Legacy-Patcher
/payloads/InstallAssistant.pkg.integrityDataV1
/payloads.dmg

262
Build-Binary.command Executable file
View File

@@ -0,0 +1,262 @@
#!/usr/bin/env python3
# This script's main purpose is to handle the following:
# - Download PatcherSupportPkg resources
# - Convert payloads directory into DMG (GUI only)
# - Build Binary via Pyinstaller
# - Add Launcher.sh (TUI only)
# - Patch 'LC_VERSION_MIN_MACOSX' to OS X 10.10
# - Add commit data to Info.plist
# Copyright (C) 2022 - Mykola Grymalyuk
from pathlib import Path
import time
import argparse
import os
import subprocess
import plistlib
import time
import sys
from resources import constants
class create_binary:
def __init__(self):
start = time.time()
print("- Starting build script")
self.set_cwd()
self.args = self.parse_arguments()
self.preflight_processes()
self.build_binary()
self.postflight_processes()
print(f"- Build script completed in {str(round(time.time() - start, 2))} seconds")
def set_cwd(self):
os.chdir(Path(__file__).resolve().parent)
print(f"- Current Working Directory: \n\t{os.getcwd()}")
def parse_arguments(self):
parser = argparse.ArgumentParser(description='Builds OpenCore-Patcher binary')
parser.add_argument('--build_tui', action='store_true', help='Builds TUI binary, if ommited GUI binary is built')
parser.add_argument('--branch', type=str, help='Git branch name')
parser.add_argument('--commit', type=str, help='Git commit URL')
parser.add_argument('--commit_date', type=str, help='Git commit date')
parser.add_argument('--reset_binaries', action='store_true', help='Force redownload and imaging of payloads')
args = parser.parse_args()
return args
def setup_pathing(self):
python_path = sys.executable
python_binary = python_path.split("/")[-1]
python_bin_dir = python_path.strip(python_binary)
# macOS (using Python installed by homebrew (e.g. brew))
if f"/usr/local/opt/python@3." in sys.executable:
print(f"\t* NOTE: home(brew) python3 detected; using (sys.exec_prefix, python_path) ==> {sys.exec_prefix, python_path}")
# - under brew, pip3 will install pyinstall at:
# /usr/local/lib/python3.9/site-packages/pyinstaller
# and /usr/local/bin/pyinstaller stub to load and run.
pyinstaller_path = f"/usr/local/bin/pyinstaller"
else:
pyinstaller_path = f"{python_bin_dir}pyinstaller"
if not Path(pyinstaller_path).exists():
print(f" - pyinstaller not found:\n\t{pyinstaller_path}")
raise Exception("pyinstaller not found")
self.pyinstaller_path = pyinstaller_path
def preflight_processes(self):
print("- Starting preflight processes")
self.setup_pathing()
self.delete_extra_binaries()
self.download_resources()
if not self.args.build_tui:
# payloads.dmg is only needed for GUI builds
self.generate_paylods_dmg()
def postflight_processes(self):
print("- Starting postflight processes")
if self.args.build_tui:
self.move_launcher()
self.patch_load_command()
self.add_commit_data()
def build_binary(self):
if Path(f"./dist/OpenCore-Patcher.app").exists():
print("- Found OpenCore-Patcher.app, removing...")
rm_output = subprocess.run(
["rm", "-rf", "./dist/OpenCore-Patcher.app"],
stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
if rm_output.returncode != 0:
print("- Remove failed")
print(rm_output.stderr.decode('utf-8'))
raise Exception("Remove failed")
if self.args.build_tui:
print("- Building TUI binary...")
build_args = [self.pyinstaller_path, "./OpenCore-Patcher.spec", "--noconfirm"]
else:
print("- Building GUI binary...")
build_args = [self.pyinstaller_path, "./OpenCore-Patcher-GUI.spec", "--noconfirm"]
build_result = subprocess.run(build_args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if build_result.returncode != 0:
print("- Build failed")
print(build_result.stderr.decode('utf-8'))
raise Exception("Build failed")
def delete_extra_binaries(self):
delete_files = [
"AutoPkg-Assets.pkg",
"AutoPkg-Assets.pkg.zip",
"InstallAssistant.pkg",
]
print("- Deleting extra binaries...")
for file in Path("payloads").glob(pattern="*"):
if file.name in delete_files:
print(f" - Deleting {file.name}")
file.unlink()
def download_resources(self):
patcher_support_pkg_version = constants.Constants().patcher_support_pkg_version
required_resources = [
"Universal-Binaries.zip"
]
print("- Downloading required resources...")
for resource in required_resources:
if Path(f"./payloads/{resource}").exists():
if self.args.reset_binaries:
print(f" - Removing old {resource}")
rm_output = subprocess.run(
["rm", "-rf", f"./payloads/{resource}"],
stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
if rm_output.returncode != 0:
print("- Remove failed")
print(rm_output.stderr.decode('utf-8'))
raise Exception("Remove failed")
else:
print(f" - {resource} already exists, skipping download")
continue
print(f" - Downloading {resource}...")
download_result = subprocess.run(
[
"curl", "-LO",
f"https://github.com/dortania/PatcherSupportPkg/releases/download/{patcher_support_pkg_version}/{resource}"
],
stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
if download_result.returncode != 0:
print(" - Download failed")
print(download_result.stderr.decode('utf-8'))
raise Exception("Download failed")
if not Path(f"./{resource}").exists():
print(f" - {resource} not found")
raise Exception(f"{resource} not found")
print(" - Moving into payloads")
mv_output = subprocess.run(["mv", resource, "./payloads/"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if mv_output.returncode != 0:
print(" - Move failed")
print(mv_output.stderr.decode('utf-8'))
raise Exception("Move failed")
def generate_paylods_dmg(self):
if Path("./payloads.dmg").exists():
if self.args.reset_binaries:
print(" - Removing old payloads.dmg")
rm_output = subprocess.run(
["rm", "-rf", "./payloads.dmg"],
stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
if rm_output.returncode != 0:
print("- Remove failed")
print(rm_output.stderr.decode('utf-8'))
raise Exception("Remove failed")
else:
print(" - payloads.dmg already exists, skipping creation")
return
print(" - Generating DMG...")
dmg_output = subprocess.run([
'hdiutil', 'create', './payloads.dmg',
'-megabytes', '32000',
'-format', 'UDZO', '-ov',
'-volname', 'payloads',
'-fs', 'HFS+',
'-srcfolder', './payloads',
'-passphrase', 'password', '-encryption'
], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if dmg_output.returncode != 0:
print(" - DMG generation failed")
print(dmg_output.stderr.decode('utf-8'))
raise Exception("DMG generation failed")
print(" - DMG generation complete")
def add_commit_data(self):
if not self.args.branch and not self.args.commit and not self.args.commit_date:
print(" - No commit data provided, adding source info")
branch = "Built from source"
commit_url = ""
commit_date = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
else:
branch = self.args.branch
commit_url = self.args.commit
commit_date = self.args.commit_date
print(" - Adding commit data to Info.plist")
plist_path = Path("./dist/OpenCore-Patcher.app/Contents/Info.plist")
plist = plistlib.load(Path(plist_path).open("rb"))
plist["Github"] = {
"Branch": branch,
"Commit URL": commit_url,
"Commit Date": commit_date,
}
plistlib.dump(plist, Path(plist_path).open("wb"), sort_keys=True)
def patch_load_command(self):
# Patches LC_VERSION_MIN_MACOSX in Load Command to report 10.10
#
# By default Pyinstaller will create binaries supporting 10.13+
# However this limitation is entirely arbitrary for our libraries
# and instead we're able to support 10.10 without issues.
#
# To verify set version:
# otool -l ./dist/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher
#
# cmd LC_VERSION_MIN_MACOSX
# cmdsize 16
# version 10.13
# sdk 10.9
print(" - Patching LC_VERSION_MIN_MACOSX")
path = './dist/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher'
find = b'\x00\x0D\x0A\x00' # 10.13 (0xA0D)
replace = b'\x00\x0A\x0A\x00' # 10.10 (0xA0A)
with open(path, 'rb') as f:
data = f.read()
data = data.replace(find, replace, 1)
with open(path, 'wb') as f:
f.write(data)
def move_launcher(self):
print(" - Adding TUI launcher")
mv_output = subprocess.run(
["cp", "./payloads/launcher.sh", "./dist/OpenCore-Patcher.app/Contents/MacOS/Launcher"],
stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
if mv_output.returncode != 0:
print(" - Move failed")
print(mv_output.stderr.decode('utf-8'))
raise Exception("Move failed")
if __name__ == "__main__":
create_binary()

View File

@@ -1,5 +1,127 @@
# OpenCore Legacy Patcher changelog
## 0.4.6
- Fix Bluetooth support in 12.4 Release
- Applicable for BCM2046 and BCM2070 chipsets
- Fix backported to 0.4.5 release
- GUI Enhancements:
- Greatly improve GUI load times (300-800% on average)
- Resolve failing to find new updates
- Implement Modal Sheets for longer windows
- Avoids UI elements getting under the dock
- Add return to disk when selecting partitions
- Add "Search for disks again" option during OpenCore Install
- Prevent Idle Sleep while running long processes (ie. downloading, flashing)
- Start OpenCore build automatically when entering Build menu
- Standardize Application Identifier for defaults
- Resolve failing to find binaries with `--patch_sys_vol` argument
- Downgrade AppleFSCompressionTypeZlib to 12.3.1 on pre-Sandy Bridge Macs
- Resolves ZLib decompression kernel panics on 12.4 and newer
- Resolve AppleGVACore crashing on MacBookPro11,3 in Monterey 12.4+
- Add Nvidia Web Driver support for Maxwell and Pascal
- Currently running in OpenGL mode, [non-Metal issues](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108) applicable
- Enable Beta Blur settings on non-Metal by default
- For slower hardware, disabling may slightly improve performance
- Deprecate TUI support
- Users may still manually run from source for future builds
- Binaries will no longer be provided on future release
- Switch boot.efi model patch to iMac18,1
## 0.4.5
- Fix AutoPatcher.pkg download on releases
- Fix backported to 0.4.4 release binaries
- Add Macmini8,1 FeatureUnlock support
- Drops CPU check, supports all machines
- Refactor Root Patching System
- Adds preflight checks validating patch set data and presence
- Adds dynamic Sandy Bridge Board ID patching
- Allows for unrestricted SMBIOS usage with `AppleIntelSNBGraphicsFB`
- Adds OpenCL downgrade for TeraScale 2
- Resolves VNC support (credit IronApple#2711)
- Fix SecureBootModel detection
- Add `OpenCore-Legacy-Patcher.plist` for applied patch info
- Located under `/System/Library/CoreServices`
- Lists patch sets applied including files installed and removed
- Add `preinstall` script to AutoPatcher
- Removes old patcher files before installing new
- Add Serial Number Spoofing
- For recycled machines where MDM was mistakenly left on
- Add sys_patch file validation during CI
- GUI Enhancements:
- Add GUI Prompt for booting mismatched OpenCore configs
- ex. Booting MacBookPro8,1 config on MacBookPro11,1
- Add Checksum verification to InstallAssistant.pkg download
- Fix showing latest 12.4 remote installers
- Add local Root Patcher version info when previously patched
- Helps notify users they already patched, or should be repatched with a newer version
- Add error handling to non-standard/malformed OpenCore Boot Path
- Non-Metal Enhancements:
- Add work-around to double clock bug introduced in macOS 12.4
- Resolve non-functioning Dismiss buttons bug introduced in macOS 12.4
- Refresh Status Bar when item length changes
- Add smoother transition for auto appearance
- Increment Binaries:
- PatcherSupportPkg 0.4.1 - release
## 0.4.4
- Lower SIP requirement for Root Patching
- Sets to 0x802 (previously 0xA03)
- Drops `CSR_ALLOW_UNTRUSTED_KEXTS` and `CSR_ALLOW_UNAPPROVED_KEXTS`
- Remember TeraScale 2 Setting on MacBookPro8,2/3
- Avoids requiring toggling after first time
- Resolve Electron Crashing with SIP lowered on 12.3
- Adds `ipc_control_port_options=0` boot argument
- Unknown whether this is a "bug" or intentional from Apple, affects native Macs with SIP disabled
- Resolved non-Metal issues:
- Catalyst crashing after 1200 seconds on non-Metal
- Automatic Light/Darkmode (credit @moosethegoose2213)
- Rim improvements
- Trackpad swipe between pages
- Cycle between windows
- Improve Display Prefpane Image
- Defaults prefix change (`ASB_` -> `MORAEA_`, reopen non-Metal Settings to apply)
- Increment Binaries:
- PatcherSupportPkg 0.3.9 - release
- OpenCorePkg 0.8.0 - release
- FeatureUnlock 1.0.8 - release
- CPUFriend 1.2.5 - release
- WhateverGreen 1.5.8 - release
- AutoPkgInstaller 1.0.0 - release
- BlueToolFixup 2.6.2 - adjusted
- Speed up loading available remote macOS Installers from Apple
- Skips writing catalogs to disk, loads into memory directly
- Implement Automatic Patch Detection/Installation
- Requires GUI for usage
- Installations:
- During macOS Installer creating in-app, AutoPkg-Assets.pkg is installed to macOS installer
- After running the installer with AutoPkgInstaller.kext, Root Patcher will install patches
- Must boot macOS Installer, does not support in-OS usage
- Post OS Updates:
- After OS updates, Patcher will detect whether system requires root patches and prompt you
- Implemented via Launch Agent in `/Library/LaunchAgents`
- OpenCore-Patcher.app will be copied to `/Library/Application Support/Dortania` for storage
- Notify users when OpenCore is booted from external disk not matching macOS (ie. USB installer)
- Disable notification via `defaults write com.dortania.opencore-legacy-patcher AutoPatch_Notify_Mismatched_Disks -bool FALSE`
- GUI Enhancements:
- Add Reboot Prompt after Root Patching
- Add Disk Installation Prompt after OpenCore Config Building
- Streamline GUI relaunch for Root Patch/Unpatch (remembering previous state during patching)
- Grey out return buttons while performing sensitive tasks
- Add `Currently Booted SIP` info to SIP Settings
- Add Disk Highlighting during Build/Install for previously installed disks
- Only list newest installers by default (reload to show older binaries)
- Remove manual root unpatching
- Removed due to reliablity issues
- `bless` based reversion still supported in Big Sur+
- Remove Unoffical Mojave/Catalina Root Patching
- For TeraScale 2-based acceleration on older OSes, use v0.4.3
- Simplify Binary options
- Removes Online Patcher Variants
- Offline variants are now new defaults, no longer retain `Offline` suffix
- Resolve legacy Bluetooth Support on 12.4 Beta 3
- Disables USB Address erroring on some pre-Bluetooth 4.0 chipsets
- ex. `ERROR -- Third Party Dongle has the same address as the internal module`
## 0.4.3
- Increment Binaries:
- PatcherSupportPkg 0.3.4 - release
@@ -60,7 +182,7 @@
- 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 FeatureUnlock configurability
- Add NVRAM WriteFlash configurability for degraded/fragile systems
- Add `ThirdPartyDrives` quirk configurability
- Resolve Skylight dylib injection issue
@@ -111,7 +233,7 @@
- Resolve rare memory corruption due to FeatureUnlock
- Raise SurPlus MaxKernel to 21.99.99
- Fix Content Caching with spoofless usage
- Allow disabling of ConnectDrivers
- Allow disabling of ConnectDrivers
- Aid with Hibernation on MacBookPro9,1/MacBookPro10,1
- Add legacy iSight patch
- Applicable for MacBook4,1/5,2

View File

@@ -7,9 +7,9 @@ block_cipher = None
a = Analysis(['OpenCore-Patcher-GUI.command'],
pathex=['resources', 'data', 'gui'],
pathex=[],
binaries=[],
datas=[('payloads', 'payloads')],
datas=[('payloads.dmg', '.')],
hiddenimports=[],
hookspath=[],
hooksconfig={},
@@ -24,33 +24,37 @@ pyz = PYZ(a.pure, a.zipped_data,
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
exclude_binaries=True,
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,
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='OpenCore-Patcher')
app = BUNDLE(coll,
name='OpenCore-Patcher.app',
icon="payloads/OC-Patcher.icns",
bundle_identifier="com.dortania.opencore-legacy-patcher-wxpython",
bundle_identifier="com.dortania.opencore-legacy-patcher",
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",
"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

@@ -3,16 +3,30 @@
<h1>OpenCore Legacy Patcher</h1>
</div>
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.
A Python-based project revolving around [Acidanthera's OpenCorePkg](https://github.com/acidanthera/OpenCorePkg) and [Lilu](https://github.com/acidanthera/Lilu) for both running and unlocking features in macOS on supported and unsupported Macs.
Supported features:
Our project's main goal is to breath new life to Macs no longer supported by Apple, allowing for the installation and usage of macOS Big Sur and newer on machines as old as 2007.
----------
![GitHub all releases](https://img.shields.io/github/downloads/dortania/OpenCore-Legacy-Patcher/total?color=white&style=plastic) ![GitHub top language](https://img.shields.io/github/languages/top/dortania/OpenCore-Legacy-Patcher?color=4B8BBE&style=plastic) ![Discord](https://img.shields.io/discord/417165963327176704?color=7289da&label=discord&style=plastic)
----------
Noteworthy features of OpenCore Legacy Patcher:
* Support for macOS Big Sur and Monterey
* Native Over the Air(OTA) System Updates
* Supports Penryn and newer Macs
* Full support for WPA Wifi and Personal Hotspot on BCM943224 and newer chipsets
* 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
* Recovery OS, Safe Mode and Single-user Mode booting on non-native OSes
* Unlocks features such as Sidecar and AirPlay to Mac even on native Macs
* Enable enhanced SATA and NVMe power management on non-stock hardware
* Zero firmware patching required (ie. APFS ROM patching)
* GPU Switching on MacBook Pro models (2012 and newer)
* Graphics acceleration for both Metal and non-Metal GPUs
----------
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.
@@ -22,16 +36,22 @@ Note 2: Currently OpenCore Legacy Patcher officially supports patching to run ma
* For macOS Mojave and Catalina support, we recommend the use of [dosdude1's patchers](http://dosdude1.com)
## Running from source
## Getting Started
To run the project from source, see here: [Build and run from source](./SOURCE.md)
To start using the project, please see our in-depth guide:
* [OpenCore Legacy Patcher Guide](https://dortania.github.io/OpenCore-Legacy-Patcher/)
## Support
To get aid with the patcher, we recommend joining the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN). We're actively there and is the quickest way to receive help.
* 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.
## Running from source
To run the project from source, see here: [Build and run from source](./SOURCE.md)
## Credits
* [Acidanthera](https://github.com/Acidanthera)
@@ -46,14 +66,14 @@ To get aid with the patcher, we recommend joining the [OpenCore Patcher Paradise
* [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
* Legacy Acceleration Patch set and documentation, [Moraea Organization](https://github.com/moraea)
* [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
* Main author of [original GUI](https://github.com/dortania/OCLP-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)
@@ -63,6 +83,10 @@ To get aid with the patcher, we recommend joining the [OpenCore Patcher Paradise
* 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
* [Mr.Macintosh](https://mrmacintosh.com)
* Endless hours helping architect and troubleshoot many portions of the project
* [flagers](https://github.com/flagersgit)
* Aid with Nvidia Web Driver research and development
* MacRumors and Unsupported Mac Communities
* Endless testing, reporting issues
* Apple

View File

@@ -5,9 +5,7 @@ OpenCore Legacy Patcher at its core is a python-based TUI/CLI based application.
For developers wishing to validate mainline changes, you may use these nightly links:
* [GUI (Graphical Based App)](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-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.
@@ -32,6 +30,16 @@ cd ./OpenCore-Legacy-Patcher
pip3 install -r requirements.txt
```
If you have installation error, see following troubleshooting options:
* Use Python 3.9
* Currently our build server uses py3.9 for generating binaries used in releases
* Use .whl snapshots for installing additional dependancies
* [wxPython 4.1.1 wheel for py3.9](https://files.pythonhosted.org/packages/2c/a8/7027e8ca3ba20dc2ed2acd556e31941cb44097ab87d6f81d646a79de4eab/wxPython-4.1.1-cp39-cp39-macosx_10_10_x86_64.whl)
* [PyObjc 8.5 wheel for py3](https://files.pythonhosted.org/packages/69/3d/786f379dd669a078cf0c4a686e242c9b643071c23367bfbd3d9a7eb589ec/pyobjc-8.5-py3-none-any.whl)
* [Requests 2.27.1 for py2/py3](https://files.pythonhosted.org/packages/2d/61/08076519c80041bc0ffa1a8af0cbd3bf3e2b62af10435d269a9d0f40564d/requests-2.27.1-py2.py3-none-any.whl)
## Running OpenCore Legacy Patcher
To run the project from source, simply invoke via python3:
@@ -68,10 +76,11 @@ The main goal of generating prebuilt binaries is to strip the requirement of a l
pip3 install pyinstaller
# Move into project directory
cd ~/Developer/OpenCore-Legacy-Patcher/
# Create the pyinstaller based Application (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
# Create the pyinstaller based Application
# Optional Arguments
# '--build_tui': Create TUI vairant
# '--reset_binaries': Redownload and generate support files
python3 Build-Binary.command
# Open build folder
open ./dist/
```

View File

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

View File

@@ -1,14 +0,0 @@
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")

View File

@@ -3,13 +3,13 @@ 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
NonApplicable = 0
APPLE_CSR = 1 # BT 2.0 - Apple rebranded CSR chipset
BRCM2046 = 2 # BT 2.1
BRCM2070 = 3 # BT 2.1
BRCM20702_v1 = 4 # BT 4.0 - 2011/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

View File

@@ -8,7 +8,7 @@ class shim_list:
shim_legacy_accel = [
"CoreWLAN.dylib",
]
shim_legacy_accel_keyboard = [
"BacklightFixup.dylib",
]

View File

@@ -31,17 +31,17 @@ 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",
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',
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,
@@ -49,56 +49,56 @@ class MacBookPro:
)
MacBookPro111_Stock = device_probe.Computer(
real_model='MacBookPro11,1',
real_board_id='Mac-189A3D4F975D5FFC',
reported_model='MacBookPro11,1',
reported_board_id='Mac-189A3D4F975D5FFC',
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,
],
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)'),
],
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',
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',
),
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',
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,
],
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=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)'),
],
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',
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,
), oclp_version='0.4.1',
opencore_version=None,
bluetooth_chipset=None,
third_party_sata_ssd=False)
MacBookPro171_Stock = device_probe.Computer(
@@ -133,11 +133,11 @@ class Macmini:
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",
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
),
oclp_version=None,
opencore_version=None
)
Macmini91_Stock = device_probe.Computer(
@@ -154,7 +154,7 @@ class Macmini:
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",
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,
@@ -165,47 +165,47 @@ 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",
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)"),
],
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)"),
],
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",
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",
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)"),
],
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)"),
],
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",
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,
),
oclp_version=None,
opencore_version=None,
)
@@ -228,88 +228,88 @@ class iMac:
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,
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',
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)'),
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=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)'),
],
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',
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',
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',
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.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)'),
],
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=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)'),
],
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',
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',
),
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',
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.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=[],
],
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=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)'),
],
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',
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,
),
oclp_version=None,
opencore_version=None,
bluetooth_chipset=None,
third_party_sata_ssd=False
)
@@ -394,8 +394,8 @@ class MacPro:
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,
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)")
@@ -413,65 +413,112 @@ class MacPro:
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)"),
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",
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,
),
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)"),
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.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)"),
],
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",
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",
),
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)"),
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.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)"),
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",
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",
oclp_version="0.2.5",
opencore_version="REL-071-2021-07-02"
)
MacPro41_51_Flashed_NVIDIA_WEB_DRIVERS = device_probe.Computer(
real_model='MacPro5,1',
real_board_id='Mac-F221BEC8',
reported_model='MacPro5,1',
reported_board_id='Mac-F221BEC8',
build_model='MacPro5,1',
gpus=[
device_probe.NVIDIA(vendor_id=4318, device_id=5051, class_code=196608, name='GFX0', model='NVIDIA Quadro K620', acpi_path='IOACPIPlane:/_SB/PCI0@0/IOU0@30000/PXS1@ffff', pci_path='PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)', disable_metal=True, force_compatible=True)
],
igpu=None,
dgpu=device_probe.NVIDIA(vendor_id=4318, device_id=5051, class_code=196608, name='GFX0', model='NVIDIA Quadro K620', acpi_path='IOACPIPlane:/_SB/PCI0@0/IOU0@30000/PXS1@ffff', pci_path='PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)', disable_metal=True, force_compatible=True),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=14882, class_code=67073, name='SATA', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/SATA@1f0002', pci_path='PciRoot(0x0)/Pci(0x1f,0x2)', disable_metal=False, force_compatible=False)
],
usb_controllers=[
device_probe.EHCIController(vendor_id=32902, device_id=14908, class_code=787232, name='EHC2', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/EHC2@1a0007', pci_path='PciRoot(0x0)/Pci(0x1a,0x7)', disable_metal=False, force_compatible=False),
device_probe.EHCIController(vendor_id=32902, device_id=14906, class_code=787232, name='EHC1', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/EHC1@1d0007', pci_path='PciRoot(0x0)/Pci(0x1d,0x7)', disable_metal=False, force_compatible=False),
device_probe.UHCIController(vendor_id=32902, device_id=14903, class_code=787200, name='UHC4', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/UHC4@1a0000', pci_path='PciRoot(0x0)/Pci(0x1a,0x0)', disable_metal=False, force_compatible=False),
device_probe.UHCIController(vendor_id=32902, device_id=14904, class_code=787200, name='UHC5', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/UHC5@1a0001', pci_path='PciRoot(0x0)/Pci(0x1a,0x1)', disable_metal=False, force_compatible=False),
device_probe.UHCIController(vendor_id=32902, device_id=14905, class_code=787200, name='UHC6', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/UHC6@1a0002', pci_path='PciRoot(0x0)/Pci(0x1a,0x2)', disable_metal=False, force_compatible=False),
device_probe.UHCIController(vendor_id=32902, device_id=14900, class_code=787200, name='UHC1', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/UHC1@1d0000', pci_path='PciRoot(0x0)/Pci(0x1d,0x0)', disable_metal=False, force_compatible=False),
device_probe.UHCIController(vendor_id=32902, device_id=14901, class_code=787200, name='UHC2', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/UHC2@1d0001', pci_path='PciRoot(0x0)/Pci(0x1d,0x1)', disable_metal=False, force_compatible=False),
device_probe.UHCIController(vendor_id=32902, device_id=14902, class_code=787200, name='UHC3', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/UHC3@1d0002', pci_path='PciRoot(0x0)/Pci(0x1d,0x2)', disable_metal=False, force_compatible=False)
],
sdxc_controller=[],
ethernet=[
device_probe.IntelEthernet(vendor_id=32902, device_id=4342, class_code=131072, name='ETH1', model='Intel 82574L', acpi_path='IOACPIPlane:/_SB/PCI0@0/RP04@1c0003/ETH1@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False),
device_probe.IntelEthernet(vendor_id=32902, device_id=4342, class_code=131072, name='ETH0', model='Intel 82574L', acpi_path='IOACPIPlane:/_SB/PCI0@0/RP03@1c0002/ETH0@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x2)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False)
],
wifi=None,
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.4.6',
opencore_version='REL-080-2022-04-18',
opencore_path='PciRoot(0x0)/Pci(0x1D,0x7)/USB(0x4,0x0)/HD(2,GPT,AEC1E933-C311-40E2-BBCE-FC4B14BCD770,0x64800,0x38E3000)/EFI\\OC\\OpenCore.efi',
bluetooth_chipset='BRCM2046 Hub',
ambient_light_sensor=False,
third_party_sata_ssd=True,
secure_boot_model='x86legacyap',
secure_boot_policy=0,
oclp_sys_version='v0.4.6',
oclp_sys_date='September 03, 2019 @ 23:13:43',
firmware_vendor='Apple'
)

View File

@@ -176,66 +176,6 @@ LegacyGPU = [
"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",
@@ -243,8 +183,6 @@ LegacyBrightness = [
"iMac9,1",
]
NVMePatch = ["MacPro3,1", "MacPro4,1", "Xserve3,1", "Dortania1,1"]
DualGPUPatch = [
"MacBookPro5,1",
"MacBookPro5,2",
@@ -263,11 +201,6 @@ DualGPUPatch = [
"Dortania1,1",
]
DualGPUPatchRetina = [
"MacBookPro10,1",
"MacBookPro11,3",
]
IntelNvidiaDRM = [
"iMac13,1",
"iMac13,2",
@@ -275,58 +208,9 @@ IntelNvidiaDRM = [
"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 = [

View File

@@ -17,4 +17,32 @@ class os_data(enum.IntEnum):
catalina = 19
big_sur = 20
monterey = 21
ventura = 22
max_os = 99
class os_conversion:
def os_to_kernel(os):
# Convert OS version to major XNU version
if os.startswith("10."):
return (int(os.split(".")[1]) + 4)
else:
return (int(os.split(".")[0]) + 9)
def kernel_to_os(kernel):
# Convert major XNU version to OS version
if kernel >= os_data.big_sur:
return str((kernel - 9))
else:
return str((f"10.{kernel - 4}"))
def is_os_newer(source_major, source_minor, target_major, target_minor):
# Check if OS version 1 is newer than OS version 2
if source_major < target_major:
return True
elif source_major == target_major:
if source_minor < target_minor:
return True
else:
return False

View File

@@ -3,16 +3,17 @@ class nvidia_ids:
# Courteous of envytools as well as Macrumors:
# https://envytools.readthedocs.io/en/latest/hw/pciid.html
# https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/
# https://pci-ids.ucw.cz/read/PC/10de
curie_ids = [
0x0040,
0x00f0,
0x0220,
0x0140,
0x0160,
0x0090,
0x01d0,
0x0390,
0x0290,
0x0040, # NV40 [GeForce 6800 Ultra]
0x00f0, # BR02
0x0220, # NV44A
0x0140, # NV43 [GeForce 6600 GT]
0x0160, # NV44 [GeForce 6500]
0x0090, # G70 [GeForce 7800 GTX]
0x01d0, # G72 [GeForce 7350 LE]
0x0390, # G73 [GeForce 7650 GS]
0x0290, # G71 [GeForce 7900 GTX]
]
tesla_ids = [
@@ -524,6 +525,187 @@ class nvidia_ids:
]
maxwell_ids = [
0x1340, # GM108M [GeForce 830M]
0x1341, # GM108M [GeForce 840M]
0x1344, # GM108M [GeForce 845M]
0x1346, # GM108M [GeForce 930M]
0x1347, # GM108M [GeForce 940M]
0x1348, # GM108M [GeForce 945M / 945A]
0x1349, # GM108M [GeForce 930M]
0x134b, # GM108M [GeForce 940MX]
0x134d, # GM108M [GeForce 940MX]
0x134e, # GM108M [GeForce 930MX]
0x134f, # GM108M [GeForce 920MX]
0x137a, # GM108GLM [Quadro K620M / Quadro M500M]
0x137b, # GM108GLM [Quadro M520 Mobile]
0x137d, # GM108M [GeForce 940A]
0x1380, # GM107 [GeForce GTX 750 Ti]
0x1381, # GM107 [GeForce GTX 750]
0x1382, # GM107 [GeForce GTX 745]
0x1389, # GM107GL [GRID M30]
0x1390, # GM107M [GeForce 845M]
0x1391, # GM107M [GeForce GTX 850M]
0x1392, # GM107M [GeForce GTX 860M]
0x1393, # GM107M [GeForce 840M]
0x1398, # GM107M [GeForce 845M]
0x1399, # GM107M [GeForce 945M]
0x139a, # GM107M [GeForce GTX 950M]
0x139b, # GM107M [GeForce GTX 960M]
0x139c, # GM107M [GeForce 940M]
0x139d, # GM107M [GeForce GTX 750 Ti]
0x13b0, # GM107GLM [Quadro M2000M]
0x13b1, # GM107GLM [Quadro M1000M]
0x13b2, # GM107GLM [Quadro M600M]
0x13b3, # GM107GLM [Quadro K2200M]
0x13b4, # GM107GLM [Quadro M620 Mobile]
0x13b6, # GM107GLM [Quadro M1200 Mobile]
0x13b9, # GM107GL [NVS 810]
0x13ba, # GM107GL [Quadro K2200]
0x13bb, # GM107GL [Quadro K620]
0x13bc, # GM107GL [Quadro K1200]
0x13bd, # GM107GL [Tesla M10]
0x13c0, # GM204 [GeForce GTX 980]
0x13c1, # GM204
0x13c2, # GM204 [GeForce GTX 970]
0x13c3, # GM204
0x13d7, # GM204M [GeForce GTX 980M]
0x13d8, # GM204M [GeForce GTX 970M]
0x13d9, # GM204M [GeForce GTX 965M]
0x13da, # GM204M [GeForce GTX 980 Mobile]
0x13e7, # GM204GL [GeForce GTX 980 Engineering Sample]
0x13f0, # GM204GL [Quadro M5000]
0x13f1, # GM204GL [Quadro M4000]
0x13f2, # GM204GL [Tesla M60]
0x13f3, # GM204GL [Tesla M6]
0x13f8, # GM204GLM [Quadro M5000M / M5000 SE]
0x13f9, # GM204GLM [Quadro M4000M]
0x13fa, # GM204GLM [Quadro M3000M]
0x13fb, # GM204GLM [Quadro M5500]
0x1401, # GM206 [GeForce GTX 960]
0x1402, # GM206 [GeForce GTX 950]
0x1404, # GM206 [GeForce GTX 960 FAKE]
0x1406, # GM206 [GeForce GTX 960 OEM]
0x1407, # GM206 [GeForce GTX 750 v2]
0x1427, # GM206M [GeForce GTX 965M]
0x1430, # GM206GL [Quadro M2000]
0x1431, # GM206GL [Tesla M4]
0x1436, # GM206GLM [Quadro M2200 Mobile]
]
pascal_ids = [
0x15f0, # GP100GL [Quadro GP100]
0x15f1, # GP100GL
0x15f7, # GP100GL [Tesla P100 PCIe 12GB]
0x15f8, # GP100GL [Tesla P100 PCIe 16GB]
0x15f9, # GP100GL [Tesla P100 SXM2 16GB]
0x1b00, # GP102 [TITAN X]
0x1b01, # GP102 [GeForce GTX 1080 Ti 10GB]
0x1b02, # GP102 [TITAN Xp]
0x1b04, # GP102
0x1b06, # GP102 [GeForce GTX 1080 Ti]
0x1b07, # GP102 [P102-100]
0x1b30, # GP102GL [Quadro P6000]
0x1b38, # GP102GL [Tesla P40]
0x1b39, # GP102GL [Tesla P10]
0x1b70, # GP102GL
0x1b78, # GP102GL
0x1b80, # GP104 [GeForce GTX 1080]
0x1b81, # GP104 [GeForce GTX 1070]
0x1b82, # GP104 [GeForce GTX 1070 Ti]
0x1b83, # GP104 [GeForce GTX 1060 6GB]
0x1b84, # GP104 [GeForce GTX 1060 3GB]
0x1b87, # GP104 [P104-100]
0x1ba0, # GP104M [GeForce GTX 1080 Mobile]
0x1ba1, # GP104M [GeForce GTX 1070 Mobile]
0x1ba2, # GP104M [GeForce GTX 1070 Mobile]
0x1ba9, # GP104M
0x1baa, # GP104M
0x1bad, # GP104 [GeForce GTX 1070 Engineering Sample]
0x1bb0, # GP104GL [Quadro P5000]
0x1bb1, # GP104GL [Quadro P4000]
0x1bb3, # GP104GL [Tesla P4]
0x1bb4, # GP104GL [Tesla P6]
0x1bb5, # GP104GLM [Quadro P5200 Mobile]
0x1bb6, # GP104GLM [Quadro P5000 Mobile]
0x1bb7, # GP104GLM [Quadro P4000 Mobile]
0x1bb8, # GP104GLM [Quadro P3000 Mobile]
0x1bb9, # GP104GLM [Quadro P4200 Mobile]
0x1bbb, # GP104GLM [Quadro P3200 Mobile]
0x1bc7, # GP104 [P104-101]
0x1be0, # GP104BM [GeForce GTX 1080 Mobile]
0x1be1, # GP104BM [GeForce GTX 1070 Mobile]
0x1c00, # GP106
0x1c01, # GP106
0x1c02, # GP106 [GeForce GTX 1060 3GB]
0x1c03, # GP106 [GeForce GTX 1060 6GB]
0x1c04, # GP106 [GeForce GTX 1060 5GB]
0x1c06, # GP106 [GeForce GTX 1060 6GB Rev. 2]
0x1c07, # GP106 [P106-100]
0x1c09, # GP106 [P106-090]
0x1c20, # GP106M [GeForce GTX 1060 Mobile]
0x1c21, # GP106M [GeForce GTX 1050 Ti Mobile]
0x1c22, # GP106M [GeForce GTX 1050 Mobile]
0x1c23, # GP106M [GeForce GTX 1060 Mobile Rev. 2]
0x1c2d, # GP106M
0x1c30, # GP106GL [Quadro P2000]
0x1c31, # GP106GL [Quadro P2200]
0x1c35, # GP106M [Quadro P2000 Mobile]
0x1c36, # GP106 [P106M]
0x1c60, # GP106BM [GeForce GTX 1060 Mobile 6GB]
0x1c61, # GP106BM [GeForce GTX 1050 Ti Mobile]
0x1c62, # GP106BM [GeForce GTX 1050 Mobile]
0x1c70, # GP106GL
0x1c80,
0x1c81, # GP107 [GeForce GTX 1050]
0x1c82, # GP107 [GeForce GTX 1050 Ti]
0x1c83, # GP107 [GeForce GTX 1050 3GB]
0x1c8c, # GP107M [GeForce GTX 1050 Ti Mobile]
0x1c8d, # GP107M [GeForce GTX 1050 Mobile]
0x1c8e, # GP107M
0x1c8f, # GP107M [GeForce GTX 1050 Ti Max-Q]
0x1c90, # GP107M [GeForce MX150]
0x1c91, # GP107M [GeForce GTX 1050 3 GB Max-Q]
0x1c92, # GP107M [GeForce GTX 1050 Mobile]
0x1c94, # GP107M [GeForce MX350]
0x1c96, # GP107M [GeForce MX350]
0x1ca7, # GP107GL
0x1ca8, # GP107GL
0x1caa, # GP107GL
0x1cb1, # GP107GL [Quadro P1000]
0x1cb2, # GP107GL [Quadro P600]
0x1cb3, # GP107GL [Quadro P400]
0x1cb6, # GP107GL [Quadro P620]
0x1cba, # GP107GLM [Quadro P2000 Mobile]
0x1cbb, # GP107GLM [Quadro P1000 Mobile]
0x1cbc, # GP107GLM [Quadro P600 Mobile]
0x1cbd, # GP107GLM [Quadro P620]
0x1ccc, # GP107BM [GeForce GTX 1050 Ti Mobile]
0x1ccd, # GP107BM [GeForce GTX 1050 Mobile]
0x1cfa, # GP107GL [Quadro P2000]
0x1cfb, # GP107GL [Quadro P1000]
0x1d01, # GP108 [GeForce GT 1030]
0x1d02, # GP108 [GeForce GT 1010]
0x1d10, # GP108M [GeForce MX150]
0x1d11, # GP108M [GeForce MX230]
0x1d12, # GP108M [GeForce MX150]
0x1d13, # GP108M [GeForce MX250]
0x1d16, # GP108M [GeForce MX330]
0x1d33, # GP108GLM [Quadro P500 Mobile]
0x1d34, # GP108GLM [Quadro P520]
0x1d52, # GP108BM [GeForce MX250]
0x1d56, # GP108BM [GeForce MX330]
]
class amd_ids:
gcn_7000_ids = [
@@ -601,7 +783,7 @@ class amd_ids:
0x67E9, # Unknown
# AMDEllesmereGraphicsAccelerator - AMD9500Controller
0x67C0, # Pro WX 7100 Mobile
0x67C1, # Unknown
0x67C1, # Unknown
0x67C2, # Pro V7300X / V7350x2
0x67C4, # Pro WX 7100
0x67C7, # Pro WX 5100
@@ -643,7 +825,7 @@ class amd_ids:
0x66A0, # Instinct
0x66A1, # Pro VII/Instinct MI50
0x66A2, # Unknown
0x66A3, # Pro Vega II/ Pro Vega II Duo
0x66A3, # Pro Vega II/ Pro Vega II Duo
0x66A7, # Unknown
0x66AF, # VII
]
@@ -670,9 +852,11 @@ class amd_ids:
0x73A2, # Pro W6900X
0x73AB, # Pro W6800X/Pro W6800X Duo
0x73BF, # 6800/6800 XT / 6900 XT
0x73A3, # Pro W6800
# AMDNavi23GraphicsAccelerator
0x73E3, # Pro W6600
0x73FF, # 6600/6600 XT/6600M
0x73E0, # Unknown
]
r500_ids = [
@@ -683,40 +867,40 @@ class amd_ids:
]
terascale_1_ids = [
0x9400,
0x9401,
0x9402,
0x9403,
0x9581,
0x9583,
0x9588,
0x94C8,
0x94C9,
0x9500,
0x9501,
0x9505,
0x9507,
0x9504,
0x9506,
0x9598,
0x9488,
0x9599,
0x9591,
0x9593,
0x9440,
0x9442,
0x944A,
0x945A,
0x9490,
0x949E,
0x9480,
0x9540,
0x9541,
0x954E,
0x954F,
0x9552,
0x9553,
0x94A0,
0x9400, # HD 2900 PRO/XT
0x9401, # HD 2900 XT
0x9402, # Unknown
0x9403, # HD 2900 PRO
0x9581, # HD 2600 (mobile)
0x9583, # HD 2600 XT/2700 (mobile)
0x9588, # HD 2600 XT
0x94C8, # HD 2400 XT (mobile)
0x94C9, # HD 2400 (mobile)
0x9500, # HD 3850 X2
0x9501, # HD 3870
0x9505, # HD 3690/3850
0x9507, # HD 3830
0x9504, # HD 3850 (mobile)
0x9506, # HD 3850 X2 (mobile)
0x9598, # HD 3650/3750/4570/4580
0x9488, # HD 4670 (mobile)
0x9599, # HD 3650 AGP
0x9591, # HD 3650 (mobile)
0x9593, # HD 3670 (mobile)
0x9440, # HD 4870
0x9442, # HD 4850
0x944A, # HD 4850 (mobile)
0x945A, # HD 4870 (mobile)
0x9490, # HD 4670
0x949E, # FirePro V5700
0x9480, # HD 4650/5165 (mobile)
0x9540, # HD 4550
0x9541, # Unknown
0x954E, # Unknown
0x954F, # HD 4350/4550
0x9552, # HD 4330/4350/4550 (mobile)
0x9553, # HD 4530/4570/545v (mobile)
0x94A0, # HD 4830
]
terascale_2_ids = [
@@ -817,38 +1001,38 @@ class intel_ids:
skylake_ids = [
# AppleIntelSKLGraphicsFramebuffer IDs
0x1916,
0x191E,
0x1926,
0x1927,
0x1912,
0x1932,
0x1902,
0x1917,
0x193B,
0x191B,
0x1916, # HD Graphics 520
0x191E, # HD Graphics 515
0x1926, # Iris Graphics 540
0x1927, # Iris Graphics 550
0x1912, # HD Graphics 530
0x1932, # Iris Pro Graphics 580
0x1902, # HD Graphics 510
0x1917, # Unknown
0x193B, # Iris Pro Graphics 580
0x191B, # HD Graphics 530
]
kaby_lake_ids = [
# AppleIntelKBLGraphicsFramebuffer IDs
0x5912,
0x5916,
0x591B,
0x591C,
0x591E,
0x5926,
0x5927,
0x5923,
0x5912, # HD Graphics 630
0x5916, # HD Graphics 620
0x591B, # HD Graphics 630
0x591C, # UHD Graphics 615
0x591E, # HD Graphics 615
0x5926, # Iris Plus Graphics 640
0x5927, # Iris Plus Graphics 650
0x5923, # HD Graphics 635
]
coffee_lake_ids = [
# AppleIntelCFLGraphicsFramebuffer IDs
0x3E9B,
0x3EA5,
0x3EA6,
0x3E92,
0x3E91,
0x3E98,
0x3E9B, # UHD Graphics 630
0x3EA5, # Iris Plus Graphics 655
0x3EA6, # Unknown
0x3E92, # UHD Graphics 630
0x3E91, # UHD Graphics 630
0x3E98, # UHD Graphics 630
]
comet_lake_ids = [
@@ -859,16 +1043,16 @@ class intel_ids:
ice_lake_ids = [
# AppleIntelICLLPGraphicsFramebuffer IDs
0xFF05,
0x8A70,
0x8A71,
0x8A51,
0x8A5C,
0x8A5D,
0x8A52,
0x8A53,
0x8A5A,
0x8A5B,
0xFF05, # Unknown
0x8A70, # Unknown
0x8A71, # Unknown
0x8A51, # Iris Plus Graphics G7
0x8A5C, # Iris Plus Graphics G4
0x8A5D, # Unknown
0x8A52, # Iris Plus Graphics G7
0x8A53, # Iris Plus Graphics G7
0x8A5A, # Iris Plus Graphics G4
0x8A5B, # Unknown
]
AppleIntel8254XEthernet = [
@@ -904,7 +1088,8 @@ class broadcom_ids:
0x43DC, # BCM4355
0x4464, # BCM4364
0x4488, # BCM4377b
0x4425, # Unknown
0x4425, # BCM4378 (M1)
0x4433, # BCM4387 (M1 Pro/Max/Ultra)
]
AirPortBrcmNIC = [

View File

@@ -21,7 +21,7 @@ class system_integrity_protection:
csr_values_extended = {
"CSR_ALLOW_UNTRUSTED_KEXTS": {
"name": "CSR_ALLOW_UNTRUSTED_KEXTS",
"description": "Allows Unsigned Kexts",
"description": "Allows Unsigned Kexts to be hot loaded from disk",
"introduced": os_data.os_data.el_capitan.value,
"introduced_friendly": "El Capitan",
"value": 0x1,
@@ -92,7 +92,7 @@ class system_integrity_protection:
},
"CSR_ALLOW_UNAPPROVED_KEXTS": {
"name": "CSR_ALLOW_UNAPPROVED_KEXTS",
"description": "Allow Unnotarized Kexts",
"description": "Allow Unnotarized Kexts to be hot loaded from disk",
"introduced": os_data.os_data.high_sierra.value,
"introduced_friendly": "High Sierra",
"value": 0x200,
@@ -115,19 +115,25 @@ class system_integrity_protection:
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
"CSR_ALLOW_UNTRUSTED_KEXTS", # 0x1 - Required for hot loading modded Kexts
"CSR_ALLOW_UNRESTRICTED_FS", # 0x2 - Mount and Edit System Partitions
"CSR_ALLOW_UNAPPROVED_KEXTS", # 0x200 - Required for hot loading modded Kexts
]
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
]
root_patch_sip_big_sur_3rd_part_kexts = [
# Variables required to root patch in Big Sur and Monterey with 3rd party kexts
"CSR_ALLOW_UNTRUSTED_KEXTS", # 0x1 - Required for Aux Cache in Big Sur+
"CSR_ALLOW_UNRESTRICTED_FS", # 0x2 - Required to mount and edit root volume, as well as load modded platform binaries
"CSR_ALLOW_UNAUTHENTICATED_ROOT", # 0x800 - Required to avoid KC mismatch kernel panic
"CSR_ALLOW_UNAPPROVED_KEXTS", # 0x200 - Required for Aux Cache in Big Sur+
]
# 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

View File

@@ -25,7 +25,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.yonah.value,
"Max OS Supported": os_data.os_data.snow_leopard,
"Wireless Model": device_probe.Atheros.Chipsets.AirPortAtheros40,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"Screen Size": 13,
"UGA Graphics": True,
"Ethernet Chipset": "Marvell",
@@ -45,7 +45,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.conroe.value,
"Max OS Supported": os_data.os_data.lion,
"Wireless Model": device_probe.Atheros.Chipsets.AirPortAtheros40,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"Screen Size": 13,
"UGA Graphics": True,
"Ethernet Chipset": "Marvell",
@@ -65,7 +65,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.conroe.value,
"Max OS Supported": os_data.os_data.lion,
"Wireless Model": device_probe.Broadcom.Chipsets.AirPortBrcm43224,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"Screen Size": 13,
"UGA Graphics": True,
"Ethernet Chipset": "Marvell",
@@ -335,7 +335,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.sandy_bridge.value,
"Max OS Supported": os_data.os_data.high_sierra,
"Wireless Model": device_probe.Broadcom.Chipsets.AirPortBrcm4360,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2070,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM20702_v1,
"Screen Size": 11,
"Ethernet Chipset": "Broadcom", # Set for Apple Thunderbolt Adapter
"Stock GPUs": [
@@ -352,7 +352,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.sandy_bridge.value,
"Max OS Supported": os_data.os_data.high_sierra,
"Wireless Model": device_probe.Broadcom.Chipsets.AirPortBrcm4360,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2070,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM20702_v1,
"Screen Size": 13,
"Ethernet Chipset": "Broadcom", # Set for Apple Thunderbolt Adapter
"Stock GPUs": [
@@ -591,7 +591,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.yonah.value,
"Max OS Supported": os_data.os_data.snow_leopard,
"Wireless Model": device_probe.Atheros.Chipsets.AirPortAtheros40,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"Screen Size": 15,
"UGA Graphics": True,
"Ethernet Chipset": "Marvell",
@@ -610,7 +610,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.yonah.value,
"Max OS Supported": os_data.os_data.snow_leopard,
"Wireless Model": device_probe.Atheros.Chipsets.AirPortAtheros40,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"Screen Size": 17,
"UGA Graphics": True,
"Ethernet Chipset": "Marvell",
@@ -629,7 +629,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.conroe.value,
"Max OS Supported": os_data.os_data.lion,
"Wireless Model": device_probe.Atheros.Chipsets.AirPortAtheros40,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"Screen Size": 17,
"UGA Graphics": True,
"Ethernet Chipset": "Marvell",
@@ -648,7 +648,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.conroe.value,
"Max OS Supported": os_data.os_data.lion,
"Wireless Model": device_probe.Atheros.Chipsets.AirPortAtheros40,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"Screen Size": 15,
"UGA Graphics": True,
"Ethernet Chipset": "Marvell",
@@ -667,7 +667,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.conroe.value,
"Max OS Supported": os_data.os_data.el_capitan,
"Wireless Model": device_probe.Atheros.Chipsets.AirPortAtheros40,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"Screen Size": 15, # Shipped with 17 as well
"UGA Graphics": True,
"Ethernet Chipset": "Marvell",
@@ -686,7 +686,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.conroe.value,
"Max OS Supported": os_data.os_data.el_capitan,
"Wireless Model": device_probe.Atheros.Chipsets.AirPortAtheros40,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"Screen Size": 15, # Shipped with 17 as well
"UGA Graphics": True,
"Ethernet Chipset": "Marvell",
@@ -1493,7 +1493,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.yonah.value,
"Max OS Supported": os_data.os_data.snow_leopard,
"Wireless Model": device_probe.Atheros.Chipsets.AirPortAtheros40,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"Ethernet Chipset": "Marvell",
"Stock GPUs": [
device_probe.Intel.Archs.GMA_950
@@ -1510,7 +1510,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.conroe.value,
"Max OS Supported": os_data.os_data.lion,
"Wireless Model": device_probe.Atheros.Chipsets.AirPortAtheros40,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"Ethernet Chipset": "Marvell",
"Stock GPUs": [
device_probe.Intel.Archs.GMA_950
@@ -1561,7 +1561,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.sandy_bridge.value,
"Max OS Supported": os_data.os_data.high_sierra,
"Wireless Model": device_probe.Broadcom.Chipsets.AirPortBrcm4360,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2070,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM20702_v1,
"Ethernet Chipset": "Broadcom",
"Stock GPUs": [
device_probe.Intel.Archs.Sandy_Bridge
@@ -1577,7 +1577,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.sandy_bridge.value,
"Max OS Supported": os_data.os_data.high_sierra,
"Wireless Model": device_probe.Broadcom.Chipsets.AirPortBrcm4360,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2070,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM20702_v1,
"Ethernet Chipset": "Broadcom",
"Stock GPUs": [
device_probe.Intel.Archs.Sandy_Bridge,
@@ -1594,7 +1594,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.sandy_bridge.value,
"Max OS Supported": os_data.os_data.high_sierra,
"Wireless Model": device_probe.Broadcom.Chipsets.AirPortBrcm4360,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2070,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM20702_v1,
"Ethernet Chipset": "Broadcom",
"Stock GPUs": [
device_probe.Intel.Archs.Sandy_Bridge,
@@ -1689,7 +1689,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.yonah.value,
"Max OS Supported": os_data.os_data.snow_leopard,
"Wireless Model": device_probe.Atheros.Chipsets.AirPortAtheros40,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"UGA Graphics": True,
"Ethernet Chipset": "Marvell",
"Legacy iSight": True,
@@ -1708,7 +1708,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.yonah.value,
"Max OS Supported": os_data.os_data.snow_leopard,
"Wireless Model": device_probe.Atheros.Chipsets.AirPortAtheros40,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"UGA Graphics": True,
"Ethernet Chipset": "Marvell",
"Legacy iSight": True,
@@ -2546,7 +2546,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.conroe.value,
"Max OS Supported": os_data.os_data.lion,
"Wireless Model": None,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"UGA Graphics": True,
"Ethernet Chipset": "Intel 80003ES2LAN",
"Socketed GPUs": "PCIe",
@@ -2565,7 +2565,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.conroe.value,
"Max OS Supported": os_data.os_data.lion,
"Wireless Model": None,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"UGA Graphics": True,
"Ethernet Chipset": "Intel 80003ES2LAN",
"Socketed GPUs": "PCIe",
@@ -2584,7 +2584,7 @@ smbios_dictionary = {
"CPU Generation": cpu_data.cpu_data.penryn.value,
"Max OS Supported": os_data.os_data.el_capitan,
"Wireless Model": device_probe.Broadcom.Chipsets.AirPortBrcm43224,
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2045,
"Bluetooth Model": bluetooth_data.bluetooth_data.APPLE_CSR,
"UGA Graphics": True,
"Ethernet Chipset": "Intel 80003ES2LAN",
"Socketed GPUs": "PCIe",

View File

@@ -1,287 +0,0 @@
# 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",
]

780
data/sys_patch_dict.py Normal file
View File

@@ -0,0 +1,780 @@
# Dictionary defining patch sets used during Root Volume patching (sys_patch.py)
# Copyright (C) 2022, Mykola Grymalyuk
# Schema for sys_patch_dict.py:
# Supports 6 types of higher level keys:
# - OS Support: Supported OSes by patchse - Dictionary of Min/Max Kernel Major and Minor versions
# - Install: Install to root volume - Dictionary of strings with string value of source
# - Install Non-Root: Install to data partition - Dictionary of strings with string value of source
# - Remove: Files to remove - Array of strings
# - Processes: Additional processes to run - Dictionary of strings with boolean value of requires root
# - Display Name: User-friendly name - String
# File Storage is based off the origin, ie. '10.13.6/System/Library/Extensions/IOSurface.kext'
# Stubbed binaries are OS specific, they use the 'os_major' variable to denounce which folder to use
from data import os_data
def SystemPatchDictionary(os_major, os_minor, non_metal_os_support):
# @os_major: XNU Kernel Major (int)
# @os_minor: XNU Kernel Minor (int)
# @non_metal_os_support: Array of supported OSes (XNU Kernel Majors (int))
sys_patch_dict = {
"Graphics": {
"Non-Metal Common": {
"Display Name": "",
"OS Support": {
"Minimum OS Support": {
"OS Major": non_metal_os_support[0],
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": non_metal_os_support[-1],
"OS Minor": 99
},
},
"Install": {
"/System/Library/Extensions": {
"IOSurface.kext": "10.15.7",
},
"/System/Library/Frameworks": {
"OpenGL.framework": "10.14.3",
"CoreDisplay.framework": f"10.14.4-{os_major}",
"IOSurface.framework": f"10.15.7-{os_major}",
"QuartzCore.framework": f"10.15.7-{os_major}",
**({ "WebKit.framework": "11.6" } if os_major >= os_data.os_data.monterey else {}),
},
"/System/Library/PrivateFrameworks": {
"GPUSupport.framework": "10.14.3",
"SkyLight.framework": f"10.14.6-{os_major}",
},
},
"Remove": {
"/System/Library/Extensions": [
"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",
],
},
"Install Non-Root": {
"/Library/Application Support/SkyLightPlugins": {
**({ "DropboxHack.dylib": "SkyLightPlugins" } if os_major >= os_data.os_data.monterey else {}),
**({ "DropboxHack.txt": "SkyLightPlugins" } if os_major >= os_data.os_data.monterey else {}),
},
},
"Processes": {
# 'When Space Allows' option introduced in 12.4 (XNU 21.5)
**({"defaults write /Library/Preferences/.GlobalPreferences.plist ShowDate -int 1": True } if os_data.os_conversion.is_os_newer(os_data.os_data.monterey, 4, os_major, os_minor) else {}),
},
},
"Non-Metal IOAccelerator Common": {
# TeraScale 2 and Nvidia Web Drivers broke in Mojave due to mismatched structs in
# the IOAccelerator stack
"Display Name": "",
"OS Support": {
"Minimum OS Support": {
"OS Major": non_metal_os_support[0],
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": non_metal_os_support[-1],
"OS Minor": 99
},
},
"Install": {
"/System/Library/Extensions": {
"IOAcceleratorFamily2.kext": "10.13.6",
"IOSurface.kext": "10.14.6",
},
"/System/Library/Frameworks": {
"IOSurface.framework": f"10.14.6-{os_major}",
"OpenCL.framework": "10.13.6",
},
"/System/Library/PrivateFrameworks": {
"GPUSupport.framework": "10.13.6",
"IOAccelerator.framework": f"10.13.6-{os_major}",
},
},
"Remove": {
"/System/Library/Extensions": [
"AppleCameraInterface.kext"
],
},
},
"Non-Metal CoreDisplay Common": {
# Nvidia Web Drivers require an older build of CoreDisplay
"Display Name": "",
"OS Support": {
"Minimum OS Support": {
"OS Major": non_metal_os_support[0],
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": non_metal_os_support[-1],
"OS Minor": 99
},
},
"Install": {
"/System/Library/Frameworks": {
"CoreDisplay.framework": f"10.13.6-{os_major}",
},
},
},
"Non-Metal Enforcement": {
# Forces Metal kexts from High Sierra to run in the fallback non-Metal mode
# Verified functional with HD4000 and Iris Plus 655
# Only used for internal development purposes, not suitable for end users
# Note: Metal kexts in High Sierra rely on IOAccelerator, thus 'Non-Metal IOAccelerator Common'
# is needed for proper linking
"Display Name": "",
"OS Support": {
"Minimum OS Support": {
"OS Major": non_metal_os_support[0],
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": non_metal_os_support[-1],
"OS Minor": 99
},
},
"Processes": {
"defaults write /Library/Preferences/com.apple.CoreDisplay useMetal -boolean no": True,
"defaults write /Library/Preferences/com.apple.CoreDisplay useIOP -boolean no": True,
},
},
"Metal Common": {
"Display Name": "",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.monterey,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/Frameworks": {
"OpenCL.framework": "11.6",
"WebKit.framework": "11.6",
},
},
},
# Resolve AppleGVACore crashing on MacBookPro11,3 due to mixed GPU combo
# ie. native Haswell iGPU + non-native Kepler dGPU
# This can be remove after 0.4.6 release, as 0.4.5 downgrades to 10.15.7
"GVA Work-Around": {
"Display Name": "",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.monterey,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Remove": {
"/System/Library/PrivateFrameworks/AppleGVA.framework/Versions/A": [
"AppleGVA",
],
"/System/Library/PrivateFrameworks/AppleGVACore.framework/Versions/A": [
"AppleGVACore",
],
},
},
"Modern GVA": {
"Display Name": "",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.monterey,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/PrivateFrameworks": {
"AppleGVA.framework": "10.15.7",
"AppleGVACore.framework": "10.15.7",
},
},
},
"Legacy GVA": {
"Display Name": "",
"OS Support": {
"Minimum OS Support": {
"OS Major": non_metal_os_support[0],
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/PrivateFrameworks": {
"AppleGVA.framework": "10.13.6",
"AppleGVACore.framework": "10.15.7",
},
},
},
"Nvidia Tesla": {
"Display Name": "Graphics: Nvidia Tesla",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.mojave,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/Extensions": {
"GeForceGA.bundle": "10.13.6",
"GeForceTesla.kext": "10.13.6",
"GeForceTeslaGLDriver.bundle": "10.13.6",
"GeForceTeslaVADriver.bundle": "10.13.6",
"NVDANV50HalTesla.kext": "10.13.6",
"NVDAResmanTesla.kext": "10.13.6",
# Apple dropped NVDAStartup in 12.0 Beta 7 (XNU 21.1)
**({ "NVDAStartup.kext": "12.0 Beta 6" } if os_data.os_conversion.is_os_newer(os_data.os_data.monterey, 0, os_major, os_minor) else {})
},
},
},
"Nvidia Kepler": {
"Display Name": "Graphics: Nvidia Kepler",
"OS Support": {
"Minimum OS Support": {
# 12.0 beta 7 (XNU 21.1)
"OS Major": os_data.os_data.monterey,
"OS Minor": 1
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/Extensions": {
"GeForceAIRPlugin.bundle": "11.0 Beta 3",
"GeForceGLDriver.bundle": "11.0 Beta 3",
"GeForceMTLDriver.bundle": "11.0 Beta 3",
"GeForce.kext": "12.0 Beta 6",
"GeForceVADriver.bundle": "12.0 Beta 6",
"NVDAGF100Hal.kext": "12.0 Beta 6",
"NVDAGK100Hal.kext": "12.0 Beta 6",
"NVDAResman.kext": "12.0 Beta 6",
"NVDAStartup.kext": "12.0 Beta 6",
},
},
},
"Nvidia Web Drivers": {
"Display Name": "Graphics: Nvidia Web Drivers",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.mojave,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/Extensions": {
"GeForceAIRPluginWeb.bundle": "WebDriver-387.10.10.10.40.140",
"GeForceGLDriverWeb.bundle": "WebDriver-387.10.10.10.40.140",
"GeForceMTLDriverWeb.bundle": "WebDriver-387.10.10.10.40.140",
"GeForceVADriverWeb.bundle": "WebDriver-387.10.10.10.40.140",
# Tesla-only files
"GeForceTeslaGAWeb.bundle": "WebDriver-387.10.10.10.40.140",
"GeForceTeslaGLDriverWeb.bundle": "WebDriver-387.10.10.10.40.140",
"GeForceTeslaVADriverWeb.bundle": "WebDriver-387.10.10.10.40.140",
},
},
"Install Non-Root": {
"/Library/Extensions": {
"GeForceWeb.kext": "WebDriver-387.10.10.10.40.140",
"NVDAGF100HalWeb.kext": "WebDriver-387.10.10.10.40.140",
"NVDAGK100HalWeb.kext": "WebDriver-387.10.10.10.40.140",
"NVDAGM100HalWeb.kext": "WebDriver-387.10.10.10.40.140",
"NVDAGP100HalWeb.kext": "WebDriver-387.10.10.10.40.140",
"NVDAResmanWeb.kext": "WebDriver-387.10.10.10.40.140",
"NVDAStartupWeb.kext": "WebDriver-387.10.10.10.40.140",
# Tesla-only files
"GeForceTeslaWeb.kext": "WebDriver-387.10.10.10.40.140",
"NVDANV50HalTeslaWeb.kext": "WebDriver-387.10.10.10.40.140",
"NVDAResmanTeslaWeb.kext": "WebDriver-387.10.10.10.40.140",
},
# Disabled due to issues with Pref pane stripping 'nvda_drv' NVRAM
# variables
# "/Library/PreferencePanes": {
# "NVIDIA Driver Manager.prefPane": "WebDriver-387.10.10.10.40.140",
# },
# "/Library/LaunchAgents": {
# "com.nvidia.nvagent.plist": "WebDriver-387.10.10.10.40.140",
# },
# "/Library/LaunchDaemons": {
# "com.nvidia.nvroothelper.plist": "WebDriver-387.10.10.10.40.140",
# },
},
"Remove": {
"/System/Library/Extensions": [
# Due to how late the Auxiliary cache loads, NVDAStartup will match first and then the Web Driver kexts.
# This has no effect for Maxwell and Pascal, however for development purposes, Tesla and Kepler are partially supported.
"NVDAStartup.kext",
],
},
},
"AMD TeraScale Common": {
"Display Name": "",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.mojave,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/Extensions": {
"AMDFramebuffer.kext": "10.13.6",
"AMDLegacyFramebuffer.kext": "10.13.6",
"AMDLegacySupport.kext": "10.13.6",
"AMDShared.bundle": "10.13.6",
"AMDSupport.kext": "10.13.6",
},
},
"Remove": {
"/System/Library/Extensions": [
"AMD7000Controller.kext",
"AMD8000Controller.kext",
"AMD9000Controller.kext",
"AMD9500Controller.kext",
"AMD10000Controller.kext",
],
},
},
"AMD TeraScale 1": {
"Display Name": "Graphics: AMD TeraScale 1",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.mojave,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/Extensions": {
"AMD2400Controller.kext": "10.13.6",
"AMD2600Controller.kext": "10.13.6",
"AMD3800Controller.kext": "10.13.6",
"AMD4600Controller.kext": "10.13.6",
"AMD4800Controller.kext": "10.13.6",
"ATIRadeonX2000.kext": "10.13.6",
"ATIRadeonX2000GA.plugin": "10.13.6",
"ATIRadeonX2000GLDriver.bundle": "10.13.6",
"ATIRadeonX2000VADriver.bundle": "10.13.6",
},
},
"Remove": {
"/System/Library/Extensions": [
# Following removals are a work around for 0.4.3 and older root patches
# Previously TS1 and TS2 patch sets were shared, now they're split off
# Due to this, updating to 0.4.4 or newer can break kmutil linking
"AMD5000Controller.kext",
"AMD6000Controller.kext",
"AMDRadeonVADriver.bundle",
"AMDRadeonVADriver2.bundle",
"AMDRadeonX3000.kext",
"AMDRadeonX3000GLDriver.bundle",
],
},
},
"AMD TeraScale 2": {
"Display Name": "Graphics: AMD TeraScale 2",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.mojave,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/Extensions": {
"AMD5000Controller.kext": "10.13.6",
"AMD6000Controller.kext": "10.13.6",
"AMDRadeonVADriver.bundle": "10.13.6",
"AMDRadeonVADriver2.bundle": "10.13.6",
"AMDRadeonX3000.kext": "10.13.6",
"AMDRadeonX3000GLDriver.bundle": "10.13.6",
},
},
},
"AMD Legacy GCN": {
"Display Name": "Graphics: AMD Legacy GCN",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.ventura,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install Reference": {
"/System/Library/Extensions": {
"AMD7000Controller.kext": "12.4",
"AMD8000Controller.kext": "12.4",
"AMD9000Controller.kext": "12.4",
"AMDRadeonX4000.kext": "12.4",
},
},
},
"Intel Ironlake": {
"Display Name": "Graphics: Intel Ironlake",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.mojave,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/Extensions": {
"AppleIntelHDGraphics.kext": "10.13.6",
"AppleIntelHDGraphicsFB.kext": "10.13.6",
"AppleIntelHDGraphicsGA.plugin": "10.13.6",
"AppleIntelHDGraphicsGLDriver.bundle": "10.13.6",
"AppleIntelHDGraphicsVADriver.bundle": "10.13.6",
},
},
},
"Intel Sandy Bridge": {
"Display Name": "Graphics: Intel Sandy Bridge",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.mojave,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/Extensions": {
"AppleIntelHD3000Graphics.kext": "10.13.6",
"AppleIntelHD3000GraphicsGA.plugin": "10.13.6",
"AppleIntelHD3000GraphicsGLDriver.bundle": "10.13.6",
"AppleIntelHD3000GraphicsVADriver.bundle": "10.13.6",
"AppleIntelSNBGraphicsFB.kext": "10.13.6",
"AppleIntelSNBVA.bundle": "10.13.6",
},
},
},
"Intel Ivy Bridge": {
"Display Name": "Graphics: Intel Ivy Bridge",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.monterey,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Processes": {
"defaults write com.apple.coremedia hardwareVideoDecoder -string enable": False,
},
"Install": {
"/System/Library/Extensions": {
"AppleIntelHD4000GraphicsGLDriver.bundle": "11.0 Beta 6",
"AppleIntelHD4000GraphicsMTLDriver.bundle": "11.0 Beta 6",
"AppleIntelHD4000GraphicsVADriver.bundle": "11.3 Beta 1",
"AppleIntelFramebufferCapri.kext": "11.4",
"AppleIntelHD4000Graphics.kext": "11.4",
"AppleIntelIVBVA.bundle": "11.4",
"AppleIntelGraphicsShared.bundle": "11.4", # libIGIL-Metal.dylib pulled from 11.0 Beta 6
},
},
},
"Intel Haswell": {
"Display Name": "Graphics: Intel Haswell",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.ventura,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install Reference": {
"/System/Library/Extensions": {
"AppleIntelFramebufferAzul.kext": "12.4",
"AppleIntelHD5000Graphics.kext": "12.4",
"AppleIntelHD5000GraphicsGLDriver.bundle": "11.0 Beta 6",
"AppleIntelHD5000GraphicsMTLDriver.bundle": "11.0 Beta 6",
"AppleIntelHD5000GraphicsVADriver.bundle": "11.0 Beta 6",
"AppleIntelHSWVA.bundle": "11.0 Beta 6",
},
},
},
"Intel Broadwell": {
"Display Name": "Graphics: Intel Broadwell",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.ventura,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install Reference": {
"/System/Library/Extensions": {
"AppleIntelBDWGraphics.kext": "12.4",
"AppleIntelBDWGraphicsFramebuffer.kext": "12.4",
"AppleIntelBDWGraphicsGLDriver.bundle": "11.0 Beta 6",
"AppleIntelBDWGraphicsMTLDriver.bundle": "11.0 Beta 6",
"AppleIntelBDWGraphicsVADriver.bundle": "11.0 Beta 6",
"AppleIntelBDWGraphicsVAME.bundle": "11.0 Beta 6",
},
},
},
"Intel Skylake": {
"Display Name": "Graphics: Intel Skylake",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.ventura,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install Reference": {
"/System/Library/Extensions": {
"AppleIntelSKLGraphics.kext": "12.4",
"AppleIntelSKLGraphicsFramebuffer.kext": "12.4",
"AppleIntelSKLGraphicsGLDriver.bundle": "11.0 Beta 6",
"AppleIntelSKLGraphicsMTLDriver.bundle": "11.0 Beta 6",
"AppleIntelSKLGraphicsVADriver.bundle": "11.0 Beta 6",
"AppleIntelSKLGraphicsVAME.bundle": "11.0 Beta 6",
},
},
},
},
"Audio": {
"Legacy Realtek": {
"Display Name": "Audio: Legacy Realtek Audio",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.sierra,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
# For iMac7,1 and iMac8,1 units with legacy Realtek HD Audio
"Install": {
"/System/Library/Extensions": {
"AppleHDA.kext": "10.11.6",
"IOAudioFamily.kext": "10.11.6",
},
},
"Remove": {
"/System/Library/Extensions": [
"AppleVirtIO.kext",
"AppleVirtualGraphics.kext",
"AppleVirtualPlatform.kext",
"ApplePVPanic.kext",
"AppleVirtIOStorage.kext",
],
},
},
# For Mac Pros with non-UGA/GOP GPUs
"Legacy Non-GOP": {
"Display Name": "Audio: Legacy non-GOP Audio",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.mojave,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/Extensions": {
"AppleHDA.kext": "10.13.6",
},
},
},
},
"Networking": {
"Legacy WiFi": {
"Display Name": "Networking: Legacy WiFi",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.monterey,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/usr/libexec": {
"airportd": "11.5.2",
},
"/System/Library/CoreServices": {
"WiFiAgent.app": "11.5.2",
},
},
"Install Non-Root": {
"/Library/Application Support/SkyLightPlugins": {
**({ "CoreWLAN.dylib": "SkyLightPlugins" } if os_major >= os_data.os_data.monterey else {}),
**({ "CoreWLAN.txt": "SkyLightPlugins" } if os_major >= os_data.os_data.monterey else {}),
},
},
},
},
"Brightness": {
"Legacy Brightness": {
"Display Name": "Brightness: Legacy Brightness",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.high_sierra,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/Extensions": {
"AppleBacklight.kext": "10.12.6",
"AppleBacklightExpert.kext": "10.12.6",
},
"/System/Library/PrivateFrameworks": {
"DisplayServices.framework": "10.12.6",
},
},
"Remove": {
"/System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns": [
"AGDCBacklightControl.kext",
],
},
},
},
"Miscellaneous": {
"Legacy GMUX": {
"Display Name": "Miscellaneous: Legacy GMUX",
"OS Support": {
"Minimum OS Support": {
"OS Major": os_data.os_data.high_sierra,
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": os_data.os_data.max_os,
"OS Minor": 99
},
},
"Install": {
"/System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns": {
"AppleMuxControl.kext": "10.12.6",
},
},
"Remove": {
"/System/Library/Extensions": [
"AppleBacklight.kext",
],
"/System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns": [
"AGDCBacklightControl.kext",
"AppleMuxControl.kext",
],
},
},
"Legacy Keyboard Backlight": {
"Display Name": "Miscellaneous: Legacy Keyboard Backlight",
"OS Support": {
"Minimum OS Support": {
"OS Major": non_metal_os_support[0],
"OS Minor": 0
},
"Maximum OS Support": {
"OS Major": non_metal_os_support[-1],
"OS Minor": 99
},
},
"Processes": {
"defaults write /Library/Preferences/.GlobalPreferences.plist Moraea_BacklightHack -bool true": True,
},
},
},
}
return sys_patch_dict

5
docs/.vuepress/config.js Executable file → Normal file
View File

@@ -69,7 +69,6 @@ module.exports = {
children: [
'START',
'MODELS',
['BENIFITS', 'Benefits and drawbacks'],
]
},
@@ -98,7 +97,7 @@ module.exports = {
collapsable: false,
sidebarDepth: 1,
children: [
'MONTEREY-DROP',
['MONTEREY-DROP', 'macOS Monterey Support'],
]
},
{
@@ -113,6 +112,7 @@ module.exports = {
'UNINSTALL',
'ICNS',
'WINDOWS',
'UNIVERSALCONTROL',
]
},
{
@@ -130,6 +130,7 @@ module.exports = {
collapsable: false,
sidebarDepth: 1,
children: [
'ISSUES-HOLD',
'TESTED',
'TERMS',
'HOW',

View File

@@ -20,4 +20,6 @@ $accentColorDark = #30BCD5
$textColorDark = #ccc
$bodyBgColorDark = #2d3033
$sideBgColorDark = #363b40
$badgeTipColorDark = #023e52
$badgeTipColorDark = #023e52
$contentWidth = 900px

View File

@@ -12,6 +12,7 @@
* [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)
* [Black Boxes on HD3000 iGPUs](#black-boxes-on-hd3000-igpus)
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:
@@ -21,12 +22,14 @@ For those unfamiliar with what is considered a non-Metal GPU, see below chart:
::: details macOS GPU Chart
Metal is Apple's in-house graphics API that acts as a replacement for OpenGL/OpenCL, introduced in 2015. With the release of macOS Mojave, every system without a Metal-capable GPU was dropped.
| 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> |
| 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> |
@@ -159,8 +162,9 @@ However if your machine does not have the dGPU disabled via NVRAM, you'll experi
* 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`
4. If you still want to use the dGPU, run OpenCore Legacy Patcher and enable TS2 Acceleration from settings. Then root patch your Mac again
* TUI: `Patcher Settings -> Misc Settings -> TeraScale 2 Accel`
* GUI: `Patcher Settings -> Developer Settings -> Set TeraScale 2 Accel`
5. Either Reset NVRAM or set `gpu-power-prefs` to zeros to re-enable the dGPU
```sh
@@ -169,3 +173,15 @@ 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
```
## Black Boxes on HD3000 iGPUs
A somewhat strange issue on Intel HD3000-based Macs, on 3rd party displays sometimes UI elements may become black and unreadable. To resolve, select either the generic `Display` or `Display P3` Color Profiles in Display Settings.
* Mainly applicable for HDMI Displays, DVI and DisplayPort are generally unaffected
* If you're inside Setup Assistant, press `Cmd` + `Option` + `Control` + `T` to launch Terminal. From there, run `open /System/Applications/System\ Preferences.app`
| Default Color Profile | Display/Display P3 Profile |
| :--- | :--- |
| ![](../images/HD3000-Default-Colors.png) | ![](../images/HD3000-Display-Colors.png) |

View File

@@ -1,24 +0,0 @@
# 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

@@ -8,18 +8,26 @@ Reboot machine while holding `Option` to select the EFI Boot entry with the Open
![](../images/efi-boot.png)
Now that you've loaded OpenCore, now select Install macOS!:
Now that you've loaded OpenCore, now select Install macOS:
* This will be the OpenCore Picker
![](../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:
You will soon reach the installer screen! If you enabled verbose mode when building OCLP, a lot of text will run across the screen. From there it's just like any normal macOS install. For an example of how the boot process looks, see the following video:
* [OpenCore Legacy Patcher Boot Process](https://www.youtube.com/watch?v=AN3zsbQV_n4)
**MacBookPro11,3 Note**: When booting macOS Monterey, you'll need to boot into safe mode if acceleration patches are not installed yet. [Otherwise you'll hit a black screen due to missing Nvidia drivers.](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/522)
If your Mac is looping back into the beginning of the setup after the first reboot, turn it off, start it again and hold `Option`. This time select the option with a grey hard disk icon, it can say "macOS Installer" or the name you gave the disk during the installer process. Keep repeating this step after every reboot if necessary.
* Safe Mode can be started by holding Shift+Enter when selecting macOS Monterey in OCLP's Boot Menu.
![](../images/oclp-stuck-firstreboot.png)
::: warning
**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 entered 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

@@ -34,6 +34,10 @@ From there, you'll have a log on your desktop.
## Filing an issue with us
::: warning
Currently issues have been disabled due to [current events](ISSUES-HOLD.md). You can continue to receive support in the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN), where there are active members of the community available.
:::
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)

View File

@@ -1,7 +1,5 @@
# Download and build macOS Installers
* [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
@@ -28,7 +26,7 @@ For this example, we'll assume you'll need an installer. Selecting this option w
| :--- | :--- |
| ![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) |
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.
Since the patcher officially supports Big Sur and newer for patching, only those entires will be shown. For ourselves, we'll select 12.1 as that's the latest public release at the time of writing. This will download and install the macOS installer to your applications folder.
| Downloading the Installer | Requesting to install | Finished Installing |
| :--- | :--- | :--- |

17
docs/ISSUES-HOLD.md Normal file
View File

@@ -0,0 +1,17 @@
# The current hold on new issues and pull requests
As written with the release of OpenCore Legacy Patcher 0.4.3, and macOS 12.3:
> With today's macOS 12.3 release, I decided it would be best to release this build of OpenCore Legacy Patcher to ensure some important issues are resolved with today's release (namely Open/Save dialog problem introduced by Apple in the 12.3 Betas)
>
> As the situation develops back home with my family in Ukraine, I am unlikely to continue the development of OpenCore Legacy Patcher in the near future. At most, there may be potential PatcherSupportPkg updates from ASentientBot and the rest of the amazing non-Metal development team however otherwise development may potentially be taken over by others later on. Issues will continue to remain closed for the time being.
>
> With regards to the future of this project, this release should be treated as its last major release for the next couple of months. When WWDC2022 is presented, I hope my country will be in a calmer situation where we can tinker with Macs again peacefully.
>
> This is not a final goodbye for me with this project, just a round-about way to say I'll be returning someday. I want to give the biggest thank you's to the community and to the many amazing developers within it. OpenCore Legacy Patcher is not just my project, it's the cumulation of many people that are all responsible for where we are today.
>
> -- Mykola
If you encounter new issues with the patcher that do not have solutions easily available, our helpful community in the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN) can provide support in the meantime. You should still provide as much information as you can by [gathering debug logs](DEBUG.md) when you ask for help.
<!-- And from us developers, tinkerers, and dreamers in this little community, it's definitely a mutual thanks and welcome! crystall1nedev <3 -->

View File

@@ -23,9 +23,6 @@ Regarding OS support, see below:
| 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 |

View File

@@ -1,4 +1,4 @@
# macOS Monterey Support
![](../images/macos-monterey.png)
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.
@@ -15,8 +15,30 @@ With Monterey, Apple continues their their somewhat ruthless march of dropping I
* MacBookPro11,2
* MacBookPro11,3
::: details Model names
* iMac (21.5-inch, Mid 2014)
* iMac (Retina 5K, 27-inch, Late 2014)
* MacBook (Retina, 12-inch, Early 2015)
* MacBook Air (11-inch, Mid 2013)
* MacBook Air (13-inch, Mid 2013)
* MacBook Air (11-inch, Early 2014)
* MacBook Air (13-inch, Early 2014)
* MacBook Pro (Retina, 13-inch, Late 2013)
* MacBook Pro (Retina, 15-inch, Late 2013)
* MacBook Pro (Retina, 13-inch, Mid 2014)
* MacBook Pro (Retina, 15-inch, Mid 2014)
:::
All of these models now have support in OpenCore Legacy Patcher.
## Current Monterey Issues
### MacBookPro11,3 booting issue without Kepler acceleration
Due to the display being routed through the NVIDIA Kepler card and macOS being rendered on the Intel iGPU, users have been experiencing issues booting without post-install patches applied ([see here for more info](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/522).) Currently the only workaround is to install the patches in safe mode, by holding down `Shift+Enter` when you select macOS in the OCLP boot picker.
## Previously Broken Hardware
::: details iMac15,1 5K Display Output Issue (Resolved in 0.3.2 and newer)
@@ -120,6 +142,7 @@ By default these machines require root volume patches to gain graphics accelerat
* MacBookPro9,1
* MacBookPro10,1
* MacBookPro11,3
* iMac13,x
* iMac14,x
@@ -129,7 +152,7 @@ By default these machines require root volume patches to gain graphics accelerat
* Non-Metal GPUs no longer have working acceleration patches:
* Intel Ironlake and Sandy Bridge iGPUs
* Nvidia Tesla and Fermi GPUs
* 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):

View File

@@ -60,9 +60,9 @@ Below is a run down of the main logic OpenCore Legacy Patcher uses to gain nativ
* `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
* 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
* Reason: Disables internal GPU to fix sleep issues on upgraded iMacs
* Logic: Tricks macOS into thinking iGPU is a generic PCI device
* Models: iMac12,x with upgraded Metal GPUs
@@ -96,7 +96,7 @@ Below is a run down of the main logic OpenCore Legacy Patcher uses to gain nativ
### Kernel -> Quirks
* ThridPartyDrives
* ThirdPartyDrives
* Reason: Required to avoid Hibernation wake issues on 3rd party drives
* Logic: Patches AppleAHCIPort.kext into support
* Models: All models with standard SATA ports
@@ -114,7 +114,7 @@ Below is a run down of the main logic OpenCore Legacy Patcher uses to gain nativ
### NVRAM -> Add
* `-v debug=0x100`
* `-v keepsyms=1 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
@@ -135,6 +135,10 @@ Below is a run down of the main logic OpenCore Legacy Patcher uses to gain nativ
* Reason: Fixes DRM support on models with upgraded AMD Metal GPUs
* Logic: Adds args to NVRAM
* Models: Models with upgraded AMD Metal GPUs
* `-revasset`
* Reason: Enables Content Caching when using VMM spoofing
* Logic: Adds args to NVRAM
* Models: Any model using VMM spoofing
### UEFI -> ProtocolOverrides
@@ -165,6 +169,18 @@ Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into m
* 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
* BlueToolFixup
* Reason: Patches BlueTool to enable bluetooth functionality on Monterey
* Models: All models with pre-BCM94360 wireless cards or 3rd-party chipsets
* Bluetooth-Spoof
* Reason: Injects extra data into certain bluetooth chipsets for recognition by the system
* Models: Models with the BCM2070 or BCM2046 chipsets
* FeatureUnlock (Night Shift)
* Reason: Patches CoreBrightness.framework to enable Night Shift on unsupported models
* Models: 2011 or older
* FeatureUnlock (Sidecar/AirPlay)
* Reason: Patches SidecarCore.framework and AirPlaySupport.framework to enable Sidecar and AirPlay to Mac on unsupported models
* Models: All models with Metal capable GPUs
* RestrictEvents
* Reason: Disables memory errors on MacPro7,1
* Models: Mac Pros and Xserves
@@ -172,8 +188,8 @@ Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into m
### Ethernet
* nForceEthernet
* Reason: Inject old Nvidia Ethernet kext to resolve networking in Catalina and newer
* Models: 2010 and older Nvidia Ethernet require
* 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
@@ -194,7 +210,7 @@ Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into m
* 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
* Reason: Ensures telemetry.plugin doesn't run, required for SSE4,1 CPUs
* Models: Penryn CPUs
### Wifi
@@ -211,17 +227,14 @@ Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into m
### Misc
* AppleBackLightFixup
* Reason: Patch AppleBacklight for iMacs with Nvidia Metal GPU upgrades
* Models: iMac11,x, iMac12,x with upgraded Nvidia Metal GPUs
* 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
@@ -255,7 +268,7 @@ Applicable for BCM94328, BCM94322 and Atheros Wifi cards
:::
::: details Nvidia Kepler Graphics Acceleration Patches (12.0+)
::: details NVIDIA Kepler Graphics Acceleration Patches (12.0+)
### Extensions
@@ -316,7 +329,7 @@ Applicable for BCM94328, BCM94322 and Atheros Wifi cards
#### Dropped Acceleration Binaries
* Nvidia Binaries
* NVIDIA Binaries
* GeForceGA.bundle
* GeForceTesla.kext
* Skip IOFree Panic - Mojave+

View File

@@ -22,11 +22,12 @@ To do this, run the OpenCore Patcher and head to Patcher Settings:
| GUI Settings | TUI Settings
| :--- | :--- |
|![](../images/OCLP-GUI-Settings-ShowPicker.png) | ![](../images/settings.png) |
|![](../images/OCLP-GUI-Settings-ShowPicker.png) | ![](../images/OCLP-TUI-Settings.png) |
Here you can change different patcher settings, however the main interest is:
* Set ShowPicker Mode
* Show Boot Picker (GUI)
* Set ShowPicker Mode (TUI)
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.
@@ -40,7 +41,7 @@ Note: Machines with non-Metal GPUs cannot enable SIP in Big Sur either due to pa
| :--- | :--- | :--- |
| ![](../images/OCLP-GUI-Settings-SIP-Enabled.png) | ![](../images/OCLP-GUI-Settings-SIP-Root-Patch.png) | ![](../images/OCLP-GUI-Settings-SIP-Disabled.png) |
::: warning
:::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.
@@ -48,27 +49,52 @@ If you're unsure whether you should enable SIP, leave as-is. Systems where you h
## 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.
Post Install Volume Patches, sometimes also called root patches, are patches that have to be installed on disk for some older Macs to gain back functionality.
* 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
OCLP v0.4.4 and higher include an autopatcher, which will automatically root patch your system but **only if the USB install media was created within OCLP.**
::: details Note for Mac Pros when swapping a GPU from non-metal to Metal
If you finished installing Monterey with the original card installed (to see bootpicker for example) and swapped your GPU to a Metal supported one, you may notice that you're missing acceleration. To fix this, open OCLP and revert root patches to get your Metal-supported GPU work again.
Alternatively, you can remove "AutoPkg-Assets.pkg" from /Library/Packages on the USB drive before proceeding with the installation. To see the folder, enable hidden files with `Command` + `Shift` + `.`
:::
Users with OCLP v0.4.4 or higher will also be prompted to install these patches after macOS updates or whenever patches are not detected on the system. We recommend rebuilding OpenCore with the latest version of OCLP to take advantage of these new features.
In OCLP v0.4.5 a new indicator was added to help users to see if, when and on what version the system was root patched. Note that the "Available patches" section above this does not track the status and will always show the patches that are available, whether they're installed or not.
| Automatic install prompt in 0.4.4+ | Last patched status in 0.4.5+ |
| :--- | :--- |
| ![](../images/OCLP-GUI-root-patch-update.png) | ![](../images/OCLP-GUI-Root-Patch-Status.png) |
### Running Post Install patches manually
If you're using OCLP v0.4.3 or earlier, or need to run the patcher manually, you can do so with the app. There is no harm in trying to run the Patcher, as without compatible hardware nothing will be done. You can see below on whether your hardware needs root volume patching.
| Listing Patches | Patching Finished |
| :--- | :--- |
| ![](../images/OCLP-GUI-Root-Patching-List.png) | ![](../images/OCLP-GUI-Root-Patching-Finished.png) |
| ![](../images/OCLP-GUI-Root-Patch.png) | ![](../images/OCLP-GUI-Root-Patch-Finished.png) |
::: warning
:::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:
With OpenCore Legacy Patcher versions prior to v0.4.4, Root Patching requires a network connection by default to grab associated resources. If your system is having difficulties with wifi or ethernet, you can grab the newest release :
* [OpenCore Legacy Patcher releases](https://github.com/dortania/OpenCore-Legacy-Patcher/releases/latest)
:::
::: details Unsupported GPUs in macOS Big Sur
:::details Unsupported GPUs in macOS Big Sur
* Nvidia:
* NVIDIA:
* Tesla (8000 - 300 series)
* AMD:
* TeraScale (2000 - 6000 series)
@@ -78,9 +104,9 @@ Root Patching requires a network connection by default to grab associated resour
:::
::: details Unsupported GPUs in macOS Monterey
:::details Unsupported GPUs in macOS Monterey
* Nvidia:
* NVIDIA:
* Tesla (8000 - 300 series)
* Kepler (600 - 800 series)
* AMD:
@@ -92,7 +118,7 @@ Root Patching requires a network connection by default to grab associated resour
:::
::: details Unsupported Wireless Cards in macOS Monterey
:::details Unsupported Wireless Cards in macOS Monterey
* Broadcom:
* BCM94328

View File

@@ -11,10 +11,16 @@ meta:
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
details: Supporting System Integrity Protection(SIP), FileVault 2, .im4m Secure Boot and Vaulting. For many machines, you're just as secure as a supported Mac.
- title: Native OTA updates
details: Install updates the moment they come out just like on a supported Mac, and no more 12GB+ updates.
details: Install updates the moment they come out, with native System Preferences support, just like a supported Mac.
- title: Zero firmware patching
details: No need to patch APFS ROM support, all protocol upgrades are done in memory and never permanent.
details: Using the capabilities of the OpenCore boot manager, our protocol upgrades are done in memory and are never permanent.
- title: Supporting more hardware
details: New life is breathed into your decade-old graphics card or WiFi and bluetooth chipsets.
- title: The newest features
details: Unlock Sidecar, AirPlay to Mac, Night Shift, and Universal Control, even on natively supported models!
- title: A helpful community
details: Whether it's getting started or learning the specifics, you can always find answers with our amazing community of tinkerers, developers, and dreamers.
footer: Copyright © Dortania 2020-2022
---

View File

@@ -1,28 +1,13 @@
# What is OpenCore?
This is a sophisticated boot loader used to inject and patch data in memory, instead of on disk. This means we're able to get near-native experience on many unsupported Macs with Metal GPUs. This includes many of the long desired features of other patchers such as:
This is a sophisticated boot loader used to inject and patch data in memory, instead of on disk. This means we're able to get near-native experience on many unsupported Macs.
* 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
* We recommend viewing the [OpenCore Patcher Terminology Page](./TERMS.md) if you have questions
* For troubleshooting, join the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN) and see our [Troubleshooting Page](./TROUBLESHOOTING.md)
## How do I get started?
1. The first step of ensuring whether your model is support is checking here:
1. The first step of ensuring whether your model is supported is checking here:
* [Supported Models](./MODELS.md)

View File

@@ -2,122 +2,143 @@
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
::: details 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 |
| SMBIOS | Tested | Tester | Model | Version | Comment |
| :--- | :--- | :--- | :--- | :--- | :--- |
| MacBook4,1 | <span style="color:#30BCD5"> YES </span> | Mami | Stock | Unknown | Couldn't install due to broke USB support |
| MacBook5,1 | ^^ | air.man | ^^ | 0.0.19 | N/A |
| MacBook5,2 | ^^ | Finder352 | ^^ | ^^ | ^^ |
| MacBook6,1 | ^^ | Finder352 | ^^ | ^^ | ^^ |
| MacBook7,1 | ^^ | MykolaG | ^^ | ^^ | ^^ |
| ^^ | ^^ | Jazzzny | ^^ | ^^ | ^^ |
| ^^ | ^^ | AlexSakha67 | ^^ | 0.0.20 | ^^ |
| MacBook8,1 | <span style="color:red"> NO </span> | N/A | N/A | N/A | ^^ |
### 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 |
::: details MacBook Air
### MacBook Pro
| SMBIOS | Tested | Tester | Model | Version | Comment |
| :--- | :--- | :--- | :--- | :--- | :--- |
| MacBookAir2,1 | <span style="color:#30BCD5"> YES </span> | Bruno | Stock | 0.4.5 | Slow to the point of being unusable. |
| MacBookAir3,1 | ^^ | uvesten | Stock | 0.3.3 | N/A |
| MacBookAir3,2 | ^^ | houser42 | ^^ | Unknown | ^^ |
| MacBookAir4,1 | <span style="color:red"> NO </span> | N/A | N/A | N/A | ^^ |
| MacBookAir4,2 | <span style="color:#30BCD5"> YES </span> | bdwilson1907 | Stock | 0.3.1 | Intermittent keyboard backlight |
| MacBookAir5,1 | ^^ | Ausdauersportler | ^^ | 0.0.9 | N/A |
| ^^ | ^^ | webg3 | ^^ | Unknown | ^^ |
| MacBookAir5,2 | ^^ | Bab-droid | ^^ | 0.0.19 | ^^ |
| ^^ | ^^ | K-Hobert | ^^ | Unknown | ^^ |
| ^^ | ^^ | cboukouv | ^^ | 0.0.21 | ^^ |
| MacBookAir6,1 | <span style="color:red"> NO </span> | N/A | N/A | N/A | N/A |
| MacBookAir6,2 | ^^ | ^^ | ^^ | ^^ | ^^ |
| 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
::: details MacBook Pro
| 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 |
| SMBIOS | Tested | Tester | Model | Version | Comment |
| :--- | :--- | :--- | :--- | :--- | :--- |
| MacBookPro4,1 | <span style="color:#30BCD5"> YES </span> | cboukouv | Stock | 0.0.19 | N/A |
| MacBookPro5,1 | ^^ | GURU_Jasho#5736 | ^^ | 0.0.21 | ^^ |
| MacBookPro5,2 | ^^ | hvds | ^^ | ^^ | ^^ |
| MacBookPro5,3 | ^^ | kommtzeitkonrad | ^^ | 0.0.22 | ^^ |
| MacBookPro5,4 | <span style="color:red"> NO </span> | N/A | N/A | N/A | ^^ |
| MacBookPro5,5 | <span style="color:#30BCD5"> YES </span> | ASentientHedgehog | Stock | - | ^^ |
| ^^ | ^^ | ParaDoX1994 | Stock | 0.4.5 | Camera/Bluetooth not working (connector broken) |
| MacBookPro6,1 | <span style="color:red"> NO </span> | N/A | N/A | N/A | N/A |
| MacBookPro6,2 | <span style="color:#30BCD5"> YES </span> | Jakeluke | Stock | Unknown | dGPU broken |
| MacBookPro7,1 | ^^ | fussel132 | ^^ | 0.1.2 | N/A
| ^^ | ^^ | casey1234 | Upgraded | 0.3.3 | Upgraded SSD |
| MacBookPro8,1 | <span style="color:#30BCD5"> YES </span> | AvaQueen | Stock | 0.0.19 | N/A |
| MacBookPro8,1 | ^^ | charly-black | Upgraded | 0.3.1 | Upgraded BCM94331PCIEBT4CAX |
| MacBookPro8,2 | ^^ | air.man | Stock | 0.0.22 | dGPU disabled |
| ^^ | ^^ | cboukouv | ^^ | 0.0.19 | N/A |
| MacBookPro8,3 | ^^ | lulujyc | ^^ | 0.1.4 | dGPU disabled |
| MacBookPro9,1 | <span style="color:#30BCD5"> YES </span>| jbdamiano | Stock | 0.0.19 | N/A |
| ^^ | ^^ | dennes544 | ^^ | ^^ | ^^ |
| ^^ | ^^ | cgrazy | ^^ | ^^ | ^^ |
| ^^ | ^^ | LIPA85 | ^^ | ^^ | ^^ |
| MacBookPro9,2 | <span style="color:#30BCD5"> YES </span> | alexx17xx | ^^ | ^^ | ^^ |
| ^^ | ^^ | Arvxistanx | ^^ | ^^ | ^^ |
| ^^ | ^^ | CyberDroid1 | ^^ | 0.0.16 | ^^ |
| ^^ | ^^ | woefi | Upgraded | 0.0.13 | Upgraded BCM94331CAX |
| ^^ | ^^ | whgmkeller | Stock | 0.0.11 | N/A |
| ^^ | ^^ | vinaypundith | Unknown | 0.0.7 | ^^ |
| ^^ | ^^ | casey1234 | Upgraded | 0.3.3 | Upgraded RAM and SSD |
| ^^ | ^^ | crystall1nedev | Upgraded | 0.4.4 | ^^ |
| MacBookPro10,1 | <span style="color:#30BCD5"> YES </span> | traviswparker | Stock | 0.0.14 | N/A |
| ^^ | ^^ | il-rollino | Upgraded | 0.0.21 | Upgraded BCM94360CSAX |
| MacBookPro10,2 | ^^ | akidone | ^^ | 0.3.0 | ^^ |
| MacBookPro11,1 | <span style="color:#30BCD5"> YES </span> | ParaDoX1994 | Stock | 0.4.4 | N/A |
| MacBookPro11,2 | ^^ | casey1234 | ^^ | 0.3.3 | ^^ |
| MacBookPro11,3 | <span style="color:red"> NO </span> | N/A | N/A | N/A | N/A |
:::
### iMac
::: details Mac mini
| 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 |
| SMBIOS | Tested | Tester | Model | Version | Comment |
| :--- | :--- | :--- | :--- | :--- | :--- |
| Macmini3,1 | <span style="color:#30BCD5"> YES </span> | ASentientHedgehog | Stock | N/A | N/A |
| Macmini4,1 | <span style="color:#30BCD5"> YES </span> | Towster15#6369 | ^^ | 0.4.4 | Does not have internal SATA cable, booted and installed to SSD over USB 2.0 instead |
| ^^ | ^^ | MykolaG | ^^ | 0.4.5 | SD card reader possibly broken. |
| Macmini5,1 | <span style="color:#30BCD5"> YES </span> | MykolaG | ^^ | 0.4.5 | N/A |
| Macmini5,2 | ^^ | charly-black | ^^ | 0.3.1 | ^^ |
| ^^ | ^^ | MykolaG | ^^ | 0.4.5 | SD card reader possibly broken. |
| Macmini5,3 | <span style="color:red"> NO </span> | N/A | N/A | N/A | N/A |
| Macmini6,1 | <span style="color:#30BCD5"> YES </span> | cicofz | Stock | 0.0.21 | ^^ |
| ^^ | ^^ | Stig124 | ^^ | 0.0.19 | ^^ |
| ^^ | ^^ | mwidjaya | ^^ |0.0.18 | ^^ |
| ^^| ^^ | MykolaG | ^^ | 0.4.5 | ^^ |
| Macmini6,2 | ^^ | Shelbs | ^^ | 0.0.16 | ^^ |
| Macmini7,1 | <span style="color:#30BCD5"> YES </span> | MykolaG | ^^ | 0.4.5 | ^^ |
| Macmini8,1 | ^^ | ^^ | ^^ | 0.4.5 | ^^ |
:::
### Mac Pro
::: details iMac
| 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 |
| SMBIOS | Tested | Tester | Model | Version | Comment |
| :--- | :--- | :--- | :--- | :--- | :--- |
| iMac7,1 | <span style="color:#30BCD5"> YES </span> | lulujyc | Upgraded | 0.3.1 | Upgraded with BCM94352HMB <br><br> The USB 1.1 controller is unstable on Big Sur+, using USB hubs (forcing USB 2.0) can fix unrecognized keyboard/ mouse. |
| iMac8,1 | <span style="color:#30BCD5"> YES </span> | EduCovas | Stock | 0.0.21 | N/A |
| iMac9,1 | <span style="color:#30BCD5"> YES </span> | Allanrfox | ^^ | ^^ | ^^ |
| ^^ | ^^ | Jakeluke | ^^ | ^^ | ^^ |
| iMac10,1 | <span style="color:#30BCD5"> YES </span> | Ausdauersportler | Upgraded | Unknown | Upgraded with WX4150 |
| iMac11,1 | ^^ | internetzel | ^^ | ^^ | Upgraded RX580 mobile |
| iMac11,2 | ^^ | MykolaG | Stock | 0.0.21 | N/A |
| ^^ | ^^ | iMac-iPad | ^^ | ^^ | ^^ |
| ^^ | ^^ | vinaypundith | Unknown | 0.0.19 | ^^ |
| iMac11,3 | ^^ | Ausdauersportler | Upgraded | 0.0.21 | Upgraded with Polaris GPU and BCM943602CDP |
| iMac12,1 | <span style="color:#30BCD5"> YES </span> | shnockdu | ^^ | ^^ | Upgraded with Kepler GPU |
| ^^ | ^^ | StephN999 | ^^ | ^^ | Upgraded with WX4150 GPU and BCM94360CD |
| iMac12,2 | ^^ | Ausdauersportler | ^^ | ^^ | Upgraded with Polaris GPU and BCM943602CDP |
| iMac13,1 | <span style="color:#30BCD5"> YES </span> | alexx17xx | Stock | 0.0.19 | N/A |
| iMac13,2 | ^^ | Alain13 | ^^ | ^^ | ^^ |
| ^^ | ^^ | algernonpule | ^^ | ^^ | ^^ |
| iMac13,3 | <span style="color:red"> NO </span> | N/A | N/A | N/A | ^^ |
| iMac14,1 | <span style="color:#30BCD5"> YES </span> | woefi | Upgraded | 0.0.21 | Upgraded NVMe |
| ^^ | ^^ | mikeboss | Stock | 0.0.19 | N/A |
| iMac14,2 | ^^ | OKonnel | ^^ | 0.0.22 | ^^ |
| ^^ | ^^ | mibaxx | ^^ | 0.0.21 | ^^ |
| iMac14,3 | ^^ | StupeFied | ^^ | 0.4.5 | ^^ |
| iMac15,1 | <span style="color:#30BCD5"> YES </span> | JakubMazur | Upgraded | 0.4.1 | Upgraded RAM, Radeon R9 M295X and Quad-Core Intel Core i7 |
:::
::: details Mac Pro
| SMBIOS | Tested | Tester | Model | Version | Comment |
| :--- | :--- | :--- | :--- | :--- | :--- |
| MacPro3,1 | <span style="color:#30BCD5"> YES </span> | MykolaG | Upgraded | 0.1.6 | Upgraded RX 470 and BCM94360CD.<br/>Stock Bluetooth card removed. |
| ^^ | ^^ | christiann | ^^ | 0.0.21 | Upgraded RX 560 and BCM94322.<br/>Stock Bluetooth card removed. |
| ^^ | ^^ | gw463 | ^^ | 0.0.22 | Upgraded GTX 680 and BCM94360 |
| ^^ | ^^ | AlexSakha67 | ^^ | 0.0.20 | Upgraded R9 280 |
| ^^ | ^^ | nekton1 | ^^ | ^^ | Upgraded GTX 680 |
| ^^ | ^^ | Pri-est | Unknown | 0.0.9 | N/A |
| ^^ | ^^ | vinaypundith | Upgraded | 0.0.6 | Upgraded with GTX 680 and BCM94360CD. |
| ^^ | ^^ | ParaDoX1994 | ^^ | 0.4.4 | Upgraded with HD 7950.<br/>Stock Bluetooth card removed. |
| MacPro4,1 | <span style="color:#30BCD5"> YES </span> | vinaypundith | Unknown | 0.0.9 | N/A |
| MacPro5,1 | ^^ | woefi | Upgraded | 0.0.21 | Upgraded with RX 580. |
| ^^ | ^^ | Mabrouk Oscar | Unknown | ^^ | N/A |
| ^^ | ^^ | astuffedtiger | Flashed | 0.0.18 | MacPro4,1 flashed to 5,1 |
:::

View File

@@ -13,9 +13,10 @@ Here are some common errors users may experience while using this patcher:
* [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)
* [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 "Less than a minute remaining..."](#stuck-on-less-than-a-minute-remaining)
## Stuck on `This version of Mac OS X is not supported on this platform`
@@ -85,19 +86,17 @@ To work-around, we recommend users to manually connect using the "other" option
## 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.
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.
If you're using OCLP v0.4.4, you should have been prompted to install Root Volume patches after first boot from installation of macOS. If you need to do this manually, you can within our app. 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.
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
## 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.
@@ -107,7 +106,9 @@ If you're having troubles with DisplayPort output on Mac Pros, try enabling Mini
A semi-common popup some users face is the "Volume Hash Mismatch" error:
![](../images/Hash-Mismatch.png)
<p align="center">
<img src="../images/Hash-Mismatch.png">
</p>
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.
@@ -135,3 +136,9 @@ For those experiencing issues with USB 1.1 devices (such as mice, keyboards and
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
## Stuck on "Less than a minute remaining..."
A common area for systems to get "stuck", namely for units that are missing the `AES` CPU instruction/older mobile hardware. During this stange a lot of heavy cryptography is performed, which can make systems appear to be stuck when in reality they are working quite hard to finish up the installation.
Because this step can take a few hours or more depending on drive speeds, be patient at this stage and do not manually reboot your machine as this will break the installation and require you to reinstall. If you think your system has stalled, press the Caps Lock key. If the light turns on, your system is busy.

View File

@@ -4,12 +4,10 @@ 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/OC folder as well as the System folder
* You'll need to mount the drive's EFI partition, and delete the `EFI/OC` and `System` folders
* 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)
* [See here for an example on 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)
2. [Reset NVRAM](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.

227
docs/UNIVERSALCONTROL.md Normal file
View File

@@ -0,0 +1,227 @@
# Universal Control on unsupported Macs
Introduced in macOS 12 Monterey, Universal Control is a feature that allows a Mac to control other Macs and/or iPads, share input devices, and share files across them simultaneously. With OpenCore and FeatureUnlock, Universal Control can be unlocked for most unsupported Macs, so long as they meet the technical requirements.
* Note: Following page is primarily for hobbiests, no proper support is provided outside of Discord support (see bottom of page)
## Enabling Universal Control
If you meet all the requirements, in most cases you can go to Display Preferences and tick the Universal Control settings to enable it. If you're planning to use Universal Control with an iPad, make sure to enable Universal Control on the iPad as well.
| Display Preferences | Universal Control settings |
| :--- | :--- |
| ![](../images/UC-enable-1.png) | ![OCLP GUI Build Finished](../images/UC-enable-2.png) |
Most Macs 2011 and above should work out of the box. However, older Macs like 2008-2011 MacBook Pro's require upgrading to a newer Wi-Fi/Bluetooth card. More info in the [requirements section.](#requirements-for-universal-control)
Some Monterey-native models are blacklisted, check the [blacklisted models section](#blacklisted-models) for more info.
## Requirements for Universal Control
Technical requirements:
* Wi-Fi 4 (802.11n)
* Bluetooth 4.0
* macOS Monterey 12.4 or newer
* iPadOS 15.4 or newer (if applicable)
* OpenCore Legacy Patcher 0.4.3 or newer
Check the [table of models](#table-of-models) below whether you need to upgrade hardware and exactly what hardware is required to be changed based on the offending Macs. Refer for help on how to upgrade the Wi-Fi card on older 2008-2011 models on the Discord channel [#hardware](https://discord.gg/rqdPgH8xSN) if required.
Other requirements:
* All devices signed into the same iCloud account.
* Two Factor Authentication enabled with your Apple ID.
* Bluetooth and WiFi enabled, neither needs to be connected so long as they are enabled.
* Handoff turned on from iCloud settings.
* The devices in question to be in close proximity.
### Table of models
This table shows which models do and don't support Universal Control out of box (OOB) and what is required to gain support.
::: details MacBook
| SMBIOS | WiFi/BT version | UC OOB | Comment |
|------------|-----------------|------------|---------|
| MacBook4,1 | Wi-Fi 4 / BT 2.0 EDR | <span style="color:red"> NO </span> | Use the Mac Pro Wi-Fi upgrade kit to upgrade to BCM94360 |
| MacBook5,1 | ^^ | ^^ | ^^ |
| MacBook5,2 | WiFi 4 / BT 2.1 EDR | ^^ | ^^ |
| MacBook6,1 | ^^ | ^^ | Upgrade to BCM94360 |
| MacBook7,1 | ^^ | ^^ | ^^ |
| MacBook8,1 | WiFi 5 + BT 4.0 | <span style="color:#30BCD5"> YES </span> | Universal Control will work. |
:::
::: details MacBook Air
| SMBIOS | WiFi/BT version | UC OOB | Comment |
|--------|-----------------|------------|---------|
| MacBookAir2,1 | Wi-Fi 4 / BT 2.1 EDR | <span style="color:red"> NO </span> | Replace the card with BCM94360 and disconnect/disable the BT module. |
| MacBookAir3,1 | ^^ | ^^ | ^^ |
| MacBookAir3,2 | ^^ | ^^ | ^^ |
| MacBookAir4,1 | Wi-Fi 4 + BT 4.0 | <span style="color:#30BCD5"> YES </span> | Universal Control will work. |
| MacBookAir4,2 | ^^ | ^^ | ^^ |
| MacBookAir5,1 | ^^ | ^^ | ^^ |
| MacBookAir5,2 | ^^ | ^^ | ^^ |
| MacBookAir6,1 | Wi-Fi 5 + BT 4.0 | ^^ | ^^ |
| MacBookAir6,2 | ^^ | ^^ | ^^ |
| MacBookAir7,1 | ^^ | <span style="color:red"> NO </span> | Hardware supports UC. <br> [**Spoofing required.**](#blacklisted-models)|
| MacBookAir7,2 | ^^ | ^^ | ^^ |
:::
::: details MacBook Pro
| SMBIOS | WiFi/BT version | UC OOB | Comment |
|--------|-----------------|-------------|---------|
| MacBookPro4,1 | Wi-Fi 4 / BT 2.1 EDR | <span style="color:red"> NO </span> | Use the Mac Pro Wi-Fi upgrade kit to upgrade to BCM94360 |
| MacBookPro5,1 | ^^ | ^^ | Upgrading to BCM94331 requires some heavy case hardware modifications, so instead use a USB BT 4.0 dongle |
| MacBookPro5,2 | ^^ | ^^ | ^^ |
| MacBookPro5,3 | ^^ | ^^ | ^^ |
| MacBookPro5,4 | ^^ | ^^ | ^^ |
| MacBookPro5,5 | ^^ | ^^ | ^^ |
| MacBookPro6,1 | ^^ | ^^ | ^^ |
| MacBookPro6,2 | ^^ | ^^ | ^^ |
| MacBookPro7,1 | ^^ | ^^ | ^^ |
| MacBookPro8,1 | Wi-Fi 4 + BT 2.1 EDR | ^^ | Upgrade to BCM94331 |
| MacBookPro8,2 | ^^ | ^^ | ^^ |
| MacBookPro9,1 | Wi-Fi 4 + BT 4.0 | <span style="color:#30BCD5"> YES </span> | Universal Control will work. |
| MacBookPro9,2 | ^^ | ^^ | ^^ |
| MacBookPro10,1 | ^^ | ^^ | ^^ |
| MacBookPro10,2 | ^^ | ^^ | ^^ |
| MacBookPro11,1 | Wi-Fi 5 + BT 4.0 | ^^ | ^^ |
| MacBookPro11,2 | ^^ | ^^ | ^^ |
| MacBookPro11,3 | ^^ | ^^ | ^^ |
| MacBookPro11,4 | Wi-Fi 5 + BT 4.2 | <span style="color:red"> NO </span> | Hardware supports UC. <br> [**Spoofing required.**](#blacklisted-models) |
| MacBookPro11,5 | ^^ | ^^ | ^^ |
| MacBookPro12,1 | ^^ | ^^ | ^^ |
:::
:::details Mac mini
| SMBIOS | WiFi/BT version | UC OOB | Comment |
|--------|-----------------|------------|---------|
| Macmini3,1 | Wi-Fi 4 + BT 2.1 EDR | <span style="color:red"> NO </span> | Upgrade requires some heavy electrical and case modifications, so instead used a USB BT 4.0 dongle. |
| Macmini4,1 | ^^ | ^^ | Upgrade to BCM94360. |
| Macmini5,1 | Wi-Fi 4 + BT 4.0 | <span style="color:#30BCD5"> YES </span> | Universal Control will work. |
| Macmini5,2 | ^^ | ^^ | ^^ |
| Macmini5,3 | ^^ | ^^ | ^^ |
| Macmini6,1 | ^^ | ^^ | ^^ |
| Macmini6,2 | ^^ | ^^ | ^^ |
| Macmini7,1 | Wi-Fi 5 + BT 4.0 | <span style="color:red"> NO </span> | Hardware supports UC. <br> [**Spoofing required.**](#blacklisted-models) |
:::
:::details iMac
| SMBIOS | WiFi/BT version | UC OOB | Comment |
|----------|-----------------|------------|---------|
| iMac7,1 | Wi-Fi 4 + BT 2.0 EDR | <span style="color:red"> NO </span> | Use the Mac Pro Wi-Fi upgrade kit to upgrade to BCM94360 (soldering required for BT)
| iMac8,1 | ^^ | ^^ | ^^ |
| iMac9,1 | Wi-Fi 4 / BT 2.1 EDR | ^^ | ^^ |
| iMac10,1 | ^^ | ^^ | ^^ |
| iMac11,1 | ^^ | ^^ | ^^ |
| iMac11,2 | ^^ | ^^ | ^^ |
| iMac11,3 | ^^ | ^^ | ^^ |
| iMac12,1 | ^^ | ^^ | ^^ |
| iMac12,2 | ^^ | ^^ | ^^ |
| iMac13,1 | Wi-Fi 4 + BT 4.0 | <span style="color:#30BCD5"> YES </span> | Universal Control will work. |
| iMac13,2 | ^^ | ^^ | ^^ |
| iMac13,3 | ^^ | ^^ | ^^ |
| iMac14,1 | Wi-Fi 5 + BT 4.0 | ^^ | ^^ |
| iMac14,2 | ^^ | ^^ | ^^ |
| iMac14,3 | ^^ | ^^ | ^^ |
| iMac14,4 | ^^ | ^^ | ^^ |
| iMac15,1 | ^^ | ^^ | ^^ |
| iMac16,1 | Wi-Fi 5 + BT 4.2 | <span style="color:red"> NO </span> | Hardware supports UC. <br> [**Spoofing required.**](#blacklisted-models) |
| iMac16,2 | ^^ | ^^ | ^^ |
:::
:::details Mac Pro
| SMBIOS | WiFi/BT version | UC OOB | Comment |
|-----------|-----------------|---------|---------|
| MacPro3,1 | Wi-Fi 4 + BT 2.0 EDR | <span style="color:red"> NO </span> | Use the Mac Pro Wi-Fi upgrade kit to upgrade to BCM94360. |
| MacPro4,1 | Wi-Fi 4 + BT 2.1 EDR | ^^ | Use the Mac Pro Wi-Fi upgrade kit to upgrade to BCM94360 (soldering required for BT) |
| MacPro5,1 | ^^ | ^^ | ^^ |
| MacPro6,1 | Wi-Fi 5 + BT 4.0 | ^^ | Hardware supports UC. <br> [**Spoofing required.**](#blacklisted-models) |
* Note: Some older Mac Pro configurations may not have shipped with a WiFi card in the base model
:::
## Blacklisted models
The following models are blacklisted from using Universal Control by Apple:
- MacBookAir7,x - MacBook Air Early 2015 11" / 13"
- MacBookPro11,4 - MacBook Pro Mid 2015 15" (Intel Iris)
- MacBookPro11,5 - MacBook Pro Mid 2015 15" (dGPU)
- MacBookPro12,x - MacBook Pro Early 2015 13"
- iMac16,x - iMac Late 2015 21"
- Macmini7,x - Mac mini 2014
- MacPro6,x - Mac Pro Late 2013
The hardware in these models is capable but due to blacklisting, the only solution to use Universal Control on the models above is to spoof their SMBIOS. SMBIOS spoofing essentially fools some aspects of macOS to think they are running on a different machine.
With SMBIOS Spoofing, the Universal Control handshake recognizes a different SMBIOS and thus grants a blacklisted Mac to connect to other iPads and Macs with Universal Control.
| Situation | Condition | Solution |
|-----------|-----------|---------|
| Mac <-> Mac connection | Monterey-unsupported | No spoofing needed |
| Mac <-> iPad connection | Monterey-unsupported | No spoofing needed |
| Mac <-> Mac connection | One or both are blacklisted |Spoofing required on blacklisted Macs |
| Mac <-> iPad connection | Blacklisted Mac | Spoofing required on blacklisted Mac |
:::warning
Before we continue, please keep in mind SMBIOS Spoofing is an advanced feature of OpenCore, that with reckless usage of it, could potentially screw things around and leave your installation non-working. Once you boot into a spoofed state, it is highly recommended you stay spoofed, and avoid booting macOS without OpenCore.
:::
### How to spoof
Firstly, run the GUI version of OpenCore Legacy Patcher, go to **Settings** and tick **Allow native models**.
**Note:** Unless you are building OpenCore on a different machine than it's targeted for, **do not** change the model in this main settings view. It is important to understand that OCLP targets this model regardless of what you may have spoofed to, as your Mac is still what the Native SMBIOS shows.
Secondly, go to **SMBIOS Settings**, tick **Allow Native Spoofs**, set SMBIOS Spoof Level to **Moderate**. Set SMBIOS Spoof Model to **one next to your native model in the table for spoofed models below.**
::: details Table for spoofed models (click to expand)
Any model after the list of officially blacklisted Macs should be supported, but these are the earliest Macs with Universal Control support, and thus chosen for the sake of simplicity.
**Reminder:** Macs that are not listed on this table work without spoofing, including systems that do not natively support Monterey as long as the other requirements are met, since they aren't blacklisted.
| Mac by name | Native SMBIOS | Spoof SMBIOS | Tested | Tested by |
|-------------|---------------|--------------|--------|-----------|
| MacBook Air Early 2015 11" / 13" | MacBookAir7,x | MacBookAir8,1 | <span style="color:#30BCD5"> YES </span> | Hzlph |
| MacBook Pro Early 2015 13" | MacBookPro12,x | MacBookPro13,1 | ^^ | ^^ |
| MacBook Pro Mid 2015 15" | MacBookPro11,4 / 11,5 | MacBookPro13,3 | ^^ | ^^
| iMac Late 2015 21" | iMac16,x | iMac18,2 | ^^ | ^^
| Mac mini Late 2014 | Macmini7,x | MacMini8,1 | <span style="color:red"> NO </span> | N/A |
| Mac Pro Late 2013 | MacPro6,x | MacPro7,1 | <span style="color:#30BCD5"> YES </span> | Crystall1nedev |
:::
| Main Settings view | SMBIOS settings |
| :--- | :--- |
| ![](../images/OCLP-allow-native-models.png) | ![](../images/OCLP-smbios-settings.png) |
Build and install OpenCore again, reboot back to the OS. Enable Universal Control as explained in [Enabling Universal Control section.](#enabling-universal-control)
You should now be prompted to log back into iCloud by your Mac. This means you were successful, otherwise, verify you are correctly following the steps listed above, or else ask on the Discord group for assistance on [#misc-help](https://discord.gg/rqdPgH8xSN).

View File

@@ -1,10 +1,10 @@
# Updating OpenCore and Co
# Updating OpenCore and Patches
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.
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, e.g. Bluetooth has stopped working with a new macOS update.
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)
![](../images/OCLP-GUI-Main-Menu.png)
Then simply rebuild your OpenCore build and install again. Then voila, OpenCore is updated!

View File

@@ -65,6 +65,21 @@ The open terminal and run `rsync` on the USB drive (replace CCCOMA_X64 with the
rsync -r -P /Volumes/CCCOMA_X64/ /Volumes/W10USB
```
::: details If you get an error about install.wim
One of the files, `install.wim`, may be too big for the FAT32 file system to hold. If this is the case, you should enter the commands below rather than the one above. This assumes you have `wimlib` installed, if not you can install it with [Homebrew](https://brew.sh):
```
# Copy everything but the install.wim file
rsync -vha -P --exclude=sources/install.wim /Volumes/CCCOMA_X64/ /Volumes/W10USB
# Use wimlib to split the install.wim file into a size that fits
wimlib-imagex split /Volumes/CCCOMA_X64/sources/install.wim /Volumes/W10USB/sources/install.swm 4000
```
Once that's completed, you can continue.
:::
![](../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:
@@ -79,14 +94,34 @@ Once done, lets reboot into OpenCore's Menu and you'll see a new Windows' entry:
![](../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
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, or with [brigadier](https://github.com/timsutton/brigadier) in Windows.
![](../images/oc-windows-done.png)
## Troubleshooting
### "This version of Boot Camp is not intended for this computer model."
If you built OpenCore with Moderate or higher SMBIOS spoofing, you'll get an error when trying to install Boot Camp drivers. You can solve this by either rebuilding OpenCore with a lower spoof level, or running the installer from `Drivers/Apple/BootCamp.msi`.
| Setup.exe | BootCamp.msi |
| :--- | :--- |
| ![](../images/windows-bootcamp-error.png) | ![](../images/windows-bootcamp-msi.png) |
::: details BootCamp.msi quirks
If needed, you can run it from the command line as administrator:
```
set __COMPAT_LAYER=WIN7RTM && start \path\to\BootCamp\Drivers\Apple\Bootcamp.msi'
```
Make sure to substitute `\path\to` with the location of the BootCamp folder.
You can also open `Properties` on the file to change the compatibility to `Previous version of Windows` in case you have BootCamp 4.0 drivers (the above command does this already.)
:::
### 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)
Currently Intel's iGPU drivers for the HD 3000 series do not support UEFI booting in Windows. The recommended solution is to simply disable: [iMac 12,1 Windows 10 Boot Loop Fix Intel Graphics issue](https://zzq.org/?p=39)

15544
docs/package-lock.json generated

File diff suppressed because it is too large Load Diff

104
gui/gui_help.py Normal file
View File

@@ -0,0 +1,104 @@
import wx
import webbrowser
from resources import constants
from data import os_data
class gui_help_menu:
def __init__(self, versions, frame, frame_modal):
self.constants: constants.Constants = versions
self.frame = frame
self.frame_modal = frame_modal
# Define Window Size
self.WINDOW_WIDTH_MAIN = 300
def reset_frame_modal(self):
if not self.frame_modal:
self.frame_modal = wx.Dialog(self.frame)
else:
self.frame_modal.DestroyChildren()
self.frame_modal.Close()
if self.constants.detected_os >= os_data.os_data.big_sur:
self.frame_modal.ShowWithoutActivating()
def help_menu(self, event=None):
# Define Menu
# Header: Get help with OpenCore Legacy Patcher
# Subheader: Following resources are available:
# Button: Official Guide
# Button: Official Discord Server
self.reset_frame_modal()
self.frame_modal.SetSize((self.WINDOW_WIDTH_MAIN, -1))
# Header
self.header = wx.StaticText(self.frame_modal, label="Patcher Resources", pos=(10,10))
self.header.SetFont(wx.Font(18, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD))
self.header.Centre(wx.HORIZONTAL)
# Subheader
self.subheader = wx.StaticText(self.frame_modal, label="Following resources are available:")
self.subheader.SetFont(wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
self.subheader.SetPosition(
wx.Point(
self.header.GetPosition().x,
self.header.GetPosition().y + self.header.GetSize().height + 5
)
)
self.subheader.Centre(wx.HORIZONTAL)
# Official Guide
self.guide = wx.Button(self.frame_modal, label="Official Guide", size=(200,30))
self.guide.SetPosition(
wx.Point(
self.subheader.GetPosition().x,
self.subheader.GetPosition().y + self.subheader.GetSize().height + 5
)
)
self.guide.Bind(wx.EVT_BUTTON, lambda event: webbrowser.open(self.constants.guide_link))
self.guide.Centre(wx.HORIZONTAL)
# Official Discord Server
self.discord = wx.Button(self.frame_modal, label="Official Discord Server", size=(200,30))
self.discord.SetPosition(
wx.Point(
self.guide.GetPosition().x,
self.guide.GetPosition().y + self.guide.GetSize().height
)
)
self.discord.Bind(wx.EVT_BUTTON, lambda event: webbrowser.open(self.constants.discord_link))
self.discord.Centre(wx.HORIZONTAL)
# Overclock Button
self.overclock = wx.Button(self.frame_modal, label="Official Support Phone", size=(200,30))
self.overclock.SetPosition(
wx.Point(
self.discord.GetPosition().x,
self.discord.GetPosition().y + self.discord.GetSize().height
)
)
self.overclock.Bind(wx.EVT_BUTTON, lambda event: webbrowser.open("https://www.youtube.com/watch?v=dQw4w9WgXcQ"))
self.overclock.Centre(wx.HORIZONTAL)
self.return_to_main = wx.Button(self.frame_modal, label="Return to Main Menu", size=(150,30))
self.return_to_main.SetPosition(
wx.Point(
self.overclock.GetPosition().x,
self.overclock.GetPosition().y + self.overclock.GetSize().height + 5
)
)
self.return_to_main.Bind(wx.EVT_BUTTON, lambda event: self.frame_modal.Close())
self.return_to_main.Centre(wx.HORIZONTAL)
# Set Window Size to below Copyright Label
self.frame_modal.SetSize(
(
-1,
self.return_to_main.GetPosition().y + self.return_to_main.GetSize().height + 40
)
)
self.frame_modal.ShowWindowModal()

File diff suppressed because it is too large Load Diff

View File

@@ -11,10 +11,10 @@ class RedirectText(object):
wx.GetApp().Yield()
if self.sleep:
time.sleep(0.01)
def fileno(self):
return 1
def flush(self):
pass
@@ -28,7 +28,7 @@ class RedirectLabel(object):
self.out.Centre(wx.HORIZONTAL)
wx.GetApp().Yield()
time.sleep(0.01)
def flush(self):
pass

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 213 KiB

After

Width:  |  Height:  |  Size: 210 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

After

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 424 KiB

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 923 KiB

After

Width:  |  Height:  |  Size: 506 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 916 KiB

After

Width:  |  Height:  |  Size: 496 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 893 KiB

After

Width:  |  Height:  |  Size: 499 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 495 KiB

After

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 309 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

BIN
images/UC-enable-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 KiB

BIN
images/UC-enable-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 KiB

BIN
images/macos-monterey.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 332 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 292 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 569 KiB

BIN
images/windows-bootcamp-error.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
images/windows-bootcamp-msi.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View File

@@ -1203,6 +1203,78 @@
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>AutoPkgInstaller.kext</string>
<key>Comment</key>
<string>Chainload OpenCore-Patcher installation</string>
<key>Enabled</key>
<false/>
<key>ExecutablePath</key>
<string>Contents/MacOS/AutoPkgInstaller</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>20.0.0</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>NoAVXFSCompressionTypeZlib.kext</string>
<key>Comment</key>
<string>Work-around 12.4+ Zlib kernel panic</string>
<key>Enabled</key>
<false/>
<key>ExecutablePath</key>
<string>Contents/MacOS/NoAVXFSCompressionTypeZlib</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>21.5.0</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>AppleUSBMultitouch.kext</string>
<key>Comment</key>
<string>Trackpad support for 13.0+</string>
<key>Enabled</key>
<false/>
<key>ExecutablePath</key>
<string>Contents/MacOS/AppleUSBMultitouch</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>22.0.0</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>AppleUSBTopCase.kext</string>
<key>Comment</key>
<string>Trackpad support for 13.0+</string>
<key>Enabled</key>
<false/>
<key>ExecutablePath</key>
<string>Contents/MacOS/AppleUSBTopCase</string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>22.0.0</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
</array>
<key>Block</key>
<array/>
@@ -1504,6 +1576,8 @@
<false/>
<key>AppleXcpmForceBoost</key>
<false/>
<key>CustomPciSerialDevice</key>
<false/>
<key>CustomSMBIOSGuid</key>
<false/>
<key>DisableIoMapper</key>
@@ -1516,6 +1590,8 @@
<false/>
<key>ExternalDiskIcons</key>
<false/>
<key>ForceAquantiaEthernet</key>
<false/>
<key>ForceSecureBootScheme</key>
<false/>
<key>IncreasePciBarSize</key>
@@ -1594,8 +1670,8 @@
<integer>0</integer>
<key>DisplayLevel</key>
<integer>2147483650</integer>
<key>SerialInit</key>
<false/>
<key>LogModules</key>
<string>*</string>
<key>SysReport</key>
<false/>
<key>Target</key>
@@ -1636,6 +1712,40 @@
<key>Vault</key>
<string>Optional</string>
</dict>
<key>Serial</key>
<dict>
<key>Custom</key>
<dict>
<key>BaudRate</key>
<integer>115200</integer>
<key>ClockRate</key>
<integer>1843200</integer>
<key>DetectCable</key>
<false/>
<key>ExtendedTxFifoSize</key>
<integer>64</integer>
<key>FifoControl</key>
<integer>7</integer>
<key>LineControl</key>
<integer>3</integer>
<key>PciDeviceInfo</key>
<data>/w==</data>
<key>RegisterAccessWidth</key>
<integer>8</integer>
<key>RegisterBase</key>
<integer>1016</integer>
<key>RegisterStride</key>
<integer>1</integer>
<key>UseHardwareFlowControl</key>
<false/>
<key>UseMmio</key>
<false/>
</dict>
<key>Init</key>
<false/>
<key>Override</key>
<false/>
</dict>
<key>Tools</key>
<array>
<dict>
@@ -1715,7 +1825,10 @@
<key>4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102</key>
<array>
<string>OCLP-Version</string>
<string>OCLP-Model</string>
<string>OCLP-Settings</string>
<string>OCLP-Spoofed-SN</string>
<string>OCLP-Spoofed-MLB</string>
<string>revcpu</string>
<string>revcpuname</string>
</array>

View File

@@ -0,0 +1,876 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PACKAGES</key>
<array>
<dict>
<key>MUST-CLOSE-APPLICATION-ITEMS</key>
<array/>
<key>MUST-CLOSE-APPLICATIONS</key>
<false/>
<key>PACKAGE_FILES</key>
<dict>
<key>DEFAULT_INSTALL_LOCATION</key>
<string>/</string>
<key>HIERARCHY</key>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Applications</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>509</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>BUNDLE_CAN_DOWNGRADE</key>
<false/>
<key>BUNDLE_POSTINSTALL_PATH</key>
<dict>
<key>PATH_TYPE</key>
<integer>0</integer>
</dict>
<key>BUNDLE_PREINSTALL_PATH</key>
<dict>
<key>PATH_TYPE</key>
<integer>0</integer>
</dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>../../dist/OpenCore-Patcher.app</string>
<key>PATH_TYPE</key>
<integer>1</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>3</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Dortania</string>
<key>PATH_TYPE</key>
<integer>2</integer>
<key>PERMISSIONS</key>
<integer>509</integer>
<key>TYPE</key>
<integer>2</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Application Support</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Automator</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Documentation</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Extensions</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Filesystems</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Frameworks</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Input Methods</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Internet Plug-Ins</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Keyboard Layouts</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>../com.dortania.opencore-legacy-patcher.auto-patch.plist</string>
<key>PATH_TYPE</key>
<integer>1</integer>
<key>PERMISSIONS</key>
<integer>420</integer>
<key>TYPE</key>
<integer>3</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>LaunchAgents</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>LaunchDaemons</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>PreferencePanes</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Preferences</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Printers</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>PrivilegedHelperTools</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>1005</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>QuickLook</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>QuickTime</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Screen Savers</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Scripts</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Services</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Widgets</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Library</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>Shared</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>1023</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>80</integer>
<key>PATH</key>
<string>Users</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
</array>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>/</string>
<key>PATH_TYPE</key>
<integer>0</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>1</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<key>PAYLOAD_TYPE</key>
<integer>0</integer>
<key>PRESERVE_EXTENDED_ATTRIBUTES</key>
<false/>
<key>SHOW_INVISIBLE</key>
<false/>
<key>SPLIT_FORKS</key>
<true/>
<key>TREAT_MISSING_FILES_AS_WARNING</key>
<false/>
<key>VERSION</key>
<integer>5</integer>
</dict>
<key>PACKAGE_SCRIPTS</key>
<dict>
<key>POSTINSTALL_PATH</key>
<dict>
<key>PATH</key>
<string>postinstall.sh</string>
<key>PATH_TYPE</key>
<integer>1</integer>
</dict>
<key>PREINSTALL_PATH</key>
<dict>
<key>PATH</key>
<string>preinstall.sh</string>
<key>PATH_TYPE</key>
<integer>1</integer>
</dict>
<key>RESOURCES</key>
<array/>
</dict>
<key>PACKAGE_SETTINGS</key>
<dict>
<key>AUTHENTICATION</key>
<integer>1</integer>
<key>CONCLUSION_ACTION</key>
<integer>0</integer>
<key>FOLLOW_SYMBOLIC_LINKS</key>
<false/>
<key>IDENTIFIER</key>
<string>com.dortania.pkg.AutoPkg-Assets</string>
<key>LOCATION</key>
<integer>0</integer>
<key>NAME</key>
<string>AutoPkg-Assets</string>
<key>OVERWRITE_PERMISSIONS</key>
<false/>
<key>PAYLOAD_SIZE</key>
<integer>-1</integer>
<key>REFERENCE_PATH</key>
<string></string>
<key>RELOCATABLE</key>
<false/>
<key>USE_HFS+_COMPRESSION</key>
<false/>
<key>VERSION</key>
<string>1.0</string>
</dict>
<key>TYPE</key>
<integer>0</integer>
<key>UUID</key>
<string>4312D78E-7981-41F2-A0E9-5C7E11AC61C5</string>
</dict>
</array>
<key>PROJECT</key>
<dict>
<key>PROJECT_COMMENTS</key>
<dict>
<key>NOTES</key>
<data>
</data>
</dict>
<key>PROJECT_PRESENTATION</key>
<dict>
<key>BACKGROUND</key>
<dict>
<key>APPAREANCES</key>
<dict>
<key>DARK_AQUA</key>
<dict/>
<key>LIGHT_AQUA</key>
<dict/>
</dict>
<key>SHARED_SETTINGS_FOR_ALL_APPAREANCES</key>
<true/>
</dict>
<key>INSTALLATION_STEPS</key>
<array>
<dict>
<key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
<string>ICPresentationViewIntroductionController</string>
<key>INSTALLER_PLUGIN</key>
<string>Introduction</string>
<key>LIST_TITLE_KEY</key>
<string>InstallerSectionTitle</string>
</dict>
<dict>
<key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
<string>ICPresentationViewReadMeController</string>
<key>INSTALLER_PLUGIN</key>
<string>ReadMe</string>
<key>LIST_TITLE_KEY</key>
<string>InstallerSectionTitle</string>
</dict>
<dict>
<key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
<string>ICPresentationViewLicenseController</string>
<key>INSTALLER_PLUGIN</key>
<string>License</string>
<key>LIST_TITLE_KEY</key>
<string>InstallerSectionTitle</string>
</dict>
<dict>
<key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
<string>ICPresentationViewDestinationSelectController</string>
<key>INSTALLER_PLUGIN</key>
<string>TargetSelect</string>
<key>LIST_TITLE_KEY</key>
<string>InstallerSectionTitle</string>
</dict>
<dict>
<key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
<string>ICPresentationViewInstallationTypeController</string>
<key>INSTALLER_PLUGIN</key>
<string>PackageSelection</string>
<key>LIST_TITLE_KEY</key>
<string>InstallerSectionTitle</string>
</dict>
<dict>
<key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
<string>ICPresentationViewInstallationController</string>
<key>INSTALLER_PLUGIN</key>
<string>Install</string>
<key>LIST_TITLE_KEY</key>
<string>InstallerSectionTitle</string>
</dict>
<dict>
<key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
<string>ICPresentationViewSummaryController</string>
<key>INSTALLER_PLUGIN</key>
<string>Summary</string>
<key>LIST_TITLE_KEY</key>
<string>InstallerSectionTitle</string>
</dict>
</array>
<key>INTRODUCTION</key>
<dict>
<key>LOCALIZATIONS</key>
<array/>
</dict>
<key>LICENSE</key>
<dict>
<key>LOCALIZATIONS</key>
<array/>
<key>MODE</key>
<integer>0</integer>
</dict>
<key>README</key>
<dict>
<key>LOCALIZATIONS</key>
<array/>
</dict>
<key>TITLE</key>
<dict>
<key>LOCALIZATIONS</key>
<array>
<dict>
<key>LANGUAGE</key>
<string>English</string>
<key>VALUE</key>
<string>AutoPkg-Assets</string>
</dict>
</array>
</dict>
</dict>
<key>PROJECT_REQUIREMENTS</key>
<dict>
<key>LIST</key>
<array/>
<key>RESOURCES</key>
<array/>
<key>ROOT_VOLUME_ONLY</key>
<true/>
</dict>
<key>PROJECT_SETTINGS</key>
<dict>
<key>BUILD_FORMAT</key>
<integer>0</integer>
<key>BUILD_PATH</key>
<dict>
<key>PATH</key>
<string>../../dist</string>
<key>PATH_TYPE</key>
<integer>1</integer>
</dict>
<key>EXCLUDED_FILES</key>
<array>
<dict>
<key>PATTERNS_ARRAY</key>
<array>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>.DS_Store</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
</array>
<key>PROTECTED</key>
<true/>
<key>PROXY_NAME</key>
<string>Remove .DS_Store files</string>
<key>PROXY_TOOLTIP</key>
<string>Remove ".DS_Store" files created by the Finder.</string>
<key>STATE</key>
<true/>
</dict>
<dict>
<key>PATTERNS_ARRAY</key>
<array>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>.pbdevelopment</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
</array>
<key>PROTECTED</key>
<true/>
<key>PROXY_NAME</key>
<string>Remove .pbdevelopment files</string>
<key>PROXY_TOOLTIP</key>
<string>Remove ".pbdevelopment" files created by ProjectBuilder or Xcode.</string>
<key>STATE</key>
<true/>
</dict>
<dict>
<key>PATTERNS_ARRAY</key>
<array>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>CVS</string>
<key>TYPE</key>
<integer>1</integer>
</dict>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>.cvsignore</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>.cvspass</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>.svn</string>
<key>TYPE</key>
<integer>1</integer>
</dict>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>.git</string>
<key>TYPE</key>
<integer>1</integer>
</dict>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>.gitignore</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
</array>
<key>PROTECTED</key>
<true/>
<key>PROXY_NAME</key>
<string>Remove SCM metadata</string>
<key>PROXY_TOOLTIP</key>
<string>Remove helper files and folders used by the CVS, SVN or Git Source Code Management systems.</string>
<key>STATE</key>
<true/>
</dict>
<dict>
<key>PATTERNS_ARRAY</key>
<array>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>classes.nib</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>designable.db</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>info.nib</string>
<key>TYPE</key>
<integer>0</integer>
</dict>
</array>
<key>PROTECTED</key>
<true/>
<key>PROXY_NAME</key>
<string>Optimize nib files</string>
<key>PROXY_TOOLTIP</key>
<string>Remove "classes.nib", "info.nib" and "designable.nib" files within .nib bundles.</string>
<key>STATE</key>
<true/>
</dict>
<dict>
<key>PATTERNS_ARRAY</key>
<array>
<dict>
<key>REGULAR_EXPRESSION</key>
<false/>
<key>STRING</key>
<string>Resources Disabled</string>
<key>TYPE</key>
<integer>1</integer>
</dict>
</array>
<key>PROTECTED</key>
<true/>
<key>PROXY_NAME</key>
<string>Remove Resources Disabled folders</string>
<key>PROXY_TOOLTIP</key>
<string>Remove "Resources Disabled" folders.</string>
<key>STATE</key>
<true/>
</dict>
<dict>
<key>SEPARATOR</key>
<true/>
</dict>
</array>
<key>NAME</key>
<string>AutoPkg-Assets</string>
<key>PAYLOAD_ONLY</key>
<false/>
<key>TREAT_MISSING_PRESENTATION_DOCUMENTS_AS_WARNING</key>
<false/>
</dict>
</dict>
<key>TYPE</key>
<integer>0</integer>
<key>VERSION</key>
<integer>2</integer>
</dict>
</plist>

View File

@@ -0,0 +1,6 @@
#!/bin/sh
app_path="/Library/Application Support/Dortania/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher"
args="--patch_sys_vol"
"$app_path" "$args" &> "/Users/Shared/.OCLP-AutoPatcher-Log-$(date +"%Y_%m_%d_%I_%M_%p").txt"
log show --last boot > "/Users/Shared/.OCLP-System-Log-$(date +"%Y_%m_%d_%I_%M_%p").txt"
reboot

View File

@@ -0,0 +1,12 @@
#!/bin/sh
app_path="/Library/Application Support/Dortania/OpenCore-Patcher.app"
launch_agent_path="/Library/LaunchAgents/com.dortania.opencore-legacy-patcher.auto-patch.plist"
if [ -d "$app_path" ]; then
echo "Found OpenCore-Patcher.app, removing..."
rm -rf "$app_path"
fi
if [ -f "$launch_agent_path" ]; then
echo "Found launch agent, removing..."
rm -f "$launch_agent_path"
fi

View File

@@ -0,0 +1,40 @@
diff --git a/BrcmPatchRAM/BlueToolFixup.cpp b/BrcmPatchRAM/BlueToolFixup.cpp
index a6e3c69..5e8a424 100644
--- a/BrcmPatchRAM/BlueToolFixup.cpp
+++ b/BrcmPatchRAM/BlueToolFixup.cpp
@@ -48,6 +48,27 @@ bool BlueToolFixup::start(IOService *provider) {
static const uint8_t kSkipUpdateFilePathOriginal[] = "/etc/bluetool/SkipBluetoothAutomaticFirmwareUpdate";
static const uint8_t kSkipUpdateFilePathPatched[] = "/System/Library/CoreServices/boot.efi";
+
+// Workaround 12.4 Beta 3+ bug where macOS may detect the Bluetooth chipset twice
+// Once as internal, and second as an external dongle:
+// 'ERROR -- Third Party Dongle has the same address as the internal module'
+// Applicable for BCM2046 and BCM2070 chipsets (BT2.1)
+static const uint8_t kSkipAddressCheckOriginal[] =
+{
+ 0x48, 0x89, 0xF3, // mov rbx, rsi
+ 0xE8, 0xE3, 0xF3, 0xFE, 0xFF, // call sub_1000c5bc6
+ 0x85, 0xC0, // test eax, eax
+ 0x74, 0x1D, // je loc_1000d6804
+};
+
+static const uint8_t kSkipAddressCheckPatched[] =
+{
+ 0x48, 0x89, 0xF3, // mov rbx, rsi
+ 0xE8, 0xE3, 0xF3, 0xFE, 0xFF, // call sub_1000c5bc6
+ 0x85, 0xC0, // test eax, eax
+ 0x72, 0x1D, // jb short loc_1000d6804
+};
+
static const uint8_t kVendorCheckOriginal[] =
{
0x81, 0xFA, // cmp edx
@@ -131,6 +152,7 @@ static void patched_cs_validate_page(vnode_t vp, memory_object_t pager, memory_o
}
else if (strcmp(path + dirLength, "bluetoothd") == 0) {
searchAndPatch(data, PAGE_SIZE, path, kVendorCheckOriginal, kVendorCheckPatched);
+ searchAndPatch(data, PAGE_SIZE, path, kSkipAddressCheckOriginal, kSkipAddressCheckPatched);
searchAndPatch(data, PAGE_SIZE, path, kBadChipsetCheckOriginal, kBadChipsetCheckPatched);
if (shouldPatchBoardId)
searchAndPatch(data, PAGE_SIZE, path, boardIdsWithUSBBluetooth[0], kBoardIdSize, BaseDeviceInfo::get().boardIdentifier, kBoardIdSize);

Binary file not shown.

Binary file not shown.

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