Compare commits

...

2176 Commits
0.2.1 ... 1.0.0

Author SHA1 Message Date
Mykola Grymalyuk
be4ef6a7f2 CI: Add Sonoma validation to PSP bins 2023-10-02 09:17:07 -06:00
Mykola Grymalyuk
a24570de05 Sync PatcherSupportPkg 2023-10-02 09:14:48 -06:00
Mykola Grymalyuk
fb85c42c52 constants.py: Fix path handling with DMG mounting 2023-10-01 15:31:21 -06:00
Mykola Grymalyuk
c6bef2d8aa Sync changelog
0.9.5 was reverted, and as such OpenLegacyBoot.efi is not present currently
2023-10-01 14:53:36 -06:00
Mykola Grymalyuk
7dc80475c3 Increment build to 1.0.0
Switch to semeantic versioning
2023-10-01 14:19:00 -06:00
Mykola Grymalyuk
404e855443 Merge pull request #1077 from dortania/sonoma-development
Preliminary support for macOS Sonoma
2023-10-01 14:17:12 -06:00
Mykola Grymalyuk
5683fedd25 Merge branch 'main' into sonoma-development 2023-10-01 14:16:35 -06:00
Mykola Grymalyuk
2fc21e6f07 Fix debug logic 2023-09-28 09:43:29 -06:00
Mykola Grymalyuk
8db6085ed1 Revert to OpenCore 0.9.3
Due to regression on Skylake and newer systems, currently investigating
2023-09-28 08:36:01 -06:00
Mykola Grymalyuk
ca4fd2286f Sync RestrictEvents 2023-09-27 09:07:52 -06:00
Mykola Grymalyuk
df6ca71124 Merge pull request #1104 from Jazzzny/readme-update
GUI - Refresh Download UI
2023-09-26 19:50:04 -06:00
Jazzzny
3fb624fc7d Changes 2023-09-26 21:30:02 -04:00
Jazzzny
89e36d762b Changes 2023-09-26 21:24:16 -04:00
Mykola Grymalyuk
f24a7f4229 smbios_data.py: Remove extra space 2023-09-26 18:50:47 -06:00
Mykola Grymalyuk
55b3641965 Sync changelog 2023-09-26 18:49:43 -06:00
Mykola Grymalyuk
8baca06246 Sync OpenCorePkg 2023-09-26 18:34:35 -06:00
Mykola Grymalyuk
f7b160f449 Sync kexts 2023-09-26 14:27:41 -06:00
Mykola Grymalyuk
fc65423ee2 sys_patch: Add missing Xserve3,1 handling 2023-09-26 10:24:41 -06:00
Mykola Grymalyuk
8c25110568 sys_patch: Adjust WebKit command to global file 2023-09-26 07:48:16 -06:00
Mykola Grymalyuk
dad8d1224a Add basic support for 3rd party Broadcom chipsets
Not officially supported as never shipped in any official Mac, however adding to simplify non-standard hardware support (ex. Hackintoshes)
2023-09-26 07:32:08 -06:00
Mykola Grymalyuk
ed78b5632c config: Fix comment 2023-09-26 07:29:05 -06:00
Jazzzny
6bb274638e Improve consistency for menu buttons 2023-09-25 20:31:24 -04:00
Jazzzny
bb78f59b9d Update CHANGELOG 2023-09-24 21:32:45 -04:00
Jazzzny
0c960438f2 Merge branch 'dortania:main' into readme-update 2023-09-24 20:41:42 -04:00
Jazzzny
c1849c0d28 Refresh download menu 2023-09-24 20:41:22 -04:00
Mykola Grymalyuk
e62335cae5 Merge branch 'main' into sonoma-development 2023-09-24 13:22:49 -06:00
Jazzzny
b4644f4b80 Merge pull request #1102 from Jazzzny/readme-update
Readme update
2023-09-24 15:08:17 -04:00
Jazzzny
1d22ea51b4 Clean up 2023-09-24 15:06:33 -04:00
Jazzzny
241fe052aa Update credits 2023-09-24 15:05:37 -04:00
Eduardo Covas
51eb22bc94 Fix WPA Enterprise and non-Metal blank WebKit on TS2/WebDriver
NOTE: Need to revert and re-run post install patches for WPA enterprise networks.
2023-09-23 15:11:50 -03:00
Jazzzny
084ee663b2 Merge pull request #1101 from Jazzzny/gui-2
Add missing Aquantia IDs
2023-09-21 20:32:19 -04:00
Jazzzny
1fb46d0d76 Remove white line 2023-09-21 20:32:00 -04:00
Jazzzny
1faa8055ab Add missing Aquantia IDs 2023-09-21 20:31:31 -04:00
Dhinak G
b50f376990 Remove submodule 2023-09-18 13:33:56 -04:00
Dhinak G
13ffc64ce6 Update changelog 2023-09-18 13:32:31 -04:00
Dhinak G
9676c2c08a Centralize font handling
closes #1098

Co-authored-by: Jazzzny <jazzzny225@gmail.com>
2023-09-18 12:05:27 -04:00
Mykola Grymalyuk
9317e11009 build.py: Add ECM-Override 2023-09-17 18:26:41 -06:00
Jazzzny
211e8fbb71 Merge pull request #1100 from Jazzzny/bestmacever
Adjust spacing for new installer download menu
2023-09-17 20:19:07 -04:00
Jazzzny
f2bfb7c479 Adjust spacing 2023-09-17 20:18:24 -04:00
Mykola Grymalyuk
35722875ee sys_patch: Resolve dGPU support for MacBookPro14,3 2023-09-17 17:15:26 -06:00
Mykola Grymalyuk
86a9789b18 Merge branch 'main' into sonoma-development 2023-09-17 12:46:17 -06:00
Mykola Grymalyuk
18c49d0902 Merge pull request #1099 from dortania/server-update-311
Server Side: Update backend to Python 3.11 and add Universal 2 support
2023-09-17 12:45:17 -06:00
Mykola Grymalyuk
f7ec0ddf21 Add Universal 2 support 2023-09-17 12:25:13 -06:00
Mykola Grymalyuk
c2d26b4903 Upgrade Python backend to 3.11 2023-09-17 12:07:02 -06:00
Eduardo Covas
cf7a553f0b Fix non-Metal PhotoBooth 2023-09-13 00:07:59 -03:00
Eduardo Covas
434dedb815 Update non-Metal Safari workaround and avoid disabling Beta Menu Bar if enabled 2023-09-11 21:08:19 -03:00
Eduardo Covas
214e31e8e3 Implement experimental non-Metal support 2023-09-09 23:06:29 -03:00
Jazzzny
ed63f12f2b Merge pull request #1097 from Jazzzny/bestmacever
Fix Rosetta detection
2023-09-08 11:29:16 -04:00
Jazzzny
91417bf75d better fix 2023-08-26 19:06:50 -04:00
Jazzzny
be62a3f7db Merge branch 'dortania:main' into bestmacever 2023-08-26 19:00:44 -04:00
Jazzzny
f5b467c4fb Fix Rosetta detection 2023-08-26 19:00:16 -04:00
Eduardo Covas
fd17caf03d Update IOSurface patches for Intel iGPUs 2023-08-22 23:36:27 -03:00
Mykola Grymalyuk
37862961df Merge branch 'main' into sonoma-development 2023-08-20 19:46:25 -06:00
Eduardo Covas
c05238875f Workaround 13.3+ Kernel Panic on AMD GCN GPUs playing DRM content 2023-08-20 19:17:59 -03:00
Jazzzny
60f4182184 Merge pull request #1096 from Jazzzny/bestmacever
Remove double space and random character
2023-08-20 16:15:54 -04:00
Jazzzny
526c009866 Merge branch 'dortania:main' into bestmacever 2023-08-20 16:13:34 -04:00
Jazzzny
55b76aff9a Remove double space and character 2023-08-20 16:13:08 -04:00
Jazzzny
e6f44a902a Merge pull request #1095 from Jazzzny/bestmacever
Update MacBook5,2
2023-08-20 16:10:52 -04:00
Jazzzny
26e69d0084 Update 2023-08-20 16:08:59 -04:00
Mykola Grymalyuk
9cfe1a493c Merge pull request #1093 from crystall1nedev/modelsmd
Rework MODELS.md
2023-08-20 14:01:37 -06:00
Mykola Grymalyuk
b4e0c79d13 Merge pull request #1092 from crystall1nedev/main
Add NVIDIA GPU IDs
2023-08-20 14:01:24 -06:00
Eva Luna
e2440a075e 10.10 Yosemite 2023-08-20 15:58:47 -04:00
Eva Luna
59c5393bc4 Fix MacPro6,1 notes 2023-08-20 15:57:35 -04:00
Mykola Grymalyuk
685491d0ba Merge pull request #1085 from TechEnthusiasm/main
Small change to Uninstall.MD
2023-08-20 13:52:53 -06:00
Mykola Grymalyuk
0f64b8b2d9 Merge pull request #1094 from Jazzzny/menu-rewrites
Add new macOS Installer download menu
2023-08-20 13:48:36 -06:00
Eduardo Covas
e800612bcf Ensure patched GeForce kext is used for Sonoma
**WARNING: users with Nvidia Kepler GPUs to revert root patches before patching.
2023-08-20 16:21:38 -03:00
Jazzzny
ae1d73eac1 Update CHANGELOG 2023-08-18 14:34:03 -04:00
Jazzzny
fab6daae5e Move locale setting to only run once 2023-08-18 14:17:43 -04:00
Jazzzny
cc68e098eb Clean up 2023-08-18 14:15:17 -04:00
Jazzzny
b95bd4e357 Rewrite for HiDPI and enable Locale-based time 2023-08-18 14:14:06 -04:00
Eduardo Covas
36f69c4f21 Restore KDKLess support and drop IOSurface downgrade
**WARNING: this change will break existing installs, you'll need to revert root patches before patching.
2023-08-18 14:28:08 -03:00
Eduardo Covas
829f1f6bc1 Fix legacy wifi without vmm patches
Resolves missing ControlCenter
2023-08-18 14:14:15 -03:00
Mykola Grymalyuk
d73d62f68c Ensure custom RE is used
Build from force-vmm-install branch
2023-08-18 10:42:25 -06:00
Mykola Grymalyuk
5b6b8d6e1a Merge branch 'main' into sonoma-development
# Conflicts:
#	payloads/Kexts/Acidanthera/RestrictEvents-v1.1.2-DEBUG.zip
#	payloads/Kexts/Acidanthera/RestrictEvents-v1.1.2-RELEASE.zip
#	payloads/Kexts/Acidanthera/WhateverGreen-v1.6.5-Navi-DEBUG.zip
#	payloads/Kexts/Acidanthera/WhateverGreen-v1.6.5-Navi-RELEASE.zip
#	payloads/OpenCore/OpenCore-DEBUG.zip
#	payloads/OpenCore/OpenCore-RELEASE.zip
#	resources/constants.py
#	resources/wx_gui/gui_settings.py
2023-08-18 10:36:42 -06:00
Jazzzny
01b0bc4c67 Add new installer menu 2023-08-17 12:55:01 -04:00
Eva Luna
5537340c87 Fix MacBook5,2’s unique note 2023-08-14 13:58:32 -04:00
Eva Luna
eda96d0f93 Move MXM note to iMac9,1
Some iMac9,1s can be upgraded with Metal GPUs, as told by Ausdauersportler. The same thread should detail how to upgrade compatible iMac9,1 models.
2023-08-14 04:21:15 -04:00
Eva Luna
65a11b30d7 Rework MODELS.md 2023-08-14 01:09:35 -04:00
Eva Luna
5f5d5daebf Kepler [GK208]
Three unnamed GPUs
2023-08-14 00:47:32 -04:00
Eva Luna
226a59e9c1 Kepler [GK110]
- GTX 780 Ti 6GB
- Tesla K20X
- Tesla K40st
- Tesla K40s
- Tesla K40t
- Tesla K40d
- Tesla Stella Solo
- Quadro K6000
- Tesla Stella SXM
2023-08-14 00:45:26 -04:00
Eva Luna
840f47d861 Kepler [GK107]
- GT 1030 (faked 730?)
- GT 730
- GT 640M LE
- Two unknown cards
- GT 745M
- K340 USM
- GRID K1 NVS USM
- GRID K100 vGPU
- N14P-GS
- 710A
- 820M
- GRID K340
- NVS 1000
- GRID K1 Tesla USM
- GRID K140Q vGPU
- Quadro K500M
2023-08-14 00:36:28 -04:00
Eva Luna
c5adf1eeea Kepler [GK106]
- 650 Ti OEM
- 645 OEM
- 740
- 750 Ti
- 650 OEM
- 770M
- 760M
- Unnamed
2023-08-14 00:21:15 -04:00
Eva Luna
70b4381003 Kepler [GK104]
- 760 Ti
- GRID K520
- K2 GeForce USM
- K2 NVS USM
- K200 vGPU
- 760 Rev. 2
- 760 Ti OEM
- Tesla K8
- 660 Rev. 2
- Quadro K5100M
- GRID IceCube
- GRID K240Q / K240Q vGPU
- GRID K2 Tesla USM

Also remove "GeForce" if GTX follows, for consistency
2023-08-14 00:15:25 -04:00
Eva Luna
2a315b7a57 Maxwell [GP100]
The three unknown ones
2023-08-13 23:52:13 -04:00
Eva Luna
e8b4e3dfdf Maxwell [GM200(GL)]
- 980 Ti
- Quadro M6000
- Quadro M6000 24GB
- Tesla M40
2023-08-13 23:50:27 -04:00
Eva Luna
c5dd7ec6c9 Maxwell [GM107, 940MX] 2023-08-13 23:48:02 -04:00
Eva Luna
3aed0438fc Maxwell [GM107GL, GRID M3-3020] 2023-08-13 23:46:04 -04:00
Eva Luna
58314caed4 Maxwell [GM108M, MX110]
Also make sure this is grouped properly
2023-08-13 23:44:09 -04:00
Eva Luna
bd8c6b4d9f Maxwell [GM108M, MX130] 2023-08-13 23:42:51 -04:00
Eva Luna
7134e30640 Add Maxwell core TITAN X 2023-08-13 23:21:23 -04:00
Mykola Grymalyuk
e8ee2a2657 Merge pull request #1088 from Jazzzny/devtools
Developer - Add buttons to mount and save the root volume
2023-08-08 20:37:05 -06:00
Mykola Grymalyuk
c9a14e242d misc.py: Disable T1 patches temporarily 2023-08-01 13:24:41 -06:00
Mykola Grymalyuk
69f4bbc7a6 Build: Add handling for ARM64 Python 2023-08-01 13:24:02 -06:00
Mykola Grymalyuk
5ecd453c75 storage.py: Streamline S1X/S3X logic 2023-08-01 12:29:57 -06:00
Mykola Grymalyuk
d7eebbe171 Swap injection order 2023-07-31 19:49:03 -06:00
Mykola Grymalyuk
1038be303b build: Add basic T1 patches
Restore basic communication from stripped KernelRelayHost logic
2023-07-31 18:31:30 -06:00
Mykola Grymalyuk
d12b39bd98 Update BlueToolFixup to rolling 2023-07-29 18:06:53 -06:00
Jazzzny
d6161481ef Add returns to comply with comment 2023-07-28 21:26:28 -04:00
Jazzzny
2455cb1233 Update imports 2023-07-28 21:23:20 -04:00
Jazzzny
d2312e3cce Add workaround for unmount 2023-07-28 21:18:12 -04:00
Jazzzny
3ff6f68236 Update 2023-07-28 21:14:25 -04:00
Jazzzny
8b0625eb41 change wording 2023-07-28 20:58:35 -04:00
Jazzzny
97a86fcd92 Add developer patcher 2023-07-28 20:52:18 -04:00
Mykola Grymalyuk
9631cc48bd Sync binaries 2023-07-27 15:29:08 -06:00
Mykola Grymalyuk
84a3341788 Merge branch 'main' into sonoma-development 2023-07-26 13:54:41 -06:00
Mykola Grymalyuk
d547ecdcf0 Increment build 2023-07-26 13:53:50 -06:00
Mykola Grymalyuk
e0fd78c7af sys_patch_detect.py: Adjust OS check from mainline merge 2023-07-26 13:53:21 -06:00
Mykola Grymalyuk
87f412b469 Merge branch 'main' into sonoma-development 2023-07-26 10:58:30 -06:00
Mykola Grymalyuk
12395acc12 sys_patch_detect.py: Adjust OS gate check 2023-07-26 08:39:58 -06:00
Mykola Grymalyuk
64854ef567 Sync changelog 2023-07-26 08:18:58 -06:00
Dhinak G
43be00e9e7 Add AMFIPass (#1051) 2023-07-26 08:29:46 -04:00
Mykola Grymalyuk
aa1739c1d6 Sync Photo Booth pathing 2023-07-25 21:59:46 -06:00
Mykola Grymalyuk
4cb7ce3f12 Merge branch 'main' of https://github.com/dortania/OpenCore-Legacy-Patcher 2023-07-25 21:06:25 -06:00
Mykola Grymalyuk
5df3cca616 Avoid GVA downgrade on Skylake hosts 2023-07-25 21:05:23 -06:00
Mykola Grymalyuk
6003d6c457 Merge branch 'main' into sonoma-development 2023-07-24 12:19:56 -06:00
Mykola Grymalyuk
20d04d307d sys_patch: Add CoreImage patch for 3802
Resolves Preview and QuickLook support on Sonoma
2023-07-24 08:53:01 -06:00
Mykola Grymalyuk
24a1e35f54 sys_patch.py: Increase AMFI check for WiFi patches in Sonoma 2023-07-24 08:22:54 -06:00
Mykola Grymalyuk
ef4983d907 sys_patch_detect.py: Fix any() invocation 2023-07-23 20:37:29 -06:00
Dhinak G
ec56e8a8d2 Docs: Fill in license placeholders and update wording (#1087) 2023-07-23 21:06:43 -04:00
Mykola Grymalyuk
423bf8f20c sys_patch_detect.py: Fix KDKless logic for Sonoma 2023-07-23 15:29:36 -06:00
Mykola Grymalyuk
55e6aeaf0a Add macOS Sonoma public preview 2023-07-23 12:57:35 -06:00
Mykola Grymalyuk
509137f519 sys_patch_detect.py: Adjust FaceTime patch naming 2023-07-23 11:06:51 -06:00
Mykola Grymalyuk
169ea95dc4 defaults.py: Adjust logic for modern wifi 2023-07-23 11:05:04 -06:00
Mykola Grymalyuk
e21efa975c sys_patch: Clean up patch set logic 2023-07-22 12:40:38 -06:00
Mykola Grymalyuk
b9bd01750c sys_patch_dict.py: Fix pathing 2023-07-17 18:34:19 -06:00
Mykola Grymalyuk
7691184ca2 sys_patch: Add PCIe Webcam support 2023-07-17 18:05:33 -06:00
Dhinak G
2bba8f474a device_probe.py: Add multiple class code support 2023-07-17 18:53:03 -04:00
Dhinak G
a5bb29142f device_probe.py: Add in Apple's NVMe class code (part 3) 2023-07-17 18:23:44 -04:00
Dhinak G
74857b1d16 device_probe.py: Fix NVMe handling (part 2) 2023-07-17 17:51:02 -04:00
Mykola Grymalyuk
c19cbd9f41 device_probe.py: Match NVMe off class code 2023-07-17 15:32:39 -06:00
TechEnthusiasm
b6630b685a Another reword 2023-07-17 19:29:26 +01:00
Mykola Grymalyuk
b01adb9c10 Merge branch 'sonoma-development' of https://github.com/dortania/OpenCore-Legacy-Patcher into sonoma-development 2023-07-17 12:26:05 -06:00
Mykola Grymalyuk
44c2f9cbd4 Resolve CI validation errors 2023-07-17 12:25:36 -06:00
Mykola Grymalyuk
e0d16b2d28 Merge branch 'main' into sonoma-development 2023-07-17 12:10:44 -06:00
TechEnthusiasm
4f9ce33912 Reword slightly 2023-07-17 19:07:01 +01:00
Mykola Grymalyuk
9b3bf07494 wireless.py: Ensure IO80211 patches apply on BCM94331/3224 chipsets 2023-07-17 11:10:51 -06:00
Mykola Grymalyuk
4982edef33 Sync PatcherSupportPkg 2023-07-17 09:30:42 -06:00
Jazzzny
da98b5b37f Merge pull request #1084 from Jazzzny/aquantia-update
Update Aquantia Patch
2023-07-17 09:07:18 -04:00
Jazzzny
538c5daf70 Push updated Aquantia patch 2023-07-17 09:01:54 -04:00
Mykola Grymalyuk
549bf1686b sys_patch: Implement backend for 3802 support 2023-07-16 22:44:58 -06:00
Mykola Grymalyuk
f3c3c83140 Merge branch 'main' into sonoma-development 2023-07-16 21:43:06 -06:00
Mykola Grymalyuk
d0ef81946c Merge branch 'main' of https://github.com/dortania/OpenCore-Legacy-Patcher
# Conflicts:
#	CHANGELOG.md
2023-07-16 20:26:49 -06:00
Mykola Grymalyuk
bf1d61879a sys_patch_dict.py: Resolve Vega regression 2023-07-16 20:25:41 -06:00
Mykola Grymalyuk
e3fa2e857f misc.py: Ensure spoofed models with SBM get access to VMM 2023-07-16 13:26:04 -06:00
Jazzzny
52d43eb72d Merge pull request #1083 from Jazzzny/docs-image-update
DOCS - Update images
2023-07-15 15:05:22 -04:00
Jazzzny
da412e9084 Add more images 2023-07-15 14:10:50 -04:00
Jazzzny
df8cf69513 Update images 2023-07-15 13:20:19 -04:00
Mykola Grymalyuk
de94fed243 Merge pull request #1082 from Jazzzny/aquantia-fixup
Enhancement - Restore Aquantia Aqtion 10GBe Ethernet cards on Pre-VT-d systems running 12.3 and newer
2023-07-14 10:22:42 -06:00
Jazzzny
2647a3267d Add SMBIOS check 2023-07-14 12:04:04 -04:00
Jazzzny
645c089270 Update credits 2023-07-14 11:40:10 -04:00
Jazzzny
d7540fdd5b Add Aquantia 2023-07-14 11:36:02 -04:00
neon ball
41ef1cefd8 Update permission FAQ for 13.3+ (#1081) 2023-07-11 14:34:20 -04:00
Jazzzny
4e4ebe25e7 Remove MacBook4,1 SMBIOS (#1080) 2023-07-11 14:08:50 -04:00
Jazzzny
d60dd4c9df Merge pull request #1079 from Jazzzny/docs-update
DOCS - Minor update for the documentation
2023-06-30 18:00:13 -04:00
Jazzzny
8a4c1b93ac Update docs 2023-06-29 10:23:04 -04:00
Mykola Grymalyuk
9a4883771a build: Add mediaanalysisd configuration 2023-06-26 16:22:56 -06:00
Mykola Grymalyuk
38bea6a666 utilites.py: Fix array index 2023-06-25 09:18:43 -06:00
Dhinak G
128c922851 Merge pull request #1078 from Jazzzny/topcase-probe 2023-06-24 16:29:34 -04:00
Jazzzny
78545422c0 Fix 2023-06-24 12:56:06 -04:00
Jazzzny
c476f8e937 Requested changes 2023-06-24 12:44:29 -04:00
Jazzzny
62cb8edd88 Update CHANGELOG 2023-06-24 10:57:07 -04:00
Jazzzny
2905f88c91 Update CHANGELOG 2023-06-24 10:56:38 -04:00
Jazzzny
090167efb2 Update CHANGELOG 2023-06-24 10:56:27 -04:00
Jazzzny
5f3437c88e Fix 2023-06-24 10:52:01 -04:00
Jazzzny
8884897dff Add probing for topcase 2023-06-24 10:22:32 -04:00
Mykola Grymalyuk
138214fd8c debice_probe.py: Add IOUSBDevice parsing 2023-06-22 22:09:18 -06:00
Mykola Grymalyuk
f973817819 device_probe.py: Expand NVMe detection to 0x106b Device IDs 2023-06-22 20:02:45 -06:00
Mykola Grymalyuk
c3e0765aae build: Restore S1X/S3X Drive Support for 14.0 Beta 2
Applicable for MacBook8,1-10,1, MacBookPro13,1/14,1:
- APPLE SSD AP0128H, AP0256H, etc
- APPLE SSD AP0128J, AP0256J, etc
2023-06-22 19:25:52 -06:00
Mykola Grymalyuk
3a50a602e0 Sync resources 2023-06-18 14:04:14 -06:00
Mykola Grymalyuk
8487eab010 Merge branch 'main' into sonoma-development 2023-06-18 14:02:24 -06:00
Mykola Grymalyuk
15a4217fb6 Merge branch 'main' of https://github.com/dortania/OpenCore-Legacy-Patcher 2023-06-18 13:58:56 -06:00
Mykola Grymalyuk
b5b9b3ffbe sys_patch.py: Drop ColorSync downgrade 2023-06-18 13:58:51 -06:00
Mykola Grymalyuk
8ac64ff9c0 Sync binaries 2023-06-13 09:06:59 -06:00
Mykola Grymalyuk
e754a7d06f sys_patch_start.py: Remove unused import 2023-06-13 08:38:27 -06:00
Mykola Grymalyuk
b3f6607768 Strip Content Cache references
Setting no longer required with new RestrictEvents setup
2023-06-13 08:38:00 -06:00
Dhinak G
b85256d970 Create FUNDING.yml 2023-06-12 18:53:37 -04:00
Mykola Grymalyuk
b92daff30e GUI: Adjust default selection to latest non-Beta 2023-06-11 12:55:59 -06:00
Mykola Grymalyuk
abdac48f83 payloads: Add Sonoma icons to boot picker 2023-06-11 09:43:08 -06:00
Mykola Grymalyuk
c9fae32eb6 Sync sys_patch 2023-06-10 19:15:45 -06:00
Mykola Grymalyuk
a762d7efe8 sys_patch: Sync dev tools 2023-06-10 10:23:14 -06:00
Mykola Grymalyuk
c044e8acc9 Sync RestrictEvents
Reference: e5c52564f5
2023-06-10 09:59:26 -06:00
Mykola Grymalyuk
f2cc423c31 reroute_payloads.py: Adjust message 2023-06-10 09:59:02 -06:00
Mykola Grymalyuk
218507b8a7 build: Test RE kern.hv_vmm_present routing 2023-06-09 23:00:31 -06:00
Mykola Grymalyuk
e29895830c sys_patch_detect.py: Drop root KC check 2023-06-09 16:45:31 -06:00
Mykola Grymalyuk
249c2ed98e Merge pull request #1075 from Jazzzny/docs-adjustments
DOCS - Minor docs adjustments
2023-06-09 07:55:52 -07:00
Mykola Grymalyuk
e5a260b74b sys_patch: Disable QC for testing 2023-06-08 18:31:14 -06:00
Mykola Grymalyuk
5e45ea92bc Sync dev disk image 2023-06-08 15:52:23 -06:00
Mykola Grymalyuk
6020eae937 Add patching utility for internal developers 2023-06-08 15:44:41 -06:00
Mykola Grymalyuk
0dbffc5a3e Merge branch 'main' into sonoma-development 2023-06-08 10:48:47 -06:00
Mykola Grymalyuk
aa994a97aa GUI: Avoid using print 2023-06-08 10:48:38 -06:00
Mykola Grymalyuk
233ded0924 Merge branch 'main' into sonoma-development 2023-06-08 10:19:03 -06:00
Mykola Grymalyuk
5d4a9b7ec7 gui_main_menu.py: Add logging 2023-06-08 09:58:18 -06:00
Mykola Grymalyuk
dccc39633b gui_update.py: Work-around users manually moving app
Oversight from original update system, users were not expected to manually move the app to `/Applications`. This will ensure that there will always be a symlink instead
2023-06-08 09:56:01 -06:00
Mykola Grymalyuk
985e053e90 sys_patch: Avoid listing Modern Wifi patch
Binaries are currently not public, however patcher may confuse some users that it added support
2023-06-08 09:27:14 -06:00
Mykola Grymalyuk
9a483181a1 sys_patch_generate.py: Add support reference for 31001 2023-06-07 12:12:22 -06:00
Mykola Grymalyuk
d762b37851 sys_patch_dict.py: Add extra comment 2023-06-06 14:44:01 -06:00
Mykola Grymalyuk
e531d30c3c sys_patch_dict.py: Add legacy wifi patch comment 2023-06-06 14:24:55 -06:00
Mykola Grymalyuk
ca8e1a7bf0 sys_patch.py: Add reference patch set for Broadcom 2023-06-06 13:03:28 -06:00
Mykola Grymalyuk
31a29e0b3e config: Limit NVMeFix to Ventura 2023-06-06 10:13:52 -06:00
Mykola Grymalyuk
1126a49dc5 Merge branch 'main' into sonoma-development 2023-06-06 09:11:18 -06:00
Mykola Grymalyuk
40160b644b Docs: Remove contact due to abuse 2023-06-06 09:07:33 -06:00
Mykola Grymalyuk
0fce7adad1 payloads: sync AGPM njector with new units 2023-06-06 08:10:57 -06:00
Mykola Grymalyuk
8976496e52 Add dropped models 2023-06-06 08:01:03 -06:00
Mykola Grymalyuk
077b9f67b2 sys_patch: Add reference notes for 31001 2023-06-06 07:48:33 -06:00
Mykola Grymalyuk
8f8778f0f6 build.py: Set beta flag for development 2023-06-05 19:37:11 -06:00
Mykola Grymalyuk
adcceb0c10 firmware.py: Fix MacPro6,1 boot support in Sonoma 2023-06-05 19:36:32 -06:00
Mykola Grymalyuk
4d970cd6f2 os_data.py: Add macOS Sonoma enum
Well it’s the time of year again, time to get cracking
2023-06-05 19:35:00 -06:00
Mykola Grymalyuk
d4a64b8f1a smbios_data.py: Add Marketing Names
Pulled from querying About this Mac’s API
2023-06-04 15:40:59 -06:00
Mykola Grymalyuk
3f2f1e89c9 macos_installer_handler.py: Publish supported models 2023-06-04 13:36:49 -06:00
Mykola Grymalyuk
54fcbde01e cpu_data.py: Adjust enums 2023-06-04 13:36:33 -06:00
Jazzzny
ed00afbc43 Adjust wording 2023-06-04 15:18:26 -04:00
Jazzzny
7ef4d03d85 Add info 2023-06-04 15:16:44 -04:00
Jazzzny
09838449a0 Minor docs adjustments 2023-06-04 13:59:49 -04:00
Eduardo Covas
b5db385cd4 Sync PatcherSupportPkg 2023-06-03 15:02:04 -03:00
Mykola Grymalyuk
c51f283125 Increment build 2023-06-02 14:13:52 -06:00
Mykola Grymalyuk
cada66a6b5 Add safe guards for logging 2023-06-02 12:11:32 -06:00
Mykola Grymalyuk
1ef98e0a4b Avoid logging wxPython bugs 2023-06-02 09:46:28 -06:00
Mykola Grymalyuk
4b3f7b837e Merge branch 'main' of https://github.com/dortania/OpenCore-Legacy-Patcher 2023-06-02 08:38:27 -06:00
Mykola Grymalyuk
17443b4fbf logging: Add milliseconds to log file name 2023-06-02 08:38:17 -06:00
Dhinak G
557f0a1bd9 Merge pull request #1074 from TechEnthusiasm/OCLP-debug-image
Oclp debug image
2023-06-02 10:15:16 -04:00
TechEnthusiasm
77bb25b3a5 Update DEBUG.md 2023-06-02 14:56:11 +01:00
TechEnthusiasm
6a48038696 Add files via upload 2023-06-02 09:49:55 -04:00
Mykola Grymalyuk
e6251da97a Add safe guards for macOS 14 2023-06-01 18:39:22 -06:00
Dhinak G
7239730c44 sys_patch_auto.py: Skip malformed kext plists
Anything with `GPUCompanionBundles` should have a proper plist
2023-05-31 11:49:38 -04:00
Mykola Grymalyuk
980e102675 GUI: Add pulse for unknown total size 2023-05-30 19:20:46 -06:00
Mykola Grymalyuk
dd66bca395 Merge branch 'main' of https://github.com/dortania/OpenCore-Legacy-Patcher 2023-05-30 15:43:02 -06:00
Mykola Grymalyuk
831495923a Support crash logging in CLI code 2023-05-30 15:42:17 -06:00
Mykola Grymalyuk
c9882f84bc Merge pull request #1073 from Jazzzny/blurbeta-workaround
Quality of Life - Add workaround for MenuBar2 crashing after patching
2023-05-30 13:47:01 -07:00
Mykola Grymalyuk
4110f7a553 Merge branch 'main' into blurbeta-workaround 2023-05-30 13:46:54 -07:00
Jazzzny
e99de2360a Update 2023-05-30 16:42:59 -04:00
Jazzzny
41ce771c33 Update CHANGELOG 2023-05-30 16:42:22 -04:00
Jazzzny
c0f951411a Change to global .plist file 2023-05-30 16:32:41 -04:00
Mykola Grymalyuk
47be068aaf analytics_handler.py: Adjust commit info sent 2023-05-30 14:23:34 -06:00
Mykola Grymalyuk
49f6a62926 Add “Reveal Log File” button to menubar 2023-05-30 14:18:07 -06:00
Mykola Grymalyuk
1cf0e3d363 Merge pull request #1070 from dortania/logging-rework
Unify logging format
2023-05-30 12:28:16 -07:00
Mykola Grymalyuk
739c488698 GUI: Disable Pulse() work-around on PSP 1.1.2 and newer 2023-05-30 12:22:06 -06:00
Mykola Grymalyuk
a6de37adf0 Merge branch 'main' into logging-rework 2023-05-30 10:56:09 -07:00
Mykola Grymalyuk
7bb00fd695 Sync PatcherSupportPkg 2023-05-30 11:55:54 -06:00
Mykola Grymalyuk
26fdb2ca2c GUI: Force Pulse() usage on all 2023-05-29 14:46:53 -06:00
Mykola Grymalyuk
af77e7979e Merge branch 'main' into logging-rework 2023-05-29 12:42:05 -07:00
Mykola Grymalyuk
3c5f5f84d2 Sync PatcherSupportPkg 2023-05-29 13:41:11 -06:00
Mykola Grymalyuk
6ab297423e Revert to old Centre logic 2023-05-29 12:46:28 -06:00
Mykola Grymalyuk
2435ea747c Test custom centreing again 2023-05-29 11:14:37 -06:00
Mykola Grymalyuk
d0eac893fe GUI: Move delay to sys_patch_start.py 2023-05-29 10:11:22 -06:00
Mykola Grymalyuk
c62fefb575 GUI: Add error handling to int conversion 2023-05-29 10:10:15 -06:00
Mykola Grymalyuk
87234740bd logging_handler.py: Don’t auto dismiss 2023-05-29 10:02:54 -06:00
Mykola Grymalyuk
47a1c6a2e5 logging_handler.py: Add additional logging info 2023-05-29 09:57:03 -06:00
Mykola Grymalyuk
cee8d8e768 GUI: Fix delay logic 2023-05-29 09:55:11 -06:00
Mykola Grymalyuk
e133beee36 gui_sys_patch_start.py: Exit on KDK failure
Nothing to recover from, best to close the app
2023-05-29 09:54:49 -06:00
Mykola Grymalyuk
0388eaa6f2 GUI: Strip Centre() work-around 2023-05-29 09:28:25 -06:00
Mykola Grymalyuk
984ba65d41 GUI: Add delay handler 2023-05-29 09:12:04 -06:00
Mykola Grymalyuk
a6879ede75 logging_handler.py: Add debug info for crashes 2023-05-28 14:37:34 -06:00
Mykola Grymalyuk
bfcabb3a4a logging_handler.py: Add support for sending crash reports 2023-05-28 13:13:49 -06:00
Jazzzny
efdb278691 oopsies 2023-05-28 14:48:10 -04:00
Jazzzny
dd1b60c8be Use full pathing 2023-05-28 14:44:00 -04:00
Mykola Grymalyuk
80e836e3bb gui_support.py: Implement manual window centreing 2023-05-28 10:57:05 -06:00
Mykola Grymalyuk
597a4a6e14 GUI: Log window sizing 2023-05-28 09:52:45 -06:00
Jazzzny
ca85d0d4ca Add workaround for MenuBar2 crashing 2023-05-28 11:42:52 -04:00
Mykola Grymalyuk
abea113272 GUI: Move Centre() to after init 2023-05-28 09:15:33 -06:00
Mykola Grymalyuk
48cf833cb8 GUI: Strip sleep test 2023-05-27 20:03:02 -06:00
Mykola Grymalyuk
ea3ff5d3b6 GUI: Add progress bar for patch fetching 2023-05-27 20:01:12 -06:00
Mykola Grymalyuk
01d666e2c3 GUI: Add handling for lack of parent 2023-05-27 13:49:15 -06:00
Mykola Grymalyuk
d8904bb3c0 GUI: Add handling for missing parent 2023-05-27 13:36:08 -06:00
Mykola Grymalyuk
d725798c60 GUI SysPatch: Seperate Display and Patch frames 2023-05-27 13:24:41 -06:00
Mykola Grymalyuk
bad9dbaecc Add exception handler test 2023-05-27 12:44:10 -06:00
Mykola Grymalyuk
79f6754c4f Sync changelog 2023-05-27 12:08:42 -06:00
Mykola Grymalyuk
12a2d5ade1 logging_handler.py: Don’t display user’s username 2023-05-27 12:05:22 -06:00
Mykola Grymalyuk
051196993f Merge branch 'main' into logging-rework 2023-05-27 10:53:52 -07:00
Mykola Grymalyuk
969cc65ae5 integrity_verification.py: Add extra error handling for missing/botched files 2023-05-27 11:52:02 -06:00
Mykola Grymalyuk
4a7b6437a0 logging_handler.py: Switch to per-launch log file 2023-05-27 11:50:52 -06:00
Mykola Grymalyuk
a2cdc0339a misc.py: Strip media argument 2023-05-27 11:23:35 -06:00
Mykola Grymalyuk
7d0bbf62bf main.py: Fix payload routing 2023-05-27 10:58:16 -06:00
Mykola Grymalyuk
c8b6eec14f gui_install_oc.py: Fix missing spacer 2023-05-26 21:45:46 -06:00
Mykola Grymalyuk
0427c9ef44 Rename LICENSE.md to LICENSE.txt 2023-05-25 17:06:42 -06:00
Mykola Grymalyuk
663bec68bf Merge pull request #1071 from dortania/license
Use BSD4 License
2023-05-25 16:04:43 -07:00
Mykola Grymalyuk
cf28e8d2b5 Strip extra 2023-05-25 16:38:06 -06:00
Mykola Grymalyuk
b1d0d733d9 Use BSD4 License 2023-05-25 16:13:41 -06:00
Mykola Grymalyuk
4f0b605786 logging_handler.py: Reveal log on crash 2023-05-25 11:25:13 -06:00
Mykola Grymalyuk
c031917a12 Merge branch 'main' into logging-rework 2023-05-24 12:52:58 -07:00
Mykola Grymalyuk
d8a79cf67e Reformat logging system 2023-05-24 12:24:09 -06:00
Mykola Grymalyuk
18b6ce8684 Merge pull request #1069 from ParaDoX1994/main
Fix iMac16,2 model
2023-05-23 18:20:37 -07:00
neon ball
d875cdf6a5 Fix iMac16,2 model 2023-05-24 04:12:52 +03:00
Mykola Grymalyuk
80ea0cd217 main.py: setpgrp() to prevent suddent termination 2023-05-22 16:10:58 -06:00
Mykola Grymalyuk
77da01dfb4 Increment build 2023-05-22 16:09:06 -06:00
Mykola Grymalyuk
a5319bf432 Merge branch 'main' of https://github.com/dortania/OpenCore-Legacy-Patcher 2023-05-22 14:10:25 -06:00
Mykola Grymalyuk
3c5d93f79e GUI: Hide self before prompting 2023-05-22 14:10:17 -06:00
Dhinak G
2ca2bc451a Docs: Update SOURCE.md 2023-05-22 16:06:17 -04:00
Mykola Grymalyuk
ab9208da58 GUI Update: Add alternative pulse for non-Metal 2023-05-22 13:46:15 -06:00
Mykola Grymalyuk
3132b0dcb7 Merge pull request #1066 from ParaDoX1994/new-gui-docs
GUI documentation refresh for 0.6.6
2023-05-22 12:15:10 -07:00
Mykola Grymalyuk
b22c28e07b Merge pull request #1068 from Jazzzny/among-us
Enhancement - Restore Photo Booth App on Non-Metal Macs running macOS Monterey and newer
2023-05-22 12:13:18 -07:00
Mykola Grymalyuk
aa81b0ba49 Merge branch 'main' into among-us 2023-05-22 12:10:14 -07:00
Mykola Grymalyuk
ba5dd16201 Sync PatcherSupportPkg 2023-05-22 13:09:40 -06:00
Mykola Grymalyuk
5f30adab73 logging_handler.py: Add CLI check 2023-05-22 12:38:39 -06:00
Mykola Grymalyuk
4c9c7965b6 GUI: Add conditional to Graphics override 2023-05-22 12:31:33 -06:00
Mykola Grymalyuk
1e86681d3c Validation: Support root patch validation on GA 2023-05-22 12:23:07 -06:00
Mykola Grymalyuk
79cf5cb86f GUI: Add Cursor checkbox 2023-05-22 12:22:24 -06:00
Jazzzny
e6a3536e31 Update CHANGELOG 2023-05-22 14:05:01 -04:00
Jazzzny
af733dc08c Merge branch 'dortania:main' into among-us 2023-05-22 13:48:26 -04:00
Jazzzny
1d564ed653 Push 2023-05-22 13:40:45 -04:00
Mykola Grymalyuk
f20c9e3a09 GUI: Add “Beta Menu Bar” configuration 2023-05-22 11:29:22 -06:00
Mykola Grymalyuk
422eee04b7 logging_handler: Resolve exception logging 2023-05-22 10:58:49 -06:00
Mykola Grymalyuk
1f23ceef7f sys_patch_helpers.py: Publish signed binaries 2023-05-22 09:44:25 -06:00
Mykola Grymalyuk
5c402e1820 GUI: Fix formatting on patch errors 2023-05-21 19:58:00 -06:00
Mykola Grymalyuk
a92cbe94a1 sys_patch.py: Add error handling for non-str entries 2023-05-21 19:52:50 -06:00
educovas
89ef9fb904 Sync PatcherSupportPkg 2023-05-21 22:14:59 -03:00
Mykola Grymalyuk
bfe8776a1a GUI: Add comment on stripping 2023-05-21 18:42:26 -06:00
Mykola Grymalyuk
52e31d0b1d GUI: Add additional handling 2023-05-21 15:12:30 -06:00
Mykola Grymalyuk
5a7308fa2a GUI: Don’t super on relaunch 2023-05-21 14:44:37 -06:00
Mykola Grymalyuk
b0617887dd GUI: Check before closing 2023-05-21 13:34:59 -06:00
Mykola Grymalyuk
5b4464a1f2 GUI: Fix argument overloading 2023-05-21 13:13:41 -06:00
Mykola Grymalyuk
d4f004c558 GUI: Recommend Monterey for USB1.1 units 2023-05-21 09:57:56 -06:00
Mykola Grymalyuk
df5e7525c2 GUI: Better match format 2023-05-20 16:43:29 -06:00
Mykola Grymalyuk
b56ec7c679 GUI: Allow users to view repo on updates 2023-05-20 13:50:37 -06:00
Mykola Grymalyuk
cd9ce32c04 GUI: Don’t prompt to root patch if no new patches 2023-05-20 13:18:11 -06:00
Mykola Grymalyuk
a65ceaa376 GUI: Add menubar item 2023-05-20 13:03:06 -06:00
Mykola Grymalyuk
2788dfc78e Merge pull request #1067 from dortania/gui-main-demo
Implement new main menu UI
2023-05-20 11:28:56 -07:00
Mykola Grymalyuk
888387dfa2 GUI: Adjust relaunch size 2023-05-20 12:27:14 -06:00
Mykola Grymalyuk
9c41fff3d4 GUI: Add error handling when parent is not provided 2023-05-20 12:19:19 -06:00
Mykola Grymalyuk
3acc4dc9d9 GUI: Set Choice size and avoid ComboBox usage 2023-05-20 10:33:06 -06:00
neon ball
99f6d8f060 Add new main menu image 2023-05-20 19:16:41 +03:00
neon ball
efdcbd24c1 Merge branch 'dortania:main' into new-gui-docs 2023-05-20 19:16:24 +03:00
Mykola Grymalyuk
fa322d73c5 Merge remote-tracking branch 'origin/main' into gui-main-demo 2023-05-20 09:55:19 -06:00
Mykola Grymalyuk
cb6f294d35 GUI: Adjust ComboBox width 2023-05-20 09:52:46 -06:00
Mykola Grymalyuk
4ac46d4b54 GUI: Change settings gear placement 2023-05-20 09:47:37 -06:00
Mykola Grymalyuk
48dd47aed3 PKG: Fix alias creation 2023-05-19 22:37:16 -06:00
Mykola Grymalyuk
58b3748034 GUI: Test new main menu 2023-05-19 22:06:14 -06:00
Mykola Grymalyuk
fefd651157 Sync CHANGELOG 2023-05-19 16:30:42 -06:00
Mykola Grymalyuk
2b1d598bf3 GUI: Fix ComboBox not updating variable 2023-05-19 16:23:48 -06:00
neon ball
a863e55a01 Delete MacPro3,1 Ethernet note
Fixed in 0.6.6
2023-05-19 23:49:25 +03:00
neon ball
b297692b77 Merge branch 'dortania:main' into new-gui-docs 2023-05-19 23:47:42 +03:00
neon ball
a17b43525a Jazzny's change
Refer to https://discord.com/channels/417165963327176704/835350746971111484/1109208345849634906
2023-05-19 22:59:57 +03:00
Mykola Grymalyuk
fd9cd85254 install.py: Fix function declaration 2023-05-19 11:18:43 -06:00
Mykola Grymalyuk
aa196b6c0d Merge pull request #1064 from dortania/gui-refactor
GUI Refactor: Implement modularized wxPython system
2023-05-18 20:48:07 -07:00
Mykola Grymalyuk
cb38ee9477 GUI: Add model check 2023-05-18 21:43:58 -06:00
Mykola Grymalyuk
6faff5d52a GUI: Misc adjustments 2023-05-18 20:48:49 -06:00
Dhinak G
cabcdcd381 Fix app name 2023-05-18 20:51:51 -04:00
Mykola Grymalyuk
e36e9b35e9 GUI: Set about and quit items 2023-05-18 18:36:39 -06:00
neon ball
566df783c8 Fix wording 2023-05-19 03:15:25 +03:00
neon ball
edbd96a7e9 3rd time's the charm 2023-05-19 03:00:52 +03:00
neon ball
72f7d20ce5 Fix link again 2023-05-19 03:00:21 +03:00
neon ball
39147e95be Fix link 2023-05-19 02:58:32 +03:00
neon ball
7d1d3dd9f6 Include note about TeraScale 1 Ventura fix 2023-05-19 02:58:04 +03:00
neon ball
6146aa48c6 Fix linking 2023-05-19 02:18:59 +03:00
neon ball
266261484f Remove mention of verbose
It is disabled by default, hence redundant
2023-05-19 02:18:25 +03:00
neon ball
231e545ca4 Change wording 2023-05-19 02:15:57 +03:00
neon ball
f18184bded Documentation image refresh for 0.6.6 2023-05-19 02:13:40 +03:00
neon ball
7171de0679 Docs update for 0.6.6 2023-05-19 02:12:37 +03:00
Mykola Grymalyuk
d360a8ee8b GUI: Unify Centre() calls 2023-05-18 16:09:26 -06:00
Mykola Grymalyuk
5505737b37 gui_sys_patch.py: Disable return during patch 2023-05-18 16:06:48 -06:00
Mykola Grymalyuk
11bc64f8e6 GUI: Unify Yield() calls 2023-05-18 16:06:33 -06:00
Mykola Grymalyuk
300726ea96 sys_patch.py: Remove input() calls 2023-05-18 15:47:34 -06:00
Mykola Grymalyuk
186669b9cd install.py: Clean functions 2023-05-18 15:44:55 -06:00
Mykola Grymalyuk
b4afa8bc28 Merge branch 'main' into gui-refactor 2023-05-18 14:41:48 -07:00
Mykola Grymalyuk
04441590f0 CI: Add support for validation on non-dortania repos 2023-05-18 14:58:56 -06:00
Mykola Grymalyuk
f5d9ecfc25 Merge pull request #1065 from Jazzzny/betterthanzoe-keyboardfix
Enhancement - Implement injector kext to fix Function Keys on legacy units
2023-05-18 13:56:16 -07:00
Jazzzny
f6f4131b53 Fix issue 2023-05-18 16:55:47 -04:00
Mykola Grymalyuk
47458daae2 Settings: Default to binary source 2023-05-18 14:18:14 -06:00
Mykola Grymalyuk
0507654d09 install.py: Fix regression 2023-05-18 13:52:45 -06:00
Mykola Grymalyuk
0ed1cbde2f Merge branch 'main' into gui-refactor 2023-05-18 12:11:02 -07:00
Mykola Grymalyuk
c80c46288c Sync Lilu 2023-05-18 13:00:42 -06:00
Mykola Grymalyuk
0cd1509a38 GUI: Adjust hyperlink spacing 2023-05-18 11:15:41 -06:00
Mykola Grymalyuk
06b8b08d4b GUI: Simplify cleaning 2023-05-18 10:34:46 -06:00
Mykola Grymalyuk
6fc895a45b GUI: Add proper break on cleaning 2023-05-18 10:31:37 -06:00
Mykola Grymalyuk
98bbddc03d Settings: Add additional safe guards 2023-05-18 10:28:18 -06:00
Mykola Grymalyuk
46d2a86e2f GUI Settings: Fix formatting on pre-Big Sur UI 2023-05-18 09:44:46 -06:00
Mykola Grymalyuk
5a6407ab14 GUI Patch: Use anchors for patch labels 2023-05-18 09:43:18 -06:00
Jazzzny
8b38939759 Relocate 2023-05-18 10:05:24 -04:00
Jazzzny
4b6587dc3b Cosmetic fix 2023-05-18 10:04:21 -04:00
Jazzzny
8adbc3b5d2 REvert 2023-05-18 09:53:46 -04:00
Jazzzny
62e565b8c0 Revert 2023-05-18 09:53:30 -04:00
Jazzzny
749a0be86e update CHANGELOG 2023-05-18 09:42:00 -04:00
Jazzzny
a1de379c5f Include MacBookPro4,1 with keyboard injector 2023-05-18 09:41:39 -04:00
Jazzzny
bf00c013c8 Update docs, changelog, and a shameless plug 2023-05-18 09:32:59 -04:00
Jazzzny
8c848f9317 Resstore Fn keys on MacBook5,2 and 4,1 2023-05-18 09:29:09 -04:00
Mykola Grymalyuk
fa711c18cc GUI: Revert helper usage 2023-05-17 19:34:52 -06:00
Mykola Grymalyuk
2d5ea95ee0 Revert previous commit 2023-05-17 19:30:23 -06:00
Mykola Grymalyuk
0cc8b7b705 utilities.py: Use geteuid() for elevated 2023-05-17 19:26:42 -06:00
Mykola Grymalyuk
fecd71ef46 GUI: Reset update stage on main menu 2023-05-17 16:07:14 -06:00
Mykola Grymalyuk
451262d50b GUI: Avoid building if host is unsupported 2023-05-17 15:11:01 -06:00
Mykola Grymalyuk
88f895b61e Fix main thread crash from wx invocation in thread 2023-05-17 14:35:07 -06:00
Mykola Grymalyuk
28f10824fd GUI: Adjust AppleScript prompt 2023-05-17 13:54:12 -06:00
Mykola Grymalyuk
2f6666edfb main.py: Fix conversion 2023-05-17 13:32:43 -06:00
Mykola Grymalyuk
831fbc3319 GUI: Convert more osascript calls 2023-05-17 13:12:35 -06:00
Mykola Grymalyuk
7417fc4180 Swtich to py-applescript library 2023-05-17 12:45:24 -06:00
Mykola Grymalyuk
96fcba8391 Utlize LSUIElement for Helper binary 2023-05-17 12:36:27 -06:00
Mykola Grymalyuk
d576752744 Merge branch 'main' into gui-refactor 2023-05-17 10:07:06 -07:00
Mykola Grymalyuk
034a30a283 Sync PatcherSupportPkg 2023-05-17 11:03:15 -06:00
educovas
adcacc478d Syn changelog 2023-05-17 12:36:26 -03:00
Mykola Grymalyuk
e853be2e84 Merge branch 'main' into gui-refactor 2023-05-16 14:01:35 -07:00
Mykola Grymalyuk
c414c9cde7 firmware.py: Resolve low power mode on MacPro6,1 2023-05-16 14:34:20 -06:00
Mykola Grymalyuk
87f9f39179 GUI Update: Break on error 2023-05-16 12:35:47 -06:00
Mykola Grymalyuk
0a18db3142 GUI Flash: Use CallAfter() for byte info 2023-05-16 12:29:38 -06:00
Mykola Grymalyuk
63ba8d4a16 GUI: Default to no for formatting 2023-05-16 12:24:14 -06:00
Mykola Grymalyuk
017d59f57d gui_support: Resolve gauge sizing error 2023-05-16 12:23:52 -06:00
Mykola Grymalyuk
0f55b074af GUI: Add branch selection 2023-05-16 11:35:54 -06:00
Mykola Grymalyuk
652e8659e4 GUI: Use settings format panel 2023-05-16 10:58:32 -06:00
Mykola Grymalyuk
f7d5b9345f GUI: Remove extra loop
Should only need to unzip twice, if more than there’s a serious problem
2023-05-16 10:30:53 -06:00
Mykola Grymalyuk
54480c3776 GUI: Use range for extraction loop 2023-05-16 10:29:26 -06:00
Mykola Grymalyuk
36c39a7e71 Merge branch 'main' into gui-refactor 2023-05-16 09:14:55 -07:00
Mykola Grymalyuk
a837a27dc0 Sync OpenCorePkg 2023-05-16 08:42:14 -06:00
Mykola Grymalyuk
8dcec0dfa8 validation.py: Clean up after root patch validation 2023-05-16 08:32:41 -06:00
Mykola Grymalyuk
85b90b13e4 Sync kexts 2023-05-16 08:28:23 -06:00
Mykola Grymalyuk
79c173aaff Set icon for Helper 2023-05-15 15:05:55 -06:00
Mykola Grymalyuk
f69d393acd GUI: Centre on updates 2023-05-15 11:33:52 -06:00
Mykola Grymalyuk
bebb71b1de GUI: Remove old libraries 2023-05-15 11:11:41 -06:00
Mykola Grymalyuk
2f12236ac8 GUI: Implement update flow 2023-05-15 11:10:12 -06:00
Mykola Grymalyuk
a7bfef5ed7 GUI: Sync changelog 2023-05-14 23:48:02 -06:00
Mykola Grymalyuk
4ad65f00b5 GUI: Remove unused import 2023-05-14 23:47:50 -06:00
Mykola Grymalyuk
9993436029 GUI: Fix launch errors when run from update directory 2023-05-14 23:06:18 -06:00
Mykola Grymalyuk
1f156170cf GUI: Publish custom serials if already in-use 2023-05-14 22:44:17 -06:00
Mykola Grymalyuk
81247d8cf4 GUI: Rename OCLP-Helper
Supports displaying icon as well as more familiar naming on prompt
2023-05-14 20:55:49 -06:00
Mykola Grymalyuk
5929e81337 GUI: Implement update.plist creation on update 2023-05-14 20:46:52 -06:00
Mykola Grymalyuk
d8267838ae GUI: Merge non-Metal and root patch menu 2023-05-14 10:20:55 -06:00
Mykola Grymalyuk
8f450b525b GUI: Reset version 2023-05-13 22:17:27 -06:00
Mykola Grymalyuk
681441df7e GUI: Add host check to native models 2023-05-13 21:57:57 -06:00
Mykola Grymalyuk
e02c26e703 GUI: Report unsupported installers 2023-05-13 21:51:41 -06:00
Mykola Grymalyuk
1b9e45b5f9 GUI: Adjust spacing 2023-05-13 19:38:25 -06:00
Mykola Grymalyuk
6a0090987c GUI: Fix path checking 2023-05-13 19:00:11 -06:00
Mykola Grymalyuk
02d3f6cc64 Constants: Set app version for demo 2023-05-13 18:20:22 -06:00
Mykola Grymalyuk
2e964ba9c2 GUI: Add app update checks 2023-05-13 18:19:57 -06:00
Mykola Grymalyuk
a2c0994bde GUI: Publish title for ComboBox entries 2023-05-13 13:05:52 -06:00
Mykola Grymalyuk
d0e257a364 GUI: Fix mis-selection 2023-05-13 12:43:09 -06:00
Mykola Grymalyuk
8c5165a06c GUI: Add MXM model and FU configuration 2023-05-13 12:31:41 -06:00
Mykola Grymalyuk
422283a3ac GUI: Add extra padding for pre-Big Sur UI 2023-05-13 09:52:28 -06:00
Mykola Grymalyuk
24225a3748 GUI: Adjust window height 2023-05-13 09:20:39 -06:00
Mykola Grymalyuk
0b59384130 GUI: Fix index 2023-05-13 00:44:23 -06:00
Mykola Grymalyuk
d04822b770 GUI: Add non-Metal settings 2023-05-13 00:31:20 -06:00
Mykola Grymalyuk
84648c67cf GUI: Set default to no 2023-05-13 00:06:33 -06:00
Mykola Grymalyuk
42112fcca9 GUI: Add serial spoofing 2023-05-13 00:02:01 -06:00
Mykola Grymalyuk
2bbb7153e7 GUI: Add stats 2023-05-12 23:08:09 -06:00
Mykola Grymalyuk
dc0c75964d GUI: Add SIP configuration 2023-05-12 22:01:42 -06:00
Mykola Grymalyuk
c7c6569c4b GUI: Add basic settings 2023-05-12 13:45:46 -06:00
Mykola Grymalyuk
28d3e981c5 GUI: Implement Pulse() work-around for non-Metal
ASB I beg of you, please fix this. This hack is so painful…
2023-05-12 09:44:44 -06:00
Mykola Grymalyuk
3bd9d85ae2 GUI: Fix model selection 2023-05-09 12:56:07 -06:00
Mykola Grymalyuk
b43c66c0bb GUI: Add basic settings 2023-05-09 12:39:33 -06:00
Mykola Grymalyuk
2a002d8e82 GUI: Fix sys_patch spacing 2023-05-08 17:52:08 -06:00
Mykola Grymalyuk
324d7362c7 GUI: Fix spacing 2023-05-08 16:58:12 -06:00
Mykola Grymalyuk
3dc4b60af1 GUI: Add default selections 2023-05-08 15:51:47 -06:00
Mykola Grymalyuk
33a885a309 GUI: Add download stopping 2023-05-08 15:16:32 -06:00
Mykola Grymalyuk
4f1cb8abcc GUI: Add installer flashing 2023-05-08 15:16:10 -06:00
Mykola Grymalyuk
21e7a75cc9 GUI: Add additional error handling 2023-05-07 19:02:00 -06:00
Mykola Grymalyuk
3ef6e4a853 GUI: Implement download GUI class
Unifies all download UIs
2023-05-07 17:41:46 -06:00
Mykola Grymalyuk
bd70c4a24a GUI: Add error handling for object deletion 2023-05-07 13:29:13 -06:00
Mykola Grymalyuk
aaf7519e94 GUI: Remove unused RedirectText class 2023-05-07 12:50:37 -06:00
Mykola Grymalyuk
28cdc3f61b GUI: Add help menu 2023-05-07 12:44:30 -06:00
Mykola Grymalyuk
4068bc1661 GUI: Wait for payloads.dmg mount 2023-05-07 12:23:57 -06:00
Mykola Grymalyuk
1204daa330 GUI: Add root patching support 2023-05-07 12:05:58 -06:00
Mykola Grymalyuk
f8b2b5a759 Implement callback 2023-05-06 21:10:53 -06:00
Mykola Grymalyuk
f3e2dfc4de Push experimental build 2023-05-06 19:49:29 -06:00
Mykola Grymalyuk
a6e0c142ca kdk_handler.py: Fix matching 2023-05-04 17:38:24 -06:00
Mykola Grymalyuk
d9e9fea2f7 Sync changelog 2023-05-04 16:16:26 -06:00
Mykola Grymalyuk
978a16f397 Merge pull request #1063 from dortania/dmg-rework
Implement DMG-based PatcherSupportPkg system
2023-05-04 15:15:38 -07:00
Mykola Grymalyuk
d21b984918 Implement DMG-based PatcherSupportPkg 2023-05-04 15:02:41 -06:00
Mykola Grymalyuk
c308bcb993 payloads: USe variable name for mounting 2023-05-04 12:43:06 -06:00
Mykola Grymalyuk
15103007a5 CI: Comment out cert 2023-05-04 11:51:10 -06:00
Mykola Grymalyuk
a932b5a483 CI: Enclose paramter 2023-05-04 11:49:09 -06:00
Mykola Grymalyuk
9b96514b91 CI: Fix ID detection 2023-05-04 11:45:19 -06:00
Mykola Grymalyuk
a33142e29e CI: Use v2 for cert import 2023-05-04 11:19:12 -06:00
Mykola Grymalyuk
ef9df5265b Build: Rename payloads.dmg volume
Avoids confusion when users see “payloads” mounted in disk utility with no extra info
2023-05-04 11:18:39 -06:00
Mykola Grymalyuk
bc8a2727c3 CI: Fix syntax 2023-05-04 10:42:18 -06:00
Mykola Grymalyuk
17a1b823fc Merge branch 'main' of https://github.com/dortania/OpenCore-Legacy-Patcher 2023-05-04 10:39:48 -06:00
Mykola Grymalyuk
993f0c22d5 CI: Implement cert check
Allows for easier swapping between self-hosted and Github-provided runners
2023-05-04 10:39:39 -06:00
Mykola Grymalyuk
bd42aad340 Merge pull request #1059 from Jazzzny/colorsync-downgrade-toggle
Enhancement - Add a ColorSync downgrade toggle
2023-05-04 08:41:56 -07:00
Mykola Grymalyuk
fcd3afe29d Merge branch 'main' into colorsync-downgrade-toggle 2023-05-04 08:05:06 -07:00
Mykola Grymalyuk
ed62fe91a2 Increment build 2023-05-04 08:47:03 -06:00
Mykola Grymalyuk
3040c621a7 Sync PatcherSupportPkg 2023-05-03 19:43:26 -06:00
Mykola Grymalyuk
2f49a36ccc macos_installer_handler.py: Fix default OS 2023-05-03 15:40:32 -06:00
Mykola Grymalyuk
d551df34ed sys_patch_auto.py: Add RSR work around 2023-05-03 15:39:16 -06:00
Mykola Grymalyuk
2fadae2e3d utilities.py: Add Preboot UUID parsing 2023-05-03 14:51:59 -06:00
Mykola Grymalyuk
2e3ae755ea gui_main.py: Fix spacing 2023-05-03 14:51:27 -06:00
Mykola Grymalyuk
067206b536 macos_installer_handler.py: Add wider OS support for SUCatalog parsing
Preperationg for macOS 14 SUCatalog
2023-05-03 14:47:43 -06:00
Jazzzny
aae6cc705f Fix, thanks Slav 2023-04-28 18:17:23 -04:00
Mykola Grymalyuk
96b126588d macos_installer_handler.py: Export min_required as int 2023-04-28 14:52:52 -06:00
Mykola Grymalyuk
a70039abb5 os_data.py: Add docstring 2023-04-28 14:51:09 -06:00
Mykola Grymalyuk
6fca3339fc macos_installer_handler.py: Add min OS check
Ventura’s installer requires an El Cap host to run
2023-04-28 14:50:59 -06:00
Mykola Grymalyuk
c668ac0004 gui_main.py: Fix smbios_data parsing 2023-04-27 07:28:36 -06:00
Mykola Grymalyuk
88d6fc29f0 Sync CHANGELOG 2023-04-25 15:48:29 -06:00
Mykola Grymalyuk
e556b0227a Merge pull request #1061 from dortania/ci-upgrade
CI Upgrade: Convert to Monterey host
2023-04-25 15:46:12 -06:00
Mykola Grymalyuk
d7b8f91223 CI: Switch to upgraded server 2023-04-25 15:31:19 -06:00
Mykola Grymalyuk
f2cddcae7c CI: Don’t hold for submission status 2023-04-22 17:40:24 -06:00
Mykola Grymalyuk
c9304bdbba CI: Add Team ID argument 2023-04-22 17:05:04 -06:00
Mykola Grymalyuk
117e7fa6ff CI: Comment out cert handling
Action can only be used once on self-hosted runners
2023-04-22 16:40:43 -06:00
Mykola Grymalyuk
6bec4ca2d2 CI: Switch to notarytool 2023-04-22 16:34:30 -06:00
Mykola Grymalyuk
1b8dcd1c1b CI: adjust formatting 2023-04-22 16:27:10 -06:00
Mykola Grymalyuk
f2f81f5239 CI: Import cert 2023-04-22 16:09:41 -06:00
Mykola Grymalyuk
7d7c94cd91 Spin up test runner 2023-04-22 08:17:57 -06:00
Jazzzny
eeb2e6cb1a Add changelog 2023-04-20 20:01:05 -04:00
Jazzzny
6ac18b251c Clean up 2023-04-20 19:58:20 -04:00
Jazzzny
11a9ab7b96 Add support for disabling ColorSync patch 2023-04-20 19:58:20 -04:00
Jazzzny
b87737f55e Create modified build without ColorSync downgrade 2023-04-20 19:58:20 -04:00
Dhinak G
dde6a3d805 Merge pull request #1058 from TechEnthusiasm/main 2023-04-20 17:39:36 -04:00
TechEnthusiasm
71dbb512a6 Update UPDATE.md 2023-04-20 15:36:13 +01:00
Mykola Grymalyuk
b7ddeb3b50 Merge pull request #1057 from IronApple0915/main
IronApple's doc updates to PATCHEXPLAIN.md
2023-04-19 20:19:04 -06:00
Alex
175cb3d3f4 Update PATCHEXPLAIN.md 2023-04-19 21:41:36 -04:00
neon ball
73508835c8 Fix typo second try 2023-04-20 03:26:45 +03:00
neon ball
336c6b43fb Fix typo 2023-04-20 03:26:15 +03:00
Alex
bfed55318c Update PATCHEXPLAIN.md 2023-04-19 19:51:36 -04:00
Alex
a3e80a6378 Update PATCHEXPLAIN.md 2023-04-19 19:46:39 -04:00
Alex
92b78a893d Update PATCHEXPLAIN.md 2023-04-19 19:45:33 -04:00
Alex
758fdb9854 Update PATCHEXPLAIN.md 2023-04-19 19:16:41 -04:00
educovas
44f8f64935 Merge pull request #1056 from educovas/main
Fix non-Metal Safari 16.4 canvas rendering
2023-04-18 19:51:14 -03:00
educovas
8f0a74df6b Fix non-Metal Safari 16.4 canvas rendering 2023-04-18 19:37:53 -03:00
Mykola Grymalyuk
0efe4c4365 Merge pull request #1055 from Jazzzny/enable-xhci
Enhancement - Enable USB 3 expansion card support on Legacy USB 1.1 machines
2023-04-18 15:26:03 -06:00
Jazzzny
04337059e4 Remove commented code 2023-04-18 17:24:45 -04:00
Jazzzny
af0663317b Enable USB 3 support on USB 1.1 machines 2023-04-18 16:39:27 -04:00
Mykola Grymalyuk
e4d0e471d9 sys_patch_dict.py: Treat mid cycle as float
Adds more legibility to patchset
2023-04-18 09:23:46 -06:00
Mykola Grymalyuk
cb45138c5f Sync changelog 2023-04-17 18:37:19 -06:00
Mykola Grymalyuk
917631181a Merge pull request #1053 from Jazzzny/webdriver-opencl
Enhancement - Enable OpenCL on NVIDIA WebDriver cards
2023-04-17 18:28:59 -06:00
Jazzzny
9ac58e605d Fix interpretation 2023-04-17 19:41:52 -04:00
Jazzzny
6d21b1a8fe Clarify 2023-04-17 18:37:44 -04:00
Jazzzny
ae7fa3bbb9 Add OpenCL support for WebDriver cards 2023-04-17 18:37:44 -04:00
Dhinak G
2895136eab Merge pull request #1052 from sladwig/patch-1 2023-04-17 16:17:07 -04:00
Mykola Grymalyuk
7b83c8d2cc Sync PatcherSupportPkg 2023-04-17 10:37:36 -06:00
Mykola Grymalyuk
43cc83edf4 Increment build 2023-04-16 19:36:44 -06:00
Stefan Ladwig
a33af67494 docs: fix typo 2023-04-16 09:50:32 +02:00
Mykola Grymalyuk
eec8f3e797 Resolve F16C reporting errors 2023-04-13 11:16:53 -06:00
Mykola Grymalyuk
5011b2c3f1 Avoid 3.10 type hinting 2023-04-13 07:54:44 -06:00
Mykola Grymalyuk
980142c6ad Merge branch 'main' of https://github.com/dortania/OpenCore-Legacy-Patcher 2023-04-13 07:25:54 -06:00
Mykola Grymalyuk
1fe710f4a3 device_probe.py: Extra error handling 2023-04-13 07:25:45 -06:00
Mykola Grymalyuk
472c494fd4 Merge pull request #1047 from dortania/post-analytics
Implement back-end for Crash and Analytics Reporting
2023-04-12 16:43:27 -06:00
Mykola Grymalyuk
ccbb5dafe5 Add PRIVACY.md 2023-04-12 16:31:04 -06:00
Mykola Grymalyuk
939d3a36a4 Adjust wording 2023-04-11 19:58:25 -06:00
Mykola Grymalyuk
4c19f51a04 Analytics: allow opt-out 2023-04-11 19:08:52 -06:00
Mykola Grymalyuk
b34eaccd35 main.py: move threading 2023-04-11 13:54:45 -06:00
Mykola Grymalyuk
52211def51 Test build of analytics 2023-04-11 13:28:33 -06:00
Mykola Grymalyuk
62f619da99 network_handler.py: Add post wrapping 2023-04-11 08:42:21 -06:00
Mykola Grymalyuk
2496fa9245 Increment build 2023-04-11 08:40:19 -06:00
Mykola Grymalyuk
7a07a16be8 defaults.py Don’t set new menubar as default 2023-04-10 21:50:28 -06:00
Mykola Grymalyuk
2e4517a3c0 sys_patch_helpers.py: Fix src pathing 2023-04-07 13:33:02 -06:00
Mykola Grymalyuk
1ce6f79240 sys_patch_helpers.py: Add Metal libary patching
Resolves many 3rd party apps crashing on 13.3 when trying to invoke Metal directly
2023-04-07 12:59:18 -06:00
Mykola Grymalyuk
96e96464f2 sys_patch.py: Add docstrings and typing suggestions 2023-04-07 12:57:05 -06:00
Mykola Grymalyuk
fcd0c7cd21 build: Add additional Navi patches 2023-04-06 11:58:35 -06:00
Mykola Grymalyuk
a93fbf7122 misc.py: Rework RE arg handling 2023-04-03 14:57:59 -06:00
Mykola Grymalyuk
c0825ed24e misc.py: Set f16c argument 2023-04-03 13:51:00 -06:00
Mykola Grymalyuk
0f95d6a1bb defaults.py: Don’t grab RE’s CPU name 2023-04-03 13:48:16 -06:00
Mykola Grymalyuk
9439c39437 Sync binaries 2023-04-03 11:06:13 -06:00
Mykola Grymalyuk
38025d7f2a Remove unneeded init.py 2023-04-03 10:48:24 -06:00
Mykola Grymalyuk
23f2291bfa integrity_verification.py: rework into OOP 2023-04-02 11:39:55 -06:00
Mykola Grymalyuk
b0c05b914b sys_patch: Modularize patch set generation
Move generate_patchset() to dedicated module
2023-04-02 10:22:27 -06:00
Mykola Grymalyuk
b83cd8191b network_handler.py: Implement get() wrapper 2023-03-31 21:22:13 -06:00
Mykola Grymalyuk
8512aad33d Merge pull request #1043 from dortania/rework-build-libary
build module: Enhance readability
2023-03-31 20:53:52 -06:00
Mykola Grymalyuk
c04c313b2c misc.py: Removed unneeded rmtree invocation 2023-03-30 12:10:34 -06:00
Mykola Grymalyuk
841bcb72c3 build: Add docstrings for classes 2023-03-30 11:46:44 -06:00
Mykola Grymalyuk
6aba47bcfb Resolve Docs building 2023-03-30 11:24:08 -06:00
Mykola Grymalyuk
81495ee192 Merge pull request #1030 from ThatStella7922/main
README grammar and wording tweaks, add hw donation
2023-03-30 08:01:56 -06:00
Mykola Grymalyuk
1bf3e0e2a4 Merge branch 'main' into rework-build-libary 2023-03-29 15:46:47 -06:00
Mykola Grymalyuk
bb6ef48e95 misc.py: Fix CPUFriend handling 2023-03-28 21:03:42 -06:00
Mykola Grymalyuk
06350355ff build: Add docstrings to functions 2023-03-28 20:57:17 -06:00
Mykola Grymalyuk
9677c52c1c Sync CHANGELOG 2023-03-28 20:15:07 -06:00
Mykola Grymalyuk
bc4cc33f2f Merge pull request #1042 from Jazzzny/main
Enhancement - Replace hardcoded WxPython GUI font with .AppleSystemUIFont
2023-03-28 20:04:53 -06:00
Jazzzny
b2f1a6375a Update gui_main.py 2023-03-28 21:11:42 -04:00
Jazzzny
3c7f496bc8 Update gui_help.py 2023-03-28 21:11:06 -04:00
Mykola Grymalyuk
9b984e68af build: Implement pythonic formatting 2023-03-28 16:34:51 -06:00
Mykola Grymalyuk
54c661751a Sync changelog 2023-03-28 14:18:33 -06:00
Mykola Grymalyuk
2c0d67ce61 kdk_handler.py: Remove redundant str comparison 2023-03-28 14:17:19 -06:00
Mykola Grymalyuk
d153747b58 Merge pull request #1035 from Ausdauersportler/main
iMac9,1 MXM3 AMD GCN support
2023-03-28 14:16:37 -06:00
Mykola Grymalyuk
74fc3a7890 Merge branch 'main' into main 2023-03-28 14:15:56 -06:00
Mykola Grymalyuk
c6ce71d589 defaults: enable beta menubar 2023-03-28 09:33:08 -06:00
Mykola Grymalyuk
513f20bbb1 kdk_handler.py: Fix cleanup logic 2023-03-28 09:25:52 -06:00
Mykola Grymalyuk
afae4f8eda Sync PatcherSupportPkg 2023-03-28 09:06:40 -06:00
Mykola Grymalyuk
af4d063f6e Increment Build 2023-03-27 12:19:34 -06:00
Mykola Grymalyuk
29d3e98b81 kdk_handler.py: Fix pkg detection 2023-03-25 10:36:23 -06:00
Mykola Grymalyuk
462fff9d66 Sync PatcherSupportPkg 2023-03-23 19:31:47 -06:00
Mykola Grymalyuk
158f6f2da9 sys_patch_detect.py: Avoid reverting Metal patch on 3802 2023-03-23 18:21:46 -06:00
Mykola Grymalyuk
a57c29d35e gui_main.py: Add tip to rebuild OC for root patch errors 2023-03-23 16:19:23 -06:00
Mykola Grymalyuk
bc18bdce03 Sync CHANGELOG 2023-03-23 11:21:59 -06:00
Mykola Grymalyuk
ef9b5bb64a Merge pull request #1034 from dortania/3802-experiment
sys_patch: Add experimental Metal patches for 3802-based GPUs
2023-03-23 11:18:46 -06:00
Mykola Grymalyuk
c225b77400 utilities.py: Fix volume size detection 2023-03-23 10:03:42 -06:00
Mykola Grymalyuk
b69cf09556 Merge branch 'main' into 3802-experiment 2023-03-22 09:38:59 -06:00
Mykola Grymalyuk
85203aef5b Sync CHANGELOG 2023-03-22 09:36:50 -06:00
Mykola Grymalyuk
ec80afdd17 sys_patch_dict.py: Rework into class 2023-03-21 09:45:45 -06:00
Mykola Grymalyuk
e288e27b7b gui_main.py: Clean chunk check 2023-03-20 06:43:02 -06:00
Mykola Grymalyuk
961c9c7a68 sys_patch_detect.py: Only install ColorSync patch on iGPU-primary Macs 2023-03-19 11:35:14 -06:00
Mykola Grymalyuk
55abbab145 amfi_detect.py: Adjust indentation 2023-03-19 11:24:24 -06:00
Mykola Grymalyuk
2986aea152 macos_installer_handler.py: Add Seed type information 2023-03-18 16:26:18 -06:00
Mykola Grymalyuk
0135d6cccf Resources: Add return typing suggestion 2023-03-17 20:04:46 -06:00
Mykola Grymalyuk
fd2f58da84 constants.py: Remove unused variables 2023-03-16 19:48:38 -06:00
ThatStella7922
f0ebd235a9 Update documentation
Based off DhinakG's suggestions
2023-03-15 11:09:51 -06:00
ThatStella7922
93c1d3c4aa Updated Windows.md by Jazzny 2023-03-15 10:59:19 -06:00
Mykola Grymalyuk
efb1d81231 Merge branch 'main' into 3802-experiment 2023-03-15 10:34:59 -06:00
Mykola Grymalyuk
7fe0432a47 constants.py: Reorganize variables 2023-03-15 10:33:26 -06:00
Mykola Grymalyuk
88fa7a4b7a arguments.py: Remove unused variable 2023-03-15 10:31:35 -06:00
Mykola Grymalyuk
e0e74ee494 Merge branch 'main' into 3802-experiment 2023-03-14 21:08:31 -06:00
Mykola Grymalyuk
e579199246 constants.py: Sync OpenCorePkg version 2023-03-14 21:07:02 -06:00
Mykola Grymalyuk
1108d248e5 Sync binaries 2023-03-14 20:59:36 -06:00
Mykola Grymalyuk
6013eaffe9 Implement Kext Updating script 2023-03-14 20:57:57 -06:00
Ausdauersportler
8661fa339c iMac9,1 MXM3 AMD GCN support 2023-03-15 00:42:20 +01:00
Mykola Grymalyuk
ea96c546ca build: Avoid overwritting DeviceProperties on MXM iMacs 2023-03-14 08:57:10 -06:00
Mykola Grymalyuk
531fc8ab18 build: Don’t set IOName property for iMac12,x iGPUs 2023-03-13 11:54:11 -06:00
Mykola Grymalyuk
35a6f5183c Merge branch 'main' into 3802-experiment 2023-03-13 11:50:55 -06:00
Mykola Grymalyuk
afd1b5d2a7 device_probe.py: Fix missing pci check 2023-03-13 11:44:05 -06:00
Mykola Grymalyuk
d5ffa9a8cf device_probe.py: Fix string assumption for IOName 2023-03-13 11:42:36 -06:00
Mykola Grymalyuk
0c68618ddf sys_patch: Add experimental 3802 patches
Not final, highly fragile patches
2023-03-13 11:29:27 -06:00
Mykola Grymalyuk
ea80d41ff6 build: Better display AMFI status 2023-03-12 14:43:39 -06:00
Mykola Grymalyuk
483819caef defaults.py: Fix whitespace 2023-03-12 12:06:30 -06:00
Mykola Grymalyuk
0ca8ccd3dc gui_main.py: Adjust installer button label 2023-03-12 12:06:05 -06:00
Mykola Grymalyuk
a1f1da25b5 Sync FeatureUnlock 2023-03-12 10:36:32 -06:00
Mykola Grymalyuk
e105d6077e Sync changelog 2023-03-11 20:49:09 -07:00
Mykola Grymalyuk
eedd4d771a Merge pull request #1033 from dortania/pullrequests/Ausdauersportler/main
Ausdauersportler: Add RX5500XT and Lexa MXM support (reworked)
2023-03-11 20:39:06 -07:00
Mykola Grymalyuk
3f2aadc016 Merge branch 'main' into pullrequests/Ausdauersportler/main 2023-03-11 20:37:38 -07:00
Mykola Grymalyuk
e980054a5d device_probe.py: Add unspoof variable 2023-03-11 13:48:11 -07:00
Mykola Grymalyuk
a89a7740ca Sync Changelog 2023-03-11 12:33:12 -07:00
Mykola Grymalyuk
2767f35fc5 sys_patch_dict.py: Add reference for 3802 GPUs 2023-03-11 12:31:39 -07:00
Mykola Grymalyuk
48cf258366 Merge pull request #1031 from dortania/va-test
sys_patch.py: Add VA driver patch for Polaris and Vega
2023-03-11 12:26:31 -07:00
Mykola Grymalyuk
8e7706fb12 build: Fix off model crash 2023-03-11 11:32:41 -07:00
Mykola Grymalyuk
2eb6542931 payloads: Switch to .patch WEG 2023-03-11 11:28:03 -07:00
Mykola Grymalyuk
e66e851933 build: Skip string conversion for check 2023-03-11 11:12:19 -07:00
Mykola Grymalyuk
9bfcf78ff9 detect: Set new class for Lexa GPUs
As these cards require spoofing, OCLP needs to treat them differently. Primarily due to root volume patching checking against the same class, and prevent users from believing the root patches failed (when their card’s actually unsupported by their Device ID)
2023-03-11 11:11:24 -07:00
Mykola Grymalyuk
8d3ab82ddd payloads: Add Navi patch file 2023-03-11 10:55:22 -07:00
Mykola Grymalyuk
7b7f68453a macos_installer_handler.py: Reworked from installer.py module 2023-03-11 08:41:45 -07:00
Mykola Grymalyuk
adec8ebd05 sys_patch.py: Add VA driver patch 2023-03-09 08:54:05 -07:00
Mykola Grymalyuk
ca24aa6ce5 Sync PatcherSupportPkg
Back from surgery, OCLP development should start to slowly ramp up again!
2023-03-07 17:44:05 -07:00
ThatStella7922
8db8e0b5da docs grammar/wording pass, update WINDOWS.md by @Jazzzny 2023-02-26 14:20:47 -07:00
ThatStella7922
954d3b9166 SOURCE grammar and wording tweaks 2023-02-26 12:53:11 -07:00
ThatStella7922
672129dbfc README grammar and wording tweaks, add hw donation 2023-02-26 12:32:59 -07:00
Mykola Grymalyuk
e8f44e4eaa Merge pull request #1029 from dortania/oop-rework
Rework additional core libraries
2023-02-10 15:33:58 -07:00
Mykola Grymalyuk
6a3023301a sys_patch_helpers.py: Add docstring comments 2023-02-10 13:23:40 -07:00
Mykola Grymalyuk
44369e2faa kdk_handler.py: Add todo for file size check 2023-02-10 12:24:27 -07:00
Mykola Grymalyuk
0d7186236e gui_main.py: Supress defaults stderr 2023-02-10 12:14:42 -07:00
Mykola Grymalyuk
8806d29a35 defaulkts.py: Fix type suggestion 2023-02-10 12:14:06 -07:00
Mykola Grymalyuk
12b7cf7fcd amfi_detect.py: Resolve regression 2023-02-10 12:02:23 -07:00
Mykola Grymalyuk
0f7f079dd8 sys_patch_detect.py: Avoid nested if statements 2023-02-10 08:25:02 -07:00
Mykola Grymalyuk
040edfdd25 sys_patch_detect.py: Adjust return 2023-02-10 08:04:52 -07:00
Mykola Grymalyuk
2e7afae29b Adjust private function names 2023-02-10 08:02:50 -07:00
Mykola Grymalyuk
b81899092b Docs: Remove TUI references 2023-02-10 07:24:34 -07:00
Mykola Grymalyuk
418a966081 updates.py: Adjust private function names 2023-02-09 20:05:52 -07:00
Mykola Grymalyuk
520c9c315c validation.py: Add cleanup to build validation 2023-02-09 19:43:48 -07:00
Mykola Grymalyuk
cffc463bde Toolchain: Implement whitelist system for cleaning 2023-02-09 19:28:15 -07:00
Mykola Grymalyuk
2f7965440c Remove unused run.py 2023-02-09 19:27:25 -07:00
Mykola Grymalyuk
56efd9743d Docs: Fix .command name 2023-02-09 18:31:30 -07:00
Mykola Grymalyuk
b5b4d84bc9 Toolchain: Use docstrings 2023-02-09 18:29:35 -07:00
Mykola Grymalyuk
594f6dcbe5 Toolchain: Remove TUI building argument 2023-02-09 18:16:12 -07:00
Mykola Grymalyuk
c5eb52ac5e amfi_detect.py: Use enum 2023-02-09 18:09:02 -07:00
Mykola Grymalyuk
e83e260db7 Fix Constants type suggestion 2023-02-09 17:59:53 -07:00
Mykola Grymalyuk
66a5f5a9ad Set type suggestions for global Constants() usage 2023-02-09 17:40:41 -07:00
Mykola Grymalyuk
4154b01d40 commit_info.py: Rework into object oriented 2023-02-09 17:04:20 -07:00
Mykola Grymalyuk
925003e3f1 reroute_payloads.py: rework into object oriented 2023-02-09 16:46:12 -07:00
Mykola Grymalyuk
d40d6607b3 CI: Remove TUI 2023-02-09 16:40:25 -07:00
Mykola Grymalyuk
3aadfe6002 arguments.py: Rework into object oriented 2023-02-09 16:27:18 -07:00
Mykola Grymalyuk
d305515c28 Remove TUI modules 2023-02-09 16:26:47 -07:00
Mykola Grymalyuk
48471ce4d3 validation.py: Rework into object oriented 2023-02-09 16:25:45 -07:00
Mykola Grymalyuk
f9c7273106 os_probe.py: Rework to be Object-oriented
Minimize repetitive calls to platform.uname()
2023-02-09 12:44:26 -07:00
Mykola Grymalyuk
e076260a1a Sync docstrings comments 2023-02-09 12:36:16 -07:00
Mykola Grymalyuk
0671828c9b logging_handler.py: Fix file permissions when root 2023-02-09 11:04:15 -07:00
Wolf Dieter Brandt
61e5ff1c83 adding RX5500XT and Lexa MXM support 2023-02-09 18:15:17 +01:00
Mykola Grymalyuk
3b5e4f10f6 kdk_handler.py: Use pkg receipts for KDK validation 2023-02-09 08:35:21 -07:00
Mykola Grymalyuk
dd06932fe5 amfi_detect.py: Fix comment 2023-02-08 15:45:51 -07:00
Mykola Grymalyuk
7ee631859d amfi_detect.py: Adjust to be more Object-oriented 2023-02-08 15:42:12 -07:00
Mykola Grymalyuk
7be168bf14 kdk_handler.py: display KDK backup name during creation 2023-02-08 15:07:33 -07:00
Mykola Grymalyuk
6b86e64b5b kdk_handler.py: Keep invocation 2023-02-08 14:47:25 -07:00
Mykola Grymalyuk
4ae494db86 kdk_handler.py: Limit number of removal invocations 2023-02-08 14:44:09 -07:00
Mykola Grymalyuk
c5f72c10ff kdk_handler.py: Clear out backup KDKs when unused 2023-02-08 14:31:54 -07:00
Mykola Grymalyuk
971a2b0d02 kdk_handler.py: Set KDK installed accordingly 2023-02-08 13:56:56 -07:00
Mykola Grymalyuk
8b18c59d8a kdk_handler.py: Avoid double unmount 2023-02-08 13:15:19 -07:00
Mykola Grymalyuk
0d38bc0edf kdk_handler.py: Add extra error handling to failed KDK install 2023-02-08 12:23:25 -07:00
Mykola Grymalyuk
4c4cacf114 gui_main.py: Add indicator for longer kdk_handler init 2023-02-08 11:22:25 -07:00
Mykola Grymalyuk
dd1afd77e4 sys_patch_detect.py: Switch to kdk_handler for KDK detection 2023-02-08 11:19:19 -07:00
Mykola Grymalyuk
2a91b2a11c kdk_handler.py: Support passive mode 2023-02-08 11:15:57 -07:00
Mykola Grymalyuk
b3ed101ad9 kdk_handler.py: Add support for KDK installation 2023-02-08 11:07:17 -07:00
Mykola Grymalyuk
7b33e77947 kdk_handler.py: Cache API result 2023-02-08 10:34:45 -07:00
Mykola Grymalyuk
ea35eaca2e gui_main.py: Ensure passed values are integers 2023-02-07 22:38:02 -07:00
Mykola Grymalyuk
b5c613242f kdk_handler.py: Write KDK info to plist 2023-02-07 17:29:29 -07:00
Mykola Grymalyuk
2eb98b6327 kdk_handler.py: Fix OS comparison check 2023-02-07 14:33:13 -07:00
Mykola Grymalyuk
6629e9dcef kdk_handler.py: Merge similar functions 2023-02-07 14:25:13 -07:00
Mykola Grymalyuk
6c441e835c data: remove unused dylib_data.py
File was superseded with sys_patch_dict.py’s introduction
2023-02-07 09:04:49 -07:00
Mykola Grymalyuk
fe8a2d253a gui_main.py: Add support for KDK chainloading 2023-02-06 21:28:28 -07:00
Mykola Grymalyuk
68af20d2fa kdk_handler.py: Implement additional OS check 2023-02-06 20:10:39 -07:00
Mykola Grymalyuk
625da17f1e Merge pull request #1028 from dortania/ci-keys
CI: Rework build system
2023-02-06 18:44:51 -05:00
Mykola Grymalyuk
118d635264 CI: Fix bundle ID 2023-02-06 14:33:52 -07:00
Mykola Grymalyuk
bd471df48f CI: Fix Password export 2023-02-06 14:21:53 -07:00
Mykola Grymalyuk
d70daaf5a4 CI: Expose enviroment variables 2023-02-06 14:09:36 -07:00
Mykola Grymalyuk
7fc9f3af7c CI: Use repository secrets for signing 2023-02-06 14:03:25 -07:00
Mykola Grymalyuk
6f4c110318 gui_main.py: Adjust import formatting 2023-02-06 09:05:43 -07:00
Mykola Grymalyuk
dfdb5b4c68 gui_main.py: Avoid nested logic 2023-02-06 09:02:46 -07:00
Mykola Grymalyuk
5ac3343205 gui_main.py: Set expected install size as variable 2023-02-06 08:56:59 -07:00
Mykola Grymalyuk
42dddfdccf kdk_handler.py: Publish expected file size 2023-02-06 08:55:22 -07:00
Mykola Grymalyuk
ace93b8a3e network_handler.py: Match formatting and check download path space 2023-02-06 08:54:55 -07:00
Mykola Grymalyuk
6081ec0d73 kdk_handler.py: Allow path overriding 2023-02-06 08:16:35 -07:00
Mykola Grymalyuk
fc85789f86 Merge pull request #1027 from dortania/py10
Upgrade internal build system dependancies
2023-02-05 22:42:30 -05:00
Mykola Grymalyuk
52fbe23a16 Upgrade internal build system dependancies 2023-02-05 20:11:47 -07:00
Mykola Grymalyuk
99968dbb57 Merge pull request #1024 from dortania/logging
Rework core libraries
2023-02-05 20:19:42 -05:00
Mykola Grymalyuk
b141452005 logging_handler.py: Set StreamHandler to Standard Out 2023-02-05 16:31:49 -07:00
Mykola Grymalyuk
b97a3bc4d8 Docs: Update for Ventura 2023-02-05 11:17:45 -07:00
Mykola Grymalyuk
f4ed623c76 logging_handler.py: Add additional 2023-02-05 11:17:09 -07:00
Mykola Grymalyuk
ad9ae96c7f logging_handler.py: adjust formatting 2023-02-05 10:35:14 -07:00
Mykola Grymalyuk
bece5d4b3b logging_handler.py: Avoid file size check if missing 2023-02-05 09:58:00 -07:00
Mykola Grymalyuk
f915199b92 logging init: Move to dedicated module 2023-02-05 09:41:41 -07:00
Mykola Grymalyuk
cba9d1e224 main.py: Add traceback logging in spawned threads 2023-02-04 21:52:24 -07:00
Mykola Grymalyuk
4782ccdab1 network_handler.py: Adjust time elasped format 2023-02-04 17:43:30 -07:00
Mykola Grymalyuk
1ab2409176 sys_patch.py: Fix PSP handling 2023-02-04 17:37:32 -07:00
Mykola Grymalyuk
3d8bae1142 gui_main.py: Remove double download invocation 2023-02-04 17:29:55 -07:00
Mykola Grymalyuk
baf25319d7 main.py: Don’t double print traceback 2023-02-04 17:25:00 -07:00
Mykola Grymalyuk
43ef3e18ec main.py: Route traceback after logging init 2023-02-04 16:32:25 -07:00
Mykola Grymalyuk
08710bc47b network_handler: Add link validation 2023-02-04 14:46:25 -07:00
Mykola Grymalyuk
6c294902c2 Finish migration to network_handler.py usage 2023-02-04 13:11:18 -07:00
Mykola Grymalyuk
976f14eeb3 logging: Adjust file handling path 2023-02-04 10:26:36 -07:00
Mykola Grymalyuk
eb1e29f95b network_handler.py: Ensure stop() holds thread 2023-02-03 21:18:13 -07:00
Mykola Grymalyuk
4d89c220bf network_handler.py: Set 10s timeout 2023-02-03 09:08:41 -07:00
Mykola Grymalyuk
571f297906 network_handler.py: Use enums for status 2023-02-03 08:45:37 -07:00
Mykola Grymalyuk
7bf4fd0150 network_handler.py: Set file path in Object init 2023-02-03 08:33:47 -07:00
Mykola Grymalyuk
d4f42c8b32 network_handler.py: Add docstrings 2023-02-03 06:59:29 -07:00
Mykola Grymalyuk
664972fd2e network_handler.py: Adjust naming scheme to PEP 2023-02-02 22:13:00 -07:00
Mykola Grymalyuk
f33cc2d5bb Adjust remaining functions to logging 2023-02-02 17:52:46 -07:00
Mykola Grymalyuk
da45a964cb Merge branch 'main' into logging
# Conflicts:
#	resources/kdk_handler.py
#	resources/utilities.py
2023-02-02 17:41:59 -07:00
Mykola Grymalyuk
6c555db237 Sync changelog 2023-02-02 11:15:09 -07:00
Mykola Grymalyuk
c093f400a6 Merge pull request #1026 from dortania/kdk-updates
kdk_handler.py: Switch to KdkSupportPkg as primary source
2023-02-02 13:13:35 -05:00
Mykola Grymalyuk
92d57cb6d5 Merge pull request #1025 from dortania/update-models
Update models table for OCLP 0.6.x
2023-02-02 12:51:33 -05:00
Mykola Grymalyuk
3a6f87c9c8 network_handler.py: Initial implementation 2023-02-02 10:50:29 -07:00
Dhinak G
08a67e5d37 Remove Apple Developer portal downloading
It's dead, Jim
2023-01-30 17:14:29 -05:00
Dhinak G
6ed55ff462 Verify checksum while downloading instead of after
Should speed up checksum calculations by not looping over the file twice
2023-01-30 17:10:17 -05:00
Dhinak G
ef912277b6 Remove repetitive OHCI/usb info 2023-01-28 17:18:20 -05:00
Dhinak G
cef860dbf1 Minor changes
- MacBook4,1 is unsupported
- OCHI -> OHCI
- Update Xserve section
2023-01-28 17:16:14 -05:00
Michael
e5b89e9c6b fix missing asterisk 2023-01-28 17:16:14 -05:00
Michael
7ebdb83af7 OCLP 0.6.x updates 2023-01-28 17:16:14 -05:00
Mykola Grymalyuk
da2fc5c4c3 Merge branch 'main' into logging 2023-01-26 11:32:09 -07:00
Mykola Grymalyuk
94cfeabdfd sys_patch: Add unpatch validation 2023-01-26 11:29:09 -07:00
Mykola Grymalyuk
e7727adcc6 logging: Use generic saving 2023-01-26 10:33:01 -07:00
Mykola Grymalyuk
8becb554fc Implement logging library 2023-01-25 20:50:53 -07:00
Mykola Grymalyuk
97024361cd sys_patch: Add ColorSync downgrade 2023-01-25 12:15:06 -07:00
Mykola Grymalyuk
71ca6731fa Increment Build 2023-01-23 21:12:10 -07:00
Mykola Grymalyuk
ac2147684a Sync changelog 2023-01-23 20:49:29 -07:00
Mykola Grymalyuk
e16b6e4c22 build: Adjust for MacBookPro13,3 2023-01-23 20:08:48 -07:00
Mykola Grymalyuk
e84f3425d0 build: Adjust KDKlessWorkaround usage 2023-01-23 19:44:43 -07:00
Mykola Grymalyuk
e1b99b9084 Merge branch 'main' of https://github.com/dortania/OpenCore-Legacy-Patcher 2023-01-23 19:05:36 -07:00
Mykola Grymalyuk
b3775d35a5 Increment KDKless 2023-01-23 19:05:16 -07:00
Mykola Grymalyuk
498042ccb3 Increment build 2023-01-23 19:00:13 -07:00
Mykola Grymalyuk
7d4ee0d110 Merge pull request #1020 from dortania/054-docs
Docs: Sync 0.6.0 changes
2023-01-23 17:12:33 -07:00
Mykola Grymalyuk
cff1aaf3f4 Update support image 2023-01-23 12:47:31 -07:00
Mykola Grymalyuk
a776535e72 Adjust for 060 release 2023-01-23 11:43:15 -07:00
Mykola Grymalyuk
f7dea97289 Remove Navi mention 2023-01-23 11:30:36 -07:00
Mykola Grymalyuk
37e99ba49c sys_patch_detect.py: Avoid conflicting AMD patch installation 2023-01-23 11:24:03 -07:00
Mykola Grymalyuk
288b827616 sys_patch_helpers.py: Verify stderr before printing 2023-01-23 09:52:24 -07:00
Mykola Grymalyuk
e8a6f45329 sys_patch_helpers.py: Print errors 2023-01-23 09:31:36 -07:00
Mykola Grymalyuk
a1ffadf582 sys_patch_helpers.py: Unmount KDK drive on error 2023-01-23 09:30:52 -07:00
Mykola Grymalyuk
a6c4890d0f Merge branch 'main' of https://github.com/dortania/OpenCore-Legacy-Patcher 2023-01-23 09:20:50 -07:00
Mykola Grymalyuk
00b47aef47 Revert "sys_patch_helpers.py: Work around Read only error"
This reverts commit 92f85feda5.
2023-01-23 09:20:00 -07:00
Mykola Grymalyuk
92f85feda5 sys_patch_helpers.py: Work around Read only error 2023-01-23 09:19:20 -07:00
Mykola Grymalyuk
21778e8d92 sys_patch_helpers.py: Work around Read only error 2023-01-23 08:36:38 -07:00
Mykola Grymalyuk
57d2597c86 Sync PatcherSupportPkg 2023-01-23 06:51:14 -07:00
Mykola Grymalyuk
20baf8c417 Sync PatcherSupportPkg 2023-01-22 21:13:30 -07:00
Mykola Grymalyuk
99a145e7cb build: Add APFS Trim configuration 2023-01-20 17:10:59 -07:00
Mykola Grymalyuk
28b9948b45 Docs: Add more legacy Mac info 2023-01-20 16:22:46 -07:00
Mykola Grymalyuk
79f4ba17d9 gui_main.py: Adjust prompt 2023-01-20 16:03:02 -07:00
Mykola Grymalyuk
659d842023 Adjust versioning to 0.6.0, match changes 2023-01-19 12:39:42 -07:00
Mykola Grymalyuk
037ff0f2c3 sys_patch_helpers.py: Avoid saying RSRRepair
RSRRepair is used for syncing Boot and System Kernel Collections, users misintepreted this as supporting RSR on all models
2023-01-16 13:51:08 -07:00
Mykola Grymalyuk
fac1298a6e Merge pull request #1022 from ParaDoX1994/patch-1
Add note about building for other devices
2023-01-15 11:04:42 -07:00
neon ball
273910b69a Add note about building for other devices 2023-01-12 18:36:31 +02:00
Mykola Grymalyuk
1974cd6341 sys_patch_detect: prioritize USB 3.0 support 2023-01-12 08:52:39 -07:00
Mykola Grymalyuk
bef429b758 CHANGELOG: Adjust wording 2023-01-09 23:05:12 -07:00
Mykola Grymalyuk
bebbf646e1 sys_patch: Implement RSR handling for root patched Macs
Ref: https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1019
2023-01-09 23:03:18 -07:00
Mykola Grymalyuk
6504442d4f build: Implement NVGOP_GK.efi
Thanks @jazzzny
2023-01-09 21:35:33 -07:00
Mykola Grymalyuk
ff0012e214 CHANGELOG: Adjust BT note 2023-01-07 20:04:50 -07:00
Mykola Grymalyuk
91e7ff40e4 sys_patch: Add non-Metal support to Ventura 2023-01-07 08:44:37 -07:00
Mykola Grymalyuk
07d09d8eb2 sys_patch: Save HID CS when patching USB 1.1 2023-01-07 08:16:20 -07:00
Mykola Grymalyuk
b95ab91b43 sys_patch: Fix Patch set dictionary 2023-01-06 22:06:10 -07:00
Mykola Grymalyuk
4cc9e414d2 sys_patch: Add basic USB 1.1 support
Ref: https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021
2023-01-06 22:02:47 -07:00
Mykola Grymalyuk
a5d56147c0 sys_patch_detect: Ensure wifi patches are installed on subsequent runs 2023-01-06 15:19:58 -07:00
Mykola Grymalyuk
3e8963c372 Build: Add mini validation during GUI build 2023-01-06 14:33:40 -07:00
Mykola Grymalyuk
f4d6ef1741 Sync binaries to release variants 2023-01-02 09:23:14 -07:00
Mykola Grymalyuk
abbb9c1c66 Constants: Increment Copyright date 2023-01-01 19:10:35 -07:00
Mykola Grymalyuk
22b66e0a87 Sync CPUFriend 2022-12-30 12:55:14 -07:00
Mykola Grymalyuk
fd6c3d818d defaults: Work-around Control Center crashing with legacy Wifi 2022-12-30 11:45:10 -07:00
Mykola Grymalyuk
5fa0636f5c Docs: Sync Wifi and Vega changes 2022-12-27 20:48:18 -07:00
Mykola Grymalyuk
cefdd1df66 build: Add missing import 2022-12-27 18:24:12 -07:00
Mykola Grymalyuk
fcda4a26bf build: Expand KDKLWA usage to pre-AVX2 with native AMD 2022-12-27 18:05:39 -07:00
Mykola Grymalyuk
60f6482d43 sys_patch_detect: Ensure Network error halts patching 2022-12-26 11:44:23 -07:00
Mykola Grymalyuk
c316e6f5fe kdk_handler: Add extra network error handling 2022-12-25 21:58:13 -07:00
Mykola Grymalyuk
d30972e5ef generate.command: Support downloading latest release 2022-12-25 16:31:30 -07:00
Mykola Grymalyuk
5206028478 Constants: Fix CI validation 2022-12-25 15:08:25 -07:00
Mykola Grymalyuk
00043087c4 sys_patch_auto: Prompt on mismatched versions 2022-12-25 15:03:49 -07:00
Mykola Grymalyuk
d7ecdf3871 sys_patch: Adjust more indenation logic 2022-12-25 13:58:08 -07:00
Mykola Grymalyuk
6fe7ed614c auto_patcher: Adjust indentation logic 2022-12-25 13:44:14 -07:00
Mykola Grymalyuk
09f77490a5 Payloads: Remove unused gfxutil binary 2022-12-25 12:25:24 -07:00
Mykola Grymalyuk
1cc6d50474 OpenCore: Refactor generation script
Ensures utilities shipped with OpenCorePkg are always in-sync
2022-12-25 12:21:51 -07:00
Mykola Grymalyuk
549cb9fc9a build: Resolve SATA enumeration 2022-12-24 18:05:57 -07:00
Mykola Grymalyuk
a8ef84acf9 build: Add proper TS0128F/256F detection 2022-12-24 12:13:19 -07:00
Mykola Grymalyuk
f55d3ba5b2 build: Add backend comments for UHCI/OHCI 2022-12-23 10:38:11 -07:00
Mykola Grymalyuk
e46a5213a6 GUI: Move files into resources folder 2022-12-23 10:28:20 -07:00
Mykola Grymalyuk
2331aeb6d9 sys_patch: Add AMD Vega support for pre-AVX2.0 2022-12-22 20:14:10 -07:00
Mykola Grymalyuk
1277fef735 sys_patch: Clean LE properly 2022-12-21 21:15:06 -07:00
Mykola Grymalyuk
5fdde346cf sys_patch: Allow only wifi patches when no KDK/internet available 2022-12-19 17:01:06 -07:00
Mykola Grymalyuk
907ce75295 sys_patch: Implement legacy wifi support for Ventura 2022-12-19 14:13:17 -07:00
Mykola Grymalyuk
915d38eab1 build: Call NVMe fix function 2022-12-17 11:33:17 -07:00
Mykola Grymalyuk
8678200385 Increment Build 2022-12-17 11:30:01 -07:00
Mykola Grymalyuk
66e1cbcf1e build: Re-enable AuxKC patch 2022-12-16 21:35:26 -07:00
Mykola Grymalyuk
e1568d9391 build: Temporarily revert AuxKC patch
Current implementation has a reboot bug
2022-12-16 21:12:47 -07:00
Mykola Grymalyuk
89069a85f0 config: Adjust min kernel 2022-12-16 19:47:39 -07:00
Mykola Grymalyuk
5b2917cb03 build: Expand VMM fix for other model 2022-12-16 19:28:23 -07:00
Mykola Grymalyuk
73afdc37c3 os_probe: Add RSR handling 2022-12-16 19:06:07 -07:00
Mykola Grymalyuk
f71fcf6f58 build: Implement KDKlessWorkaround 2022-12-16 18:18:15 -07:00
Mykola Grymalyuk
6169d593c5 build: Ensure vars are properly deleted 2022-12-16 10:07:57 -07:00
Mykola Grymalyuk
f463e505d4 Sync binaries 2022-12-16 09:33:37 -07:00
Mykola Grymalyuk
6c6ae6145d kdk_handler: Fix fallback logic 2022-12-15 20:41:08 -07:00
Mykola Grymalyuk
90310fcaca build: Fix Content Caching argument 2022-12-15 19:57:08 -07:00
Mykola Grymalyuk
27d1ee3b02 build: Set HibernateSkipsPicker 2022-12-14 19:05:47 -07:00
Mykola Grymalyuk
2fba826f80 Sync binaries 2022-12-14 19:04:29 -07:00
Mykola Grymalyuk
1f63dffd3f SIP: Move to py_sip_xnu module 2022-12-12 10:26:40 -07:00
Mykola Grymalyuk
f4f4f3e1f3 sys_patch_auto: Fix KeyError 2022-12-11 22:53:05 -07:00
Mykola Grymalyuk
4ffe6bed9b build: Remove Force Web Drivers 2022-12-11 17:28:37 -07:00
Mykola Grymalyuk
d3878e34a2 build: Only set beta arg with AppleALC usage 2022-12-11 17:01:37 -07:00
Mykola Grymalyuk
501b228b6b Update README with hardware donation credits 2022-12-10 10:01:52 -07:00
Mykola Grymalyuk
c707047530 build: Revert AppleALC update 2022-12-10 09:52:41 -07:00
Mykola Grymalyuk
1c24cfee24 Remove OSBundleRequired in AICPUPM
Resolves Safe Mode panic
2022-12-03 18:02:43 -07:00
Mykola Grymalyuk
ebd605d459 Docs: Adjust Vega comment 2022-12-01 09:20:59 -07:00
Mykola Grymalyuk
f4cb0bed68 build: Add FixPCIeLinkRate.efi 2022-12-01 08:02:46 -07:00
Mykola Grymalyuk
0a395b47ae Increment Build 2022-11-25 08:56:27 -07:00
Mykola Grymalyuk
1627f264a2 gui_main.py: Revert app mover
Further testing required
2022-11-21 08:22:40 -07:00
Mykola Grymalyuk
23c0759d7a GUI: Replace app after checking updates 2022-11-20 18:13:19 -07:00
Mykola Grymalyuk
26154d4fdf gui_main: Check updates when not relocating 2022-11-20 17:06:28 -07:00
Mykola Grymalyuk
c99805bee5 gui_main: Move OCLP app to Support folder 2022-11-20 16:36:57 -07:00
Mykola Grymalyuk
d284dc6248 sys_patch_auto: Clean up class 2022-11-20 16:29:10 -07:00
Mykola Grymalyuk
70402af1d7 Sync binaries 2022-11-19 12:09:40 -07:00
Mykola Grymalyuk
b94a1bf9cf Merge pull request #1018 from dortania/skip-hibernation
build: Skip OC Picker on Hibernation Wake
2022-11-18 15:22:10 -07:00
Mykola Grymalyuk
a0a740de4f build: Avoid writing ShowPicker when unneeded 2022-11-17 19:45:42 -07:00
Mykola Grymalyuk
8876823ae8 Sync ocvalidate 2022-11-17 15:24:03 -07:00
Mykola Grymalyuk
94b91b2918 build: Fix Picker configuration 2022-11-17 15:18:56 -07:00
Mykola Grymalyuk
1bdc3ef5ff build: Skip OC Picker on Hibernation Wake 2022-11-17 14:36:09 -07:00
Mykola Grymalyuk
be7b0e6492 Merge pull request #1017 from ParaDoX1994/main
Add Ventura section to Universal Control guide
2022-11-17 14:15:08 -07:00
neon ball
30e2a4471c Add Ventura UC related images 2022-11-17 23:06:44 +02:00
neon ball
41188edf39 Add Ventura section to Universal Control guide 2022-11-17 23:06:08 +02:00
Mykola Grymalyuk
9296350e58 kdk_handler.py: Adjust to new repository 2022-11-17 10:21:38 -07:00
Mykola Grymalyuk
f06d7f2179 kdk_handler.py: Download KDKs from mirror
Reference: https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1016
2022-11-16 16:26:10 -07:00
Mykola Grymalyuk
d5d2a7fbfe Update README 2022-11-16 16:25:42 -07:00
Mykola Grymalyuk
a672183880 build: Add AMD GOP injection 2022-11-13 20:38:49 -07:00
Mykola Grymalyuk
9b7074bde5 Merge pull request #1015 from dortania/refactor-build
Modularize build library
2022-11-13 20:28:08 -07:00
Mykola Grymalyuk
7543606a1e Nest sys_patch libraries 2022-11-13 19:25:55 -07:00
Mykola Grymalyuk
48de65dd30 graphics_audio: avoid excessive try except usage 2022-11-13 19:12:49 -07:00
Mykola Grymalyuk
e7e2b0dcad graphics_audio.py: Refactor 2022-11-13 18:55:35 -07:00
Mykola Grymalyuk
8b43727b0b Add header to restructured build family files 2022-11-13 18:33:52 -07:00
Mykola Grymalyuk
9c28d77826 build: Adjust save handling 2022-11-13 17:38:39 -07:00
Mykola Grymalyuk
93c1983a3f support.py: Refactor 2022-11-13 17:25:57 -07:00
Mykola Grymalyuk
7fcef65837 storage.py: Refactor 2022-11-13 17:15:11 -07:00
Mykola Grymalyuk
93a1d0fb11 smbios.py: Drop HW_BID rerouting 2022-11-13 17:08:22 -07:00
Mykola Grymalyuk
94b33f6029 firmware.py: Refactor 2022-11-13 16:56:56 -07:00
Mykola Grymalyuk
1d2a7e080b bluetooth.py: Refactor 2022-11-13 16:31:08 -07:00
Mykola Grymalyuk
b448a4b6dd wireless.py: Refactor 2022-11-13 16:21:46 -07:00
Mykola Grymalyuk
235a9985f4 wired.py: Refactor 2022-11-13 15:59:23 -07:00
Mykola Grymalyuk
34aa75422a Merge branch 'main' into refactor-build 2022-11-13 15:35:25 -07:00
Mykola Grymalyuk
3a56f13480 gui: publish version in UI header 2022-11-13 15:35:00 -07:00
Mykola Grymalyuk
50d730b45a build: fix invocation 2022-11-13 15:25:56 -07:00
Mykola Grymalyuk
2e5a61b7fd Adjust function levels 2022-11-13 09:45:36 -07:00
Mykola Grymalyuk
7c43cf0901 Remove unused imports 2022-11-12 20:18:37 -07:00
Mykola Grymalyuk
956d0cffcc Further modularize 2022-11-12 20:15:43 -07:00
Mykola Grymalyuk
f8e91feff4 build: Enable Audio and fix invocation 2022-11-12 17:29:37 -07:00
Mykola Grymalyuk
55061bc86d build.py: Use pythonic class name 2022-11-12 17:14:39 -07:00
Mykola Grymalyuk
21c40277bb Modularize build.py 2022-11-12 17:10:40 -07:00
Mykola Grymalyuk
4b05b12a0a sys_patch_dict: Remove unneeded process
Was previously in-place for early Monterey betas, no longer required since AppleGVA was resolved
2022-11-08 09:35:10 -07:00
Mykola Grymalyuk
168930919e Merge pull request #1014 from dortania/news-widget
Remove unsupported News Widget on Ivy bridge and Haswell iGPUs
2022-11-07 21:27:48 -07:00
Mykola Grymalyuk
423a6bc255 sys_patch_helpers: Print as ASCII 2022-11-07 20:49:48 -07:00
Mykola Grymalyuk
d8f9c60f0c sys_patch: Remove News Widget programatically 2022-11-07 18:37:35 -07:00
Mykola Grymalyuk
0ef84c1751 Sync binaries 2022-11-07 10:12:51 -07:00
Mykola Grymalyuk
286df94c87 Merge pull request #1013 from dortania/disable-mediad
Work-around mediaanalysisd crashing
2022-11-06 08:23:42 -07:00
Mykola Grymalyuk
ca11b2741e Sybc binaries 2022-11-05 21:33:21 -06:00
Mykola Grymalyuk
ed9f9a05b5 build.py: Set arch logic 2022-11-04 14:48:29 -06:00
Mykola Grymalyuk
82b4cc26d5 Sync binaries 2022-11-04 09:27:05 -06:00
Mykola Grymalyuk
003a40a039 Sync binary 2022-11-03 19:19:47 -06:00
Mykola Grymalyuk
a1cc9a399a Adjust EFIDisabler 2022-11-03 15:40:26 -06:00
Mykola Grymalyuk
1659f8c25e Test new RestrictEvents build 2022-11-03 15:24:14 -06:00
Mykola Grymalyuk
8c23ea137b Revert "Work-around Ivy/Haswell idle KP"
This reverts commit 4dc14eb9c0.
2022-11-02 21:30:32 -06:00
Mykola Grymalyuk
4dc14eb9c0 Work-around Ivy/Haswell idle KP 2022-11-02 20:19:41 -06:00
Mykola Grymalyuk
2ea3933720 build.py: Ensure Model/Board ID are set on MacPro6,1 2022-11-02 18:26:06 -06:00
Mykola Grymalyuk
ff5139463e gui_main.py: Fix typo 2022-11-02 13:56:04 -06:00
Mykola Grymalyuk
b0d4dd158f sys_patch.py: Add additional error handling for LE 2022-10-31 07:34:50 -06:00
Mykola Grymalyuk
71439916b6 Merge pull request #1012 from ParaDoX1994/main
Add Ventura warning to Universal Control docs
2022-10-31 07:32:51 -06:00
Mykola Grymalyuk
66a9be5be4 sys_patch.py: Add support for AMD Polaris 2022-10-30 18:26:56 -06:00
Mykola Grymalyuk
55478fd81c Sync FeatureUnlock
With this new build, lowering FeatureUnlock settings on older machines is no longer needed
2022-10-30 16:43:25 -06:00
Mykola Grymalyuk
d2d68fd08f sys_patch.py: Ensure path is empty when moving 2022-10-30 14:02:26 -06:00
Mykola Grymalyuk
2ea982b343 Increment binaries 2022-10-30 14:01:46 -06:00
neon ball
9741ef794e Fix typo and edit slightly 2022-10-30 04:24:53 +02:00
neon ball
eb9531f768 Change warning
Change warning to warn about native models setting and Ventura.
2022-10-30 04:18:15 +02:00
neon ball
45e0d5b155 Small line change 2022-10-30 01:11:11 +03:00
neon ball
47fe853334 Add Ventura warning to UC 2022-10-30 01:01:46 +03:00
Mykola Grymalyuk
cd5ff61138 gui_main: Only prompt updates once per launch 2022-10-29 07:49:27 -06:00
Mykola Grymalyuk
59b473a4ce build.py: Add MBP121 as Force Touch capable model 2022-10-29 07:43:47 -06:00
Mykola Grymalyuk
5a67212bdc Increment build 2022-10-27 09:21:44 -06:00
Mykola Grymalyuk
f0991d2cd0 Sync documentation 2022-10-27 09:21:20 -06:00
Mykola Grymalyuk
72464f3d54 build.py: Add early MacPro6,1 support 2022-10-26 21:17:51 -06:00
Mykola Grymalyuk
406072cbe1 sys_patch: Relocate old kexts instead of nuke 2022-10-26 18:35:46 -06:00
Mykola Grymalyuk
91cb6e4ecf build.py: Add Timeout customization 2022-10-26 17:22:27 -06:00
Mykola Grymalyuk
604fb7e28f sys_patch.py: Handle migrated kexts from old installs 2022-10-26 14:50:04 -06:00
Mykola Grymalyuk
db015ad79c kdk_handler: Lax n-1 logic 2022-10-26 09:31:07 -06:00
Mykola Grymalyuk
2db8cb3a85 install.py: Avoid drive icon confusion with OCLP 2022-10-26 06:56:33 -06:00
Mykola Grymalyuk
4d7f7b9c28 build.py: Fix TS0128F support 2022-10-25 20:32:53 -06:00
Mykola Grymalyuk
5d24b4ca1e Increment build 2022-10-25 10:37:12 -06:00
Mykola Grymalyuk
1d11340051 Merge pull request #1011 from dortania/pullrequests/ParaDoX1994/ventura-docs
Add Ventura documentation - ParaDoX1994 PR
2022-10-25 10:00:25 -06:00
Mykola Grymalyuk
0e270ea473 build.py: Set BUF0 patch to UEFI 1.2 Macs only 2022-10-24 22:53:45 -06:00
Mykola Grymalyuk
0cbfe142be build.py: Disable non-functional UHCI/OHCI drivers 2022-10-24 09:46:24 -06:00
Mykola Grymalyuk
3d04d3d361 Docs: Adjust SIP info 2022-10-24 09:44:04 -06:00
Mykola Grymalyuk
30b163437a Update Post Install info 2022-10-24 09:31:55 -06:00
Mykola Grymalyuk
223e784722 Docs: Update model page 2022-10-24 09:05:32 -06:00
Mykola Grymalyuk
c868aba3d7 constants.py: Sync version 2022-10-23 21:49:15 -06:00
Mykola Grymalyuk
97c9e5b87c Sync CryptexFixup 2022-10-23 20:08:28 -06:00
Mykola Grymalyuk
e8af0a8387 Remove old info 2022-10-23 20:07:53 -06:00
Mykola Grymalyuk
078ec4459c build: Fix Xserve typo
Thanks @jazzzny
2022-10-23 17:31:42 -06:00
neon ball
fb3cc893c5 Merge branch 'dortania:main' into ventura-docs 2022-10-24 01:50:32 +03:00
Mykola Grymalyuk
ebaa1f8176 sys_patch_detect: Add MBP13,3 to GCN patchset
Ensure older framebuffer is correctly used

Credit to @OnesuchDev for original finding
2022-10-22 16:41:33 -06:00
neon ball
c9adbf2b0a Fix typo 2022-10-21 07:36:17 +03:00
neon ball
8b2b6b157c Change wording 2022-10-21 07:33:35 +03:00
neon ball
c4b25f5585 Change stuff 2022-10-21 07:27:42 +03:00
neon ball
296edc19d5 Add MacPro3,1 ethernet note 2022-10-21 07:26:32 +03:00
neon ball
3e2762c798 Merge branch 'dortania:main' into ventura-docs 2022-10-21 07:23:38 +03:00
Mykola Grymalyuk
20b5a55e6d utilities: Drop Nightly validation
Nightly returns 404 regardless of support, we’ll validate the download further along
2022-10-19 09:20:47 -06:00
Mykola Grymalyuk
63c7f6874e Merge pull request #999 from dortania/ventura-alpha
Implement beta Ventura support
2022-10-18 22:21:12 -06:00
Mykola Grymalyuk
094c7ab1d0 kdk_handler: Fix corruption detection 2022-10-18 19:12:54 -06:00
Mykola Grymalyuk
8a43312dcf gui_main: Fix reboot prompt logic 2022-10-18 17:42:54 -06:00
Mykola Grymalyuk
7f62e5918f sys_patch_detect: Use proper term for AMFI warning
Use Library Validation if host is a Mac and doesn’t require AMFI to be completely off
2022-10-18 14:21:14 -06:00
Mykola Grymalyuk
f3918370d0 build: Ensure pikera installed on upgraded iMacs 2022-10-18 14:05:46 -06:00
Mykola Grymalyuk
e38dc48167 kdk_handler: Delete old on downloads only 2022-10-18 07:11:22 -06:00
Mykola Grymalyuk
953d9ec833 Constants: Remove unsupported arg 2022-10-18 06:35:13 -06:00
Mykola Grymalyuk
bb18cdfe44 Sync binaries 2022-10-17 14:54:14 -06:00
Mykola Grymalyuk
2a89a887a3 Add backend option to force output support 2022-10-17 08:58:25 -06:00
Mykola Grymalyuk
7ef7d851c0 Re-export OpenCanopy Icons
Resolve icons not rendering on Haswell and newer Macs
2022-10-16 21:25:03 -06:00
neon ball
19c8c96242 Fix link description 2022-10-17 03:35:55 +03:00
neon ball
dac2315227 Fix link 2022-10-17 03:35:21 +03:00
neon ball
6fd10235c5 Updates 2022-10-17 03:34:40 +03:00
neon ball
ef12c3d09e Update information 2022-10-17 03:24:30 +03:00
Mykola Grymalyuk
9484f18994 Sync changelog 2022-10-16 15:33:41 -06:00
Mykola Grymalyuk
1a262c6acf sys_patch: Drop Metal downgrade for AMD Legacy GCN 2022-10-16 15:29:07 -06:00
Mykola Grymalyuk
f45559a457 kdk_handler: Ensure argument is not empty 2022-10-14 08:05:05 -06:00
Mykola Grymalyuk
7e6f418d23 installer.py: List Beta builds if no release variants available 2022-10-12 21:47:33 -06:00
Mykola Grymalyuk
56e5602394 gui_main.py: Rework Ventura IA prompt 2022-10-12 21:26:35 -06:00
Mykola Grymalyuk
de1107d773 defaults.py: Sync AMFI logic 2022-10-12 20:16:00 -06:00
Mykola Grymalyuk
23bd207774 sys_patch: Drop Metal downgrade on Kepler 2022-10-12 20:11:53 -06:00
Mykola Grymalyuk
2145dd835b SMBIOS: Sync data for Ventura 2022-10-11 11:03:58 -06:00
Mykola Grymalyuk
ec23bc9d53 sys_patch_dict: Remove old GVA work-around 2022-10-11 09:53:49 -06:00
Mykola Grymalyuk
94971fbb76 sys_patch_dict: Remove unneeded OS checks 2022-10-11 09:41:31 -06:00
Mykola Grymalyuk
fbb5558aef sys_patch_helpers: Remove dumplicate checksum check 2022-10-07 18:19:08 -06:00
Mykola Grymalyuk
25952ff9d8 kdk_handler: Verify checksum after downloading 2022-10-07 18:18:24 -06:00
Mykola Grymalyuk
5ee8b16353 Sync binaries 2022-10-07 17:55:45 -06:00
Mykola Grymalyuk
3e54e8ad7e build.py: Adjust AICPUPM comments 2022-10-07 07:12:56 -06:00
neon ball
78e8e9ae33 Remove mention about PM 2022-10-07 15:58:33 +03:00
neon ball
bc7e4b369a Another small update 2022-10-07 15:38:23 +03:00
neon ball
f141b57113 Small update 2022-10-07 15:35:19 +03:00
neon ball
543374a922 Update wording 2022-10-07 15:30:41 +03:00
neon ball
88ceda1c82 Update 2022-10-07 15:18:12 +03:00
neon ball
d5674b342b Update wording 2022-10-07 15:15:49 +03:00
neon ball
d7ec9d7083 Switch issue link 2022-10-07 13:28:23 +03:00
Mykola Grymalyuk
964697a2c1 build.py: Fix PM on Ivy Bridge and older 2022-10-06 21:49:20 -06:00
Mykola Grymalyuk
5a2afa4fa7 sys_patch_dict: Fix OpenCL on non-AVX2 legacy GCN 2022-10-06 19:44:11 -06:00
Mykola Grymalyuk
5aa7ab3b0f example_data: Add Macmini5,2 2022-10-06 19:32:37 -06:00
Mykola Grymalyuk
dca7959052 example_data: Add more units 2022-10-06 13:48:04 -06:00
Mykola Grymalyuk
8d1fc8ca47 device_probe: Fix leafs formatting 2022-10-06 12:30:33 -06:00
neon ball
2bd4097b0c Change order 2022-10-06 21:14:58 +03:00
neon ball
d369a62365 Add pull request link 2022-10-06 21:01:28 +03:00
neon ball
0d4f40cad2 Slight changes 2022-10-06 20:51:09 +03:00
neon ball
0acb6db744 Slight edits 2022-10-06 20:47:44 +03:00
Mykola Grymalyuk
fe356dd843 kdk_handler: Delete corrupted KDKs when found 2022-10-06 11:07:54 -06:00
neon ball
ce6fca3485 Switch sidebar ordering 2022-10-06 20:05:02 +03:00
neon ball
58af2fe8c9 Add files via upload 2022-10-06 19:30:37 +03:00
neon ball
0c57948fa9 Ventura-sidebar 2022-10-06 19:09:28 +03:00
neon ball
2ebf75b2e1 Ventura-drop 2022-10-06 19:08:49 +03:00
neon ball
d108c234c6 Ventura banner 2022-10-06 19:07:48 +03:00
Mykola Grymalyuk
d0c0f41eb6 sys_patch_helpers: Fix index error on .DS_Store files
Thanks @hvds
2022-10-05 08:46:26 -06:00
Mykola Grymalyuk
e919368cd3 sys_patch_helpers: Check KDK.dmg checksum before installing 2022-10-05 08:43:11 -06:00
Mykola Grymalyuk
de46cb79c9 retoute_payloads: Allow multiple instances 2022-10-05 08:42:41 -06:00
Mykola Grymalyuk
12a71c8cbb sys_patch.py: Adjust indentation 2022-10-04 22:11:17 -06:00
Mykola Grymalyuk
00a04c8fce kdk_handler: Adjust print message 2022-10-04 20:20:50 -06:00
Mykola Grymalyuk
f2bedca734 sys_patch.py: Move kdk check higher 2022-10-04 20:08:47 -06:00
Mykola Grymalyuk
bf317e7bea sys_patch: Adjust legacy KDK handling 2022-10-04 20:04:12 -06:00
Mykola Grymalyuk
fde8dc001e sys_patch_helpers: Fix Host detection 2022-10-04 19:47:52 -06:00
Mykola Grymalyuk
79c833a6cc sys_patch: Allow updating installed KDK to root
If installed Beta 8 KDK on Beta 9, can later root patch with Beta 9 KDK available onto root
2022-10-04 19:31:26 -06:00
Mykola Grymalyuk
5ef2f59d7c kdk_handler: Remove redundant sudo invocation 2022-10-04 18:18:08 -06:00
Mykola Grymalyuk
e82c76fedf build.py: Remove unused plugins, validate unused Tools/Drivers 2022-10-04 18:14:46 -06:00
Mykola Grymalyuk
9175c950f8 kdk_handler: Delete unused KDKs after supported is found 2022-10-04 18:13:52 -06:00
Mykola Grymalyuk
85ca3e2d27 sys_patch: Switch to rsync for KDK merging
When using N-1 system, ditto will sometimes refuse to sync when the source is older than the destination
2022-10-04 17:18:48 -06:00
Dhinak G
ca5771b1c9 kdk_handler: Fix parsing of legacy macOS versions 2022-10-04 15:26:09 -04:00
Dhinak G
67c9c4633b kdk_handler: Fix some parsing and logic bugs 2022-10-04 15:21:32 -04:00
Mykola Grymalyuk
1be56542b1 kdk_handler: Fix argument 2022-10-04 12:46:00 -06:00
Mykola Grymalyuk
2e74debefa Increment Binaries 2022-10-04 11:11:36 -06:00
Mykola Grymalyuk
3e25b74ee8 Increment CryptexFixup to release 2022-10-04 10:21:57 -06:00
Mykola Grymalyuk
ab9c93a1da sys_patch_helpers: Write KDK used to patchset plist 2022-10-04 09:53:14 -06:00
Mykola Grymalyuk
faf717dedf utilities.py: Add error handling in check_boot_mode() 2022-10-04 09:47:44 -06:00
Dhinak G
d6daa2f06d Build: update requirements.txt 2022-10-03 18:29:06 -04:00
Dhinak G
4bebe208bc kdk_handler: Clean up unused variables 2022-10-03 16:08:44 -04:00
Dhinak G
fa352fbc0c kdk_handler: Enumerate KDKs from Apple developer portal 2022-10-03 16:00:23 -04:00
Mykola Grymalyuk
41ebf7ce32 sys_patch: Fix typos
Thanks @perez987
2022-10-02 12:15:07 -06:00
Mykola Grymalyuk
3a90cfa3b9 sys_patch_dict: Add GPUSupport patch to Kepler 2022-10-02 11:17:59 -06:00
Mykola Grymalyuk
f60af0446e kdk_handler.py: Adjust logic 2022-10-01 16:22:30 -06:00
Mykola Grymalyuk
e27ca8d160 kdk_handler: Fix accidental tuple return 2022-10-01 16:04:48 -06:00
Mykola Grymalyuk
2c40e9b0a1 sys_patch: Improve N-1 KDK handling 2022-10-01 13:46:19 -06:00
Mykola Grymalyuk
5c43592c46 utilities.py: Verify host space before downloading 2022-10-01 13:00:21 -06:00
Mykola Grymalyuk
9c18b15153 kdk_handler: Verify path before iterating over 2022-09-30 11:18:11 -06:00
Mykola Grymalyuk
7e006e8722 Sync Changelog 2022-09-30 08:36:58 -06:00
Mykola Grymalyuk
012f54c1e1 kdk_handler: Remove unused import 2022-09-30 06:47:18 -06:00
Mykola Grymalyuk
3a2ac7a310 kdk_handler: Add KDK downloader for Ventura 2022-09-30 06:44:34 -06:00
Mykola Grymalyuk
dd7470af98 main.py: Publish OS Version 2022-09-29 21:23:57 -06:00
Mykola Grymalyuk
da86344269 defaults: Skip disabled GPUs 2022-09-28 15:47:51 -06:00
Mykola Grymalyuk
9b1dae312d defaults.py: Fix Vega/Navi logic 2022-09-28 13:26:25 -06:00
Mykola Grymalyuk
bdfd043250 device_probe: Publish Rosetta detection 2022-09-28 12:52:17 -06:00
Mykola Grymalyuk
251bd48920 defaults.py: Refactor Probe Logic 2022-09-28 12:21:24 -06:00
Mykola Grymalyuk
910ab09dbd gui_main.py: Add LV and AMFI patch configuration 2022-09-27 18:53:30 -06:00
Mykola Grymalyuk
fdfe588566 defaults: Disable AMFI on non-Metal 2022-09-27 18:53:07 -06:00
Mykola Grymalyuk
f1af0e1a87 defaults: Disable AMFI on Polaris lacking AVX2.0 2022-09-27 18:38:56 -06:00
Mykola Grymalyuk
1aff7854e0 gui_main: Avoid float usage on wxPoint 2022-09-27 14:28:30 -06:00
Mykola Grymalyuk
20e08d4dff symbios_data.py: Fix GPU data set 2022-09-27 11:50:32 -06:00
Mykola Grymalyuk
162d5e76ee sys_patch_auto: Add error handing for LA pathing
Some users manage to nuke this directory
2022-09-27 10:49:19 -06:00
Mykola Grymalyuk
3d63cb1654 sys_patch_detect: Add Polaris support for pre-AVX2.0 2022-09-27 08:45:37 -06:00
Mykola Grymalyuk
8cc87980d1 device_probe: Add leaf feature detection 2022-09-27 08:43:38 -06:00
Mykola Grymalyuk
1d821b993b build.py: Drop manual Root Hash Patching 2022-09-27 07:20:05 -06:00
Dhinak G
407ed9c4cd Add support for KDK downloads 2022-09-25 00:54:01 -04:00
Mykola Grymalyuk
653692f898 Implement Automatic Rosetta Cryptex installation
Drops need for manual OS.dmg swapping on pre-Haswell
2022-09-24 22:22:34 -06:00
Dhinak G
4ef2c00b45 Merge branch 'main' into ventura-alpha 2022-09-24 20:36:47 -04:00
Dhinak G
d7c66346cb Default catalog to Public 2022-09-24 20:35:44 -04:00
Dhinak G
9dcd42d328 Merge branch 'main' into ventura-alpha 2022-09-24 20:33:04 -04:00
Dhinak G
52f1504f3e Use global shared session 2022-09-24 20:32:57 -04:00
Mykola Grymalyuk
92ff4244ae build.py: Add AVXpel-based NoAVX kext
Resolves Zlib-based instability in Ventura on pre-Sandy Bridge Macs

Credit to @educovas for developing
2022-09-21 18:45:29 -06:00
Mykola Grymalyuk
daf28a62ef AutoPatcher: Add AssociatedBundleIdentifiers 2022-09-21 14:04:59 -06:00
Mykola Grymalyuk
8de92f9f6e AutoPkg: Add warnings to manual invocation 2022-09-20 17:47:40 -06:00
Mykola Grymalyuk
0895fc8415 gui_main.py: Remove Sys Pref prompt for Ventura 2022-09-20 17:01:24 -06:00
Mykola Grymalyuk
3a641d451d Merge branch 'main' into ventura-alpha 2022-09-20 09:36:58 -06:00
Mykola Grymalyuk
d0364d8c91 build.py: Ensure boot-arg is installed for BCM2046/2070 chipsets 2022-09-19 21:07:56 -06:00
Mykola Grymalyuk
46dfbbcfd0 CHANGELOG: Reword Nvidia patch 2022-09-19 10:28:48 -06:00
Mykola Grymalyuk
890be074cb Merge branch 'main' into ventura-alpha 2022-09-19 10:23:21 -06:00
Mykola Grymalyuk
715d8af497 Increment Build 2022-09-19 10:21:19 -06:00
Mykola Grymalyuk
6cec3d0d8c Sync PatcherSupportPkg 2022-09-18 19:03:58 -06:00
Mykola Grymalyuk
71b80a4e50 sys_patch_detect.py: Ensure Monterey patches install before Big Sur
Broadwell and older iGPUs need libCLVMIGILPlugin.dylib downgraded to Monterey, however Ivy Bridge needs the binary downgraded to Big Sur's
2022-09-16 17:50:24 -06:00
Mykola Grymalyuk
c7e8d6ef01 Update CHANGELOG.md 2022-09-15 22:11:39 -06:00
Mykola Grymalyuk
a58f2d060a sys_patch_dict: Rework OpenCL patch set 2022-09-15 21:51:01 -06:00
Mykola Grymalyuk
f631f54475 Merge branch 'main' into ventura-alpha 2022-09-15 21:26:47 -06:00
Mykola Grymalyuk
101f1197bc sys_patch_dict: Fix Safari 16 support for macOS Monterey 2022-09-15 21:18:00 -06:00
Mykola Grymalyuk
0693e345d0 defaults: Add proper AMFI vs LV logic 2022-09-14 18:21:21 -06:00
Mykola Grymalyuk
bf9d6f678e sys_patch: Add Reworked AuxKC logic 2022-09-14 14:58:03 -06:00
Mykola Grymalyuk
b3bc920ce6 amfi_detect.py: Update comment 2022-09-14 12:48:05 -06:00
Mykola Grymalyuk
012a629100 sys_patch_detect: Revise AMFI logic
Currently the AMFI level requirement will be determined by the GPU needed.
- Intel iGPUs: Only Library Validation patch (`_cs_require_lv`)
- Nvidia Kepler and GCN: Full AMFI needs to be disabled (`amfi=0x80`)

If you have a mixed GPU system, the highest patch requirement will be chosen (ie. `amfi=0x80` on iMac15,1)
2022-09-14 07:57:41 -06:00
Mykola Grymalyuk
7fc2d478f2 Adjust AMFI logic for Kepler and GCN 2022-09-13 21:34:37 -06:00
Mykola Grymalyuk
616d812913 Drop reliance on amfi_get_out_of_my_way=0x1 2022-09-13 19:51:28 -06:00
Mykola Grymalyuk
839a37f897 Merge branch 'main' into ventura-alpha 2022-09-13 16:24:16 -06:00
Mykola Grymalyuk
5565a3e67e amfi_data.py: Initial commit 2022-09-13 16:24:03 -06:00
Mykola Grymalyuk
a5e002d68b sys_patch_dict: Remove Metal Downgrade for Intel
Determined stock Metal is functional on Intel metal GPUs, XPC downgrade still required for 3802-based GPUs

Resolves Photos support for Intel GPUs

Requires removal of old patches to properly function
2022-09-12 20:37:23 -06:00
Dhinak G
c064269e88 Merge branch 'main' into ventura-alpha 2022-09-08 19:21:45 -04:00
Dhinak G
8322e270db GUI: work around Python 3.10 + wxPython 4.2.0 bug 2022-09-08 19:18:24 -04:00
Mykola Grymalyuk
c21d3d8de8 Constants: Remove unsupported variable 2022-09-08 08:14:47 -06:00
Mykola Grymalyuk
c59f11fea3 sys_patch_dict: Seperate 3802 patch set files
Ensure XPC service is not downgraded
2022-09-07 21:04:22 -06:00
Mykola Grymalyuk
237bb329f2 sys_patch_dict: Work around downgraded IOSurface
Resolves kmutil linking in 13.0 Beta 4 and newer on IOSurface downgraded root patches
2022-09-05 21:23:11 -06:00
Mykola Grymalyuk
c897ca8c34 Update AutoPkgInstaller binary 2022-09-05 21:22:28 -06:00
Mykola Grymalyuk
b8c27c45f8 sys_patch_dict: Remove 3802 patch set on Broadwell
Unused on Broadwell GPUs
2022-09-05 10:24:24 -06:00
Mykola Grymalyuk
23e939ea72 sys_patch.py: Fix auth logic 2022-09-04 21:38:35 -06:00
Mykola Grymalyuk
9da0b24b30 sys_oatch: Fix prompt logic 2022-09-04 11:42:01 -06:00
Mykola Grymalyuk
9758124b2b sys_patch.py: Move AuxKC auth check to dedicated function 2022-09-03 20:56:48 -06:00
Mykola Grymalyuk
df753299fc sys_patch.py: Ensure patch file has updated pathing
When handling KDK-less installs in Ventura, ensure patchset is adjusted to new path when written to disk
2022-09-03 20:36:30 -06:00
Mykola Grymalyuk
955d147638 sys_patch.py: Don’t prompt for auth if kext already approved 2022-09-03 12:21:13 -06:00
Mykola Grymalyuk
4e9428b8e0 sys_patch.py: Add AuxKC cleaning 2022-09-03 12:05:22 -06:00
Mykola Grymalyuk
879901101d Merge branch 'main' into ventura-alpha 2022-09-02 11:15:20 -06:00
Dhinak G
d00e667caf SOURCE.md: Fix another typo in previous 2022-09-02 12:17:36 -04:00
Dhinak G
01b48f4226 SOURCE.md: Fix typo in previous 2022-09-02 12:16:55 -04:00
Mykola Grymalyuk
c5692b91fb main.py: Fix source logic 2022-09-02 10:12:52 -06:00
Mykola Grymalyuk
1dbb673f73 Merge branch 'main' into ventura-alpha 2022-09-02 10:12:20 -06:00
Mykola Grymalyuk
5179a63766 SOURCE: Sync build requirements 2022-09-02 10:12:03 -06:00
Mykola Grymalyuk
3cfc683ecf gui_main: Avoid prompt if patches already installed 2022-09-02 10:08:25 -06:00
Mykola Grymalyuk
3779cfcaf6 sys_patch_dict: Sync Patch Names 2022-09-02 10:07:45 -06:00
Mykola Grymalyuk
dcd581345a sys_patch_helpers: Add Commit URL to patch file 2022-09-02 09:45:08 -06:00
Mykola Grymalyuk
530c0f49b9 sys_patch_helpers: Remove hard coded test 2022-08-27 16:29:55 -06:00
Mykola Grymalyuk
36dc2c55cf Merge branch 'main' into ventura-alpha 2022-08-27 15:53:05 -06:00
Mykola Grymalyuk
e25843c217 Merge pull request #1007 from dortania/ventura-kdk-less
sys_patch: Allow KDK-less root patching on Intel iGPUs and Nvidia Kepler
2022-08-27 13:33:07 -06:00
Mykola Grymalyuk
45654bce16 build.py: Ensure WEG is installed on Mac Pro configs 2022-08-27 13:00:20 -06:00
Mykola Grymalyuk
237b086e17 sys_patch.py: Avoid prompts if kext has already been accepted 2022-08-27 12:57:45 -06:00
Mykola Grymalyuk
b105a73a10 sys_patch: Add KDK-less support
Only Applicable for Kepler and Intel iGPUs at this time
2022-08-27 09:29:38 -06:00
Mykola Grymalyuk
ef0fe3d4be constants: Update BTFX 2022-08-24 16:52:54 -06:00
Mykola Grymalyuk
0c4c4ff378 Update BlueToolFixup 2022-08-24 16:52:23 -06:00
Mykola Grymalyuk
58425de537 Add remaining External Boot Icons 2022-08-24 15:16:50 -06:00
Mykola Grymalyuk
38e573d886 Merge branch 'main' into ventura-alpha 2022-08-24 12:20:25 -06:00
Mykola Grymalyuk
c1ba7cd6cb installer.py: Parse SharedSupport.dmg 2022-08-24 12:19:52 -06:00
Mykola Grymalyuk
9e28241126 Icon: Add Ventura Boot Picker icons 2022-08-24 11:17:13 -06:00
Mykola Grymalyuk
bf6f20b97e sys_patch_detect: Ensure Rosetta systems are not detected
Rosetta will report itself as a GCN 1 based system, which will confuse the root patcher and provide patches on Ventura
2022-08-23 18:39:22 -06:00
Mykola Grymalyuk
66452b8898 sys_patch_detect: Print KDK error for non-GUI enviroments 2022-08-23 18:35:23 -06:00
Mykola Grymalyuk
06d12f9384 defaults.py: ensure AMFI is disabled on Metal 2022-08-23 17:06:23 -06:00
Mykola Grymalyuk
a546aa1d85 build.py: fix SIP variable 2022-08-23 17:03:39 -06:00
Mykola Grymalyuk
6162e73a9f Raise SIP requirement for root patching 2022-08-23 12:27:46 -06:00
Mykola Grymalyuk
763fe04c21 Add Ventura validation 2022-08-23 11:02:57 -06:00
Mykola Grymalyuk
603b5ee153 sys_patch_dict: Add GVA patches for Ventura 2022-08-23 09:58:27 -06:00
Mykola Grymalyuk
c6dc4c28a3 utitilies.py: Add proper AMFI checks for Ventura 2022-08-22 18:14:11 -06:00
Mykola Grymalyuk
662aa77016 sys_patch_detect.py: Add AMFI check 2022-08-22 18:10:57 -06:00
Mykola Grymalyuk
64e5a05eb2 sys_patch_dict: Don’t instal Kepler’s patch in 13.0 2022-08-22 17:01:06 -06:00
Mykola Grymalyuk
4b5d35f5ff Add preliminary Ventura graphics support 2022-08-22 14:18:43 -06:00
Mykola Grymalyuk
27c24e6d47 Increment to release binaries 2022-08-19 16:24:45 -06:00
Mykola Grymalyuk
643e4cf87a Merge branch 'main' into ventura-alpha
# Conflicts:
#	resources/os_probe.py
2022-08-19 15:43:23 -06:00
Mykola Grymalyuk
14528b904c Merge pull request #1005 from ParaDoX1994/main
Remove TUI mention due to deprecation of TUI
2022-08-19 15:40:22 -06:00
Mykola Grymalyuk
2c35b62b53 installer.py: Remove duplicate builds 2022-08-18 21:55:15 -06:00
Mykola Grymalyuk
0cb2ad1b20 Installer: Check space before starting 2022-08-18 17:21:07 -06:00
Mykola Grymalyuk
08525de489 os_probe.py: Remove new line output 2022-08-17 17:59:33 -06:00
Mykola Grymalyuk
0286b8d64a build.py: rework MCE Disabler logic 2022-08-09 09:49:12 -06:00
Mykola Grymalyuk
4bb2b8bc04 gui_main.py: avoid reboot prompt on off-model building 2022-08-09 09:31:13 -06:00
Mykola Grymalyuk
d85fe3a7fb Resync changelog 2022-08-06 10:15:12 -06:00
Mykola Grymalyuk
a22d53e9e8 Merge branch 'main' into ventura-alpha 2022-08-06 10:13:15 -06:00
Mykola Grymalyuk
7e46b7292a Increment build 2022-08-05 23:21:18 -06:00
Mykola Grymalyuk
f0cf0a7dbe sys_patch_dict.py: Limit MTL patch to 12.5 and newer 2022-08-05 22:56:49 -06:00
Mykola Grymalyuk
cd1276251c Resolve Nvidia Kepler for 12.5
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1004
2022-08-05 22:10:28 -06:00
Mykola Grymalyuk
d3bf065a8b sys_patch_helpers.py: Add closest KDK match 2022-07-31 11:01:48 -06:00
neon ball
8849896ba3 Remove TUI mention due to deprecation of TUI 2022-07-29 18:00:01 +03:00
Mykola Grymalyuk
2e192bac63 Merge branch 'main' into ventura-alpha 2022-07-27 10:37:08 -06:00
Mykola Grymalyuk
ba1ebebc54 smbios_data.py: Sync max OS support
Ref: https://github.com/dortania/OpenCore-Legacy-Patcher/pull/999
2022-07-27 10:34:50 -06:00
Mykola Grymalyuk
6532634ed5 gui_main.py: Rename reload remote IA button 2022-07-27 09:52:33 -06:00
Mykola Grymalyuk
c96dac7cd4 Add missing IOPlatformPlugin files 2022-07-26 19:34:16 -06:00
Mykola Grymalyuk
b58819f815 gui_main.py: Fix formatting 2022-07-26 18:36:34 -06:00
Mykola Grymalyuk
42bc2638cf Merge branch 'main' into ventura-alpha 2022-07-22 14:15:50 -06:00
Mykola Grymalyuk
31428c24a9 gui_main.py: Set value on greyed out option 2022-07-22 12:23:40 -06:00
Mykola Grymalyuk
33dedfef5d Validation: Add additional XNU minor checks 2022-07-21 12:05:21 -06:00
Mykola Grymalyuk
363d6bc26f Increment Build 2022-07-21 12:04:38 -06:00
Mykola Grymalyuk
ab2c714bf1 sys_patch_dict: Fix versioning 2022-07-20 11:27:10 -06:00
Mykola Grymalyuk
943071c2cd sys_patch_dict.py: split Kepler patchset
Ref: https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1004
2022-07-19 12:07:42 -06:00
Mykola Grymalyuk
a52e762c25 updates.py: allow for unrestricted versioning
Previously limited to x.x.x checks
2022-07-17 22:30:37 -06:00
Mykola Grymalyuk
5208ab0f82 Increment build 2022-07-17 18:05:29 -06:00
Mykola Grymalyuk
105fa4e908 sys_patch_detect: Fix GVA regression 2022-07-17 12:59:12 -06:00
Mykola Grymalyuk
198b7a1c58 gui_main.py: Adjust wording for prompts 2022-07-17 11:38:04 -06:00
Mykola Grymalyuk
28dc468e45 gui_main.py: Add spoofing prompt 2022-07-17 10:23:05 -06:00
Mykola Grymalyuk
da34a9b22d Merge pull request #1003 from KrutavShah/main
Made grammatical corrections across the docs.
2022-07-16 19:56:50 -06:00
Krutav Shah
610433a028 Resolved typos 2022-07-16 17:29:47 -07:00
Krutav Shah
c4d8bb6ee7 Merge branch 'main' into main 2022-07-16 16:49:54 -07:00
Krutav Shah
0edeef6497 Made grammatical corrections across the docs.
This is not an exhaustive revision, there may still be more issues that can be fixed when found.
2022-07-16 16:32:00 -07:00
Mykola Grymalyuk
3296a4a9da Docs: Fix additional typos 2022-07-16 15:21:59 -06:00
Mykola Grymalyuk
59ef2d423a Merge branch 'main' into ventura-alpha 2022-07-16 15:08:29 -06:00
Mykola Grymalyuk
11bd7a4083 Docs: Fix misc typos 2022-07-16 15:04:57 -06:00
Mykola Grymalyuk
13c564e270 bug_report: Fix misc typos 2022-07-16 14:55:53 -06:00
Mykola Grymalyuk
b01793d226 global_settings: Fix misc typos 2022-07-16 14:55:48 -06:00
Mykola Grymalyuk
c0516fddbd install: Fix misc typos 2022-07-16 14:55:39 -06:00
Mykola Grymalyuk
a0bd2f5850 installer: Fix misc typos 2022-07-16 14:55:34 -06:00
Mykola Grymalyuk
f491f49fb0 installer: Fix misc typos 2022-07-16 14:55:27 -06:00
Mykola Grymalyuk
a56027b46c reroute_payloads: Fix misc typos 2022-07-16 14:55:19 -06:00
Mykola Grymalyuk
cd14354f86 sys_patch_auto.py: Fix misc typos 2022-07-16 14:50:20 -06:00
Mykola Grymalyuk
579c7c9cbb sys_patch.py: Fix misc typos 2022-07-16 14:48:41 -06:00
Mykola Grymalyuk
0e3b34e077 updates.py: Fix misc typos 2022-07-16 14:47:24 -06:00
Mykola Grymalyuk
c4256bb1b1 Utilities.py: Fix misc typos 2022-07-16 14:46:50 -06:00
Mykola Grymalyuk
f9467c69c0 Build-Binary: : Fix misc typos 2022-07-16 14:44:17 -06:00
Mykola Grymalyuk
b8642731c3 build.py: Fix misc typos 2022-07-16 14:44:07 -06:00
Mykola Grymalyuk
d7c599376b Merge pull request #1000 from ParaDoX1994/main
Update docs
2022-07-16 14:26:00 -06:00
Mykola Grymalyuk
2897e6cf74 gui_main.py: Fix additional typos 2022-07-16 14:24:58 -06:00
neon ball
b9b52a9608 Update OCLP launch troubleshooting 2022-07-16 23:17:38 +03:00
neon ball
429ddcc396 Merge branch 'dortania:main' into main 2022-07-16 23:13:44 +03:00
Mykola Grymalyuk
bbb087db63 gui_main.py: Fix available typo 2022-07-16 14:10:13 -06:00
Mykola Grymalyuk
ac5c754789 gui_main.py: Fix typo 2022-07-16 13:36:05 -06:00
Mykola Grymalyuk
57daf050b2 gui_main.py: Adjust prompt 2022-07-12 15:39:53 -06:00
Mykola Grymalyuk
1a4538c320 Sync changelog 2022-07-12 09:59:10 -06:00
Mykola Grymalyuk
ffb4613221 installer.py: Avoid listing beta installers and warn 13.0 builds 2022-07-12 09:50:21 -06:00
Mykola Grymalyuk
fb732ff069 installer.py: Add CoW support check
HFS+ root volumes do not support CoW
2022-07-07 19:26:02 -06:00
Mykola Grymalyuk
e5740dd34e Fix MouSSE 13.0 B3 support
Replace usage of `__PRELINK_TEXT` with `__TEXT_EXEC`

```
Find:    5F 5F 50 52 45 4C 49 4E 4B 5F 54 45 58 54
Replace: 5F 5F 54 45 58 54 5F 45 58 45 43 00 00 00
```
2022-07-07 15:05:56 -06:00
Mykola Grymalyuk
a7cb63530e build.py: Consolidate plist clean up into single loop 2022-07-07 14:24:07 -06:00
Mykola Grymalyuk
15e3ea06f0 build.py: Add config validation 2022-07-07 12:10:48 -06:00
Mykola Grymalyuk
ccd5109d8e Update binaries 2022-07-07 12:08:52 -06:00
Mykola Grymalyuk
895c9e0603 Merge branch 'main' into ventura-alpha 2022-07-05 17:34:39 -06:00
neon ball
e5d0225ff3 Merge branch 'dortania:main' into main 2022-07-05 00:54:00 +03:00
Mykola Grymalyuk
28c4909b7e Docs: Add 5k iMac note 2022-07-04 13:11:33 -06:00
Mykola Grymalyuk
885a1efbdc gui_main.py: Add warning to serial spoofing 2022-07-03 12:57:34 -06:00
Dhinak G
b06822ec57 Fix build info for releases 2022-07-03 14:29:41 -04:00
Mykola Grymalyuk
7c8ea41c37 Sync Changelog 2022-07-03 11:59:35 -06:00
Mykola Grymalyuk
ba0fae0fe7 Merge pull request #1002 from dortania/cim-tmp
Work-around createinstallmedia erroring with 12.4+ installers
2022-07-03 11:57:30 -06:00
Mykola Grymalyuk
524a7cb753 installer.py: Ensure tmp dir is destroyed on exit 2022-07-03 11:44:20 -06:00
Mykola Grymalyuk
e1078faf85 installer.py: Adjust for disk image CoW 2022-07-02 14:09:27 -06:00
Mykola Grymalyuk
fdb82b8e13 installer.py: Use Copy on Write for tmp
Credit to @flagersgit for suggestion
2022-07-02 13:31:50 -06:00
Mykola Grymalyuk
b7b3f19fa0 Copy IAs to tmp during CIM 2022-07-02 11:13:44 -06:00
Mykola Grymalyuk
6a99d8418c Merge branch 'main' into ventura-alpha 2022-07-01 22:34:00 -06:00
Mykola Grymalyuk
1fba4901c4 Add ‘Allow native models’ warning 2022-07-01 22:24:54 -06:00
Mykola Grymalyuk
d17372dd65 utitilities: Add NVRAM error handling 2022-06-30 10:40:47 -06:00
Mykola Grymalyuk
5cc0fd3638 Merge branch 'main' into ventura-alpha 2022-06-29 11:56:31 -06:00
Mykola Grymalyuk
5a96852ea5 install.py: Avoid OC icon if Windows detected 2022-06-28 10:34:18 -06:00
Mykola Grymalyuk
e5fcb5f157 sys_patch.py: Move Snapshot to dedicated function 2022-06-27 10:38:28 -06:00
neon ball
b15c6c4cc5 Merge branch 'dortania:main' into main 2022-06-26 17:33:07 +03:00
Mykola Grymalyuk
ecf04372b4 Update Lilu and FeatureUnlock 2022-06-22 12:46:50 -06:00
Mykola Grymalyuk
7078ca5699 build.py: Fix on-model Ethernet detection 2022-06-21 13:44:31 -06:00
Mykola Grymalyuk
0c2185a882 build.py: Fix ethernet model assumption 2022-06-21 13:15:32 -06:00
Mykola Grymalyuk
ff849100e0 Ethernet: Set IOProbeScore to outmatch DriverKit 2022-06-21 13:08:48 -06:00
Mykola Grymalyuk
e80454af5a build.py: Fix VMM erroring on build 2022-06-21 12:04:48 -06:00
Mykola Grymalyuk
cf76ed4c4f sys_patch_dict.py: Avoid WebKit patch in Ventura 2022-06-21 10:36:01 -06:00
Mykola Grymalyuk
984e0021d6 Merge branch 'main' into ventura-alpha 2022-06-21 10:35:17 -06:00
Mykola Grymalyuk
ddafb8a3ab gui_main.py: Fix Menubar relaunch as root 2022-06-21 10:34:57 -06:00
Mykola Grymalyuk
6e3ceb0937 sys_patch.py: Add comments to kmutil invocation 2022-06-20 14:54:14 -06:00
Mykola Grymalyuk
1130662e7a build.py: Add USB1.1 injection 2022-06-18 15:12:24 -06:00
Mykola Grymalyuk
3d853e0d07 sys_patch.py: Add extra kmutil handling
Since KDKs are installed in Ventura, development KC would be generated by kmutil. For OCLP users, release builds are ideal
2022-06-17 12:37:08 -06:00
Mykola Grymalyuk
1b6a41f478 Merge branch 'main' into ventura-alpha 2022-06-17 12:34:02 -06:00
Mykola Grymalyuk
1e4ad7254f installer.py: Ensure AS-specific installers are not listed 2022-06-17 11:13:34 -06:00
neon ball
c853773d2e Merge branch 'dortania:main' into main 2022-06-17 00:02:24 +03:00
Mykola Grymalyuk
71734ce904 Increment build 2022-06-16 14:52:01 -06:00
neon ball
c7cf7acbf0 Edit iMac insights and formatting 2022-06-16 22:17:05 +03:00
neon ball
07df160111 Delete file from wrong folder 2022-06-16 22:16:19 +03:00
neon ball
e7eed48912 Edit Universatl Control WiFi docs 2022-06-16 22:12:59 +03:00
neon ball
e0a4bf685e Edit Universal Control WiFi docs 2022-06-16 22:08:00 +03:00
neon ball
10710858e2 Merge branch 'dortania:main' into main 2022-06-16 22:05:56 +03:00
Mykola Grymalyuk
8e9220cbc9 CI: Adjust TUI parameters 2022-06-16 09:19:45 -06:00
Mykola Grymalyuk
506cb00937 CI: Don’t publish TUIs on release 2022-06-16 09:17:22 -06:00
Mykola Grymalyuk
f3b3daab10 global_settings: Add extra error handling for defaults removal 2022-06-16 09:10:00 -06:00
neon ball
cb269797d5 Small formatting changes 2022-06-16 07:23:08 +03:00
neon ball
bec2fa31cc Add more clarification to the terminal command 2022-06-16 07:17:49 +03:00
neon ball
e910e782f5 Fix typo in link 2022-06-16 07:13:48 +03:00
neon ball
d25e6076d3 Update TROUBLESHOOTING.md 2022-06-16 07:07:54 +03:00
neon ball
1f1c7e7793 Clarify WiFi card models for upgrades 2022-06-16 03:39:44 +03:00
Mykola Grymalyuk
a952e732d2 Docs: Add non-flashed GPU information
Authored-By: @Jazzzny
2022-06-15 14:17:52 -06:00
Mykola Grymalyuk
e5d9894bbf Merge branch 'main' into ventura-alpha 2022-06-15 12:05:00 -06:00
Mykola Grymalyuk
e3ddcb8cf5 sys_patch.py: Fix typo 2022-06-14 22:04:31 -06:00
Mykola Grymalyuk
85572a2889 Misc Ventura fixes 2022-06-14 21:39:21 -06:00
Mykola Grymalyuk
8aa862e8fb sys_patch_helpers.py: Adjust KDK verification 2022-06-14 19:48:06 -06:00
Mykola Grymalyuk
ca4b13e6af sys_patch_helpers.py: Verify KDK is valid during search 2022-06-14 15:42:28 -06:00
Mykola Grymalyuk
d0dbf8e399 sys_patch.py: Add proper KDK handling during root patching 2022-06-14 15:02:01 -06:00
Mykola Grymalyuk
474e2247a0 Merge pull request #996 from ParaDoX1994/main
Moving Mac Pro GPU swap note
2022-06-14 10:07:48 -06:00
Mykola Grymalyuk
65516814f7 CI: Fix workflow with empty variables 2022-06-14 10:04:56 -06:00
Mykola Grymalyuk
f9c14459be Switch to bug fix build
0.5.0 will be held off for Ventura support
2022-06-14 09:40:36 -06:00
neon ball
f97964ce82 Merge branch 'dortania:main' into main 2022-06-13 04:56:52 +03:00
Mykola Grymalyuk
8285be259c Merge branch 'main' into ventura-alpha 2022-06-11 20:22:50 -06:00
Mykola Grymalyuk
2798d8a676 global_settings.py: add error handling for /Users/Shared write 2022-06-11 20:22:39 -06:00
Mykola Grymalyuk
fb3dc4636b CHANGELOG: fix typo 2022-06-11 20:07:12 -06:00
Mykola Grymalyuk
03b8b46550 build.py: Allow dyld sharred cache swapping on pre-Haswell 2022-06-11 20:03:55 -06:00
neon ball
09f5533a74 Merge branch 'dortania:main' into main 2022-06-12 03:20:50 +03:00
Mykola Grymalyuk
c63bfae574 build.py: fix typo 2022-06-11 12:08:42 -06:00
Mykola Grymalyuk
c8f582f49d Fix VMM patch set for Ventura 2022-06-11 11:49:55 -06:00
Mykola Grymalyuk
05cff05749 Resolve Ethernet support on MacPro3,1-5,1 2022-06-11 11:11:59 -06:00
Mykola Grymalyuk
084c0cc438 build.py: Add Ventura USB map injection 2022-06-11 10:50:18 -06:00
Mykola Grymalyuk
12ebef03db Merge branch 'main' into ventura-alpha 2022-06-11 10:34:58 -06:00
Mykola Grymalyuk
f2a5e780b4 Increment Build 2022-06-11 08:46:28 -06:00
Mykola Grymalyuk
fe945f9d7d Merge branch 'main' into ventura-alpha 2022-06-10 15:36:08 -06:00
Mykola Grymalyuk
ece5a820dd Resolve CI erroring 2022-06-10 15:31:51 -06:00
Mykola Grymalyuk
657b80795f smbios_data.py: Set Max OS 2022-06-10 15:23:27 -06:00
Mykola Grymalyuk
a2b971735a sys_patch_detect.py: Halt on missing KDK 2022-06-10 14:21:56 -06:00
Mykola Grymalyuk
92d2f0ba23 sys_patch_detect.py: Add KDK check to Ventura root patching 2022-06-10 14:17:50 -06:00
Mykola Grymalyuk
e6a3b00ef4 build.py: Move Ventura logic to ventura-alpha branch 2022-06-09 14:50:28 -06:00
Mykola Grymalyuk
9fb2efee8d Fix Top case bundle pathing 2022-06-09 14:37:01 -06:00
Mykola Grymalyuk
24dae1dc45 installer.py: Add Ventura sucatalog 2022-06-09 13:11:45 -06:00
Mykola Grymalyuk
8eafe33d92 Add Ventura models 2022-06-09 12:32:38 -06:00
Mykola Grymalyuk
a60f898e41 Merge branch 'main' into ventura-alpha 2022-06-09 12:13:11 -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
88610ff3de sys_patch.py: work-around kmutil linking in Ventura 2022-06-07 11:33:51 -07: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
neon ball
a8d8621c31 Add files via upload 2022-06-04 21:14:25 +03: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
Mykola Grymalyuk
c573a8a335 smbios_data.py: Add Mac Studio Model IDs
Ref: https://twitter.com/khronokernel/status/1501315940260016133?s=21
2022-03-08 15:55:31 -07:00
Mykola Grymalyuk
1393db72dd Add XCPM disabling 2022-03-02 09:19:41 -07:00
Mykola Grymalyuk
ba82b41cbd Sync PatcherSupportPkg 2022-03-02 08:56:33 -07:00
Mykola Grymalyuk
97a9853526 Resolve crash on Vendor detection 2022-02-24 11:25:44 -07:00
Mykola Grymalyuk
f1d67923c8 Resolve SDXC
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/978
2022-02-23 20:23:11 -07:00
Mykola Grymalyuk
0e526556e5 Update MONTEREY-DROP.md 2022-02-18 19:31:09 -07:00
Mykola Grymalyuk
9125b170ce bug_report: Clarify troubleshooting 2022-02-17 09:20:41 -07:00
Mykola Grymalyuk
cc5ed2396c Update issues 2022-02-17 08:52:01 -07:00
Mykola Grymalyuk
165526fbe2 docs: Fix TOC
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/956
2022-02-14 10:38:51 -07:00
Mykola Grymalyuk
c366680ad0 Sync FeatureUnlock
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/957
2022-02-14 10:38:15 -07:00
Mykola Grymalyuk
1237dc55e0 GUI.py: Add Dark Menubar configuration 2022-02-12 11:01:07 -07:00
Mykola Grymalyuk
ca61262228 docs: Add DisplayLink non-Metal information 2022-02-11 19:12:33 -07:00
Mykola Grymalyuk
2b4fdbb388 Resolve Non-Metal Keyboard Backlight support 2022-02-11 10:31:54 -07:00
Mykola Grymalyuk
23927a4e6a Resolve I210/I225 Sandy support
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/939
2022-02-09 19:29:59 -07:00
Mykola Grymalyuk
d5330555fc gui.py: Fix typo 2022-02-09 17:45:01 -07:00
Mykola Grymalyuk
8b1a46d8c4 Update ocvalidate binary 2022-02-08 08:59:35 -07:00
Mykola Grymalyuk
84bf2a9e18 sys_patch_detect.py: Fix backlight detection 2022-02-08 08:52:25 -07:00
Mykola Grymalyuk
4d244a5eee CHANGELOG: Add Cursor note 2022-02-07 14:40:47 -07:00
Mykola Grymalyuk
31ff4bbd0d Increment Binaries 2022-02-07 14:33:29 -07:00
Mykola Grymalyuk
cf4b2b2ad0 Update Credits 2022-02-06 14:23:20 -07:00
Mykola Grymalyuk
aa5e39f48a install.py: Add Safe Mode note 2022-02-06 12:19:00 -07:00
Mykola Grymalyuk
d1bd915ede install.py: Fix formatting in GUI 2022-02-06 10:31:13 -07:00
Mykola Grymalyuk
4d8aa1a541 install.py: Resolve error handling in GUI 2022-02-06 10:16:59 -07:00
Mykola Grymalyuk
e2aa6b4b48 utilities.py: Set checksum check to optional
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/915
2022-02-05 09:14:23 -07:00
Mykola Grymalyuk
3a9479a1d6 sys_patch: Add extra snapshot checks
Avoid issues on snapshot-less installs
2022-02-04 13:32:51 -07:00
Mykola Grymalyuk
39758fec20 gui: Strip unneeded print 2022-02-04 13:31:30 -07:00
Mykola Grymalyuk
2473daee2b Increment Build 2022-02-03 11:57:28 -07:00
Mykola Grymalyuk
a604325c5d docs: Update TS2 info 2022-02-03 11:54:39 -07:00
Mykola Grymalyuk
c74706127d device_probe.py: Handle VPCI erroring 2022-02-03 10:01:18 -07:00
Mykola Grymalyuk
bea1e92a3b Resolve Color Strobing on AMD TeraScale 2 GPUs 2022-02-02 21:03:46 -07:00
Mykola Grymalyuk
e0af3206cf sys_patch.py: Strip duplicate code
SysPatch Detection core moved to sys_patch_detect.py
2022-02-02 13:03:31 -07:00
Mykola Grymalyuk
7fc5de8e27 TUI: Add new icon and sync BundleID 2022-02-02 11:58:04 -07:00
Mykola Grymalyuk
504fb3a617 sys_patch_detect.py: Add extra Board ID info 2022-02-02 11:00:13 -07:00
Mykola Grymalyuk
b3ac3a6843 Sync changelog 2022-02-01 18:20:16 -07:00
Mykola Grymalyuk
e25b23f7a3 Increment PatcherSupportPkg 2022-02-01 14:42:43 -07:00
Mykola Grymalyuk
cdcbf30f63 sys_patch.py: Remove SkylightPlugins on unpatch 2022-02-01 14:33:17 -07:00
Mykola Grymalyuk
c66f3cd0ca Update docs 2022-02-01 14:33:01 -07:00
Mykola Grymalyuk
df958a2b1c Add NVMe Enhanced Power Management configuration
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/921
2022-02-01 11:30:44 -07:00
Mykola Grymalyuk
f7f890d37e Fix Power Management Support in macOS 12.3 Beta 1
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/930
2022-01-31 10:24:09 -07:00
Mykola Grymalyuk
1027e37a03 Add Universal Control support for Monterey Macs 2022-01-29 21:04:52 -07:00
Mykola Grymalyuk
42892e503f SurPlus: Set MaxKernel 2022-01-29 10:24:14 -07:00
Mykola Grymalyuk
ca9a0eba34 Fix available typo 2022-01-29 08:56:27 -07:00
Mykola Grymalyuk
12007041ab Update Issues template 2022-01-29 08:50:03 -07:00
Mykola Grymalyuk
05fd9489ae docs: Add SIP images 2022-01-28 18:56:43 -07:00
Mykola Grymalyuk
5b6da1f4e7 Merge branch 'main' of https://github.com/dortania/OpenCore-Legacy-Patcher 2022-01-28 18:44:38 -07:00
Mykola Grymalyuk
0a8e599877 Update images 2022-01-28 18:44:21 -07:00
Mykola Grymalyuk
67c88acedf Merge pull request #747 from bdwilson1907/patch-1
Update TESTED.md
2022-01-28 15:03:07 -07:00
Mykola Grymalyuk
3b4bb78fa2 Merge pull request #766 from charly-black/patch-1
Update TESTED.md
2022-01-28 15:02:32 -07:00
Mykola Grymalyuk
c03b8d2231 Merge pull request #867 from uvesten/patch-1
Add MacBookAir3,1 as working to tested models
2022-01-28 15:01:45 -07:00
Mykola Grymalyuk
32985b7fdd Merge pull request #891 from casey1234/patch-1
Update TESTED.md // Added MBP 7,1 + 9,2 + 11,2 as working perfectly!
2022-01-28 15:01:28 -07:00
Mykola Grymalyuk
d1323a4268 Merge pull request #912 from JakubMazur/main
iMac 15,1 (upgraded) tested
2022-01-28 15:01:02 -07:00
Jakub Mazur
16f7e24231 Update TESTED.md 2022-01-27 12:37:32 +01:00
Mykola Grymalyuk
c822e1f2c5 Sync changelog 2022-01-26 11:43:07 -07:00
Mykola Grymalyuk
e064d9a37a Add Content Caching support configurability 2022-01-25 21:28:26 -07:00
Mykola Grymalyuk
ddac821dfb Fix SIP default disabling
Resolve SIP and SecureBootModel not disabling by default on some non-Metal Mac Pros
2022-01-25 20:45:35 -07:00
Mykola Grymalyuk
b7a1fa302e Merge pull request #911 from dortania/installer-test
Resolve Local Installer Detection
2022-01-25 12:03:12 -07:00
Mykola Grymalyuk
19027fbac7 Update Issues format 2022-01-25 11:59:53 -07:00
Mykola Grymalyuk
b930544128 build.py: ExtendBTFeatureFlags on 3rd party BT 2022-01-25 11:48:49 -07:00
Mykola Grymalyuk
a15261073b Clean up 2022-01-25 10:40:30 -07:00
Mykola Grymalyuk
cd1729f74d Check Permissions erroring 2022-01-25 10:01:04 -07:00
Mykola Grymalyuk
af3abe6aa1 installer.py: Add Permissions check 2022-01-25 09:55:21 -07:00
Mykola Grymalyuk
2ca02f5802 Limit Content Caching to Desktops by default 2022-01-24 20:35:47 -07:00
Mykola Grymalyuk
3e742ffaf8 Sync FeatureUnlock 2022-01-24 20:23:22 -07:00
Mykola Grymalyuk
79390c897d docs: Add Hash Mismatch info 2022-01-24 12:59:40 -07:00
Mykola Grymalyuk
3ffe8c5142 device_probe.py: Add UHCI detection 2022-01-24 11:08:04 -07:00
Mykola Grymalyuk
18f9e05792 Resolve Macmini4,1 HDEF pathing 2022-01-23 11:42:20 -07:00
Mykola Grymalyuk
9f96fa43ec Pyinstaller: resolve formatting 2022-01-22 19:37:36 -07:00
Mykola Grymalyuk
f0f9f0b56d Sync changelog 2022-01-22 19:31:06 -07:00
Mykola Grymalyuk
33eef9b87f installer.py: Add Variant Info 2022-01-22 15:32:35 -07:00
Mykola Grymalyuk
f042ddfe75 defaults.py: Fix crash on hackintoshes 2022-01-22 09:49:44 -07:00
Mykola Grymalyuk
53cb55e375 docs: Update info
Sync with new GUI
2022-01-22 09:49:28 -07:00
Mykola Grymalyuk
d3aea7510f Increment Build 2022-01-21 16:13:38 -07:00
Mykola Grymalyuk
a8683e4e27 Sync changelog 2022-01-21 12:34:25 -07:00
Mykola Grymalyuk
7bb4aea2c0 Merge pull request #899 from dortania/helper-fix
Resolve OCLP-Helper dyld crash
2022-01-21 12:33:51 -07:00
Mykola Grymalyuk
30375b869b gui.py: Sync menu 2022-01-21 12:30:39 -07:00
Mykola Grymalyuk
5c207e0a2b Update OCLP-Helper 2022-01-21 12:19:40 -07:00
Mykola Grymalyuk
92324ede72 build.py: Add XHCI Boot Support 2022-01-21 11:40:43 -07:00
Mykola Grymalyuk
158dac6ab4 GA: Fix file naming 2022-01-21 10:39:53 -07:00
Mykola Grymalyuk
dfc4a7b2fc Increment build 2022-01-21 10:37:55 -07:00
Mykola Grymalyuk
b205f7943a Merge pull request #898 from dortania/update-docs
Update docs for 0.4.0 release
2022-01-21 09:57:16 -07:00
Mykola Grymalyuk
1163aaa4bd defaults.py: Fix FU logic 2022-01-21 09:38:35 -07:00
Mykola Grymalyuk
3dcf20f0c2 Update docs for 0.4.0 2022-01-20 20:02:16 -07:00
Mykola Grymalyuk
8502ec5f78 defaults.py: limit FU on pre-Ivy
Avoid extra patching when not needed, AirPlay to Mac and Sidecar do not check for older models other than MacPro5,1
2022-01-20 19:58:51 -07:00
Mykola Grymalyuk
54616ea385 gui.py: Fix DEBUG kext support 2022-01-20 19:38:41 -07:00
Mykola Grymalyuk
d1f9170390 Resolve typo 2022-01-20 15:06:10 -07:00
Mykola Grymalyuk
d4d16c3e56 Add enhanced cim menu 2022-01-20 14:21:41 -07:00
Mykola Grymalyuk
751bdceafd Resolve 100% CPU Usage with createinstallmedia 2022-01-19 20:23:24 -07:00
Mykola Grymalyuk
80dcea163f Sync changelog 2022-01-19 12:00:28 -07:00
Mykola Grymalyuk
c2eef22f2d Merge pull request #893 from dortania/test-ga
Add Commit Data to binaries
2022-01-19 11:54:24 -07:00
Mykola Grymalyuk
299fed997d Drop Commit Message 2022-01-19 11:29:56 -07:00
Mykola Grymalyuk
711c512258 Resolve Space in Commit Message 2022-01-19 11:24:26 -07:00
Mykola Grymalyuk
07b9a1a2c6 Add Commit Data to all builds 2022-01-19 11:18:43 -07:00
Mykola Grymalyuk
c78506501f Test Write 2022-01-19 10:57:31 -07:00
Mykola Grymalyuk
5612837492 Test GA events 2022-01-19 10:30:27 -07:00
Mykola Grymalyuk
80644bfbd4 Add Beta Blur config menu 2022-01-19 10:23:50 -07:00
Mykola Grymalyuk
b924e427e2 Disable Windows GMUX support by default
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/888
2022-01-19 10:17:15 -07:00
casey1234
9408cd3ea5 Update TESTED.md
Please add my tests on

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

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

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

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

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

Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/510
2021-09-25 11:49:05 -06:00
Mykola Grymalyuk
c053fb7244 Fix formatting 2021-09-24 10:31:14 -06:00
Mykola Grymalyuk
0ccb2c74d2 Allow configuring GMUX usage for Windows
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/502
2021-09-24 10:29:43 -06:00
Mykola Grymalyuk
2683b7a7f0 Add forgotten commit 2021-09-24 09:16:04 -06:00
Mykola Grymalyuk
86dcf9fb5b Fix Beta 7 Acceleration on Nvidia Tesla 2021-09-24 07:47:31 -06:00
Mykola Grymalyuk
e31519ac96 Avoid patching Metal and non-metal together 2021-09-23 11:58:48 -06:00
Mykola Grymalyuk
49fa20ecc3 Disable SIP on legacy Wifi Macs 2021-09-23 11:48:10 -06:00
Mykola Grymalyuk
3364ed702a Probe per GPU detected
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/501
2021-09-22 20:57:10 -06:00
Mykola Grymalyuk
32a0289af3 Fix Music.app support
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/497
2021-09-22 19:25:29 -06:00
Mykola Grymalyuk
a3208acbfe Add iMac7,1 USB map 2021-09-22 19:04:01 -06:00
Mykola Grymalyuk
983a7bf8d3 Merge pull request #499 from dortania/2012-bt
Add Transport Exemption to BlueToolFixup
2021-09-22 13:31:17 -06:00
Mykola Grymalyuk
5d85a98637 Adjust logic 2021-09-22 13:30:20 -06:00
Mykola Grymalyuk
ba2149407d Update comments 2021-09-22 13:28:29 -06:00
Mykola Grymalyuk
458a2a406a Add FirmwareFeature upgrading to all Models 2021-09-22 12:46:23 -06:00
Mykola Grymalyuk
374263f926 Fix AMFI check 2021-09-22 12:35:53 -06:00
Mykola Grymalyuk
1b5fb1cef6 Add additional bluetooth checks 2021-09-21 21:41:29 -06:00
Mykola Grymalyuk
e7897ae857 Fix defaults 2021-09-21 21:29:10 -06:00
Mykola Grymalyuk
b34239fb8e Add Kepler Acceleration for Monterey Beta 7 2021-09-21 21:25:49 -06:00
Mykola Grymalyuk
53ea72ed93 Fix another typo 2021-09-21 20:34:15 -06:00
Mykola Grymalyuk
462e268d0d Fix typo 2021-09-21 20:20:38 -06:00
Mykola Grymalyuk
df709afa8d Add AMFI check 2021-09-21 20:08:54 -06:00
Mykola Grymalyuk
7b332e87c4 Fix crash 2021-09-21 19:26:23 -06:00
Mykola Grymalyuk
1b2eea6b50 Add better FV patch detection 2021-09-21 18:59:50 -06:00
Mykola Grymalyuk
0077d6267c Test transport omission 2021-09-19 23:36:22 -06:00
Mykola Grymalyuk
b18236b237 Test BT patch for 2012 Macs 2021-09-19 21:00:07 -06:00
Mykola Grymalyuk
c748b03544 Merge pull request #496 from dortania/Disable-LV
Disable Library Validation Enforcement
2021-09-19 16:18:55 -06:00
Mykola Grymalyuk
81369d1bab Update docs 2021-09-19 16:17:31 -06:00
Mykola Grymalyuk
bf3cc2c9d1 Adjust LV check 2021-09-19 15:29:48 -06:00
Mykola Grymalyuk
159f624060 Sync changelog 2021-09-19 14:38:07 -06:00
Mykola Grymalyuk
8234738403 Remove AMFI requirement for root patching 2021-09-19 14:22:16 -06:00
Mykola Grymalyuk
bf19adef35 Cleanup unneeded variables 2021-09-19 13:16:20 -06:00
Mykola Grymalyuk
6c2ed9ad5a Update SysPatch.py 2021-09-18 22:39:52 -06:00
Mykola Grymalyuk
ac4b796c95 Fix typo 2021-09-18 21:10:37 -06:00
Mykola Grymalyuk
afdf49a074 Add TeraScale 2 Acceleration for Monterey 2021-09-18 16:33:02 -06:00
Mykola Grymalyuk
48c838d92b Use stock BlueToolFixup 2021-09-18 15:41:00 -06:00
Mykola Grymalyuk
3e453f4789 Fix CoreCapture max kernel 2021-09-18 15:28:11 -06:00
Mykola Grymalyuk
c7b282b53c Update documentation 2021-09-18 11:32:43 -06:00
Mykola Grymalyuk
8c6c723e13 Increment Latebloom to 0.22 2021-09-18 10:54:04 -06:00
Mykola Grymalyuk
9dfe616af8 Clean Apple Kexts
Remove unused files including codesignature, Version.plist, Resources, etc as these are not needed for injection via OpenCore
2021-09-18 10:49:00 -06:00
Mykola Grymalyuk
fb9634d29b Add permission fixes for Wifi patches 2021-09-18 10:08:57 -06:00
Mykola Grymalyuk
4edbf9df60 Update Root Patch comment 2021-09-17 23:53:41 -06:00
Mykola Grymalyuk
cd45f7b04c Fix typo 2021-09-17 23:42:55 -06:00
Mykola Grymalyuk
6a5ac03c72 Merge pull request #492 from dortania/Bluetooth-patch
Fix Monterey Bluetooth Support
2021-09-17 22:44:18 -06:00
Mykola Grymalyuk
81ecf14bab Merge branch 'main' into Bluetooth-patch 2021-09-17 22:44:12 -06:00
Mykola Grymalyuk
d84990e91d Add IO80211ElCap verification 2021-09-17 22:41:33 -06:00
Mykola Grymalyuk
d1726f95fc Add Legacy Wireless support for Monterey
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/365
2021-09-17 22:17:41 -06:00
Mykola Grymalyuk
45332d2cf9 Add offline TUI 2021-09-17 13:42:27 -06:00
Mykola Grymalyuk
9e7ad38020 Merge branch 'Bluetooth-patch' of https://github.com/dortania/Opencore-Legacy-Patcher into Bluetooth-patch 2021-09-16 19:26:13 -06:00
Mykola Grymalyuk
18805c8e78 Fix typo 2021-09-16 19:25:42 -06:00
Mykola Grymalyuk
98b7824619 Fix typo 2021-09-16 19:14:06 -06:00
Mykola Grymalyuk
438ae23ee7 Rework BlueToolFixup patch 2021-09-16 15:43:04 -06:00
Mykola Grymalyuk
0e22a9fb00 Fix ModelArray 2021-09-16 14:33:55 -06:00
Mykola Grymalyuk
f78e8edf4e Fix typo 2021-09-16 12:21:52 -06:00
Mykola Grymalyuk
986878055f Add basic hardware detection 2021-09-16 12:21:14 -06:00
Mykola Grymalyuk
1da93b1ca0 Fix Monterey Bluetooth 2021-09-16 10:06:59 -06:00
Mykola Grymalyuk
950f645f02 Merge pull request #488 from mikebeaton/main
Update Big Sur+ Hackintosh SIP instructions
2021-09-13 10:05:44 -06:00
Mykola Grymalyuk
f0c73164d9 Ensure correct accel patches apply in Monterey
Thanks Larsvonhier for pointing this out!
2021-09-13 10:01:37 -06:00
MikeBeaton
5b3425d0c4 Update Big Sur+ Hackintosh SIP instructions to 0xE03 (include required CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE) 2021-09-13 15:12:48 +01:00
Mykola Grymalyuk
0e1aaf0bbd Lax AMFI requirements for Mojave/Catalina 2021-09-12 22:44:29 -06:00
Mykola Grymalyuk
ff685e3504 Merge pull request #485 from dortania/filevault-test
Allow FileVault on Root Patched Macs
2021-09-12 22:37:18 -06:00
Mykola Grymalyuk
bae1a19cfe Lax FileVault requirement for root patching 2021-09-12 22:36:25 -06:00
Mykola Grymalyuk
76aa3bb80f Clean up code 2021-09-12 11:31:31 -06:00
Mykola Grymalyuk
ab4089c37b Allow FileVault on Root Patched systems 2021-09-12 10:34:28 -06:00
Mykola Grymalyuk
a907e05bca Add latebloom repository 2021-09-12 10:32:17 -06:00
Mykola Grymalyuk
8944c789b0 Update PatcherSupportPkg 2021-09-09 09:05:59 -06:00
Mykola Grymalyuk
600e71581c Allow Trackpad gestures on MacBook4,1 and MacBook5,2 2021-09-08 22:17:05 -06:00
Mykola Grymalyuk
15e4650785 Organize Constants.py 2021-09-08 22:09:58 -06:00
Mykola Grymalyuk
201bc141bb Increment PatcherSupportPkg 2021-09-07 16:13:18 -06:00
Mykola Grymalyuk
3c69cb6c65 Increment PatcherSupportPkg 2021-09-06 22:52:29 -06:00
Mykola Grymalyuk
9955b76c1e Add Monterey WebKit patch to legacy GPUs 2021-09-06 22:40:54 -06:00
Mykola Grymalyuk
d77680f25c Increment binaries 2021-09-06 16:54:08 -06:00
Mykola Grymalyuk
10354d717e Add non-Metal Monterey accel 2021-09-05 13:17:39 -06:00
Mykola Grymalyuk
0b51a7e9c8 Fix path error 2021-09-05 11:45:35 -06:00
Mykola Grymalyuk
372ad31d83 Adjust patcher settings 2021-09-05 10:48:46 -06:00
Mykola Grymalyuk
d4836514fd Add import error handling and clean CLI menu 2021-09-04 22:31:20 -06:00
Mykola Grymalyuk
077af5afb3 Add ACPI path verification for DeviceProperty injection
Ref: https://github.com/dortania/OpenCore-Legacy-Patcher/issues/451
2021-08-30 17:36:06 -06:00
Mykola Grymalyuk
6ca3e3524e Update PatcherSupportPkg 2021-08-28 13:14:40 -06:00
Mykola Grymalyuk
8c646b7897 Fix scope typo 2021-08-28 12:55:34 -06:00
Mykola Grymalyuk
90a9ff8bb2 Allow FileVault on Catalina and older 2021-08-28 11:37:16 -06:00
Mykola Grymalyuk
1198a37969 Update MONTEREY-DROP.md
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/455
2021-08-26 09:04:57 -06:00
Mykola Grymalyuk
296978676a Add pikera patch for iMacPro1,1 2021-08-18 18:18:48 -06:00
Mykola Grymalyuk
29fa274096 Add 5700XT/Westmere test data 2021-08-18 11:26:38 -06:00
Mykola Grymalyuk
dfdf4529d2 Add Windows GPU switching 2021-08-15 13:48:58 -06:00
Mykola Grymalyuk
28746bbe2b Fix country code device ID injection
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/435
2021-08-12 09:04:49 -06:00
Mykola Grymalyuk
60c8cd12cd Merge pull request #425 from samplenull/patch-1
Update INSTALLER.md
2021-08-11 23:19:59 -06:00
Mykola Grymalyuk
71a045fb13 Fix typo in previous commit 2021-08-11 22:32:41 -06:00
Mykola Grymalyuk
10d11c3b1b Add validation check to CI 2021-08-11 22:30:46 -06:00
Mykola Grymalyuk
f0c282cbbc Increment Binaries 2021-08-11 22:24:33 -06:00
Mykola Grymalyuk
7b0b9ea18b Merge pull request #432 from dortania/wifi-test
Allow plist override for BCM943224 and BCM94331 Wireless cards
2021-08-11 20:14:30 -06:00
Mykola Grymalyuk
3f6d8c2283 Fix country code support 2021-08-11 20:13:43 -06:00
Mykola Grymalyuk
ff5a7f3a35 Adjust AirportBrcmFixup injection 2021-08-11 20:09:20 -06:00
Mykola Grymalyuk
515bd5950f Fix thing 2021-08-11 13:48:17 -06:00
Mykola Grymalyuk
b1d5851131 Inject device ID via Info.plist 2021-08-10 20:20:49 -06:00
Mykola Grymalyuk
3298625351 Set iMacPro1,1 SMBIOS for Mac Pro and Xserve 2021-08-10 16:02:45 -06:00
Mykola Grymalyuk
ff4a19b268 Sync changelog 2021-08-10 10:51:09 -06:00
Mykola Grymalyuk
9b4a1e992b Merge pull request #430 from dortania/thunderbolt
Allow disabling of Thunderbolt on 2013-2014 MacBook Pros
2021-08-10 09:47:31 -07:00
Mykola Grymalyuk
fc59cfffa1 Add configuration option for users 2021-08-10 10:06:45 -06:00
Mykola Grymalyuk
cf884532d7 Disable TB2 in 2013-2014 Pros 2021-08-09 10:43:14 -06:00
Mykola Grymalyuk
0b1092d4b9 Merge pull request #428 from satmandu/patch-1
Add current release to Issue Template
2021-08-09 09:21:39 -07:00
satmandu
cddd7af701 Make suggested changes 2021-08-09 12:19:51 -04:00
satmandu
6cb2141654 Add current release to Issue Template 2021-08-09 11:47:57 -04:00
Mykola Grymalyuk
a5fcc35d3c Add MacPro4,1 data set 2021-08-09 09:19:48 -06:00
Denis Kazimirov
8cc22fd88a Update INSTALLER.md
Add space to fix 404 error when download installinstallmacos.py
2021-08-07 16:11:54 +03:00
Mykola Grymalyuk
66435c7c08 Add Ethernet data sets 2021-08-06 10:27:06 -06:00
Mykola Grymalyuk
3569a265e6 Force pyinstaller path 2021-08-05 17:57:55 -06:00
Mykola Grymalyuk
3515d81c26 Avoid upgrading dependancies 2021-08-05 17:45:23 -06:00
Mykola Grymalyuk
3416a4bbdd Transfer runner 2021-08-05 17:27:10 -06:00
Dhinak G
6a5787abae Return checksum in download_file 2021-08-04 14:08:07 -04:00
Mykola Grymalyuk
a104316037 Add missing x86legacy entry 2021-08-04 11:37:24 -06:00
Mykola Grymalyuk
cabdfe9a27 Lax rsync verification
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/418
2021-08-04 08:36:40 -06:00
Mykola Grymalyuk
c535609a32 Fix latebloom typo in arguments 2021-08-03 10:07:25 -06:00
Mykola Grymalyuk
a095edc380 Allow Root Patching on Mojave and Catalina 2021-08-02 21:06:33 -06:00
Mykola Grymalyuk
f1ac88d23b Fix iMac17,1 TB2 typo 2021-08-02 20:47:33 -06:00
Mykola Grymalyuk
4a1918238e Fix formatting 2021-08-02 16:46:15 -06:00
Mykola Grymalyuk
33653a7108 Implement Root Volume backups
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/378
2021-08-02 16:34:19 -06:00
Mykola Grymalyuk
03f65d1766 Implement Latebloom configuration via cli 2021-07-31 22:57:33 -06:00
Mykola Grymalyuk
cb7d62f2ee Update docs to better reflect current state 2021-07-31 22:27:40 -06:00
Mykola Grymalyuk
4139e555cc Add remaining iGPU archs to device_probe 2021-07-31 21:20:17 -06:00
Mykola Grymalyuk
244d7cfbf9 Increment build 2021-07-31 10:39:08 -06:00
Mykola Grymalyuk
d9dcfc6125 Fix iMac13,x crash on prebuilt models 2021-07-31 10:35:01 -06:00
Mykola Grymalyuk
c41ffaafc2 Add Latebloom detection to CLI 2021-07-30 09:37:19 -06:00
Mykola Grymalyuk
741eda5fd8 Fix iMac13,3 spoof 2021-07-30 09:16:41 -06:00
Dhinak G
1678005ceb Don't run the site on self-hosted 2021-07-29 19:37:15 -04:00
Dhinak G
df029110c7 Update to not run on M1 machine 2021-07-29 19:36:12 -04:00
Mykola Grymalyuk
59f43e0ea0 Add more Model dumps 2021-07-29 17:25:29 -06:00
Mykola Grymalyuk
9bdc5148c4 Adjust MinKernel 2021-07-28 16:43:17 -06:00
Mykola Grymalyuk
3283cf514b Fix MacBook8,1 Modertate SMBIOS setting 2021-07-26 15:17:45 -06:00
Mykola Grymalyuk
991e449d26 Disable USB Map injection when unneeded
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/384
2021-07-26 15:15:20 -06:00
Mykola Grymalyuk
f880751539 Sync changelog
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/358
2021-07-26 12:55:55 -06:00
Mykola Grymalyuk
8eade66017 Sync PatcherSupportPkg
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/405
2021-07-25 23:15:59 -06:00
Mykola Grymalyuk
bb09b0432f Add AMFI detection on build 2021-07-25 23:15:23 -06:00
Mykola Grymalyuk
eca98c65d3 Merge pull request #398 from dortania/latebloom
Add Latebloom support
2021-07-25 15:45:27 -06:00
Mykola Grymalyuk
3af8687f42 Fix print formatting 2021-07-24 23:14:18 -06:00
Mykola Grymalyuk
0af93e7936 Test Wake on WLAN support again 2021-07-24 10:31:14 -06:00
Mykola Grymalyuk
b8904387f3 Add Sandy Bridge comment 2021-07-24 09:48:05 -06:00
Mykola Grymalyuk
91b2a8b673 Merge branch 'main' of https://github.com/dortania/Opencore-Legacy-Patcher 2021-07-23 11:07:40 -06:00
Dhinak G
96748952d3 Update BENIFITS.md 2021-07-22 13:39:15 -04:00
Mykola Grymalyuk
5eddcadaac Add additional error handling on system calls 2021-07-21 21:57:36 -06:00
Mykola Grymalyuk
43131150a4 Fix Mojave/Catalina kextcache error handling 2021-07-21 21:55:43 -06:00
Mykola Grymalyuk
5fefc7185e Add validation checker in CLI
Currently fails due to bootstrap path, will be resolved in future
2021-07-21 19:30:54 -06:00
Mykola Grymalyuk
ff00e2683e Add better variable presentation 2021-07-20 09:30:14 -06:00
Mykola Grymalyuk
e94264f039 Allow latebloom support 2021-07-20 09:07:29 -06:00
Mykola Grymalyuk
7fc36ac098 Merge pull request #381 from ylluminate/patch-1
Update TCC modification in ACCEL.md for Big Sur
2021-07-20 08:57:23 -06:00
Mykola Grymalyuk
8711b4069a Update ACCEL.md 2021-07-20 08:57:06 -06:00
Mykola Grymalyuk
70cb12413a Update ACCEL.md 2021-07-20 08:56:38 -06:00
Mykola Grymalyuk
a6dc58a81d Merge pull request #390 from lulujyc/patch-2
Update ACCEL.md -- don't waste money buying DisplayLink adapters
2021-07-20 08:52:47 -06:00
Mykola Grymalyuk
f8da16bf0a Fix Thunderbolt Array typo (Thanks @woefi) 2021-07-20 08:52:03 -06:00
Mykola Grymalyuk
e43fecb4bc Clean up formatting 2021-07-19 15:42:01 -06:00
Mykola Grymalyuk
d6ed03eb8a Revert Kryptonite backend 2021-07-19 12:01:05 -06:00
Mykola Grymalyuk
49e1fb1ad2 Fix RaceCondition ModelArray 2021-07-19 10:43:19 -06:00
Mykola Grymalyuk
ab1dab7fe5 Backend for Kryptonite support 2021-07-19 10:37:34 -06:00
Mykola Grymalyuk
6c44472e00 Merge branch 'main' of https://github.com/dortania/Opencore-Legacy-Patcher 2021-07-19 09:35:26 -06:00
Mykola Grymalyuk
d1f545e356 Merge pull request #397 from educovas/main
Updated HD4000 Monterey support - MONTEREY-DROP.md
2021-07-19 09:13:05 -06:00
educovas
e61544dcb9 Update MONTEREY-DROP.md 2021-07-19 12:02:32 -03:00
Mykola Grymalyuk
889293ca8a Fix formatting 2021-07-19 07:44:37 -06:00
Mykola Grymalyuk
a280e22cdb Adjust csr formatting 2021-07-18 11:40:30 -06:00
lulujyc
bb26a5a5d8 Update ACCEL.md -- don't waste money buying DisplayLink adapters 2021-07-17 17:31:22 +08:00
Mykola Grymalyuk
ba543ca5cf TUI Workflow: Force overwrite existing signature 2021-07-15 16:47:52 -06:00
Mykola Grymalyuk
592b0a707f Fix typos 2021-07-15 09:45:24 -06:00
Mykola Grymalyuk
8da87aea28 Add dosdude patch detection 2021-07-14 09:59:56 -06:00
Mykola Grymalyuk
4842028516 Add better unpatch error handling 2021-07-13 20:20:27 -06:00
Mykola Grymalyuk
8b6bcd47d2 Add minor kernel version detection 2021-07-13 20:11:46 -06:00
Mykola Grymalyuk
081bb56dd0 Add backend to support latebloom
Kext currently not enabled until ready for mass community usage
2021-07-12 19:13:30 -06:00
Mykola Grymalyuk
418de07f84 Fix Wake on WLAN typo
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/383
2021-07-12 12:03:41 -06:00
Mykola Grymalyuk
18e3fa37ff Fix BlessOverride typo
Ref: https://github.com/dortania/OpenCore-Legacy-Patcher/issues/382
2021-07-11 17:08:38 -06:00
ylluminate
c36296f2a0 Update TCC modification in ACCEL.md for Big Sur 2021-07-11 14:57:55 -04:00
Mykola Grymalyuk
8159761833 Fix formatting 2021-07-11 12:28:52 -06:00
Mykola Grymalyuk
87526226cd Fix Windows scanning in OpenCore menu 2021-07-11 12:25:02 -06:00
Mykola Grymalyuk
1cf1e3491d Merge branch 'main' of https://github.com/dortania/Opencore-Legacy-Patcher 2021-07-11 10:27:38 -06:00
Dhinak G
9cf19319c5 Attempt to fix pickle issues 2021-07-10 01:38:41 -04:00
Mykola Grymalyuk
8b47c4fe7b Remove unnecessary sudo 2021-07-09 13:29:52 -06:00
Mykola Grymalyuk
3b3f5b3290 Enhance OS patching detection 2021-07-08 22:55:00 -06:00
Mykola Grymalyuk
637981b405 Add better Mojave/Catalina error handling 2021-07-08 15:43:59 -06:00
Mykola Grymalyuk
20b40f33ce Renove unused libraries 2021-07-08 15:42:15 -06:00
Mykola Grymalyuk
9a388009cd Add better SIP var detection 2021-07-08 15:39:14 -06:00
Mykola Grymalyuk
a4bcefd748 Fix AMFI dectection 2021-07-08 15:22:35 -06:00
Dhinak G
7885673363 Fix CLI when no patches are required 2021-07-08 17:20:14 -04:00
Mykola Grymalyuk
d7aa3889f9 Add FeatureUnlock
Creates less confusion with new name
2021-07-08 10:14:25 -06:00
Mykola Grymalyuk
4dc76e26fc Fix formatting 2021-07-07 18:54:55 -06:00
Mykola Grymalyuk
648bb67b73 Sync changelog 2021-07-07 10:47:39 -06:00
Mykola Grymalyuk
686698272b Merge pull request #371 from dortania/drm-test
Add DRM support for Intel HD4000
2021-07-07 09:16:37 -06:00
Mykola Grymalyuk
6349b64faf Re-enable Safari patch 2021-07-07 09:15:25 -06:00
Mykola Grymalyuk
09b9194b91 Fix crash on Apple Silicon 2021-07-06 22:42:32 -06:00
Mykola Grymalyuk
827aa96168 Update device_probe.py 2021-07-06 22:02:17 -06:00
Mykola Grymalyuk
02ae3c8393 Update SysPatch.py
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/368
2021-07-06 20:26:22 -06:00
Mykola Grymalyuk
8f6bd87721 Fix typo 2021-07-06 14:50:30 -06:00
Mykola Grymalyuk
cef684beb9 Allow hardware decode 2021-07-06 14:39:52 -06:00
Mykola Grymalyuk
6c7c60fb62 Test HD4000 DRM 2021-07-06 14:35:19 -06:00
Mykola Grymalyuk
1b786e57c3 Add board ID check for Sandy Bridge patch 2021-07-06 14:33:51 -06:00
Mykola Grymalyuk
35e6104786 Fix Country Code 2021-07-06 09:31:32 -06:00
Mykola Grymalyuk
ed7c0c6760 Fix CLI crash 2021-07-05 19:08:50 -06:00
Mykola Grymalyuk
25522069dc Update config.yml 2021-07-05 18:29:22 -06:00
Mykola Grymalyuk
cbbbe16031 Update config.yml 2021-07-05 18:28:49 -06:00
Mykola Grymalyuk
8ed540c7b4 Disable blank issues 2021-07-05 17:40:36 -06:00
Mykola Grymalyuk
467016521f Update bug_report.yml 2021-07-05 12:23:02 -06:00
Mykola Grymalyuk
33d166a4f8 Add Bug Form 2021-07-05 12:12:10 -06:00
Mykola Grymalyuk
a03623e678 Merge pull request #360 from SquiDual/patch-1
Update TERMS.md
2021-07-05 11:23:06 -06:00
Mykola Grymalyuk
bb424e8ab9 Add WLAN patch
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/353
2021-07-05 11:21:40 -06:00
Mykola Grymalyuk
9e98121e45 Adjust for GUI 2021-07-05 10:09:50 -06:00
SquiDual
f7d842a7f4 Update TERMS.md
Fix typo
2021-07-05 15:31:26 +08:00
Mykola Grymalyuk
a1981ab56d Fix NightShift in Monterey 2021-07-03 15:04:02 -06:00
Mykola Grymalyuk
e820a9ecc8 Fix AirPlay to Mac patch on 2017 iMacs 2021-07-03 13:21:05 -06:00
Mykola Grymalyuk
b13d47df08 Sync CLI 2021-06-28 09:42:23 -06:00
Dhinak G
e6adcdabac Fix typo
closes #351
2021-06-28 11:23:51 -04:00
Mykola Grymalyuk
3c4795fb47 Fix typo 2021-06-28 00:21:54 -06:00
Mykola Grymalyuk
aaf74b2b6a Fix typo 2021-06-28 00:13:55 -06:00
Mykola Grymalyuk
2c4b29400e Enable TeraScale 2 patches by default on desktops 2021-06-27 23:09:28 -06:00
Mykola Grymalyuk
98da3a16a8 Fix Wifi build crash 2021-06-27 22:30:58 -06:00
Mykola Grymalyuk
b24ee0e38c Fix symlinks with rsync 2021-06-27 22:16:47 -06:00
Mykola Grymalyuk
f557b10c3c Merge pull request #339 from dortania/ioreg-rewrite
Completely revamp IOReg probing
2021-06-27 10:32:58 -06:00
Mykola Grymalyuk
b876eda144 Update POST-INSTALL.md 2021-06-26 14:48:32 -06:00
Mykola Grymalyuk
4c8e256e7e Fix SIP typo for hackintosh 2021-06-26 13:51:40 -06:00
Dhinak G
447afac6eb Update build scripts 2021-06-25 09:13:17 -04:00
Dhinak G
657fc97f4f Completely revamp IOReg probing 2021-06-24 19:55:22 -04:00
Mykola Grymalyuk
1d8f87fb78 Reflect new GUI 2021-06-24 16:05:14 -06:00
Mykola Grymalyuk
c6a34ddeb8 Fix build version 2021-06-24 09:52:01 -06:00
Mykola Grymalyuk
694d0397ea Sync docs
Closes https://github.com/dortania/OpenCore-Legacy-Patcher/issues/146
2021-06-24 09:43:02 -06:00
Mykola Grymalyuk
9cbc243581 Merge pull request #333 from dortania/gui-ci
Implement OpenCore GUI
2021-06-24 09:26:48 -06:00
Mykola Grymalyuk
04a83462c3 Add notarization to TUI
TUI is deprecated, binary will be dropped in the future
2021-06-24 09:19:27 -06:00
Dhinak G
2e3152f23b Fix more IORegistry issues 2021-06-24 09:06:31 -04:00
Mykola Grymalyuk
ba1ac0501b Merge branch 'main' into gui-ci 2021-06-23 22:12:56 -06:00
Mykola Grymalyuk
3ce8b18ecb Update CI 2021-06-23 22:11:45 -06:00
Mykola Grymalyuk
baaa897d10 Add disk type detection 2021-06-23 21:46:42 -06:00
Mykola Grymalyuk
86ffb83c86 Update Constants.py 2021-06-23 20:33:49 -06:00
Mykola Grymalyuk
db708022e9 Fix model issue 2021-06-23 16:20:45 -06:00
Mykola Grymalyuk
cc2eebfd42 Test 2021-06-23 14:34:37 -06:00
Mykola Grymalyuk
8490893960 Fix error 2021-06-23 14:22:34 -06:00
Mykola Grymalyuk
15a5e54cbb Fix zip 2021-06-23 14:06:13 -06:00
Mykola Grymalyuk
1bc9f3d396 Fix 2021-06-23 13:59:24 -06:00
Mykola Grymalyuk
ca22da4ebb Test 2021-06-23 13:58:12 -06:00
Mykola Grymalyuk
e609866c5e Extra codesigning 2021-06-23 13:50:29 -06:00
Mykola Grymalyuk
bb5673e770 Force codesign 2021-06-23 13:15:10 -06:00
Mykola Grymalyuk
024d41c946 Fix incorrect file path 2021-06-23 13:12:12 -06:00
Mykola Grymalyuk
44c4a488f4 Add codesign to GUI 2021-06-23 13:09:42 -06:00
Mykola Grymalyuk
5c09c10301 Fix typo 2021-06-23 12:57:31 -06:00
Mykola Grymalyuk
4f74629e3f Fix CI 2021-06-23 12:54:34 -06:00
Mykola Grymalyuk
56194be716 Fix CI 2021-06-23 12:51:47 -06:00
Mykola Grymalyuk
8cfa90f352 Update CI 2021-06-23 12:34:05 -06:00
Mykola Grymalyuk
1064be45df Add basic GUI to CI pipeline 2021-06-23 11:55:37 -06:00
Mykola Grymalyuk
0428244e60 Update CLI 2021-06-22 22:48:16 -06:00
Mykola Grymalyuk
135125bae6 Update CLI 2021-06-22 22:35:14 -06:00
Mykola Grymalyuk
120f893d1f Fix Root Patch Failure on Nvidia Tesla GPUs 2021-06-22 20:31:41 -06:00
Mykola Grymalyuk
a33c19448f Avoid double sudo in CLI 2021-06-22 16:55:12 -06:00
Mykola Grymalyuk
b8e29eca28 Fix SysPatch 2021-06-22 16:47:30 -06:00
Mykola Grymalyuk
d4873f8070 Fix CLI Root Patching 2021-06-22 16:43:05 -06:00
Dhinak G
c42ec31415 Fix IORegistry issue 2021-06-22 16:25:50 -04:00
Mykola Grymalyuk
8f251c1214 Increment build 2021-06-22 10:19:48 -06:00
441 changed files with 74068 additions and 7675 deletions

View File

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

1
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1 @@
open_collective: opencore-legacy-patcher

View File

@@ -1,34 +0,0 @@
---
name: Bug report
about: Create a report to help notify of issues
title: ''
labels: ''
assignees: ''
---
**Describe the bug**
A clear and concise description of what the issue is.
**To Reproduce**
Steps to reproduce the behavior:
1. Open app or .command '...'
2. Enter '....'
3. See error
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Build Folder**
If applicable, add the generated OpenCore Build to help explain your problem.
**Hardware (please complete the following information):**
- OS Running (ie. macOS 10.15.7, Catalina)
- OS Patching (ie. macOS 11.2.3, Big Sur)
- Model Patching (ie. MacPro5,1)
For in-depth hardware logs, we highly encourage users to run [IORegistryExplorer](https://github.com/khronokernel/IORegistryClone/blob/master/ioreg-210.zip?raw=true) and send the output
* ie. `File -> SaveAs`
**Additional context**
Add any other context about the problem here.

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

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

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

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

View File

@@ -0,0 +1,83 @@
name: CI - Build wxPython
on:
push:
workflow_dispatch:
release:
types: [published]
jobs:
build:
name: Build wxPython
runs-on: x86_64_monterey
if: github.repository_owner == 'dortania'
env:
branch: ${{ github.ref }}
commiturl: ${{ github.event.head_commit.url }}${{ github.event.release.html_url }}
commitdate: ${{ github.event.head_commit.timestamp }}${{ github.event.release.published_at }}
MAC_CODESIGN_IDENTITY: ${{ secrets.MAC_CODESIGN_IDENTITY }}
MAC_CODESIGN_CERT: ${{ secrets.MAC_CODESIGN_CERT }}
MAC_NOTARIZATION_USERNAME: ${{ secrets.MAC_NOTARIZATION_USERNAME }}
MAC_NOTARIZATION_PASSWORD: ${{ secrets.MAC_NOTARIZATION_PASSWORD }}
MAC_NOTARIZATION_TEAM_ID: ${{ secrets.MAC_NOTARIZATION_TEAM_ID }}
ANALYTICS_KEY: ${{ secrets.ANALYTICS_KEY }}
ANALYTICS_SITE: ${{ secrets.ANALYTICS_SITE }}
steps:
- uses: actions/checkout@v3
- name: Build Binary
run: /Library/Frameworks/Python.framework/Versions/3.11/bin/python3 Build-Binary.command --reset_binaries --branch "${{ env.branch }}" --commit "${{ env.commiturl }}" --commit_date "${{ env.commitdate }}" --key "${{ env.ANALYTICS_KEY }}" --site "${{ env.ANALYTICS_SITE }}"
# - name: Import Certificate
# if: (!security find-certificate -c "${{ env.MAC_CODESIGN_IDENTITY }}")
# uses: apple-actions/import-codesign-certs@v2
# with:
# p12-file-base64: ${{ secrets.MAC_CODESIGN_CERT }}
# p12-password: ${{ secrets.MAC_NOTARIZATION_PASSWORD }}
- name: Codesign Binary
run: 'codesign -s "${{ env.MAC_CODESIGN_IDENTITY }}" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "dist/OpenCore-Patcher.app"'
- name: Package Binary
run: cd dist; ditto -c -k --sequesterRsrc --keepParent OpenCore-Patcher.app ../OpenCore-Patcher-wxPython.app.zip
- name: Notarize Binary
run: xcrun notarytool submit OpenCore-Patcher-wxPython.app.zip --apple-id "${{ env.MAC_NOTARIZATION_USERNAME }}" --password "${{ env.MAC_NOTARIZATION_PASSWORD }}" --team-id "${{ env.MAC_NOTARIZATION_TEAM_ID }}"
- name: Generate support package
run: packagesbuild ./payloads/InstallPackage/AutoPkg-Assets-Setup.pkgproj
- name: Prepare App for Upload
run: mv ./OpenCore-Patcher-wxPython.app.zip ./OpenCore-Patcher-GUI.app.zip
- name: Upload App to Artifacts
uses: actions/upload-artifact@v3
with:
name: OpenCore-Patcher.app (GUI)
path: OpenCore-Patcher-GUI.app.zip
- 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

@@ -1,38 +0,0 @@
name: CI - Build App
on:
push:
workflow_dispatch:
release:
types: [published]
jobs:
build:
name: Build App
runs-on: self-hosted
steps:
- uses: actions/checkout@v2
- name: Install Python Dependencies
run: pip3 install --upgrade pyinstaller requests
- run: pyinstaller OpenCore-Patcher.spec
- run: ./after_pyinstaller.sh
- run: 'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --deep --timestamp --entitlements entitlements.plist -o runtime "dist/OpenCore-Patcher.app"'
- run: cd dist; zip ../OpenCore-Patcher.zip OpenCore-Patcher; zip -r ../OpenCore-Patcher.app.zip OpenCore-Patcher.app
- run: ./../sign-app.sh
- name: Upload App to Artifacts
uses: actions/upload-artifact@v2
with:
name: OpenCore-Patcher.app
path: OpenCore-Patcher.app.zip
- name: Upload to Release
if: github.event_name == 'release'
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: OpenCore-Patcher.app.zip
tag: ${{ github.ref }}
file_glob: true

View File

@@ -1,32 +0,0 @@
name: CI - Build CLI
on:
push:
workflow_dispatch:
release:
types: [published]
jobs:
build:
name: Build CLI
runs-on: self-hosted
steps:
- uses: actions/checkout@v2
- name: Install Python Dependencies
run: pip3 install --upgrade pyinstaller requests
- run: pyinstaller OCLP-CLI.spec
- run: cd dist; zip ../OCLP-CLI.zip OCLP-CLI
- name: Upload Binary to Artifacts
uses: actions/upload-artifact@v2
with:
name: OCLP-CLI
path: OCLP-CLI.zip
- name: Upload to Release
if: github.event_name == 'release'
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: OCLP-CLI.zip
tag: ${{ github.ref }}
file_glob: true

View File

@@ -9,12 +9,13 @@ jobs:
build:
name: Build Site and Deploy
runs-on: ubuntu-latest
if: github.repository_owner == 'dortania'
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

23
.github/workflows/validate-external.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: CI - Validation (External)
on:
push:
workflow_dispatch:
release:
types: [published]
jobs:
build:
name: Validate
runs-on: macos-latest
if: github.repository_owner != 'dortania'
steps:
- uses: actions/checkout@v3
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: '3.10'
- name: Install Dependencies
run: python3 -m pip install -r requirements.txt
- name: Validate
run: python3 OpenCore-Patcher-GUI.command --validate

17
.github/workflows/validate.yml vendored Normal file
View File

@@ -0,0 +1,17 @@
name: CI - Validation
on:
push:
workflow_dispatch:
release:
types: [published]
jobs:
build:
name: Validate
runs-on: x86_64_monterey
if: github.repository_owner == 'dortania'
steps:
- uses: actions/checkout@v3
- name: Validate
run: /Library/Frameworks/Python.framework/Versions/3.11/bin/python3 OpenCore-Patcher-GUI.command --validate

26
.gitignore vendored
View File

@@ -1,7 +1,10 @@
.DS_Store
OCLP-GUI.command
/payloads/Apple
/payloads/Apple.zip
/payloads/*.zip
/payloads/BuildManifest.plist
/payloads/*.sucatalog
/payloads/*.pkg
/payloads/__MACOSX
/App
/Build-Folder
@@ -16,4 +19,23 @@ __pycache__/
/docs/.vuepress/.config.js.swp
/docs/yarn.lock
/docs/yarn-error.log
/docs/node_modules/
/docs/node_modules/
/payloads/List.txt
/payloads/Installer.sh
/payloads/Info.plist
/payloads/seed.plist
/payloads/AutoPkg-Assets.pkg
/payloads/AutoPkg-Assets.pkg.zip
/payloads/Universal-Binaries
/payloads/OpenCore-Legacy-Patcher
/payloads/InstallAssistant.pkg.integrityDataV1
/payloads.dmg
/Universal-Binaries.dmg
/payloads/OpenCore-Legacy-Patcher-*.plist
/payloads/KDK.dmg
*.log
/Universal-Binaries.dmg
/payloads/KDKInfo.plist
/payloads/update.sh
/payloads/OpenCore-Patcher.app
/.x86_64_venv

441
Build-Binary.command Executable file
View File

@@ -0,0 +1,441 @@
#!/usr/bin/env python3
# Generate stand alone application for OpenCore-Patcher
# Copyright (C) 2022-2023 - Mykola Grymalyuk
import os
import sys
import time
import argparse
import plistlib
import platform
import subprocess
from pathlib import Path
from resources import constants
class CreateBinary:
"""
Library for creating OpenCore-Patcher application
This script's main purpose is to handle the following:
- Download external dependencies (ex. PatcherSupportPkg)
- Convert payloads directory into DMG
- Build Binary via Pyinstaller
- Patch 'LC_VERSION_MIN_MACOSX' to OS X 10.10
- Add commit data to Info.plist
"""
def __init__(self):
start = time.time()
self._set_cwd()
print("Starting build script")
self.args = self._parse_arguments()
print(f"Current Working Directory:\n- {os.getcwd()}")
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):
"""
Initialize current working directory to parent of this script
"""
os.chdir(Path(__file__).resolve().parent)
def _parse_arguments(self):
"""
Parse arguments passed to script
"""
parser = argparse.ArgumentParser(description='Builds OpenCore-Patcher binary')
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')
parser.add_argument('--key', type=str, help='Developer key for signing')
parser.add_argument('--site', type=str, help='Path to server')
args = parser.parse_args()
return args
def _setup_pathing(self):
"""
Initialize pathing for pyinstaller
"""
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 pyinstaller 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):
"""
Start preflight processes
"""
print("Starting preflight processes")
self._setup_pathing()
self._delete_extra_binaries()
self._download_resources()
self._generate_payloads_dmg()
def _postflight_processes(self):
"""
Start postflight processes
"""
print("Starting postflight processes")
self._patch_load_command()
self._add_commit_data()
self._post_flight_cleanup()
self._mini_validate()
def _build_binary(self):
"""
Build binary via pyinstaller
"""
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")
self._embed_key()
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)
self._strip_key()
if build_result.returncode != 0:
print("Build failed")
print(build_result.stderr.decode('utf-8'))
raise Exception("Build failed")
# Next embed support icns into ./Resources
print("Embedding icns...")
for file in Path("payloads/Icon/AppIcons").glob("*.icns"):
subprocess.run(
["cp", str(file), "./dist/OpenCore-Patcher.app/Contents/Resources/"],
stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
def _embed_key(self):
"""
Embed developer key into binary
"""
if not self.args.key:
print("No developer key provided, skipping...")
return
if not self.args.site:
print("No site provided, skipping...")
return
print("Embedding developer key...")
if not Path("./resources/analytics_handler.py").exists():
print("analytics_handler.py not found")
return
lines = []
with open("./resources/analytics_handler.py", "r") as f:
lines = f.readlines()
for i, line in enumerate(lines):
if line.startswith("SITE_KEY: str = "):
lines[i] = f"SITE_KEY: str = \"{self.args.key}\"\n"
elif line.startswith("ANALYTICS_SERVER: str = "):
lines[i] = f"ANALYTICS_SERVER: str = \"{self.args.site}\"\n"
with open("./resources/analytics_handler.py", "w") as f:
f.writelines(lines)
def _strip_key(self):
"""
Strip developer key from binary
"""
if not self.args.key:
print("No developer key provided, skipping...")
return
if not self.args.site:
print("No site provided, skipping...")
return
print("Stripping developer key...")
if not Path("./resources/analytics_handler.py").exists():
print("analytics_handler.py not found")
return
lines = []
with open("./resources/analytics_handler.py", "r") as f:
lines = f.readlines()
for i, line in enumerate(lines):
if line.startswith("SITE_KEY: str = "):
lines[i] = f"SITE_KEY: str = \"\"\n"
elif line.startswith("ANALYTICS_SERVER: str = "):
lines[i] = f"ANALYTICS_SERVER: str = \"\"\n"
with open("./resources/analytics_handler.py", "w") as f:
f.writelines(lines)
def _delete_extra_binaries(self):
"""
Delete extra binaries from payloads directory
"""
whitelist_folders = [
"ACPI",
"Config",
"Drivers",
"Icon",
"InstallPackage",
"Kexts",
"OpenCore",
"Tools",
]
whitelist_files = [
"com.dortania.opencore-legacy-patcher.auto-patch.plist",
"com.dortania.opencore-legacy-patcher.rsr-monitor.plist",
"entitlements.plist",
"launcher.sh",
"OC-Patcher-TUI.icns",
"OC-Patcher.icns",
]
print("Deleting extra binaries...")
for file in Path("payloads").glob(pattern="*"):
if file.is_dir():
if file.name in whitelist_folders:
continue
print(f"- Deleting {file.name}")
subprocess.run(["rm", "-rf", file])
else:
if file.name in whitelist_files:
continue
print(f"- Deleting {file.name}")
subprocess.run(["rm", "-f", file])
def _download_resources(self):
"""
Download required dependencies
"""
patcher_support_pkg_version = constants.Constants().patcher_support_pkg_version
required_resources = [
"Universal-Binaries.dmg"
]
print("Downloading required resources...")
for resource in required_resources:
if Path(f"./{resource}").exists():
if self.args.reset_binaries:
print(f" - Removing old {resource}")
# Just to be safe
assert resource, "Resource cannot be empty"
assert resource not in ("/", "."), "Resource cannot be root"
rm_output = subprocess.run(
["rm", "-rf", f"./{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")
def _generate_payloads_dmg(self):
"""
Generate disk image containing all payloads
Disk image will be password protected due to issues with
Apple's notarization system and inclusion of kernel extensions
"""
if Path("./payloads.dmg").exists():
if not self.args.reset_binaries:
print("- payloads.dmg already exists, skipping creation")
return
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")
print("- Generating DMG...")
dmg_output = subprocess.run([
'hdiutil', 'create', './payloads.dmg',
'-megabytes', '32000', # Overlays can only be as large as the disk image allows
'-format', 'UDZO', '-ov',
'-volname', 'OpenCore Patcher Resources (Base)',
'-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):
"""
Add commit data to Info.plist
"""
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):
"""
Patch 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 _post_flight_cleanup(self):
"""
Post flight cleanup
"""
path = "./dist/OpenCore-Patcher"
print(f"- Removing {path}")
rm_output = subprocess.run(
["rm", "-rf", path],
stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
if rm_output.returncode != 0:
print(f"- Remove failed: {path}")
print(rm_output.stderr.decode('utf-8'))
raise Exception(f"Remove failed: {path}")
def _mini_validate(self):
"""
Validate generated binary
"""
print("- Validating binary")
validate_output = subprocess.run(
["./dist/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher", "--build", "--model", "MacPro3,1"],
stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
if validate_output.returncode != 0:
print("- Validation failed")
print(validate_output.stderr.decode('utf-8'))
raise Exception("Validation failed")
if __name__ == "__main__":
CreateBinary()

File diff suppressed because it is too large Load Diff

14
LICENSE.txt Normal file
View File

@@ -0,0 +1,14 @@
Copyright (c) 2020-2023, Dhinak G
Copyright (c) 2020-2023, Mykola Grymalyuk
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
This product includes software developed by Dortania and OpenCore Legacy Patcher contributors.
4. Neither the name of OpenCore Legacy Patcher, nor the names of Dortania, Dhinak G, or Mykola Grymalyuk may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY DHINAK G AND MYKOLA GRYMALYUK "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DHINAK G NOR MYKOLA GRYMALYUK BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -1,219 +0,0 @@
#!/usr/bin/env python3
# Copyright (C) 2020-2021 Mykola Grymalyuk
from __future__ import print_function
import subprocess
import sys
import platform
import argparse
from pathlib import Path
from Resources import Build, ModelArray, Constants, SysPatch, device_probe, Utilities
class OpenCoreLegacyPatcher:
def __init__(self):
print("Loading...")
Utilities.disable_cls()
self.constants = Constants.Constants()
self.constants.computer = device_probe.Computer.probe()
self.computer = self.constants.computer
self.constants.detected_os = int(platform.uname().release.partition(".")[0])
custom_cpu_model_value = Utilities.get_nvram("revcpuname", "4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102", decode=True)
if custom_cpu_model_value is not None:
# TODO: Fix to not use two separate variables
self.constants.custom_cpu_model = 1
self.constants.custom_cpu_model_value = custom_cpu_model_value.split("%00")[0]
if "-v" in (Utilities.get_nvram("boot-args") or ""):
self.constants.verbose_debug = True
# Check if running in RecoveryOS
self.constants.recovery_status = Utilities.check_recovery()
parser = argparse.ArgumentParser()
# Generic building args
parser.add_argument("--build", help="Build OpenCore", action="store_true", required=False)
parser.add_argument("--verbose", help="Enable verbose boot", action="store_true", required=False)
parser.add_argument("--debug_oc", help="Enable OpenCore DEBUG", action="store_true", required=False)
parser.add_argument("--debug_kext", help="Enable kext DEBUG", action="store_true", required=False)
parser.add_argument("--skip_wifi", help="Skip wifi patches", action="store_true", required=False)
parser.add_argument("--hide_picker", help="Hide OpenCore picker", action="store_true", required=False)
parser.add_argument("--disable_sip", help="Disable SIP", action="store_true", required=False)
parser.add_argument("--disable_smb", help="Disable SecureBootModel", action="store_true", required=False)
parser.add_argument("--vault", help="Enable OpenCore Vaulting", action="store_true", required=False)
parser.add_argument("--support_all", help="Allow OpenCore on natively supported Models", action="store_true", required=False)
parser.add_argument("--firewire", help="Enable FireWire Booting", action="store_true", required=False)
parser.add_argument("--nvme", help="Enable NVMe Booting", action="store_true", required=False)
parser.add_argument("--disable_amfi", help="Disable AMFI", action="store_true", required=False)
# Building args requiring value values
parser.add_argument("--model", action="store", help="Set custom model", required=False)
parser.add_argument("--metal_gpu", action="store", help="Set Metal GPU Vendor", required=False)
parser.add_argument("--smbios_spoof", action="store", help="Set SMBIOS patching mode", required=False)
# SysPatch args
parser.add_argument("--patch_sys_vol", help="Patches root volume", action="store_true", required=False)
parser.add_argument("--unpatch_sys_vol", help="Unpatches root volume, EXPERIMENTAL", action="store_true", required=False)
parser.add_argument("--terascale_2", help="Enable TeraScale 2 Acceleration", action="store_true", required=False)
args = parser.parse_args()
self.constants.gui_mode = True
self.constants.current_path = Path.cwd()
if getattr(sys, "frozen", False) and hasattr(sys, "_MEIPASS"):
print("- Rerouting payloads location")
self.constants.payload_path = sys._MEIPASS / Path("payloads")
else:
print("- Using default payloads location")
if args.verbose:
print("- Set verbose configuration")
self.constants.verbose_debug = True
if args.debug_oc:
print("- Set OpenCore DEBUG configuration")
self.constants.opencore_debug = True
self.constants.opencore_build = "DEBUG"
if args.debug_kext:
print("- Set kext DEBUG configuration")
self.constants.kext_debug = True
if args.skip_wifi:
print("- Set wifi skip configuration")
self.constants.wifi_build = True
if args.hide_picker:
print("- Set HidePicker configuration")
self.constants.showpicker = False
if args.disable_sip:
print("- Set Disable SIP configuration")
self.constants.sip_status = False
if args.disable_smb:
print("- Set Disable SecureBootModel configuration")
self.constants.secure_status = False
if args.vault:
print("- Set Vault configuration")
self.constants.vault = True
if args.firewire:
print("- Set FireWire Boot configuration")
self.constants.firewire_boot = True
if args.nvme:
print("- Set NVMe Boot configuration")
self.constants.nvme_boot = True
if args.disable_amfi:
print("- Set Disable AMFI configuration")
self.constants.disable_amfi = True
if args.metal_gpu:
if args.metal_gpu == "Nvidia":
print("- Set Metal GPU patches to Nvidia")
self.constants.metal_build = True
self.constants.imac_vendor = "Nvidia"
elif args.metal_gpu == "AMD":
print("- Set Metal GPU patches to AMD")
self.constants.metal_build = True
self.constants.imac_vendor = "AMD"
else:
print(f"- Unknown GPU arg passed: {args.metal_gpu}")
self.constants.metal_build = False
self.constants.imac_vendor = "None"
if args.smbios_spoof:
if args.smbios_spoof == "Minimal":
self.constants.serial_settings = "Minimal"
elif args.smbios_spoof == "Moderate":
self.constants.serial_settings = "Moderate"
elif args.smbios_spoof == "Advanced":
self.constants.serial_settings = "Advanced"
else:
print(f"- Unknown SMBIOS arg passed: {args.smbios_spoof}")
if args.support_all:
print("- Building for natively supported model")
self.constants.allow_oc_everywhere = True
self.constants.serial_settings = "None"
if args.build:
if args.model:
print(f"- Using custom model: {args.model}")
self.constants.custom_model = args.model
self.set_defaults(self.constants.custom_model, False)
self.build_opencore()
elif self.computer.real_model not in ModelArray.SupportedSMBIOS and self.constants.allow_oc_everywhere is False:
print(
"""Your model is not supported by this patcher for running unsupported OSes!"
If you plan to create the USB for another machine, please select the "Change Model" option in the menu."""
)
sys.exit(1)
else:
print(f"- Using detected model: {self.constants.computer.real_model}")
self.build_opencore()
if args.patch_sys_vol:
if args.terascale_2:
print("- Set TeraScale 2 Accel configuration")
self.constants.terascale_2_patch = True
print("- Set System Volume patching")
self.patch_vol()
elif args.unpatch_sys_vol:
print("- Set System Volume unpatching")
self.unpatch_vol()
def set_defaults(self, model, host_is_target):
# Defaults
self.constants.sip_status = True
self.constants.secure_status = False # Default false for Monterey
self.constants.disable_amfi = False
if model in ModelArray.LegacyGPU:
if (
host_is_target
and self.computer.dgpu
and self.computer.dgpu.arch
in [
device_probe.AMD.Archs.Legacy_GCN,
device_probe.AMD.Archs.Polaris,
device_probe.AMD.Archs.Vega,
device_probe.AMD.Archs.Navi,
device_probe.NVIDIA.Archs.Kepler,
]
):
# Building on device and we have a native, supported GPU
self.constants.sip_status = True
# self.constants.secure_status = True # Monterey
self.constants.disable_amfi = False
else:
self.constants.sip_status = False # Unsigned kexts
self.constants.secure_status = False # Root volume modified
self.constants.disable_amfi = True # Unsigned binaries
if model in ModelArray.ModernGPU:
if host_is_target and model in ["iMac13,1", "iMac13,3"] and self.computer.dgpu:
# Some models have a supported dGPU, others don't
self.constants.sip_status = True
# self.constants.secure_status = True # Monterey
# self.constants.disable_amfi = False # Signed bundles, Don't need to explicitly set currently
else:
self.constants.sip_status = False # Unsigned kexts
self.constants.secure_status = False # Modified root volume
# self.constants.disable_amfi = False # Signed bundles, Don't need to explicitly set currently
if model == "MacBook8,1":
# MacBook8,1 has an odd bug where it cannot install Monterey with Minimal spoofing
self.constants.serial_settings == "Moderate"
def patch_vol(self):
SysPatch.PatchSysVolume(self.constants.custom_model or self.constants.computer.real_model, self.constants).start_patch()
def unpatch_vol(self):
SysPatch.PatchSysVolume(self.constants.custom_model or self.constants.computer.real_model, self.constants).start_unpatch()
def build_opencore(self):
Build.BuildOpenCore(self.constants.custom_model or self.constants.computer.real_model, self.constants).build_opencore()
def install_opencore(self):
Build.BuildOpenCore(self.constants.custom_model or self.constants.computer.real_model, self.constants).copy_efi()
OpenCoreLegacyPatcher()
# Example arg for OCLP command line
# ./OCLP-CLI --build --verbose --debug_oc --debug_kext --model iMac11,2

View File

@@ -1,34 +0,0 @@
# -*- mode: python ; coding: utf-8 -*-
import sys, os
sys.path.append(os.path.abspath(os.getcwd()))
from Resources import Constants
block_cipher = None
a = Analysis(['OCLP-CLI.command'],
binaries=[],
datas=[('payloads', 'payloads'), ('Resources', 'Resources')],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[('u', None, 'OPTION')],
name='OCLP-CLI',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True )

6
OpenCore-Patcher-GUI.command Executable file
View File

@@ -0,0 +1,6 @@
#!/usr/bin/env python3
# Copyright (C) 2020-2022, Dhinak G, Mykola Grymalyuk
from resources import main
if __name__ == '__main__':
main.OpenCoreLegacyPatcher()

69
OpenCore-Patcher-GUI.spec Normal file
View File

@@ -0,0 +1,69 @@
# -*- mode: python ; coding: utf-8 -*-
import sys, os, time, subprocess, pathlib
sys.path.append(os.path.abspath(os.getcwd()))
from resources import constants
block_cipher = None
datas = [
('payloads.dmg', '.'),
('Universal-Binaries.dmg', '.'),
]
if pathlib.Path("DortaniaInternalResources.dmg").exists():
datas.append(('DortaniaInternalResources.dmg', '.'))
a = Analysis(['OpenCore-Patcher-GUI.command'],
pathex=[],
binaries=[],
datas=datas,
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
[],
exclude_binaries=True,
name='OpenCore-Patcher',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False,
disable_windowed_traceback=False,
target_arch="universal2",
codesign_identity=None,
entitlements_file=None )
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",
info_plist={
"CFBundleName": "OpenCore Legacy Patcher",
"CFBundleShortVersionString": constants.Constants().patcher_version,
"NSHumanReadableCopyright": constants.Constants().copyright_date,
"LSMinimumSystemVersion": "10.10.0",
"NSRequiresAquaSystemAppearance": False,
"NSHighResolutionCapable": True,
"Build Date": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
"BuildMachineOSBuild": subprocess.run("sw_vers -buildVersion".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.decode().strip(),
"NSPrincipalClass": "NSApplication",
})

View File

@@ -1,296 +0,0 @@
#!/usr/bin/env python3
# Copyright (C) 2020-2021, Dhinak G, Mykola Grymalyuk
from __future__ import print_function
import platform
import subprocess
import sys
from Resources import Build, CliMenu, Constants, ModelArray, SysPatch, Utilities, device_probe
class OpenCoreLegacyPatcher:
def __init__(self):
print("Loading...")
self.constants = Constants.Constants()
self.constants.computer = device_probe.Computer.probe()
self.computer = self.constants.computer
self.constants.detected_os = int(platform.uname().release.partition(".")[0])
self.set_defaults(self.computer.real_model, True)
custom_cpu_model_value = Utilities.get_nvram("revcpuname", "4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102", decode=True)
if custom_cpu_model_value is not None:
# TODO: Fix to not use two separate variables
self.constants.custom_cpu_model = 1
self.constants.custom_cpu_model_value = custom_cpu_model_value.split("%00")[0]
if "-v" in (Utilities.get_nvram("boot-args") or ""):
self.constants.verbose_debug = True
# Check if running in RecoveryOS
self.constants.recovery_status = Utilities.check_recovery()
def set_defaults(self, model, host_is_target):
# Defaults
self.constants.sip_status = True
self.constants.secure_status = False # Default false for Monterey
self.constants.disable_amfi = False
if model in ModelArray.LegacyGPU:
if (
host_is_target
and self.computer.dgpu
and self.computer.dgpu.arch
in [
device_probe.AMD.Archs.Legacy_GCN,
device_probe.AMD.Archs.Polaris,
device_probe.AMD.Archs.Vega,
device_probe.AMD.Archs.Navi,
device_probe.NVIDIA.Archs.Kepler,
]
):
# Building on device and we have a native, supported GPU
self.constants.sip_status = True
# self.constants.secure_status = True # Monterey
self.constants.disable_amfi = False
else:
self.constants.sip_status = False # Unsigned kexts
self.constants.secure_status = False # Root volume modified
self.constants.disable_amfi = True # Unsigned binaries
if model in ModelArray.ModernGPU:
if host_is_target and model in ["iMac13,1", "iMac13,3"] and self.computer.dgpu:
# Some models have a supported dGPU, others don't
self.constants.sip_status = True
# self.constants.secure_status = True # Monterey
# self.constants.disable_amfi = False # Signed bundles, Don't need to explicitly set currently
else:
self.constants.sip_status = False # Unsigned kexts
self.constants.secure_status = False # Modified root volume
# self.constants.disable_amfi = False # Signed bundles, Don't need to explicitly set currently
if model == "MacBook8,1":
# MacBook8,1 has an odd bug where it cannot install Monterey with Minimal spoofing
self.constants.serial_settings == "Moderate"
def build_opencore(self):
Build.BuildOpenCore(self.constants.custom_model or self.constants.computer.real_model, self.constants).build_opencore()
def install_opencore(self):
Build.BuildOpenCore(self.constants.custom_model or self.constants.computer.real_model, self.constants).copy_efi()
def change_model(self):
Utilities.cls()
Utilities.header(["Select Different Model"])
print(
"""
Tip: Run the following command on the target machine to find the model identifier:
system_profiler SPHardwareDataType | grep 'Model Identifier'
"""
)
self.constants.custom_model = input("Please enter the model identifier of the target machine: ").strip()
if self.constants.custom_model not in ModelArray.SupportedSMBIOS:
print(
f"""
{self.constants.custom_model} is not a valid SMBIOS Identifier for macOS {self.constants.os_support}!
"""
)
print_models = input(f"Print list of valid options for macOS {self.constants.os_support}? (y/n)")
if print_models.lower() in {"y", "yes"}:
print("\n".join(ModelArray.SupportedSMBIOS))
input("\nPress [ENTER] to continue")
else:
self.set_defaults(self.constants.custom_model, False)
def patcher_settings(self):
response = None
while not (response and response == -1):
title = ["Adjust Patcher Settings"]
menu = Utilities.TUIMenu(title, "Please select an option: ", auto_number=True, top_level=True)
options = [
[f"Enable Verbose Mode:\t\tCurrently {self.constants.verbose_debug}", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).change_verbose],
[f"Enable OpenCore DEBUG:\t\tCurrently {self.constants.opencore_debug}", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).change_oc],
[f"Enable Kext DEBUG:\t\t\tCurrently {self.constants.kext_debug}", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).change_kext],
[f"Set ShowPicker Mode:\t\tCurrently {self.constants.showpicker}", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).change_showpicker],
[f"Set Vault Mode:\t\t\tCurrently {self.constants.vault}", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).change_vault],
[f"Allow FireWire Boot:\t\tCurrently {self.constants.firewire_boot}", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).allow_firewire],
[f"Allow NVMe Boot:\t\t\tCurrently {self.constants.nvme_boot}", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).allow_nvme],
[
f"Enable TeraScale 2 Acceleration:\tCurrently {self.constants.terascale_2_patch}",
CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).enable_terascale,
],
[f"Disable AMFI:\t\t\tCurrently {self.constants.disable_amfi}", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).set_amfi],
[
f"Set SIP and SecureBootModel:\tSIP: {self.constants.sip_status} SBM: {self.constants.secure_status}",
CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).change_sip,
],
[
f"Allow OpenCore on native Models:\tCurrently {self.constants.allow_oc_everywhere}",
CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).allow_native_models,
],
["Advanced Patch Settings, for developers only", self.advanced_patcher_settings],
]
for option in options:
menu.add_menu_option(option[0], function=option[1])
response = menu.start()
def advanced_patcher_settings(self):
response = None
while not (response and response == -1):
title = ["Adjust Advanced Patcher Settings, for developers ONLY"]
menu = Utilities.TUIMenu(title, "Please select an option: ", auto_number=True, top_level=True)
options = [
[f"Assume Metal GPU Always:\t\tCurrently {self.constants.imac_vendor}", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).change_metal],
[f"Set SMBIOS Mode:\t\t\tCurrently {self.constants.serial_settings}", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).change_serial],
[f"DRM Preferences:\t\t\tCurrently {self.constants.drm_support}", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).drm_setting],
[f"Set Generic Bootstrap:\t\tCurrently {self.constants.boot_efi}", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).bootstrap_setting],
[
f"Disable CPU Friend:\t\t\tCurrently {self.constants.disallow_cpufriend}",
CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).disable_cpufriend,
],
[f"Override SMBIOS Spoof:\t\tCurrently {self.constants.override_smbios}", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).set_smbios],
[f"Set Custom name {self.constants.custom_cpu_model_value}", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).custom_cpu],
["Set SeedUtil Status", CliMenu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).set_seedutil],
]
for option in options:
menu.add_menu_option(option[0], function=option[1])
response = menu.start()
def credits(self):
Utilities.TUIOnlyPrint(
["Credits"],
"Press [Enter] to go back.\n",
[
"""Many thanks to the following:
- Acidanthera:\tOpenCore, kexts and other tools
- Khronokernel:\tWriting and maintaining this patcher
- DhinakG:\t\tWriting and maintaining this patcher
- ASentientBot:\tLegacy Acceleration Patches
- Ausdauersportler:\tLinking fixes for SNBGraphicsFB and AMDX3000
- Syncretic:\t\tAAAMouSSE and telemetrap
- cdf:\t\tNightShiftEnabler and Innie"""
],
).start()
def PatchVolume(self):
Utilities.cls()
Utilities.header(["Patching System Volume"])
big_sur = """Patches Root volume to fix misc issues such as:
- Graphics Acceleration for non-Metal GPUs
- Nvidia: Tesla - Fermi (8000-500 series)
- Intel: Ironlake - Sandy Bridge
- AMD: TeraScale 1 and 2 (2000-6000 series)
- Audio support for iMac7,1 and iMac8,1
WARNING: Root Volume Patching is still in active development, please
have all important user data backed up. Note when the system volume
is patched, you can no longer have Delta updates or have FileVault
enabled.
Supported Options:
1. Patch System Volume
2. Unpatch System Volume (Experimental)
B. Exit
"""
monterey = """Patches Root volume to fix misc issues such as:
- Graphics Acceleration
- Intel: Ivy Bridge (4000 series iGPUs)
- Basic Framebuffer and brightness Control (No acceleration)
- Nvidia: Tesla - Fermi (8000-500 series)
- Intel: Ironlake - Sandy Bridge
- AMD: TeraScale 1 and 2 (2000-6000 series)
- Audio support for iMac7,1 and iMac8,1
WARNING: Root Volume Patching is still in active development, please
have all important user data backed up. Note when the system volume
is patched, you can no longer have Delta updates or have FileVault
enabled.
Supported Options:
1. Patch System Volume
2. Unpatch System Volume (Experimental)
B. Exit
"""
default = """
This OS has no root patches available to apply, please ensure you're patching a booted
install that requires root patches such as macOS Big Sur or Monterey
Supported Options:
B. Exit
"""
no_patch = False
if self.constants.detected_os == self.constants.monterey:
print(monterey)
elif self.constants.detected_os == self.constants.big_sur:
print(big_sur)
else:
print(default)
no_patch = True
change_menu = input("Patch System Volume?: ")
if no_patch is not True and change_menu == "1":
SysPatch.PatchSysVolume(self.constants.custom_model or self.computer.real_model, self.constants).start_patch()
elif no_patch is not True and change_menu == "2":
SysPatch.PatchSysVolume(self.constants.custom_model or self.computer.real_model, self.constants).start_unpatch()
else:
print("Returning to main menu")
def main_menu(self):
response = None
while not (response and response == -1):
title = [
f"OpenCore Legacy Patcher v{self.constants.patcher_version}",
f"Selected Model: {self.constants.custom_model or self.computer.real_model}",
]
if (self.constants.custom_model or self.computer.real_model) not in ModelArray.SupportedSMBIOS and self.constants.allow_oc_everywhere is False:
in_between = [
"Your model is not supported by this patcher for running unsupported OSes!",
"",
'If you plan to create the USB for another machine, please select the "Change Model" option in the menu.',
]
elif not self.constants.custom_model and self.computer.real_model == "iMac7,1" and "SSE4.1" not in self.computer.cpu.flags:
in_between = [
"Your model requires a CPU upgrade to a CPU supporting SSE4.1+ to be supported by this patcher!",
"",
f'If you plan to create the USB for another {self.computer.real_model} with SSE4.1+, please select the "Change Model" option in the menu.',
]
elif self.constants.custom_model == "iMac7,1":
in_between = ["This model is supported", "However please ensure the CPU has been upgraded to support SSE4.1+"]
else:
in_between = ["This model is supported"]
menu = Utilities.TUIMenu(title, "Please select an option: ", in_between=in_between, auto_number=True, top_level=True)
options = (
[["Build OpenCore", self.build_opencore]]
if ((self.constants.custom_model or self.computer.real_model) in ModelArray.SupportedSMBIOS) or self.constants.allow_oc_everywhere is True
else []
) + [
["Install OpenCore to USB/internal drive", self.install_opencore],
["Post-Install Volume Patch", self.PatchVolume],
["Change Model", self.change_model],
["Patcher Settings", self.patcher_settings],
["Credits", self.credits],
]
for option in options:
menu.add_menu_option(option[0], function=option[1])
response = menu.start()
if getattr(sys, "frozen", False) and self.constants.recovery_status is False:
subprocess.run("""osascript -e 'tell application "Terminal" to close first window' & exit""", shell=True)
OpenCoreLegacyPatcher().main_menu()

View File

@@ -1,43 +0,0 @@
# -*- mode: python ; coding: utf-8 -*-
import sys, os
sys.path.append(os.path.abspath(os.getcwd()))
from Resources import Constants
block_cipher = None
a = Analysis(['OpenCore-Patcher.command'],
binaries=[],
datas=[('payloads', 'payloads'), ('Resources', 'Resources')],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
[],
name='OpenCore-Patcher',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=True )
app = BUNDLE(exe,
name='OpenCore-Patcher.app',
icon="OC-Patcher.icns",
bundle_identifier=None,
info_plist={
"CFBundleShortVersionString": Constants.Constants().patcher_version,
"CFBundleExecutable": "MacOS/Launcher",
"NSHumanReadableCopyright": "Copyright 2020-2021 Dortania"
})

25
PRIVACY.md Normal file
View File

@@ -0,0 +1,25 @@
# Privacy Policy
OpenCore Legacy Patcher may collect pseudo-anonymized data about the host system and the OpenCore Legacy Patcher application. This data is used to improve the project and to help diagnose issues. The data collected is as follows:
* System's UUID as a SHA1 hash
* This is used to identify the system and to prevent duplicate reports
* Cannot be used to identify the system without the user providing the UUID
* Application name and version
* System's OS version
* System's model name, GPUs present and firmware vendor
* May include more hardware information in the future (ex. CPU, WiFi, etc)
* General country code of system's reported region
* ex. `US`, `CA`, etc
Identifiable data such as IP addresses, MAC addresses, serial numbers, etc. are not collected.
In the future, crash logs may also be collected to help with diagnosing issues.
----------
Users who wish to opt-out can do so either via the application's preferences or via the following command:
```
defaults write com.dortania.opencore-legacy-patcher DisableCrashAndAnalyticsReporting -bool true
```
To have your data removed, please contact us via our [Discord server](https://discord.gg/rqdPgH8xSN) and provide the UUID of your system.

View File

@@ -3,58 +3,113 @@
<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 breathe new life into 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, Monterey and Ventura
* Native Over the Air (OTA) System Updates
* Supports Penryn and newer Macs
* Full support for WPA Wi-Fi and Personal Hotspot on BCM943224 and newer wireless 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
* Enables enhanced SATA and NVMe power management on non-Apple storage devices
* 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.
----------
* You can however reinstall macOS with this patcher and retain your original data
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.
Note 2: Currently OpenCore Legacy Patcher officially supports patching to run macOS 11, Big Sur installs. For older OSes, OpenCore may function however support is currently not provided from Dortania.
* You can, however, reinstall macOS with this patcher and retain your original data
* For Mojave and Catalina support, we recommend the use of [dosdude1's patchers](http://dosdude1.com)
Note 2: Currently, OpenCore Legacy Patcher officially supports patching to run macOS Big Sur through Ventura installs. For older OSes, OpenCore may function; however, support is currently not provided from Dortania.
* For macOS Mojave and Catalina support, we recommend the use of [dosdude1's patchers](http://dosdude1.com)
## Getting Started
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. For bigger issues such as patcher crashing on build and such, we recommend opening an issue right here on GitHub(Please review [How to debug with OpenCore](https://dortania.github.io/OpenCore-Legacy-Patcher/DEBUG.html) before opening issues):
This project is offered on an AS-IS basis, we do not guarantee support for any issues that may arise. However, there is a community server with other passionate users and developers that can aid you:
* [OpenCore Legacy Patcher's Issue's tab](https://github.com/dortania/OpenCore-Legacy-Patcher/issues)
* [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN)
* Keep in mind that the Discord server is maintained by the community, so we ask everyone to be respectful.
* 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.
Nightly builds can be found here courteous of nightly.link: [Nightly OpenCore-Patcher.app](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-app/main/OpenCore-Patcher.app.zip)
## Running from source
To run the project from source, see here: [Build and run from source](./SOURCE.md)
## Credits
* [Acidanthera](https://github.com/Acidanthera)
* OpenCorePkg as well as many of the core kexts and tools
* OpenCorePkg, as well as many of the core kexts and tools
* [DhinakG](https://github.com/DhinakG)
* Main co-author
* [Khronokernel](https://github.com/Khronokernel)
* Main co-author
* [Ausdauersportler](https://github.com/Ausdauersportler)
* iMacs Metal GPUs Upgrade Patch set and documentation
* Great amounts of help debugging and code suggestions
* Great amounts of help with debugging, and code suggestions
* [vit9696](https://github.com/vit9696)
* Endless amount of help troubleshooting, determining fixes and writing patches
* [ASentientBot](https://github.com/ASentientBot)
* Legacy Acceleration Patch set and documentation
* [ASentientBot](https://github.com/ASentientBot), [EduCovas](https://github.com/educovas) and [ASentientHedgehog](https://github.com/moosethegoose2213)
* 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/) and [telemetrap](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/post-28447707)
* [dosdude1](https://github.com/dosdude1) and [BarryKN](https://github.com/BarryKN)
* [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 the [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)
* [BarryKN](https://github.com/BarryKN)
* Development of previous patchers, laying out much of what needs to be patched
* [mario_bros_tech](https://github.com/mariobrostech) and the rest of the Unsupported Mac Discord
* Catalyst that started OpenCore Legacy Patcher
* [arter97](https://github.com/arter97/)
* [SimpleMSR](https://github.com/arter97/SimpleMSR/) to disable firmware throttling in Nehalem+ MacBooks without batteries
* [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
* [joevt](https://github.com/joevt)
* [FixPCIeLinkrate](https://github.com/joevt/joevtApps)
* [Jazzzny](https://github.com/Jazzzny)
* Research and various contributions to the project
* UEFI Legacy XHCI research and development
* NVIDIA OpenCL research and development
* `MacBook5,2` research and development
* LegacyKeyboardInjector
* Pre-Ivy Bridge Aquantia Ethernet Patch
* Non-Metal Photo Booth Patch for Monterey+
* GUI and Backend Development
* Amazing users who've graciously donate hardware:
* [JohnD](https://forums.macrumors.com/members/johnd.53633/) - 2013 Mac Pro
* [SpiGAndromeda](https://github.com/SpiGAndromeda) - AMD Vega 64
* [turbomacs](https://github.com/turbomacs) - 2014 5k iMac
* [vinaypundith](https://forums.macrumors.com/members/vinaypundith.1212357/) - MacBook7,1
* [ThatStella7922](https://github.com/ThatStella7922) - 2017 13" MacBook Pro (A1708)
* zephar - 2008 Mac Pro
* jazo97 - 2011 15" MacBook Pro
* And others (reach out if we forgot you!)
* MacRumors and Unsupported Mac Communities
* Endless testing, reporting issues
* Endless testing and reporting issues
* Apple
* for macOS and many of the kexts, frameworks and other binaries we reimplemented into newer OSes

File diff suppressed because it is too large Load Diff

View File

@@ -1,479 +0,0 @@
# Handle misc CLI menu options
# Copyright (C) 2020-2021, Dhinak G, Mykola Grymalyuk
from __future__ import print_function
import subprocess
from Resources import Constants, Utilities
class MenuOptions:
def __init__(self, model, versions):
self.model = model
self.constants: Constants.Constants = versions
def change_verbose(self):
Utilities.cls()
Utilities.header(["Set Verbose mode"])
change_menu = input("Enable Verbose mode(y/n): ")
if change_menu in {"y", "Y", "yes", "Yes"}:
self.constants.verbose_debug = True
elif change_menu in {"n", "N", "no", "No"}:
self.constants.verbose_debug = False
else:
print("Invalid option")
def change_oc(self):
Utilities.cls()
Utilities.header(["Set OpenCore DEBUG mode"])
change_menu = input("Enable OpenCore DEBUG mode(y/n): ")
if change_menu in {"y", "Y", "yes", "Yes"}:
self.constants.opencore_debug = True
self.constants.opencore_build = "DEBUG"
elif change_menu in {"n", "N", "no", "No"}:
self.constants.opencore_debug = False
self.constants.opencore_build = "RELEASE"
else:
print("Invalid option")
def change_kext(self):
Utilities.cls()
Utilities.header(["Set Kext DEBUG mode"])
change_menu = input("Enable Kext DEBUG mode(y/n): ")
if change_menu in {"y", "Y", "yes", "Yes"}:
self.constants.kext_debug = True
elif change_menu in {"n", "N", "no", "No"}:
self.constants.kext_debug = False
else:
print("Invalid option")
def change_metal(self):
Utilities.cls()
Utilities.header(["Assume Metal GPU Always in iMac"])
print(
"""This is for iMacs that have upgraded Metal GPUs, otherwise
Patcher assumes based on stock configuration (ie. iMac10,x-12,x)
Valid Options:
1. None(stock GPU)
2. Nvidia GPU
3. AMD GPU
Note: Patcher will detect whether hardware has been upgraded regardless, this
option is for those patching on a different machine or OCLP cannot detect.
"""
)
change_menu = input("Set GPU Patch type(ie. 1): ")
if change_menu == "1":
self.constants.metal_build = False
self.constants.imac_vendor = "None"
elif change_menu == "2":
self.constants.metal_build = True
self.constants.imac_vendor = "Nvidia"
elif change_menu == "3":
self.constants.metal_build = True
self.constants.imac_vendor = "AMD"
else:
print("Invalid option")
def change_serial(self):
Utilities.cls()
Utilities.header(["Set SMBIOS Mode"])
print(
"""This section is for setting how OpenCore generates the SMBIOS
Recommended for adanced users who want control how serials are handled
Valid options:
1. Minimal:\tUse original serials and minimally update SMBIOS
2. Moderate:\tReplace entire SMBIOS but keep original serials
3. Advanced:\tReplace entire SMBIOS and generate new serials
Note: For new users we recommend leaving as default(1. Minimal)
"""
)
change_menu = input("Set SMBIOS Mode(ie. 1): ")
if change_menu == "1":
self.constants.serial_settings = "Minimal"
elif change_menu == "2":
self.constants.serial_settings = "Moderate"
elif change_menu == "3":
self.constants.serial_settings = "Advanced"
else:
print("Invalid option")
def change_showpicker(self):
Utilities.cls()
Utilities.header(["Set OpenCore Picker mode"])
print(
"""By default, OpenCore will show its boot picker each time on boot up,
however this can be disabled by default and be shown on command by repeatedly
pressing the "Esc" key
"""
)
change_menu = input("Show OpenCore Picker by default(y/n): ")
if change_menu in {"y", "Y", "yes", "Yes"}:
self.constants.showpicker = True
elif change_menu in {"n", "N", "no", "No"}:
self.constants.showpicker = False
else:
print("Invalid option")
def change_vault(self):
Utilities.cls()
Utilities.header(["Set OpenCore Vaulting"])
print(
"""By default, this patcher will sign all your files and ensure none of the
contents can be tampered with. However for more advanced users, you may
want to be able to freely edit the config.plist and files.
Note: For security reasons, OpenShell will be disabled when Vault is set.
"""
)
change_menu = input("Enable Vault(y/n): ")
if change_menu in {"y", "Y", "yes", "Yes"}:
self.constants.vault = True
elif change_menu in {"n", "N", "no", "No"}:
self.constants.vault = False
else:
print("Invalid option")
def change_sip(self):
Utilities.cls()
Utilities.header(["Set SIP and SecureBootModel"])
print(
"""SIP and SecureBootModel are used to ensure proper OTA functionality,
however to patch the root volume both of these must be disabled.
Only disable is absolutely necessary. SIP value = 0xFEF
Valid options:
1. Enable Both
2. Disable SIP only
3. Disable SecureBootModel Only
4. Disable Both
"""
)
change_menu = input("Set SIP and SecureBootModel(ie. 1): ")
if change_menu == "1":
self.constants.sip_status = True
self.constants.secure_status = True
elif change_menu == "2":
self.constants.sip_status = False
self.constants.secure_status = True
elif change_menu == "3":
self.constants.sip_status = True
self.constants.secure_status = False
elif change_menu == "4":
self.constants.sip_status = False
self.constants.secure_status = False
else:
print("Invalid option")
def set_amfi(self):
Utilities.cls()
Utilities.header(["Disable AMFI"])
print(
"""Required for Root Patching non-Metal GPUs
in macOS Big Sur. Without this, will receive kernel panic once
Patcher finishes installing legacy acceleration patches.
"""
)
change_menu = input("Disable AMFI(y/n): ")
if change_menu in {"y", "Y", "yes", "Yes"}:
self.constants.disable_amfi = True
elif change_menu in {"n", "N", "no", "No"}:
self.constants.disable_amfi = False
else:
print("Invalid option")
def bootstrap_setting(self):
Utilities.cls()
Utilities.header(["Set Bootstrap method"])
print(
"""Sets OpenCore's bootstrap method, currently the patcher supports the
following options.
Valid options:
1. System/Library/CoreServices/boot.efi (default)
2. EFI/BOOT/BOOTx64.efi
3. Exit
Note: S*/L*/C*/boot.efi method is only installed to the EFI partition only
and not to macOS itself.
Recommended to set to BOOTx64.efi in situations where your Mac cannot
see the EFI Boot entry in the boot picker.
"""
)
change_menu = input("Set Bootstrap method: ")
if change_menu == "1":
self.constants.boot_efi = False
elif change_menu == "2":
self.constants.boot_efi = True
else:
print("Invalid option")
def drm_setting(self):
Utilities.cls()
Utilities.header(["Set DRM preferences"])
print(
"""Sets OpenCore's DRM preferences for iMac13,x and iMac14,x.
In Big Sur, some DRM based content may be broken by
default in AppleTV, Photobooth, etc.
To resolve, you can opt to disable Intel QuickSync support in
favor of Nvidia's Software rendering. This can aid in DRM however
greatly hampers Video rendering performance in Final Cut Pro and
other programs relying on such features.
Recommend only disabling if absolutely required.
"""
)
change_menu = input("Enable Nvidia's Software DRM rendering(y/n): ")
if change_menu in {"y", "Y", "yes", "Yes"}:
self.constants.drm_support = True
elif change_menu in {"n", "N", "no", "No"}:
self.constants.drm_support = False
else:
print("Invalid option")
def allow_native_models(self):
Utilities.cls()
Utilities.header(["Allow OpenCore on native Models"])
print(
"""Allows natively supported Macs to use OpenCore. Recommended
for users with 3rd Party NVMe SSDs to achieve improved overall
power usage.
"""
)
change_menu = input("Allow OpenCore on all Models(y/n): ")
if change_menu in {"y", "Y", "yes", "Yes"}:
self.constants.allow_oc_everywhere = True
self.constants.serial_settings = "None"
elif change_menu in {"n", "N", "no", "No"}:
self.constants.allow_oc_everywhere = False
self.constants.serial_settings = "Minimal"
else:
print("Invalid option")
def custom_cpu(self):
Utilities.cls()
Utilities.header(["Set custom CPU Model Name"])
print(
"""Change reported CPU Model name in About This Mac
Custom names will report as follows:
1: Original Name: 2.5 Ghz Dual-Core Intel Core i5
2. CPU name: Intel(R) Core(TM) i5-3210M CPU @ 2.50Ghz
3. Custom Name: 2.5Ghz Cotton Candy (example)
"""
)
if self.constants.custom_cpu_model_value == "":
if self.constants.custom_cpu_model == 0:
print("Currently using original name")
else:
print("Currently using CPU name")
else:
print(f"Custom CPU name currently: {self.constants.custom_cpu_model_value}")
change_menu = input("Set custom CPU Name(1,2,3): ")
if change_menu == "1":
self.constants.custom_cpu_model = 2
self.constants.custom_cpu_model_value = ""
elif change_menu == "2":
self.constants.custom_cpu_model = 0
self.constants.custom_cpu_model_value = ""
elif change_menu == "3":
self.constants.custom_cpu_model = 1
self.constants.custom_cpu_model_value = input("Enter new CPU Name: ")
else:
print("Invalid option")
def custom_color_thing(self):
Utilities.cls()
Utilities.header(["Set custom CPU Model Name"])
print(
"""Change reported CPU Model name in About This Mac
Custom names will report as follows:
1: Custom Color
2. Reset
"""
)
change_menu = input("Set custom CPU Name(1,2,3): ")
if change_menu == "1":
print("")
# temp_tk_root = tk.Tk()
# temp_tk_root.wm_withdraw()
# self.constants.custom_color = colorchooser.askcolor(title="Choose color")
# temp_tk_root.destroy()
elif change_menu == "2":
self.constants.custom_color = ""
else:
print("Invalid option")
def disable_cpufriend(self):
Utilities.cls()
Utilities.header(["Disable CPU Friend?"])
print(
"""Only recommended for advanced users
Disabling CPUFriend forces macOS into using a different
Mac's power profile for CPUs and GPUs, which can harm the
hardware
"""
)
change_menu = input("Disable CPU Friend?(y/n): ")
if change_menu == "y":
self.constants.disallow_cpufriend = True
elif change_menu == "n":
self.constants.disallow_cpufriend = False
else:
print("Invalid option")
def set_seedutil(self):
Utilities.cls()
Utilities.header(["Set SeedUtil Status"])
print(
"""Used for setting OS Update Preferences
Valid options:
1. Public Release Seed (Default)
2. Public Beta Seed
3. Developer Beta Seed
4. Check SeedUtil's current status
"""
)
change_menu = input("Set update status(Press [ENTER] to exit): ")
if change_menu == "1":
subprocess.run(["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "unenroll"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
elif change_menu == "2":
subprocess.run(["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "unenroll"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
subprocess.run(
["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "enroll", "PublicSeed"], stdout=subprocess.PIPE
).stdout.decode().strip().encode()
elif change_menu == "3":
subprocess.run(["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "unenroll"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
subprocess.run(
["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "enroll", "DeveloperSeed"], stdout=subprocess.PIPE
).stdout.decode().strip().encode()
elif change_menu == "4":
result = subprocess.run(["sudo", "/System/Library/PrivateFrameworks/Seeding.framework/Versions/A/Resources/seedutil", "current"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
result = [i.partition(":")[2] for i in result.stdout.decode().split("\n") if "Currently enrolled in" in i][0]
print(f"SeedUtil Current Status: {result}")
input("\nPress [ENTER] to continue")
self.set_seedutil()
else:
print("Returning to main menu")
def set_smbios(self):
Utilities.cls()
Utilities.header(["Override SMBIOS Spoof"])
print(
"""Change model OpenCore spoofs Mac too
Valid options:
1. Default set by OpenCore (Default)
2. User Override
3. Disable all spoofing (unsupported configuration)
"""
)
change_menu = input("Set SMBIOS status: ")
if change_menu == "1":
print("Setting SMBIOS spoof to default mode")
self.constants.override_smbios = "Default"
elif change_menu == "2":
custom_smbios = input("Set new SMBIOS mode: ")
try:
test = self.constants.board_id[custom_smbios]
self.constants.override_smbios = custom_smbios
except KeyError:
print("Unsupported SMBIOS, defaulting to Default setting")
self.constants.override_smbios = "Default"
elif change_menu == "3":
print("Disabling SMBIOS spoof")
self.constants.override_smbios = self.model
else:
print("Returning to main menu")
def allow_firewire(self):
Utilities.cls()
Utilities.header(["Allow FireWire Boot Support"])
print(
"""
In macOS Catalina and newer, Apple restricted
usage of FireWire devices to boot macOS for
security concerns relating to DMA access.
If you are comfortable lowering the security,
you can re-enable FireWire support for Catalina
and newer.
Note: MacBook5,x-7,1 don't support FireWire boot
"""
)
change_menu = input("Enable FireWire Boot support?(y/n): ")
if change_menu == "y":
self.constants.firewire_boot = True
elif change_menu == "n":
self.constants.firewire_boot = False
else:
print("Invalid option")
def allow_nvme(self):
Utilities.cls()
Utilities.header(["Allow NVMe UEFI Support"])
print(
"""
For machines not natively supporting NVMe,
this option allows you to see and boot NVMe
drive in OpenCore's picker
Not required if your machine natively supports NVMe
Note: You must have OpenCore on a bootable volume
first, ie. USB or SATA drive. Once loaded,
OpenCore will enable NVMe support in it's picker
"""
)
change_menu = input("Enable NVMe Boot support?(y/n): ")
if change_menu == "y":
self.constants.nvme_boot = True
elif change_menu == "n":
self.constants.nvme_boot = False
else:
print("Invalid option")
def enable_terascale(self):
Utilities.cls()
Utilities.header(["Enable TeraScale 2 Acceleration"])
print(
"""
Currently TeraScale 2 graphics acceleration is in beta with
some unfortunate bugs on login including strobing colours
until the user forces Million Colours on the Display with
SwitchResX or resXtreme
Users sensitive to seizures should avoid using TeraScale 2
patches or ask someone to handle inital setup to ensure
no issues
Note: Acceleration only applies to macOS Big Sur
"""
)
change_menu = input("Enable TS2 Acceleration?(y/n): ")
if change_menu == "y":
self.constants.terascale_2_patch = True
elif change_menu == "n":
self.constants.terascale_2_patch = False
else:
print("Invalid option")

View File

@@ -1,687 +0,0 @@
# pylint: disable=multiple-statements
# Define Files
# Copyright (C) 2020-2021, Dhinak G, Mykola Grymalyuk
from __future__ import print_function
from pathlib import Path
from typing import Optional
from Resources import device_probe
class Constants:
def __init__(self):
self.patcher_version = "0.2.1"
self.opencore_commit = "4e0ff2d - 05-23-2021"
self.opencore_version = "0.7.0"
self.lilu_version = "1.5.4"
self.whatevergreen_version = "1.5.1"
self.airportbcrmfixup_version = "2.1.3"
self.bcm570_version = "1.0.1"
self.marvel_version = "1.0.0"
self.nforce_version = "1.0.0"
self.mce_version = "1.0.0"
self.mousse_version = "0.95"
self.telemetrap_version = "1.0.0"
self.corecaptureelcap_version = "1.0.0"
self.io80211elcap_version = "1.0.0"
self.io80211high_sierra_version = "1.0.0"
self.io80211mojave_version = "1.0.0"
self.applealc_version = "1.6.2"
self.restrictevents_version = "1.0.3"
self.restrictevents_mbp_version = "1.0.3"
self.piixata_version = "1.0.0"
self.backlight_version = "1.0.1"
self.backlight_injector_version = "1.0.0"
self.cpufriend_version = "1.2.4"
self.nightshift_version = "1.1.0"
self.smcspoof_version = "1.0.0"
self.nvmefix_version = "1.0.9"
self.sidecarfixup_version = "1.0.2"
self.debugenhancer_version = "1.0.3"
self.innie_version = "1.3.0"
self.fw_kext = "1.0.0"
self.patcher_support_pkg_version = "0.0.10" # PatcherSupportPkg
# Get resource path
self.current_path = Path(__file__).parent.parent.resolve()
self.payload_path = self.current_path / Path("payloads")
# Hardware
self.computer: device_probe.Computer = None # type: ignore
self.custom_model: Optional[str] = None
self.custom_mxm_gpu: bool = False
# Patcher Settings
self.opencore_debug = False
self.opencore_build = "RELEASE"
self.kext_debug = False
self.verbose_debug = False
self.os_support = 12.0
self.metal_build = False
self.imac_vendor = "None"
self.wifi_build = False
self.gui_mode = False
self.serial_settings = "Minimal"
self.showpicker = True
self.vault = False
self.sip_status = True
self.secure_status = False
self.detected_os = 0
self.boot_efi = False
self.drm_support = False
self.allow_oc_everywhere = False
self.custom_cpu_model = 2
self.custom_cpu_model_value = ""
self.custom_color = ""
self.download_ram = False
self.disallow_cpufriend = False
self.recovery_status = False
self.override_smbios = "Default"
self.apecid_support = False
self.firewire_boot = False
self.nvme_boot = False
self.disable_amfi = False
self.terascale_2_patch = False
# OS Versions
self.tiger = 8
self.leopard = 9
self.snow_leopard = 10
self.lion = 11
self.mountain_lion = 12
self.mavericks = 13
self.yosemite = 14
self.el_capitan = 15
self.sierra = 16
self.high_sierra = 17
self.mojave = 18
self.catalina = 19
self.big_sur = 20
self.monterey = 21
# Vendor IDs
self.pci_nvidia = "10DE"
self.pci_amd_ati = "1002"
self.pci_intel = "8086"
self.pci_broadcom = "14E4"
self.pci_atheros = "168C"
self.pci_apple = "106B"
# Class Codes
# https://pci-ids.ucw.cz/read/PD
self.classcode_sata = "01060100"
self.classcode_nvme = "02080100"
self.classcode_nvme_generic = "02800100"
self.classcode_wifi = "00800200"
self.classcode_gpu = "00000300"
self.classcode_gpu_variant = "00800300"
self.classcode_xhci = "30030C00"
# Nvidia GPU Architecture
self.arch_tesla = "NV50"
self.arch_fermi = "GF100"
self.arch_kepler = "GK100"
# External Files
self.url_patcher_support_pkg = "https://github.com/dortania/PatcherSupportPkg/releases/download/"
# Payload Location
# OpenCore
@property
def opencore_zip_source(self):
return self.payload_path / Path(f"OpenCore/OpenCore-{self.opencore_build}.zip")
@property
def plist_template(self):
return self.payload_path / Path("Config/config.plist")
# Mount Location
@property
def payload_mnt1_path(self):
return self.payload_path / Path("mnt1")
# ACPI
@property
def pci_ssdt_path(self):
return self.payload_path / Path("ACPI/SSDT-CPBG.aml")
@property
def windows_ssdt_path(self):
return self.payload_path / Path("ACPI/SSDT-PCI.aml")
# Drivers
@property
def nvme_driver_path(self):
return self.payload_path / Path("Drivers/NvmExpressDxe.efi")
@property
def exfat_legacy_driver_path(self):
return self.payload_path / Path("Drivers/ExFatDxeLegacy.efi")
@property
def xhci_driver_path(self):
return self.payload_path / Path("Drivers/XhciDxe.efi")
# Kexts
@property
def payload_kexts_path(self):
return self.payload_path / Path("Kexts")
@property
def lilu_path(self):
return self.payload_kexts_path / Path(f"Acidanthera/Lilu-v{self.lilu_version}.zip")
@property
def whatevergreen_path(self):
return self.payload_kexts_path / Path(f"Acidanthera/WhateverGreen-v{self.whatevergreen_version}.zip")
@property
def airportbcrmfixup_path(self):
return self.payload_kexts_path / Path(f"Acidanthera/AirportBrcmFixup-v{self.airportbcrmfixup_version}.zip")
@property
def restrictevents_path(self):
return self.payload_kexts_path / Path(f"Acidanthera/RestrictEvents-v{self.restrictevents_version}.zip")
@property
def restrictevents_mbp_path(self):
return self.payload_kexts_path / Path(f"Acidanthera/RestrictEvents-MBP91-v{self.restrictevents_mbp_version}.zip")
@property
def bcm570_path(self):
return self.payload_kexts_path / Path(f"Ethernet/CatalinaBCM5701Ethernet-v{self.bcm570_version}.zip")
@property
def marvel_path(self):
return self.payload_kexts_path / Path(f"Ethernet/MarvelYukonEthernet-v{self.marvel_version}.zip")
@property
def nforce_path(self):
return self.payload_kexts_path / Path(f"Ethernet/nForceEthernet-v{self.nforce_version}.zip")
@property
def mce_path(self):
return self.payload_kexts_path / Path(f"Misc/AppleMCEReporterDisabler-v{self.mce_version}.zip")
@property
def mousse_path(self):
return self.payload_kexts_path / Path(f"SSE/AAAMouSSE-v{self.mousse_version}.zip")
@property
def telemetrap_path(self):
return self.payload_kexts_path / Path(f"SSE/telemetrap-v{self.telemetrap_version}.zip")
@property
def corecaptureelcap_path(self):
return self.payload_kexts_path / Path(f"Wifi/corecaptureElCap-v{self.corecaptureelcap_version}.zip")
@property
def io80211elcap_path(self):
return self.payload_kexts_path / Path(f"Wifi/IO80211ElCap-v{self.io80211elcap_version}.zip")
@property
def io80211high_sierra_path(self):
return self.payload_kexts_path / Path(f"Wifi/IO80211HighSierra-v{self.io80211high_sierra_version}.zip")
@property
def io80211mojave_path(self):
return self.payload_kexts_path / Path(f"Wifi/IO80211Mojave-v{self.io80211mojave_version}.zip")
@property
def applealc_path(self):
return self.payload_kexts_path / Path(f"Acidanthera/AppleALC-v{self.applealc_version}.zip")
@property
def piixata_path(self):
return self.payload_kexts_path / Path(f"Misc/AppleIntelPIIXATA-v{self.piixata_version}.zip")
@property
def backlight_path(self):
return self.payload_kexts_path / Path(f"Misc/AppleBacklightFixup-v{self.backlight_version}.zip")
@property
def backlight_injector_path(self):
return self.payload_kexts_path / Path(f"Misc/BacklightInjector-v{self.backlight_injector_version}.zip")
@property
def cpufriend_path(self):
return self.payload_kexts_path / Path(f"Acidanthera/CPUFriend-v{self.cpufriend_version}.zip")
@property
def nightshift_path(self):
return self.payload_kexts_path / Path(f"Misc/NightShiftEnabler-v{self.nightshift_version}.zip")
@property
def smcspoof_path(self):
return self.payload_kexts_path / Path(f"Misc/SMC-Spoof-v{self.smcspoof_version}.zip")
@property
def nvmefix_path(self):
return self.payload_kexts_path / Path(f"Acidanthera/NVMeFix-v{self.nvmefix_version}.zip")
@property
def sidecarfixup_path(self):
return self.payload_kexts_path / Path(f"Acidanthera/SidecarFixup-v{self.sidecarfixup_version}.zip")
@property
def debugenhancer_path(self):
return self.payload_kexts_path / Path(f"Acidanthera/DebugEnhancer-v{self.debugenhancer_version}.zip")
@property
def innie_path(self):
return self.payload_kexts_path / Path(f"Misc/Innie-v{self.innie_version}.zip")
@property
def plist_folder_path(self):
return self.payload_kexts_path / Path("Plists")
@property
def platform_plugin_plist_path(self):
return self.plist_folder_path / Path("PlatformPlugin")
@property
def fw_family_path(self):
return self.payload_kexts_path / Path(f"FireWire/IOFireWireFamily-v{self.fw_kext}.zip")
@property
def fw_sbp2_path(self):
return self.payload_kexts_path / Path(f"FireWire/IOFireWireSBP2-v{self.fw_kext}.zip")
@property
def fw_bus_path(self):
return self.payload_kexts_path / Path(f"FireWire/IOFireWireSerialBusProtocolTransport-v{self.fw_kext}.zip")
# Build Location
@property
def build_path(self):
return self.current_path / Path("Build-Folder/")
@property
def opencore_release_folder(self):
return self.build_path / Path(f"OpenCore-{self.opencore_build}")
@property
def opencore_zip_copied(self):
return self.build_path / Path(f"OpenCore-{self.opencore_build}.zip")
@property
def oc_folder(self):
return self.opencore_release_folder / Path("EFI/OC/")
@property
def plist_path(self):
return self.oc_folder / Path("config.plist")
@property
def acpi_path(self):
return self.oc_folder / Path("ACPI")
@property
def drivers_path(self):
return self.oc_folder / Path("Drivers")
@property
def kexts_path(self):
return self.oc_folder / Path("Kexts")
@property
def resources_path(self):
return self.oc_folder / Path("Resources")
@property
def map_kext_folder(self):
return self.kexts_path / Path("USB-Map.kext")
@property
def map_contents_folder(self):
return self.map_kext_folder / Path("Contents")
@property
def pp_kext_folder(self):
return self.kexts_path / Path("CPUFriendDataProvider.kext")
@property
def pp_contents_folder(self):
return self.pp_kext_folder / Path("Contents")
@property
def agdp_kext_folder(self):
return self.kexts_path / Path("AGDP-Override.kext")
@property
def agdp_contents_folder(self):
return self.agdp_kext_folder / Path("Contents")
@property
def agpm_kext_folder(self):
return self.kexts_path / Path("AGPM-Override.kext")
@property
def agpm_contents_folder(self):
return self.agpm_kext_folder / Path("Contents")
@property
def amc_kext_folder(self):
return self.kexts_path / Path("AMC-Override.kext")
@property
def amc_contents_folder(self):
return self.amc_kext_folder / Path("Contents")
# Tools
@property
def macserial_path(self):
return self.payload_path / Path("Tools/macserial")
@property
def gfxutil_path(self):
return self.payload_path / Path("Tools/gfxutil")
@property
def vault_path(self):
return self.payload_path / Path("Tools/CreateVault/sign.command")
# Icons
@property
def app_icon_path(self):
return self.current_path / Path("OC-Patcher.icns")
@property
def icon_path_external(self):
return self.payload_path / Path("Icon/External/.VolumeIcon.icns")
@property
def icon_path_internal(self):
return self.payload_path / Path("Icon/Internal/.VolumeIcon.icns")
@property
def icon_path_sd(self):
return self.payload_path / Path("Icon/SD-Card/.VolumeIcon.icns")
@property
def icon_path_ssd(self):
return self.payload_path / Path("Icon/SSD/.VolumeIcon.icns")
@property
def gui_path(self):
return self.payload_path / Path("Icon/Resources.zip")
# Apple Payloads Paths
@property
def payload_apple_root_path_zip(self):
return self.payload_path / Path("Apple.zip")
@property
def payload_apple_root_path(self):
return self.payload_path / Path("Apple")
@property
def payload_apple_kexts_path(self):
return self.payload_apple_root_path / Path("Extensions")
@property
def payload_apple_frameworks_path(self):
return self.payload_apple_root_path / Path("Frameworks")
@property
def payload_apple_frameworks_path_accel(self):
return self.payload_apple_frameworks_path / Path("Graphics-Acceleration")
@property
def payload_apple_frameworks_path_accel_ts2(self):
return self.payload_apple_frameworks_path / Path("Graphics-Acceleration-TeraScale-2")
@property
def payload_apple_frameworks_path_accel_ivy(self):
return self.payload_apple_frameworks_path / Path("Graphics-Acceleration-Ivy-Bridge")
@property
def payload_apple_lauchd_path(self):
return self.payload_apple_root_path / Path("LaunchDaemons")
@property
def payload_apple_lauchd_path_accel(self):
return self.payload_apple_lauchd_path / Path("Graphics-Acceleration")
@property
def payload_apple_private_frameworks_path(self):
return self.payload_apple_root_path / Path("PrivateFrameworks")
@property
def payload_apple_private_frameworks_path_accel(self):
return self.payload_apple_private_frameworks_path / Path("Graphics-Acceleration")
@property
def payload_apple_private_frameworks_path_accel_ts2(self):
return self.payload_apple_private_frameworks_path / Path("Graphics-Acceleration-TeraScale-2")
@property
def payload_apple_private_frameworks_path_brightness(self):
return self.payload_apple_private_frameworks_path / Path("Brightness-Control")
# Apple Extensions
@property
def audio_path(self):
return self.payload_apple_kexts_path / Path("Audio")
# GPU Kexts and Bundles
@property
def legacy_graphics(self):
return self.payload_apple_kexts_path / Path("Graphics-Acceleration")
@property
def legacy_nvidia_path(self):
return self.legacy_graphics / Path("Nvidia-Tesla-Fermi")
@property
def legacy_nvidia_kepler_path(self):
return self.legacy_graphics / Path("Nvidia-Kepler")
@property
def legacy_amd_path(self):
return self.legacy_graphics / Path("AMD-TeraScale")
@property
def legacy_amd_path_ts2(self):
return self.legacy_graphics / Path("AMD-TeraScale-2")
@property
def legacy_intel_gen1_path(self):
return self.legacy_graphics / Path("Intel-Gen5-Ironlake")
@property
def legacy_intel_gen2_path(self):
return self.legacy_graphics / Path("Intel-Gen6-SandyBridge")
@property
def legacy_intel_gen3_path(self):
return self.legacy_graphics / Path("Intel-Gen7-IvyBridge")
@property
def legacy_general_path(self):
return self.legacy_graphics / Path("General-Patches")
@property
def legacy_brightness(self):
return self.payload_apple_kexts_path / Path("Brightness-Control")
csr_values = {
"CSR_ALLOW_UNTRUSTED_KEXTS": False, # 0x1 - Allows Unsigned Kexts - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_UNRESTRICTED_FS": False, # 0x2 - File System Access - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_TASK_FOR_PID": False, # 0x4 - Unrestricted Debugging - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_KERNEL_DEBUGGER": False, # 0x8 - Allow Kernel Debugger - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_APPLE_INTERNAL": False, # 0x10 - Set AppleInternal Features - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_UNRESTRICTED_DTRACE": False, # 0x20 - Unrestricted DTrace usage - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_UNRESTRICTED_NVRAM": False, # 0x40 - Unrestricted NVRAM write - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_DEVICE_CONFIGURATION": False, # 0x80 - Allow Device Configuration(?) - Introduced in El Capitan # noqa: E241
"CSR_ALLOW_ANY_RECOVERY_OS": False, # 0x100 - Disable BaseSystem Verification - Introduced in Sierra # noqa: E241
"CSR_ALLOW_UNAPPROVED_KEXTS": False, # 0x200 - Allow Unapproved Kexts - Introduced in High Sierra # noqa: E241
"CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE": False, # 0x400 - Override Executable Policy - Introduced in Mojave # noqa: E241
"CSR_ALLOW_UNAUTHENTICATED_ROOT": False, # 0x800 - Allow Root Volume Mounting - Introduced in Big Sur # noqa: E241
}
root_patch_sip_mojave = [
# Variables required to root patch in Mojave and Catalina
"CSR_ALLOW_UNTRUSTED_KEXTS",
"CSR_ALLOW_UNRESTRICTED_FS",
"CSR_ALLOW_UNAPPROVED_KEXTS",
"CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE",
]
root_patch_sip_big_sur = [
# Variables required to root patch in Big Sur and Monterey
"CSR_ALLOW_UNTRUSTED_KEXTS",
"CSR_ALLOW_UNRESTRICTED_FS",
"CSR_ALLOW_UNAPPROVED_KEXTS",
"CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE",
"CSR_ALLOW_UNAUTHENTICATED_ROOT",
]
sbm_values = [
"j137",
"j680",
"j132",
"j174",
"j140k",
"j780",
"j213",
"j140a",
"j152f",
"j160",
"j230k",
"j214k",
"j223",
"j215",
"j185",
"j185f",
]
board_id = {
"MacBook1,1": "Mac-F4208CC8",
"MacBook2,1": "Mac-F4208CA9",
"MacBook3,1": "Mac-F22788C8",
"MacBook4,1": "Mac-F22788A9",
"MacBook5,1": "Mac-F42D89C8",
"MacBook5,2": "Mac-F22788AA",
"MacBook6,1": "Mac-F22C8AC8",
"MacBook7,1": "Mac-F22C89C8",
"MacBook8,1": "Mac-BE0E8AC46FE800CC",
"MacBook9,1": "Mac-9AE82516C7C6B903",
"MacBook10,1": "Mac-EE2EBD4B90B839A8",
"MacBookAir1,1": "Mac-F42C8CC8",
"MacBookAir2,1": "Mac-F42D88C8",
"MacBookAir3,1": "Mac-942452F5819B1C1B",
"MacBookAir3,2": "Mac-942C5DF58193131B",
"MacBookAir4,1": "Mac-C08A6BB70A942AC2",
"MacBookAir4,2": "Mac-742912EFDBEE19B3",
"MacBookAir5,1": "Mac-66F35F19FE2A0D05",
"MacBookAir5,2": "Mac-2E6FAB96566FE58C",
"MacBookAir6,1": "Mac-35C1E88140C3E6CF",
"MacBookAir6,2": "Mac-7DF21CB3ED6977E5",
"MacBookAir7,1": "Mac-9F18E312C5C2BF0B",
"MacBookAir7,2": "Mac-937CB26E2E02BB01",
"MacBookAir8,1": "Mac-827FAC58A8FDFA22",
"MacBookAir8,2": "Mac-226CB3C6A851A671",
"MacBookAir9,1": "Mac-0CFF9C7C2B63DF8D",
"MacBookPro1,1": "Mac-F425BEC8",
"MacBookPro1,2": "Mac-F42DBEC8",
"MacBookPro2,1": "Mac-F42189C8",
"MacBookPro2,2": "Mac-F42187C8",
"MacBookPro3,1": "Mac-F4238BC8",
"MacBookPro4,1": "Mac-F42C89C8",
"MacBookPro5,1": "Mac-F42D86C8",
"MacBookPro5,2": "Mac-F2268EC8",
"MacBookPro5,3": "Mac-F22587C8",
"MacBookPro5,4": "Mac-F22587A1",
"MacBookPro5,5": "Mac-F2268AC8",
"MacBookPro6,1": "Mac-F22589C8",
"MacBookPro6,2": "Mac-F22586C8",
"MacBookPro7,1": "Mac-F222BEC8",
"MacBookPro8,1": "Mac-94245B3640C91C81",
"MacBookPro8,2": "Mac-94245A3940C91C80",
"MacBookPro8,3": "Mac-942459F5819B171B",
"MacBookPro9,1": "Mac-4B7AC7E43945597E",
"MacBookPro9,2": "Mac-6F01561E16C75D06",
"MacBookPro10,1": "Mac-C3EC7CD22292981F",
"MacBookPro10,2": "Mac-AFD8A9D944EA4843",
"MacBookPro11,1": "Mac-189A3D4F975D5FFC",
"MacBookPro11,2": "Mac-3CBD00234E554E41",
"MacBookPro11,3": "Mac-2BD1B31983FE1663",
"MacBookPro11,4": "Mac-06F11FD93F0323C5",
"MacBookPro11,5": "Mac-06F11F11946D27C5",
"MacBookPro12,1": "Mac-E43C1C25D4880AD6",
"MacBookPro13,1": "Mac-473D31EABEB93F9B",
"MacBookPro13,2": "Mac-66E35819EE2D0D05",
"MacBookPro13,3": "Mac-A5C67F76ED83108C",
"MacBookPro14,1": "Mac-B4831CEBD52A0C4C",
"MacBookPro14,2": "Mac-CAD6701F7CEA0921",
"MacBookPro14,3": "Mac-551B86E5744E2388",
"MacBookPro15,1": "Mac-937A206F2EE63C01",
"MacBookPro15,2": "Mac-827FB448E656EC26",
"MacBookPro15,3": "Mac-1E7E29AD0135F9BC",
"MacBookPro15,4": "Mac-53FDB3D8DB8CA971",
"MacBookPro16,1": "Mac-E1008331FDC96864",
"MacBookPro16,2": "Mac-5F9802EFE386AA28",
"MacBookPro16,3": "Mac-E7203C0F68AA0004",
"MacBookPro16,4": "Mac-A61BADE1FDAD7B05",
"Macmini1,1": "Mac-F4208EC8",
"Macmini2,1": "Mac-F4208EAA",
"Macmini3,1": "Mac-F22C86C8",
"Macmini4,1": "Mac-F2208EC8",
"Macmini5,1": "Mac-8ED6AF5B48C039E1",
"Macmini5,2": "Mac-4BC72D62AD45599E",
"Macmini5,3": "Mac-7BA5B2794B2CDB12",
"Macmini6,1": "Mac-031AEE4D24BFF0B1",
"Macmini6,2": "Mac-F65AE981FFA204ED",
"Macmini7,1": "Mac-35C5E08120C7EEAF",
"Macmini8,1": "Mac-7BA5B2DFE22DDD8C",
"iMac4,1": "Mac-F42786C8",
"iMac4,2": "Mac-F4218EC8",
"iMac5,1": "Mac-F4228EC8",
"iMac5,2": "Mac-F4218EC8",
"iMac6,1": "Mac-F4218FC8",
"iMac7,1": "Mac-F42386C8",
"iMac8,1": "Mac-F227BEC8",
"iMac9,1": "Mac-F2218FA9",
"iMac10,1": "Mac-F221DCC8",
# "iMac10,1": "Mac-F2268CC8",
"iMac11,1": "Mac-F2268DAE",
"iMac11,2": "Mac-F2238AC8",
"iMac11,3": "Mac-F2238BAE",
"iMac12,1": "Mac-942B5BF58194151B",
"iMac12,2": "Mac-942B59F58194171B",
"iMac13,1": "Mac-00BE6ED71E35EB86",
"iMac13,2": "Mac-FC02E91DDD3FA6A4",
"iMac13,3": "Mac-7DF2A3B5E5D671ED",
"iMac14,1": "Mac-031B6874CF7F642A",
"iMac14,2": "Mac-27ADBB7B4CEE8E61",
"iMac14,3": "Mac-77EB7D7DAF985301",
"iMac14,4": "Mac-81E3E92DD6088272",
"iMac15,1": "Mac-42FD25EABCABB274",
"iMac16,1": "Mac-A369DDC4E67F1C45",
"iMac16,2": "Mac-FFE5EF870D7BA81A",
"iMac17,1": "Mac-DB15BD556843C820",
"iMac18,1": "Mac-4B682C642B45593E",
"iMac18,2": "Mac-77F17D7DA9285301",
"iMac18,3": "Mac-BE088AF8C5EB4FA2",
"iMac19,1": "Mac-AA95B1DDAB278B95",
"iMac19,2": "Mac-63001698E7A34814",
"iMac20,1": "Mac-CFF7D910A743CAAF",
"iMac20,2": "Mac-AF89B6D9451A490B",
"iMacPro1,1": "Mac-7BA5B2D9E42DDD94",
"MacPro1,1": "Mac-F4208DC8",
"MacPro2,1": "Mac-F4208DA9",
"MacPro3,1": "Mac-F42C88C8",
"MacPro4,1": "Mac-F221BEC8",
"MacPro5,1": "Mac-F221BEC8",
"MacPro6,1": "Mac-F60DEB81FF30ACF6",
"MacPro7,1": "Mac-27AD2F918AE68F61",
"Xserve1,1": "Mac-F4208AC8",
"Xserve2,1": "Mac-F42289C8",
"Xserve3,1": "Mac-F223BEC8",
}

View File

@@ -1,957 +0,0 @@
# Lists all models and required patches
# Copyright (C) 2020-2021, Dhinak G, Mykola Grymalyuk
SupportedSMBIOS = [
# MacBook
"MacBook4,1",
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBook8,1",
# MacBook Air
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookAir6,1",
"MacBookAir6,2",
# MacBook Pro
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"MacBookPro11,1",
"MacBookPro11,2",
"MacBookPro11,3",
# Mac Mini
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"Macmini6,1",
"Macmini6,2",
# iMac
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"iMac13,1",
"iMac13,2",
"iMac13,3",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"iMac14,4",
"iMac15,1",
# Mac Pro
"MacPro3,1",
"MacPro4,1",
"MacPro5,1",
# Xserve
"Xserve2,1",
"Xserve3,1",
"Dortania1,1",
]
# CPU patches
MissingSSE42 = [
"MacBook4,1",
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro7,1",
"Macmini3,1",
"Macmini4,1",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"MacPro3,1",
"Xserve2,1",
"Dortania1,1",
]
SSEEmulator = ["MacPro3,1", "Xserve2,1", "Dortania1,1"]
DualSocket = ["MacPro3,1", "MacPro4,1", "MacPro5,1", "Xserve2,1", "Xserve3,1", "Dortania1,1"]
pciSSDT = ["MacBookPro6,1", "MacBookPro6,2", "iMac11,1", "iMac11,2", "iMac11,3", "Dortania1,1"]
# Ethernet patches
EthernetNvidia = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"Macmini3,1",
"iMac9,1",
"iMac10,1",
"Dortania1,1",
]
EthernetMarvell = ["MacBook4,1", "MacBookPro4,1", "iMac7,1", "iMac8,1", "Dortania1,1"]
EthernetBroadcom = [
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"Dortania1,1",
]
# Wifi patches
WifiAtheros = ["iMac10,1", "iMac11,1", "iMac11,2", "iMac11,3", "iMac12,1", "iMac12,2", "MacPro3,1", "MacPro4,1", "Dortania1,1"]
WifiBCM94328 = ["MacBook4,1", "MacBookAir2,1", "MacBookPro4,1", "iMac7,1", "iMac8,1", "Dortania1,1"]
WifiBCM94322 = [
"MacBook5,1",
"MacBook5,2",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro7,1",
"Macmini3,1",
"iMac9,1",
"MacPro5,1",
"Dortania1,1",
]
WifiBCM94331 = [
"MacBook6,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBook7,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"MacBookAir4,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookAir4,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookAir5,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookAir5,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro6,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro6,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro8,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro8,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro8,3", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro9,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro9,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro10,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"MacBookPro10,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini4,1", # PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)
"Macmini5,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini5,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini5,3", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini6,1", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"Macmini6,2", # PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)
"iMac13,1", # PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)
"iMac13,2", # PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)
"iMac13,3", # PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)
"Dortania1,1",
]
# Audio
LegacyAudio = [
"MacBook4,1",
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
# "iMac7,1",
# "iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"MacPro3,1",
"Dortania1,1",
]
nvidiaHDEF = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro7,1",
"Macmini3,1",
"Macmini4,1",
"iMac9,1",
"iMac10,1",
]
# GPU
ModernGPU = [
"MacBookAir5,1", # Intel 4000
"MacBookAir5,2", # Intel 4000
"MacBookPro9,1", # Intel 4000 + Nvidia 650M
"MacBookPro9,2", # Intel 4000
"MacBookPro10,1", # Intel 4000 + Nvidia 650M
"MacBookPro10,2", # Intel 4000
"Macmini6,1", # Intel 4000
"Macmini6,2", # Intel 4000
"iMac13,1", # Intel 4000
"iMac13,3", # Intel 4000
]
LegacyGPU = [
"MacBook4,1", # GMA X3100
"MacBook5,1", # Nvidia 9000
"MacBook5,2", # Nvidia 9000
"MacBook6,1", # Nvidia 9000
"MacBook7,1", # Nvidia 300
"MacBookAir2,1", # Nvidia 9000
"MacBookAir3,1", # Nvidia 300
"MacBookAir3,2", # Nvidia 300
"MacBookAir4,1", # Intel 3000
"MacBookAir4,2", # Intel 3000
"MacBookPro4,1", # Nvidia 8000
"MacBookPro5,1", # Nvidia 9000
"MacBookPro5,2", # Nvidia 9000
"MacBookPro5,3", # Nvidia 9000
"MacBookPro5,4", # Nvidia 9000
"MacBookPro5,5", # Nvidia 9000
"MacBookPro6,1", # Intel 100 + Nvidia 300
"MacBookPro6,2", # Intel 100 + Nvidia 300
"MacBookPro7,1", # Nvidia 300
"MacBookPro8,1", # Intel 3000
"MacBookPro8,2", # Intel 3000 + AMD 6000
"MacBookPro8,3", # Intel 3000 + AMD 6000
"Macmini3,1", # Nvidia 9000
"Macmini4,1", # Nvidia 300
"Macmini5,1", # Intel 3000
"Macmini5,2", # AMD 6000
"Macmini5,3", # Intel 3000
"iMac7,1", # AMD 2000
"iMac8,1", # Nvidia and AMD 2400
"iMac9,1", # Nvidia 9000
"iMac10,1", # Nvidia 9000 and AMD 4000
"iMac11,1", # AMD 4000
"iMac11,2", # AMD 4000 and 5000
"iMac11,3", # AMD 5000
"iMac12,1", # AMD 6000
"iMac12,2", # AMD 6000
"Dortania1,1", # RTX 3080
]
LegacyGPUNvidia = [
"MacBook5,1", # Nvidia 9000
"MacBook5,2", # Nvidia 9000
"MacBook6,1", # Nvidia 9000
"MacBook7,1", # Nvidia 300
"MacBookAir2,1", # Nvidia 9000
"MacBookAir3,1", # Nvidia 300
"MacBookAir3,2", # Nvidia 300
"MacBookPro4,1", # Nvidia 8000
"MacBookPro5,1", # Nvidia 9000
"MacBookPro5,2", # Nvidia 9000
"MacBookPro5,3", # Nvidia 9000
"MacBookPro5,4", # Nvidia 9000
"MacBookPro5,5", # Nvidia 9000
"MacBookPro6,1", # Intel 100 + Nvidia 300
"MacBookPro6,2", # Intel 100 + Nvidia 300
"MacBookPro7,1", # Nvidia 300
"Macmini3,1", # Nvidia 9000
"Macmini4,1", # Nvidia 300
"iMac9,1", # Nvidia 9000
# "iMac10,1", # Nvidia 9000 and AMD 4000
]
LegacyGPUAMD = [
"MacBookPro8,2", # Intel 3000 + AMD 6000
"MacBookPro8,3", # Intel 3000 + AMD 6000
"Macmini5,2", # AMD 6000
"iMac7,1", # AMD 2000
# "iMac8,1", # Nvidia and AMD 2000
# "iMac10,1", # Nvidia 9000 and AMD 4000
"iMac11,1", # AMD 4000
"iMac11,2", # AMD 4000 and 5000
"iMac11,3", # AMD 5000
"iMac12,1", # AMD 6000
"iMac12,2", # AMD 6000
]
LegacyGPUAMDIntelGen2 = [
"MacBookPro8,2", # Intel 3000 + AMD 6000
"MacBookPro8,3", # Intel 3000 + AMD 6000
"Macmini5,2", # AMD 6000
"iMac12,1", # AMD 6000
"iMac12,2", # AMD 6000
]
LegacyGPUIntelGen1 = [
"MacBookPro6,1", # Intel 100 + Nvidia 300
"MacBookPro6,2", # Intel 100 + Nvidia 300
]
LegacyGPUIntelGen2 = [
"MacBookAir4,1", # Intel 3000
"MacBookAir4,2", # Intel 3000
"MacBookPro8,1", # Intel 3000
"MacBookPro8,2", # Intel 3000 + AMD 6000
"MacBookPro8,3", # Intel 3000 + AMD 6000
"Macmini5,1", # Intel 3000
"Macmini5,3", # Intel 3000
]
LegacyBrightness = [
"MacBook5,2",
"iMac7,1",
"iMac8,1",
"iMac9,1",
]
LegacyHID = [
"MacBook4,1",
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro7,1",
"Macmini3,1",
"Macmini4,1",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"MacPro3,1",
"Dortania1,1",
]
NVMePatch = ["MacPro3,1", "MacPro4,1", "Xserve3,1", "Dortania1,1"]
XhciSupport = [
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookAir6,1",
"MacBookAir6,2",
"MacBookAir7,1",
"MacBookAir7,2",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"MacBookPro11,1",
"MacBookPro11,2",
"MacBookPro11,3",
"MacBookPro11,4",
"MacBookPro11,5",
"MacBookPro12,1",
"Macmini6,1",
"Macmini6,2",
"Macmini7,1",
"iMac13,1",
"iMac13,2",
"iMac13,3",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"iMac15,1",
"iMac16,1",
"iMac16,2",
"MacPro6,1",
"Dortania1,1",
]
SidecarPatch = [
"MacBook8,1",
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookAir6,1",
"MacBookAir6,2",
"MacBookAir7,1",
"MacBookAir7,2",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"MacBookPro11,1",
"MacBookPro11,2",
"MacBookPro11,3",
"MacBookPro11,4",
"MacBookPro11,5",
"MacBookPro12,1",
"MacBookPro13,1",
"MacBookPro13,2",
"MacBookPro13,3",
"MacBookPro14,1",
"MacBookPro14,2",
"MacBookPro14,3",
"Macmini6,1",
"Macmini6,2",
"Macmini7,1",
"Macmini8,1",
"iMac13,1",
"iMac13,2",
"iMac13,3",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"iMac15,1",
"iMac16,1",
"iMac16,2",
"iMac17,1",
"iMac18,1",
"MacPro5,1",
"MacPro6,1",
"Dortania1,1",
]
DualGPUPatch = [
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro8,2",
"MacBookPro8,3",
"Macmini5,2",
"iMac12,1",
"iMac12,2",
"iMac13,1",
"iMac13,2",
"iMac14,2",
"iMac14,3",
"Dortania1,1",
]
DualGPUPatchRetina = [
"MacBookPro10,1",
"MacBookPro11,3",
]
IntelNvidiaDRM = [
"iMac13,1",
"iMac13,2",
"iMac14,2",
"iMac14,3",
]
HiDPIpicker = ["MacBook8,1", "MacBookPro10,1", "MacBookPro10,2", "MacBookPro11,1", "MacBookPro11,2", "MacBookPro11,3", "iMac15,1", "Dortania1,1"]
IDEPatch = ["MacBook4,1", "MacBookPro4,1", "iMac7,1", "iMac8,1", "MacPro3,1", "Xserve2,1", "Dortania1,1"]
# 11" Air
MacBookAir61 = [
"MacBookAir3,1",
"MacBookAir4,1",
"MacBookAir5,1",
"MacBookAir6,1",
]
# Classic MacBook and 13" Air
MacBookAir62 = [
"MacBook4,1",
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,2",
"MacBookAir4,2",
"MacBookAir5,2",
"MacBookAir6,2",
]
# Retina MacBook
MacBook81 = [
"MacBook8,1",
]
# MacBook Pro 13"
MacBookPro111 = [
"MacBookPro5,5",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro9,2",
"MacBookPro10,2",
"MacBookPro11,1",
]
# MacBook Pro 15" (iGPU)
MacBookPro112 = ["MacBookPro11,2"]
# MacBook Pro 15" and 17" (dGPU)
MacBookPro113 = [
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro10,1",
"MacBookPro11,3",
]
# Mac Mini
Macmini71 = ["Macmini3,1", "Macmini4,1", "Macmini5,1", "Macmini5,2", "Macmini5,3", "Macmini6,1", "Macmini6,2"]
# iMacPro = dGPU only iMacs
iMacPro11 = [
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
]
# iMac = AMD and Nvidia GPU with iGPU
iMac151 = [
"iMac13,2",
"iMac14,2",
"iMac14,3",
"iMac15,1",
]
# iMac = Intel iGPU
iMac144 = ["iMac13,1", "iMac14,1", "iMac14,4"]
# Mac Pro and Xserve
MacPro71 = ["MacPro3,1", "MacPro4,1", "MacPro5,1", "Xserve2,1", "Xserve3,1", "Dortania1,1"]
XXerve = [
"Xserve3,1",
]
iXac = [
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"iMac13,1",
"iMac13,2",
"iMac13,3",
"iMac14,1",
"iMac14,2",
"iMac14,3",
]
XacBookNormal = [
"MacBook4,1",
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
]
XacBookAir = [
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookAir5,1",
"MacBookAir5,2",
]
XacBookPro = [
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
]
XacPro = [
"MacPro3,1",
"MacPro4,1",
"MacPro5,1",
]
Xacmini = [
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"Macmini6,1",
"Macmini6,2",
]
ControllerTypes = [
"",
"-EHCI",
"-EHC1",
"-EHC2",
"-XHC1",
"-OHC1",
"-OHC2",
"-UHC1",
"-UHC2",
"-UHC3",
"-UHC4",
"-InternalHub-EHC1",
"-InternalHub-EHC1-InternalHub",
"-InternalHub-EHC2",
"-InternalHub",
]
upgradableMXMGPUs = ["iMac10,1", "iMac11,1", "iMac11,2", "iMac11,3", "iMac12,1", "iMac12,2", "Xserve3,1", "Dortania1,1"]
NightShift = [
"MacBook4,1",
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"MacPro3,1",
"MacPro4,1",
"MacPro5,1",
"Xserve2,1",
"Xserve3,1",
"Dortania1,1",
]
UGAtoGOP = [
"MacBook4,1",
"MacBookPro4,1",
"iMac7,1",
"iMac8,1",
"MacPro3,1",
"Xserve2,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",
]
NoAPFSsupport = [
"MacBook4,1",
"MacBook5,1",
"MacBook5,2",
"MacBookAir2,1",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"Macmini3,1",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"MacPro3,1",
"MacPro4,1",
"Xserve2,1",
"Xserve3,1",
"Dortania1,1",
]
NoRootPatch11 = [
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"Macmini6,1",
"Macmini6,2",
"iMac13,1",
"iMac13,2",
"iMac13,3",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"MacPro4,1",
"MacPro5,1",
"Xserve3,1",
]
NoExFat = [
"MacBook4,1",
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"Macmini3,1",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"MacPro3,1",
"MacPro4,1",
"MacPro5,1",
"Xserve2,1",
"Xserve3,1",
"Dortania1,1",
]
SandyIGPU = [
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
]
windows_audio = [
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"Macmini6,1",
"Macmini6,2",
"iMac12,1",
"iMac12,2",
"iMac13,1",
"iMac13,2",
"iMac13,3",
]
NoAGPMSupport = ["MacBook4,1", "MacBookPro4,1", "iMac7,1", "iMac8,1", "MacPro3,1", "Xserve2,1"]
AGDPSupport = [
"MacBookPro9,1",
"MacBookPro10,1",
"iMac13,1",
"iMac13,2",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"iMac14,4",
"iMac15,1",
# TODO: Uncomment when dropped from macOS
# "iMac17,1",
# "iMac18,2",
# "iMac18,3",
# "iMac19,1",
# "iMac19,2",
# "iMac20,1",
# "iMac20,2",
# "iMacPro1,1",
# "MacPro6,1",
]
AMCSupport = [
"MacBookPro8,2",
"MacBookPro8,3",
# "MacBookPro9,1",
# "MacBookPro10,1"
]
NoFireWireSupport = [
"MacBook5,1",
"MacBook6,1",
"MacBook7,1",
"MacBookAir1,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
]
RecoveryIgnore = ["Update", "VM", "Recovery", "Preboot"]

View File

@@ -1,794 +0,0 @@
# Array of Device IDs for different devices
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/
tesla_ids = [
# G80
0x0190, # G80 [GeForce 8800 GTS / 8800 GTX]
0x0191, # G80 [GeForce 8800 GTX]
0x0193, # G80 [GeForce 8800 GTS]
0x0194, # G80 [GeForce 8800 Ultra]
0x019E, # G80GL [Quadro FX 4600]
0x019D, # G80GL [Quadro FX 5600]
# G84
0x0400, # G84 [8600 GTS]
0x0401, # G84 [8600 GT]
0x0402, # G84 [8600 GT]
0x0403, # G84 [8600 GS]
0x0404, # G84 [8400 GS]
0x0405, # G84 [9500M GS]
0x0406, # G84 [8300 GS]
0x0407, # G84 [8600M GT]
0x0408, # G84 [9650M GS]
0x0409, # G84 [8700M GT]
0x040A, # G84 [FX 370]
0x040B, # G84 [NVS 320M]
0x040C, # G84 [FX 570M]
0x040D, # G84 [FX 1600M]
0x040E, # G84 [FX 570]
0x040F, # G84 [FX 1700]
# G86
0x0420, # G86 [8400 SE]
0x0421, # G86 [8500 GT]
0x0422, # G86 [8400 GS]
0x0423, # G86 [8300 GS]
0x0424, # G86 [8400 GS]
0x0425, # G86 [8600M GS]
0x0426, # G86 [8400M GT]
0x0427, # G86 [8400M GS]
0x0428, # G86 [8400M G]
0x0429, # G86 [NVS 140M]
0x042A, # G86 [NVS 130M]
0x042B, # G86 [NVS 135M]
0x042C, # G86 [9400 GT]
0x042D, # G86 [FX 360M]
0x042E, # G86 [9300M G]
0x042F, # G86 [NVS 290]
# G92
0x0410, # G92 [GT 330]
0x0600, # G92 [8800 GTS 512]
0x0601, # G92 [9800 GT]
0x0602, # G92 [8800 GT]
0x0603, # G92 [GT 230]
0x0604, # G92 [9800 GX2]
0x0605, # G92 [9800 GT]
0x0606, # G92 [8800 GS]
0x0607, # G92 [GTS 240]
0x0608, # G92 [9800M GTX]
0x0609, # G92 [8800M GTS]
0x060A, # G92 [GTX 280M]
0x060B, # G92 [9800M GT]
0x060C, # G92 [8800M GTX]
0x060F, # G92 [GTX 285M]
0x0610, # G92 [9600 GSO]
0x0611, # G92 [8800 GT]
0x0612, # G92 [9800 GTX/9800 GTX+]
0x0613, # G92 [9800 GTX+]
0x0614, # G92 [9800 GT]
0x0615, # G92 [GTS 250]
0x0617, # G92 [9800M GTX]
0x0618, # G92 [GTX 260M]
0x0619, # G92 [FX 4700 X2]
0x061A, # G92 [FX 3700]
0x061B, # G92 [VX 200]
0x061C, # G92 [FX 3600M]
0x061D, # G92 [FX 2800M]
0x061E, # G92 [FX 3700M]
0x061F, # G92 [FX 3800M]
# G94
0x0621, # G94 [GT 230]
0x0622, # G94 [9600 GT]
0x0623, # G94 [9600 GS]
0x0624, # G94 [9600 GT Green Edition]
0x0625, # G94 [9600 GSO 512]
0x0626, # G94 [GT 130]
0x0627, # G94 [GT 140]
0x0628, # G94 [9800M GTS]
0x062A, # G94 [9700M GTS]
0x062B, # G94 [9800M GS]
0x062C, # G94 [9800M GTS ]
0x062D, # G94 [9600 GT]
0x062E, # G94 [9600 GT]
0x062F, # G94 [9800 S]
0x0631, # G94 [GTS 160M]
0x0635, # G94 [9600 GSO]
0x0637, # G94 [9600 GT]
0x0638, # G94 [FX 1800]
0x063A, # G94 [FX 2700M]
# G96
0x0640, # G96 [9500 GT]
0x0641, # G96 [9400 GT]
0x0643, # G96 [9500 GT]
0x0644, # G96 [9500 GS]
0x0645, # G96 [9500 GS]
0x0646, # G96 [GT 120]
0x0647, # G96 [9600M GT]
0x0648, # G96 [9600M GS]
0x0649, # G96 [9600M GT]
0x064A, # G96 [9700M GT]
0x064B, # G96 [9500M G]
0x064C, # G96 [9650M GT]
0x0651, # G96 [G 110M]
0x0652, # G96 [GT 130M]
0x0653, # G96 [GT 120M]
0x0654, # G96 [GT 220M]
0x0655, # G96 [GT 120]
0x0656, # G96 [GT 120 ]
0x0658, # G96 [FX 380]
0x0659, # G96 [FX 580]
0x065A, # G96 [FX 1700M]
0x065B, # G96 [9400 GT]
0x065C, # G96 [FX 770M]
0x065F, # G96 [G210]
# G98
0x06E0, # G98 [9300 GE]
0x06E1, # G98 [9300 GS]
0x06E2, # G98 [8400]
0x06E3, # G98 [8400 SE]
0x06E4, # G98 [8400 GS]
0x06E5, # G98M [9300M GS]
0x06E6, # G98 [G100]
0x06E7, # G98 [9300 SE]
0x06E8, # G98 [9200M GS]
0x06E9, # G98 [9300M GS]
0x06EA, # G98 [NVS 150M]
0x06EB, # G98 [NVS 160M]
0x06EC, # G98 [G 105M]
0x06ED, # G98 [9600 GT / 9800 GT]
0x06EF, # G98 [G 103M]
0x06F1, # G98 [G105M]
0x06F8, # G98 [NVS 420]
0x06F9, # G98 [FX 370 LP]
0x06FA, # G98 [NVS 450]
0x06FB, # G98 [FX 370M]
0x06FD, # G98 [NVS 295]
0x06FF, # G98 [HICx16]
# GT200
0x05E0, # GT200 [GTX 295]
0x05E1, # GT200 [GTX 280]
0x05E2, # GT200 [GTX 260]
0x05E3, # GT200 [GTX 285]
0x05E6, # GT200 [GTX 275]
0x05E7, # GT200 [C1060]
0x05E9, # GT200 [CX]
0x05EA, # GT200 [GTX 260]
0x05EB, # GT200 [GTX 295]
0x05ED, # GT200 [FX 5800]
0x05EE, # GT200 [FX 4800]
0x05EF, # GT200 [FX 3800]
0x05FD, # GT200GL [Quadro FX 5800]
0x05FE, # GT200GL [Quadro FX 4800]
0x05FF, # GT200GL [Quadro FX 3800]
# MCP77 GPU
0x0840, # MCP77 GPU [8200M]
0x0844, # MCP77 GPU [9100M G]
0x0845, # MCP77 GPU [8200M G]
0x0846, # MCP77 GPU [9200]
0x0847, # MCP77 GPU [9100]
0x0848, # MCP77 GPU [8300]
0x0849, # MCP77 GPU [8200]
0x084A, # MCP77 GPU [730A]
0x084B, # MCP77 GPU [9200]
0x084C, # MCP77 GPU [980A/780A SLI]
0x084D, # MCP77 GPU [750A SLI]
0x084F, # MCP77 GPU [8100 / 720A]
# MCP79 GPU
0x0860, # MCP79 GPU [9400]
0x0861, # MCP79 GPU [9400]
0x0862, # MCP79 GPU [9400M G]
0x0863, # MCP79 GPU [9400M]
0x0864, # MCP79 GPU [9300]
0x0865, # MCP79 GPU [ION]
0x0866, # MCP79 GPU [9400M G]
0x0867, # MCP79 GPU [9400]
0x0868, # MCP79 GPU [760i SLI]
0x0869, # MCP79 GPU [9400]
0x086A, # MCP79 GPU [9400]
0x086C, # MCP79 GPU [9300 / 730i]
0x086D, # MCP79 GPU [9200]
0x086E, # MCP79 GPU [9100M G]
0x086F, # MCP79 GPU [8200M G]
0x0870, # MCP79 GPU [9400M]
0x0871, # MCP79 GPU [9200]
0x0872, # MCP79 GPU [G102M]
0x0873, # MCP79 GPU [G102M]
0x0874, # MCP79 GPU [ION]
0x0876, # MCP79 GPU [ION]
0x087A, # MCP79 GPU [9400]
0x087D, # MCP79 GPU [ION]
0x087E, # MCP79 GPU [ION LE]
0x087F, # MCP79 GPU [ION LE]
# GT215
0x0CA0, # GT215 [GT 330]
0x0CA2, # GT215 [GT 320]
0x0CA3, # GT215 [GT 240]
0x0CA4, # GT215 [GT 340]
0x0CA5, # GT215 [GT 220]
0x0CA7, # GT215 [GT 330]
0x0CA9, # GT215 [GTS 250M]
0x0CAC, # GT215 [GT 220]
0x0CAF, # GT215 [GT 335M]
0x0CB0, # GT215 [GTS 350M]
0x0CB1, # GT215 [GTS 360M]
0x0CBC, # GT215 [FX 1800M]
# GT216
0x0A20, # GT216 [GT 220]
0x0A22, # GT216 [315]
0x0A23, # GT216 [210]
0x0A26, # GT216 [405]
0x0A27, # GT216 [405]
0x0A28, # GT216 [GT 230M]
0x0A29, # GT216 [GT 330M]
0x0A2A, # GT216 [GT 230M]
0x0A2B, # GT216 [GT 330M]
0x0A2C, # GT216 [NVS 5100M]
0x0A2D, # GT216 [GT 320M]
0x0A32, # GT216 [GT 415]
0x0A34, # GT216 [GT 240M]
0x0A35, # GT216 [GT 325M]
0x0A38, # GT216 [400]
0x0A3C, # GT216 [FX 880M]
# GT218
0x0A60, # GT218 [G210]
0x0A62, # GT218 [205]
0x0A63, # GT218 [310]
0x0A64, # GT218 [ION]
0x0A65, # GT218 [210]
0x0A66, # GT218 [310]
0x0A67, # GT218 [315]
0x0A68, # GT218 [G105M]
0x0A69, # GT218 [G105M]
0x0A6A, # GT218 [NVS 2100M]
0x0A6C, # GT218 [NVS 3100M]
0x0A6E, # GT218 [305M]
0x0A6F, # GT218 [ION]
0x0A70, # GT218 [310M]
0x0A71, # GT218 [305M]
0x0A72, # GT218 [310M]
0x0A73, # GT218 [305M]
0x0A74, # GT218 [G210M]
0x0A75, # GT218 [310M]
0x0A76, # GT218 [ION]
0x0A78, # GT218 [FX 380 LP]
0x0A7A, # GT218 [315M]
0x0A7C, # GT218 [FX 380M]
0x10C0, # GT218 [9300 GS]
0x10C3, # GT218 [8400GS]
0x10C5, # GT218 [405]
0x10D8, # GT218 [NVS 300]
# MCP89 GPU
0x08A0, # MCP89 GPU [320M]
0x08A2, # MCP89 GPU [320M]
0x08A3, # MCP89 GPU [320M]
0x08A4, # MCP89 GPU [320M]
]
fermi_ids = [
# GF100
0x06C0, # GF100 [GTX 480]
0x06C4, # GF100 [GTX 465]
0x06CA, # GF100 [GTX 480M]
0x06CB, # GF100 [GTX 480]
0x06CD, # GF100 [GTX 470]
0x06D1, # GF100 [C2050 / C2070]
0x06D2, # GF100 [M2070]
0x06D8, # GF100 [6000]
0x06D9, # GF100 [5000]
0x06DA, # GF100 [5000M]
0x06DC, # GF100 [6000]
0x06DD, # GF100 [4000]
0x06DE, # GF100 [T20]
0x06DF, # GF100 [M2070-Q]
# GF104
0x0E22, # GF104 [GTX 460]
0x0E23, # GF104 [GTX 460 SE]
0x0E24, # GF104 [GTX 460 OEM]
0x0E30, # GF104 [GTX 470M]
0x0E31, # GF104 [GTX 485M]
0x0E3A, # GF104 [3000M]
0x0E3B, # GF104 [4000M]
# GF114
0x1200, # GF114 [GTX 560 Ti]
0x1201, # GF114 [GTX 560]
0x1202, # GF114 [GTX 560 Ti OEM]
0x1203, # GF114 [GTX 460 SE v2]
0x1205, # GF114 [GTX 460 v2]
0x1206, # GF114 [GTX 555]
0x1207, # GF114 [GT 645 OEM]
0x1208, # GF114 [GTX 560 SE]
0x1210, # GF114 [GTX 570M]
0x1211, # GF114 [GTX 580M]
0x1212, # GF114 [GTX 675M]
0x1213, # GF114 [GTX 670M]
# GF106
0x0DC0, # GF106 [GT 440]
0x0DC4, # GF106 [GTS 450]
0x0DC5, # GF106 [GTS 450]
0x0DC6, # GF106 [GTS 450]
0x0DCD, # GF106 [GT 555M]
0x0DCE, # GF106 [GT 555M]
0x0DD1, # GF106 [GTX 460M]
0x0DD2, # GF106 [GT 445M]
0x0DD3, # GF106 [GT 435M]
0x0DD6, # GF106 [GT 550M]
0x0DD8, # GF106 [2000]
0x0DDA, # GF106 [2000M]
# GF116
0x1241, # GF116 [GT 545 OEM]
0x1243, # GF116 [GT 545]
0x1244, # GF116 [GTX 550 Ti]
0x1245, # GF116 [GTS 450 Rev. 2]
0x1246, # GF116 [GT 550M]
0x1247, # GF116 [GT 635M]
0x1248, # GF116 [GT 555M]
0x1249, # GF116 [GTS 450 Rev. 3]
0x124B, # GF116 [GT 640 OEM]
0x124D, # GF116 [GT 555M]
0x1251, # GF116 [GTX 560M]
# GF108
0x0DE0, # GF108 [GT 440]
0x0DE1, # GF108 [GT 430]
0x0DE2, # GF108 [GT 420]
0x0DE3, # GF108 [GT 635M]
0x0DE4, # GF108 [GT 520]
0x0DE5, # GF108 [GT 530]
0x0DE8, # GF108 [GT 620M]
0x0DE9, # GF108 [GT 630M]
0x0DEA, # GF108 [610M]
0x0DEB, # GF108 [GT 555M]
0x0DEC, # GF108 [GT 525M]
0x0DED, # GF108 [GT 520M]
0x0DEE, # GF108 [GT 415M]
0x0DEF, # GF108 [NVS 5400M]
0x0DF0, # GF108 [GT 425M]
0x0DF1, # GF108 [GT 420M]
0x0DF2, # GF108 [GT 435M]
0x0DF3, # GF108 [GT 420M]
0x0DF4, # GF108 [GT 540M]
0x0DF5, # GF108 [GT 525M]
0x0DF6, # GF108 [GT 550M]
0x0DF7, # GF108 [GT 520M]
0x0DF8, # GF108 [600]
0x0DF9, # GF108 [500M]
0x0DFA, # GF108 [1000M]
0x0DFC, # GF108 [NVS 5200M]
0x0F00, # GF108 [GT 630]
0x0F01, # GF108 [GT 620]
0x0F02, # GF108 [GT 730]
# GF110
0x1080, # GF110 [GTX 580]
0x1081, # GF110 [GTX 570]
0x1082, # GF110 [GTX 560 Ti]
0x1084, # GF110 [GTX 560]
0x1086, # GF110 [GTX 570]
0x1087, # GF110 [GTX 560 Ti]
0x1088, # GF110 [GTX 590]
0x1089, # GF110 [GTX 580]
0x108B, # GF110 [GTX 580]
0x1091, # GF110 [M2090]
0x1096, # GF110GL [Tesla C2050 / C2075]
0x109A, # GF110 [5010M]
0x109B, # GF110 [7000]
# GF119
0x1040, # GF119 [GT 520]
0x1042, # GF119 [510]
0x1048, # GF119 [605]
0x1049, # GF119 [GT 620]
0x104A, # GF119 [GT 610]
0x104B, # GF119 [GT 625 OEM]
0x104C, # GF119 [GT 705]
0x1050, # GF119 [GT 520M]
0x1051, # GF119 [GT 520MX]
0x1052, # GF119 [GT 520M]
0x1054, # GF119 [410M]
0x1055, # GF119 [410M]
0x1056, # GF119 [NVS 4200M]
0x1057, # GF119 [NVS 4200M]
0x1058, # GF119 [610M]
0x1059, # GF119 [610M]
0x105A, # GF119 [610M]
0x105B, # GF119M [705M]
0x107C, # GF119 [NVS 315]
0x107D, # GF119 [NVS 310]
# GF117
0x1140, # GF117 [GT 620M]
]
kepler_ids = [
# GK104
0x1180, # GK104 [GTX 680]
0x1183, # GK104 [GTX 660 Ti]
0x1184, # GK104 [GTX 770]
0x1185, # GK104 [GTX 660]
0x1186, # GK104 [GTX 660 Ti]
0x1187, # GK104 [GTX 760]
0x1188, # GK104 [GTX 690]
0x1189, # GK104 [GTX 670]
0x118E, # GK104 [GTX 760 OEM]
0x118F, # GK104GL [Tesla K10]
0x1198, # GTX 880M
0x1199, # GK104 [GTX 870M]
0x119A, # GTX 860M
0x119D, # GK104M [GTX 775M Mac Edition]
0x119E, # GTX 780M
0x119F, # GK104 [GTX 780M]
0x11A0, # GK104 [GTX 680M]
0x11A1, # GK104 [GTX 670MX]
0x11A2, # GK104 [GTX 675MX]
0x11A3, # GK104 [GTX 680MX]
0x11A7, # GK104 [GTX 675MX]
0x11A9, # GTX 870M
0x11B4, # GK104GL [Quadro K4200]
0x11B6, # Quadro K3100M
0x11B7, # Quadro K4100M
0x11B8, # Quadro K5100M
0x11BA, # GK104 [K5000]
0x11BC, # GK104 [K5000M]
0x11BD, # GK104 [K4000M]
0x11BE, # GK104 [K3000M]
0x11BF, # GK104 [GRID K2]
# GK106
0x11C0, # GK106 [GTX 660]
0x11C2, # GK106 [GTX 650 Ti BOOST]
0x11C6, # GK106 [GTX 650 Ti]
0x11E0, # GK106 [GTX 770M]
0x11E1, # GTX 765M
0x11E2, # GTX 765M
0x11FA, # GK106 [K4000]
0x11FC, # Quadro K2100M
# GK107
0x0FC0, # GK107 [GT 640]
0x0FC1, # GK107 [GT 640]
0x0FC2, # GK107 [GT 630]
0x0FC6, # GK107 [GTX 650]
0x0FC8, # GK107 [GT 740]
0x0FCD, # GK107M [GT 755M]
0x0FD1, # GK107 [GT 650M]
0x0FD2, # GK107 [GT 640M]
0x0FD3, # GK107 [GT 640M LE]
0x0FD4, # GK107 [GTX 660M]
0x0FD5, # GK107 [GT 650M]
0x0FD8, # GK107 [GT 640M]
0x0FD9, # GK107 [GT 645M]
0x0FDF, # GK107M [ GT 740M]
0x0FE0, # GK107 [GTX 660M]
0x0FE1, # GK107M [GT 730M]
0x0FE3, # GK107M [GT 745M]
0x0FE4, # GK107M [GT 750M]
0x0FE9, # GK107 [GT 750M Mac Edition]
0x0FEA, # GK107M [GT 755M Mac Edition]
0x0FEE, # GK107M [810M]
0x0FF2, # GK107GL [GRID K1]
0x0FF3, # GK107GL [Quadro K420]
0x0FF6, # Quadro K1100M
0x0FF9, # GK107 [K2000D]
0x0FFA, # GK107 [K600]
0x0FFB, # GK107 [K2000M]
0x0FFC, # GK107 [K1000M]
0x0FFD, # GK107 [NVS 510]
0x0FFE, # GK107 [K2000]
0x0FFF, # GK107 [410]
# GK110
0x1001, # GK110B [GTX TITAN Z]
0x1003, # GK110 [GTX Titan LE]
0x1004, # GK110 [GTX 780]
0x1005, # GK110 [GTX Titan]
0x1007, # GK110 [GTX 780 Rev. 2]
0x100A, # GK110B [GTX 780 Ti]
0x100C, # GK110B [GTX TITAN Black]
0x101F, # GK110 [TEslA K20]
0x1020, # GK110 [TEslA K2]
0x1021, # GK110 [TEslA K2m]
0x1022, # GK110 [TEslA K20C]
0x1023, # GK110BGL [Tesla K40m]
0x1024, # GK180GL [Tesla K40c]
0x1026, # GK110 [TEslA K20s]
0x1028, # GK110 [TEslA K20m]
0x102D, # GK210GL [Tesla K80]
0x103C, # GK110GL [Quadro K5200]
# GK208
0x1280, # GK208 [GT 635]
0x1281, # GK208 [GT 710]
0x1282, # GK208 [GT 640 REv. 2]
0x1284, # GK208 [GT 630 REv. 2]
0x1286, # GK208 [GT 720]
0x1287, # GK208B [GT 730]
0x1288, # GK208B [GT 720]
0x1289, # GK208 [GT 710]
0x128B, # GK208B [GT 710]
0x1290, # GK208 [GT 730M]
0x1291, # GK208 [GT 735M]
0x1292, # GK208 [GT 740M]
0x1293, # GK208 [GT 730M]
0x1294, # GK208 [GT 740M]
0x1295, # GK208 [710M]
0x1296, # GK208M [825M]
0x1298, # GK208M [GT 720M]
0x1299, # GK208BM [920M]
0x129A, # GK208BM [910M]
0x12B9, # GK208 [K610M]
0x12BA, # GK208 [K510M]
]
class amd_ids:
legacy_gcn_ids = [
# AMDRadeonX4000
# AMDBonaireGraphicsAccelerator
0x6640,
0x6641,
0x6646,
0x6647,
0x6650,
0x6651,
0x665C,
0x665D,
# AMDFijiGraphicsAccelerator
0x7300,
0x730F,
# AMDHawaiiGraphicsAccelerator
0x67B0,
# AMDPitcairnGraphicsAccelerator
0x6800,
0x6801,
0x6806,
0x6808,
0x6810,
0x6818,
0x6819,
# AMDTahitiGraphicsAccelerator
0x6790,
0x6798,
0x679A,
0x679E,
0x6780,
# AMDTongaGraphicsAccelerator
0x6920,
0x6921,
0x6930,
0x6938,
0x6939,
# AMDVerdeGraphicsAccelerator
0x6820,
0x6821,
0x6823,
0x6825,
0x6827,
0x682B,
0x682D,
0x682F,
0x6835,
0x6839,
0x683B,
0x683D,
0x683F,
]
polaris_ids = [
# AMDRadeonX4000
# AMDBaffinGraphicsAccelerator
0x67E0,
0x67E3,
0x67E8,
0x67EB,
0x67EF,
0x67FF,
0x67E1,
0x67E7,
0x67E9,
# AMDEllesmereGraphicsAccelerator
0x67C0,
0x67C1,
0x67C2,
0x67C4,
0x67C7,
0x67DF,
0x67D0,
0x67C8,
0x67C9,
0x67CA,
0x67CC,
0x67CF,
]
vega_ids = [
# AMDRadeonX5000
# AMDVega10GraphicsAccelerator
0x6860,
0x6861,
0x6862,
0x6863,
0x6864,
0x6867,
0x6868,
0x6869,
0x686A,
0x686B,
0x686C,
0x686D,
0x686E,
0x686F,
0x687F,
# AMDVega12GraphicsAccelerator
0x69A0,
0x69A1,
0x69A2,
0x69A3,
0x69AF,
# AMDVega20GraphicsAccelerator
0x66A0,
0x66A1,
0x66A2,
0x66A3,
0x66A7,
0x66AF,
]
navi_ids = [
# AMDRadeonX6000
# AMDNavi10GraphicsAccelerator
0x7310,
0x7312,
0x7318,
0x7319,
0x731A,
0x731B,
0x731F,
# AMDNavi12GraphicsAccelerator
0x7360,
# AMDNavi14GraphicsAccelerator
0x7340,
0x7341,
0x7343,
0x7347,
0x734F,
# AMDNavi21GraphicsAccelerator
0x73A2,
0x73AB,
0x73BF,
]
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,
]
terascale_2_ids = [
0x6738,
0x6739,
0x6720,
0x6722,
0x6768,
0x6770,
0x6779,
0x6760,
0x6761,
0x68E0,
0x6898,
0x6899,
0x68B8,
0x68B0,
0x68B1,
0x68A0,
0x68A1,
0x6840,
0x6841,
0x68D8,
0x68C0,
0x68C1,
0x68D9,
0x6750,
0x6758,
0x6759,
0x6740,
0x6741,
0x6745,
]
class intel_ids:
iron_ids = [
# AppleIntelHDGraphics IDs
0x0044,
0x0046,
]
sandy_ids = [
# AppleIntelHD3000Graphics IDs
# AppleIntelSNBGraphicsFB IDs
0x0106,
0x0601,
0x0116,
0x0102,
0x0126,
]
ivy_ids = [
# AppleIntelHD4000Graphics IDs
# AppleIntelFramebufferCapri IDs
0x0152,
0x0156,
0x0162,
0x0166,
]
class broadcom_ids:
AirPortBrcmNIC = [
# AirPortBrcmNIC IDs
0x43BA, # BCM43602
0x43A3, # BCM4350
0x43A0, # BCM4360
]
AirPortBrcm4360 = [
# AirPortBrcm4360 IDs (removed duplicates for 4360 class cards)
0x4331, # BCM94331
0x4353, # BCM943224
]
AirPortBrcm4331 = [
# AirPortBrcm4331 IDs (removed duplicates for 4331 class cards)
0x432B, # BCM94322
]
AppleAirPortBrcm43224 = [
# AppleAirPortBrcm43224 IDs
0x4311, # BCM4311 - never used by Apple
0x4312, # BCM4311 - never used by Apple
0x4313, # BCM4311 - never used by Apple
0x4318, # BCM4318 - never used by Apple
0x4319, # BCM4318 - never used by Apple
0x431A, # Unknown - never used by Apple
0x4320, # BCM4306 - never used by Apple
0x4324, # BCM4309 - never used by Apple
0x4325, # BCM4306 - never used by Apple
0x4328, # BCM4328
0x432C, # BCM4322 - never used by Apple
0x432D, # BCM4322 - never used by Apple
]
class atheros_ids:
AtherosWifi = [
# AirPortAtheros40 IDs
0x0030, # AR93xx
0x002A, # AR928X
0x001C, # AR242x / AR542x
0x0023, # AR5416 - never used by Apple
0x0024, # AR5418
]

View File

@@ -1,499 +0,0 @@
# Framework for mounting and patching macOS root volume
# Copyright (C) 2020-2021, Dhinak G, Mykola Grymalyuk
# Missing Features:
# - Full System/Library Snapshotting (need to research how Apple achieves this)
# - Temporary Work-around: sudo bless --mount /System/Volumes/Update/mnt1 --bootefi --last-sealed-snapshot
# - Work-around battery throttling on laptops with no battery (IOPlatformPluginFamily.kext/Contents/PlugIns/ACPI_SMC_PlatformPlugin.kext/Contents/Resources/)
import hashlib
import os
import requests
import shutil
import subprocess
import zipfile
from pathlib import Path
from Resources import Constants, device_probe, ModelArray, SysPatchArray, Utilities
class PatchSysVolume:
def __init__(self, model, versions):
self.model = model
self.constants: Constants.Constants = versions
self.root_mount_path = None
self.sip_enabled = True
self.sbm_enabled = True
self.amfi_enabled = True
self.fv_enabled = True
self.nvidia_legacy = False
self.amd_ts1 = False
self.amd_ts2 = False
self.iron_gpu = False
self.sandy_gpu = False
self.ivy_gpu = False
self.nvidia_legacy = False
self.brightness_legacy = False
self.legacy_audio = False
self.added_kexts = False
self.amfi_must_disable = False
self.no_patch = True
if self.constants.detected_os > self.constants.catalina:
# Big Sur and newer use APFS snapshots
self.mount_location = "/System/Volumes/Update/mnt1"
else:
self.mount_location = "/"
self.mount_extensions = f"{self.mount_location}/System/Library/Extensions"
self.mount_frameworks = f"{self.mount_location}/System/Library/Frameworks"
self.mount_lauchd = f"{self.mount_location}/System/Library/LaunchDaemons"
self.mount_private_frameworks = f"{self.mount_location}/System/Library/PrivateFrameworks"
def elevated(self, *args, **kwargs) -> subprocess.CompletedProcess:
if os.getuid() == 0:
return subprocess.run(*args, **kwargs)
else:
return subprocess.run(["sudo"] + [args[0][0]] + args[0][1:], **kwargs)
def find_mount_root_vol(self, patch):
self.root_mount_path = Utilities.get_disk_path()
if self.root_mount_path.startswith("disk"):
print(f"- Found Root Volume at: {self.root_mount_path}")
if Path(self.mount_extensions).exists():
print("- Root Volume is already mounted")
if patch is True:
self.patch_root_vol()
return True
else:
self.unpatch_root_vol()
return True
else:
if self.constants.detected_os > self.constants.catalina:
print("- Mounting APFS Snapshot as writable")
self.elevated(["mount", "-o", "nobrowse", "-t", "apfs", f"/dev/{self.root_mount_path}", self.mount_location], stdout=subprocess.PIPE).stdout.decode().strip().encode()
elif self.constants.detected_os == self.constants.catalina:
print("- Mounting Root Volume as writable")
self.elevated(["mount", "-uw", "/"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
if Path(self.mount_extensions).exists():
print("- Successfully mounted the Root Volume")
if patch is True:
self.patch_root_vol()
return True
else:
self.unpatch_root_vol()
return True
else:
print("- Failed to mount the Root Volume")
print("- Recommend rebooting the machine and trying to patch again")
if self.constants.gui_mode is False:
input("- Press [ENTER] to exit: ")
else:
print("- Could not find root volume")
if self.constants.gui_mode is False:
input("- Press [ENTER] to exit: ")
def unpatch_root_vol(self):
print("- Reverting to last signed APFS snapshot")
self.elevated(["bless", "--mount", self.mount_location, "--bootefi", "--last-sealed-snapshot"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
def rebuild_snapshot(self):
if self.constants.gui_mode is False:
input("Press [ENTER] to continue with cache rebuild: ")
print("- Rebuilding Kernel Cache (This may take some time)")
if self.constants.detected_os > self.constants.catalina:
result = self.elevated(["kmutil", "install", "--volume-root", self.mount_location, "--update-all"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
else:
result = self.elevated(["kextcache", "-i", "/"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
if result.returncode != 0:
self.success_status = False
print("- Unable to build new kernel cache")
print("\nPlease report this to Github")
print("Reason for Patch Failure:")
print(result.stdout.decode())
print("")
print("\nPlease reboot the machine to avoid potential issues rerunning the patcher")
if self.constants.gui_mode is False:
input("Press [ENTER] to continue")
else:
self.success_status = True
print("- Successfully built new kernel cache")
if self.constants.gui_mode is False and self.constants.detected_os > self.constants.catalina:
input("Press [ENTER] to continue with snapshotting")
if self.constants.detected_os > self.constants.catalina:
print("- Creating new APFS snapshot")
self.elevated(["bless", "--folder", f"{self.mount_location}/System/Library/CoreServices", "--bootefi", "--create-snapshot"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
self.unmount_drive()
print("- Patching complete")
print("\nPlease reboot the machine for patches to take effect")
if self.constants.gui_mode is False:
input("Press [ENTER] to continue")
def unmount_drive(self):
print("- Unmounting Root Volume (Don't worry if this fails)")
self.elevated(["diskutil", "unmount", self.root_mount_path], stdout=subprocess.PIPE).stdout.decode().strip().encode()
def delete_old_binaries(self, vendor_patch):
for delete_current_kext in vendor_patch:
delete_path = Path(self.mount_extensions) / Path(delete_current_kext)
if Path(delete_path).exists():
print(f"- Deleting {delete_current_kext}")
self.elevated(["sudo", "rm", "-R", delete_path], stdout=subprocess.PIPE).stdout.decode().strip().encode()
else:
print(f"- Couldn't find {delete_current_kext}, skipping")
def add_new_binaries(self, vendor_patch, vendor_location):
for add_current_kext in vendor_patch:
existing_path = Path(self.mount_extensions) / Path(add_current_kext)
if Path(existing_path).exists():
print(f"- Found conflicting kext, Deleting Root Volume's {add_current_kext}")
self.elevated(["rm", "-R", existing_path], stdout=subprocess.PIPE).stdout.decode().strip().encode()
print(f"- Adding {add_current_kext}")
self.elevated(["cp", "-R", f"{vendor_location}/{add_current_kext}", self.mount_extensions], stdout=subprocess.PIPE).stdout.decode().strip().encode()
self.elevated(["chmod", "-Rf", "755", f"{self.mount_extensions}/{add_current_kext}"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
self.elevated(["chown", "-Rf", "root:wheel", f"{self.mount_extensions}/{add_current_kext}"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
def add_brightness_patch(self):
self.delete_old_binaries(SysPatchArray.DeleteBrightness)
self.add_new_binaries(SysPatchArray.AddBrightness, self.constants.legacy_brightness)
self.elevated(["rsync", "-r", "-i", f"{self.constants.payload_apple_private_frameworks_path_brightness}/", self.mount_private_frameworks], stdout=subprocess.PIPE).stdout.decode().strip().encode()
self.elevated(["chmod", "-Rf", "755", f"{self.mount_private_frameworks}/DisplayServices.framework"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
self.elevated(["chown", "-Rf", "root:wheel", f"{self.mount_private_frameworks}/DisplayServices.framework"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
def add_audio_patch(self):
self.delete_old_binaries(SysPatchArray.DeleteVolumeControl)
self.add_new_binaries(SysPatchArray.AddVolumeControl, self.constants.audio_path)
def gpu_accel_legacy_nvidia_big_sur(self):
self.delete_old_binaries(SysPatchArray.DeleteNvidiaAccel11)
self.add_new_binaries(SysPatchArray.AddGeneralAccel, self.constants.legacy_general_path)
self.add_new_binaries(SysPatchArray.AddNvidiaAccel11, self.constants.legacy_nvidia_path)
def gpu_framebuffer_legacy_nvidia(self):
self.add_new_binaries(SysPatchArray.AddNvidiaBrightness, self.constants.legacy_nvidia_path)
def gpu_accel_legacy_ts1_big_sur(self):
self.delete_old_binaries(SysPatchArray.DeleteAMDAccel11)
self.add_new_binaries(SysPatchArray.AddGeneralAccel, self.constants.legacy_general_path)
self.add_new_binaries(SysPatchArray.AddAMDAccel11, self.constants.legacy_amd_path)
def gpu_accel_legacy_ts2_big_sur(self):
self.delete_old_binaries(SysPatchArray.DeleteAMDAccel11)
self.delete_old_binaries(SysPatchArray.DeleteAMDAccel11TS2)
self.add_new_binaries(SysPatchArray.AddGeneralAccel, self.constants.legacy_general_path)
self.add_new_binaries(SysPatchArray.AddAMDAccel11, self.constants.legacy_amd_path)
def gpu_framebuffer_legacy_amd(self):
self.add_new_binaries(SysPatchArray.AddAMDBrightness, self.constants.legacy_amd_path)
def gpu_accel_legacy_ironlake_big_sur(self):
self.delete_old_binaries(SysPatchArray.DeleteNvidiaAccel11)
self.add_new_binaries(SysPatchArray.AddGeneralAccel, self.constants.legacy_general_path)
self.add_new_binaries(SysPatchArray.AddIntelGen1Accel, self.constants.legacy_intel_gen1_path)
def gpu_framebuffer_legacy_ironlake(self):
self.add_new_binaries(SysPatchArray.AddIntelGen1Accel, self.constants.legacy_intel_gen1_path)
def gpu_accel_legacy_sandybridge_big_sur(self):
self.delete_old_binaries(SysPatchArray.DeleteNvidiaAccel11)
self.add_new_binaries(SysPatchArray.AddGeneralAccel, self.constants.legacy_general_path)
self.add_new_binaries(SysPatchArray.AddIntelGen2Accel, self.constants.legacy_intel_gen2_path)
def gpu_framebuffer_legacy_sandybridge(self):
self.add_new_binaries(SysPatchArray.AddIntelGen2Accel, self.constants.legacy_intel_gen1_path)
def gpu_framebuffer_ivybridge_big_sur(self):
self.add_new_binaries(SysPatchArray.AddIntelGen3Accel, self.constants.legacy_intel_gen3_path)
print("- Fixing Acceleration in CoreMedia")
subprocess.run(["defaults", "write", "com.apple.coremedia", "hardwareVideoDecoder", "-string", "disable"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
print("- Merging Ivy Bridge Frameworks")
self.elevated(["rsync", "-r", "-i", f"{self.constants.payload_apple_frameworks_path_accel_ivy}/", self.mount_frameworks], stdout=subprocess.PIPE).stdout.decode().strip().encode()
def gpu_accel_legacy_extended(self):
print("- Merging general legacy Frameworks")
self.elevated(["rsync", "-r", "-i", f"{self.constants.payload_apple_frameworks_path_accel}/", self.mount_frameworks], stdout=subprocess.PIPE).stdout.decode().strip().encode()
if Path(self.mount_lauchd / Path("HiddHack.plist")).exists():
print("- Removing legacy HiddHack")
self.elevated(["rm", f"{self.mount_lauchd}/HiddHack.plist"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
print("- Adding IOHID-Fixup.plist")
self.elevated(["rsync", "-r", "-i", f"{self.constants.payload_apple_lauchd_path_accel}/", self.mount_lauchd], stdout=subprocess.PIPE).stdout.decode().strip().encode()
self.elevated(["chmod", "755", f"{self.mount_lauchd}/IOHID-Fixup.plist"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
self.elevated(["chown", "root:wheel", f"{self.mount_lauchd}/IOHID-Fixup.plist"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
print("- Merging general legacy PrivateFrameworks")
self.elevated(["rsync", "-r", "-i", f"{self.constants.payload_apple_private_frameworks_path_accel}/", self.mount_private_frameworks], stdout=subprocess.PIPE).stdout.decode().strip().encode()
def gpu_accel_legacy_extended_ts2(self):
print("- Merging TeraScale 2 legacy Frameworks")
self.elevated(["rsync", "-r", "-i", f"{self.constants.payload_apple_frameworks_path_accel_ts2}/", self.mount_frameworks], stdout=subprocess.PIPE).stdout.decode().strip().encode()
print("- Merging TeraScale 2 PrivateFrameworks")
self.elevated(["rsync", "-r", "-i", f"{self.constants.payload_apple_private_frameworks_path_accel_ts2}/", self.mount_private_frameworks], stdout=subprocess.PIPE).stdout.decode().strip().encode()
print("- Fixing Acceleration in CMIO")
subprocess.run(["defaults", "write", "com.apple.cmio", "CMIO_Unit_Input_ASC.DoNotUseOpenCL", "-bool", "true"], stdout=subprocess.PIPE).stdout.decode().strip().encode()
def patch_root_vol(self):
print(f"- Running patches for {self.model}")
# Graphics patches
if self.nvidia_legacy is True:
print("- Installing legacy Nvidia Patches")
if self.constants.detected_os == self.constants.big_sur:
print("- Detected Big Sur, installing Acceleration patches")
self.gpu_accel_legacy_nvidia_big_sur()
self.added_kexts = True
else:
print("- Detected unsupported OS, installing Basic Framebuffer")
self.gpu_framebuffer_legacy_nvidia()
if self.amd_ts1 is True:
print("- Installing legacy TeraScale 1 Patches")
if self.constants.detected_os == self.constants.big_sur:
print("- Detected Big Sur, installing Acceleration patches")
self.gpu_accel_legacy_ts1_big_sur()
self.added_kexts = True
else:
print("- Detected unsupported OS, installing Basic Framebuffer")
self.gpu_framebuffer_legacy_amd()
if self.amd_ts2 is True:
print("- Installing legacy TeraScale 2 Patches")
if self.constants.detected_os == self.constants.big_sur:
print("- Detected Big Sur, installing Acceleration patches")
self.gpu_accel_legacy_ts2_big_sur()
self.added_kexts = True
else:
print("- Detected unsupported OS, installing Basic Framebuffer")
self.gpu_framebuffer_legacy_amd()
if self.iron_gpu is True:
print("- Installing legacy Ironlake Patches")
if self.constants.detected_os == self.constants.big_sur:
print("- Detected Big Sur, installing Acceleration patches")
self.gpu_accel_legacy_ironlake_big_sur()
self.added_kexts = True
else:
print("- Detected unsupported OS, installing Basic Framebuffer")
self.gpu_framebuffer_legacy_ironlake()
if self.sandy_gpu is True:
print("- Installing legacy Sandy Bridge Patches")
if self.constants.detected_os == self.constants.big_sur:
print("- Detected Big Sur, installing Acceleration patches")
self.gpu_accel_legacy_sandybridge_big_sur()
self.added_kexts = True
else:
print("- Detected unsupported OS, installing Basic Framebuffer")
self.gpu_framebuffer_legacy_sandybridge()
if self.ivy_gpu is True:
print("- Installing Ivy Bridge Patches")
self.gpu_framebuffer_ivybridge_big_sur()
if self.amd_ts2 is True:
# TeraScale 2 patches must be installed after Intel HD3000
self.add_new_binaries(SysPatchArray.AddAMDAccel11TS2, self.constants.legacy_amd_path_ts2)
if self.added_kexts is True:
self.gpu_accel_legacy_extended()
if self.amd_ts2 is True:
self.gpu_accel_legacy_extended_ts2()
# Misc patches
if self.brightness_legacy is True:
print("- Installing legacy Brightness Control")
self.add_brightness_patch()
if self.legacy_audio is True:
print("- Fixing Volume Control Support")
self.add_audio_patch()
self.rebuild_snapshot()
def check_files(self):
if Path(self.constants.payload_apple_root_path).exists():
print("- Found Apple Binaries")
if self.constants.gui_mode is False:
patch_input = input("Would you like to redownload?(y/n): ")
if patch_input in {"y", "Y", "yes", "Yes"}:
shutil.rmtree(Path(self.constants.payload_apple_root_path))
self.download_files()
else:
self.download_files()
else:
print("- Apple binaries missing")
self.download_files()
def download_files(self):
if self.constants.detected_os == self.constants.monterey:
os_ver = "12-Monterey"
elif self.constants.detected_os == self.constants.big_sur:
os_ver = "11-Big-Sur"
elif self.constants.detected_os == self.constants.catalina:
os_ver = "10.15-Catalina"
elif self.constants.detected_os == self.constants.mojave:
os_ver = "10.14-Mojave"
link = f"{self.constants.url_patcher_support_pkg}{self.constants.patcher_support_pkg_version}/{os_ver}.zip"
if Path(self.constants.payload_apple_root_path).exists():
print("- Removing old Apple Binaries folder")
Path(self.constants.payload_apple_root_path).unlink()
if Path(self.constants.payload_apple_root_path_zip).exists():
print("- Removing old Apple Binaries zip")
Path(self.constants.payload_apple_root_path_zip).unlink()
Utilities.download_file(link, self.constants.payload_apple_root_path_zip)
if self.constants.payload_apple_root_path_zip.exists():
print("- Download completed")
print("- Unzipping download...")
try:
subprocess.run(["unzip", self.constants.payload_apple_root_path_zip], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, cwd=self.constants.payload_path).stdout.decode()
print("- Renaming folder")
os.rename(self.constants.payload_path / Path(os_ver), self.constants.payload_apple_root_path)
Path(self.constants.payload_apple_root_path_zip).unlink()
print("- Binaries downloaded to:")
print(self.constants.payload_path)
if self.constants.gui_mode is False:
input("Press [ENTER] to continue")
except zipfile.BadZipFile:
print("- Couldn't unzip")
return
else:
print("- Download failed, please verify the below link works:")
print(link)
input("Press [ENTER] to continue")
def detect_gpus(self):
dgpu = self.constants.computer.dgpu
igpu = self.constants.computer.igpu
if dgpu:
print(f"- Found GFX0: {Utilities.friendly_hex(dgpu.vendor_id)}:{Utilities.friendly_hex(dgpu.device_id)}")
if dgpu.arch in [device_probe.NVIDIA.Archs.Tesla, device_probe.NVIDIA.Archs.Fermi]:
if self.constants.detected_os > self.constants.catalina:
self.nvidia_legacy = True
self.amfi_must_disable = True
elif dgpu.arch == device_probe.AMD.Archs.TeraScale_1:
if self.constants.detected_os > self.constants.catalina:
self.amd_ts1 = True
self.amfi_must_disable = True
# TODO: Enable TS2 support
elif dgpu.arch == device_probe.AMD.Archs.TeraScale_2:
# Requires manual permission from user to avoid medical issues
if self.constants.detected_os > self.constants.catalina and self.constants.terascale_2_patch is True:
self.amd_ts2 = True
self.amfi_must_disable = True
if igpu and igpu.class_code != 0xFFFFFF:
print(f"- Found IGPU: {Utilities.friendly_hex(igpu.vendor_id)}:{Utilities.friendly_hex(igpu.device_id)}")
if igpu.arch == device_probe.Intel.Archs.Iron_Lake:
if self.constants.detected_os > self.constants.catalina:
self.iron_gpu = True
self.amfi_must_disable = True
elif igpu.arch == device_probe.Intel.Archs.Sandy_Bridge:
if self.constants.detected_os > self.constants.catalina:
self.sandy_gpu = True
self.amfi_must_disable = True
elif igpu.arch == device_probe.Intel.Archs.Ivy_Bridge:
if self.constants.detected_os > self.constants.big_sur:
self.ivy_gpu = True
elif isinstance(igpu, device_probe.NVIDIA):
if self.constants.detected_os > self.constants.catalina:
self.nvidia_legacy = True
self.amfi_must_disable = True
def detect_patch_set(self):
self.detect_gpus()
if self.model in ModelArray.LegacyBrightness:
if self.constants.detected_os > self.constants.catalina:
self.brightness_legacy = True
if self.model in ["iMac7,1", "iMac8,1"]:
if self.constants.detected_os > self.constants.catalina:
self.legacy_audio = True
Utilities.cls()
print("The following patches will be applied:")
if self.nvidia_legacy is True:
print("- Add Legacy Nvidia Tesla Graphics Patch")
elif self.amd_ts1 is True:
print("- Add Legacy ATI TeraScale 1 Graphics Patch")
elif self.amd_ts2 is True:
print("- Add Legacy ATI TeraScale 2 Graphics Patch")
if self.iron_gpu is True:
print("- Add Legacy Intel IronLake Graphics Patch")
elif self.sandy_gpu is True:
print("- Add Legacy Intel Sandy Bridge Graphics Patch")
elif self.ivy_gpu is True:
print("- Add Legacy Intel Ivy Bridge Graphics Patch")
if self.brightness_legacy is True:
print("- Add Legacy Brightness Control")
if self.legacy_audio is True:
print("- Add legacy Audio Control")
self.no_patch = not any(
[
self.nvidia_legacy,
self.amd_ts1,
self.amd_ts2,
self.iron_gpu,
self.sandy_gpu,
self.ivy_gpu,
self.brightness_legacy,
self.legacy_audio,
]
)
def verify_patch_allowed(self):
self.sip_enabled, self.sbm_enabled, self.amfi_enabled, self.fv_enabled = Utilities.patching_status()
if self.sip_enabled is True:
print("\nCannot patch! Please disable System Integrity Protection (SIP).")
print("Disable SIP in Patcher Settings and Rebuild OpenCore\n")
print("Ensure the following bits are set for csr-active-config:")
print("\n".join(self.constants.root_patch_sip_big_sur if self.constants.detected_os > self.constants.catalina else self.constants.root_patch_sip_mojave))
print("For Hackintoshes, please set csr-active-config to '030A0000' (0xA03)")
print("For non-OpenCore Macs, please run 'csrutil disable' and \n'csrutil authenticated-root disable' in RecoveryOS")
if self.sbm_enabled is True:
print("\nCannot patch! Please disable Apple Secure Boot.")
print("Disable SecureBootModel in Patcher Settings and Rebuild OpenCore")
print("For Hackintoshes, set SecureBootModel to Disabled")
if self.fv_enabled is True:
print("\nCannot patch! Please disable FileVault.")
print("Go to System Preferences -> Security and disable FileVault")
if self.amfi_enabled is True and self.amfi_must_disable is True:
print("\nCannot patch! Please disable AMFI.")
print("For Hackintoshes, please add amfi_get_out_of_my_way=1 to boot-args")
if any([self.sip_enabled, self.sbm_enabled, self.fv_enabled, self.amfi_enabled if self.amfi_must_disable else False]):
return False
else:
return True
# Entry Function
def start_patch(self):
print("- Starting Patch Process")
print(f"- Determinging Required Patch set for Darwin {self.constants.detected_os}")
self.detect_patch_set()
if self.no_patch is False and self.constants.gui_mode is False:
change_menu = input("Would you like to continue with Root Volume Patching?(y/n): ")
else:
change_menu = None
print("- No Root Patches required for your machine!")
if self.constants.gui_mode is False:
input("\nPress [ENTER] to return to the main menu: ")
if change_menu in ["y", "Y"]:
print("- Continuing with Patching")
print("- Verifying whether Root Patching possible")
if self.verify_patch_allowed() is True:
print("- Patcher is capable of patching")
self.check_files()
self.find_mount_root_vol(True)
elif self.constants.gui_mode is False:
input("\nPress [ENTER] to return to the main menu: ")
else:
print("- Returning to main menu")
def start_unpatch(self):
print("- Starting Unpatch Process")
if self.verify_patch_allowed() is True:
self.find_mount_root_vol(False)
if self.constants.gui_mode is False:
input("\nPress [ENTER] to return to the main menu")

View File

@@ -1,192 +0,0 @@
# Lists Root patches used by SysPatch.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",
"NVSMU.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",
]
AddIntelGen1Accel = [
"AppleIntelHDGraphics.kext",
"AppleIntelHDGraphicsFB.kext",
"AppleIntelHDGraphicsGA.plugin",
"AppleIntelHDGraphicsGLDriver.bundle",
"AppleIntelHDGraphicsVADriver.bundle",
]
AddIntelGen2Accel = [
"AppleIntelHD3000Graphics.kext",
"AppleIntelHD3000GraphicsGA.plugin",
"AppleIntelHD3000GraphicsGLDriver.bundle",
"AppleIntelHD3000GraphicsVADriver.bundle",
"AppleIntelSNBGraphicsFB.kext",
"AppleIntelSNBVA.bundle",
]
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"]
AddBrightness = [
"AppleBacklight.kext",
"AppleBacklightExpert.kext",
]
AddVolumeControl = [
"AppleHDA.kext",
"IOAudioFamily.kext",
]
DeleteVolumeControl = [
"AppleVirtIO.kext",
"AppleVirtualGraphics.kext",
"AppleVirtualPlatform.kext",
"ApplePVPanic.kext",
"AppleVirtIOStorage.kext",
]

View File

@@ -1,260 +0,0 @@
# Copyright (C) 2020-2021, Dhinak G
from __future__ import print_function
import os
import math
from pathlib import Path
import plistlib
import subprocess
import requests
import hashlib
import requests
from Resources import Constants
def hexswap(input_hex: str):
hex_pairs = [input_hex[i : i + 2] for i in range(0, len(input_hex), 2)]
hex_rev = hex_pairs[::-1]
hex_str = "".join(["".join(x) for x in hex_rev])
return hex_str.upper()
def header(lines):
lines = [i for i in lines if i is not None]
total_length = len(max(lines, key=len)) + 4
print("#" * (total_length))
for line in lines:
left_side = math.floor(((total_length - 2 - len(line.strip())) / 2))
print("#" + " " * left_side + line.strip() + " " * (total_length - len("#" + " " * left_side + line.strip()) - 1) + "#")
print("#" * total_length)
RECOVERY_STATUS = None
def check_recovery():
global RECOVERY_STATUS # pylint: disable=global-statement # We need to cache the result
if RECOVERY_STATUS is None:
RECOVERY_STATUS = Path("/System/Library/BaseSystem").exists()
return RECOVERY_STATUS
def get_disk_path():
root_partition_info = plistlib.loads(subprocess.run("diskutil info -plist /".split(), stdout=subprocess.PIPE).stdout.decode().strip().encode())
root_mount_path = root_partition_info["DeviceIdentifier"]
root_mount_path = root_mount_path[:-2] if root_mount_path.count("s") > 1 else root_mount_path
return root_mount_path
def csr_decode(csr_active_config):
if csr_active_config is None:
csr_active_config = b"\x00\x00\x00\x00"
sip_int = int.from_bytes(csr_active_config, byteorder="little")
i = 0
for current_sip_bit in Constants.Constants.csr_values:
if sip_int & (1 << i):
Constants.Constants.csr_values[current_sip_bit] = True
i = i + 1
# Can be adjusted to whatever OS needs patching
sip_needs_change = all(Constants.Constants.csr_values[i] for i in Constants.Constants.root_patch_sip_big_sur)
if sip_needs_change is True:
return False
else:
return True
def friendly_hex(integer: int):
return "{:02X}".format(integer)
def patching_status():
# Detection for Root Patching
sip_enabled = True # System Integrity Protection
sbm_enabled = True # Secure Boot Status (SecureBootModel)
amfi_enabled = True # Apple Mobile File Integrity
fv_enabled = True # FileVault
amfi_1 = "amfi_get_out_of_my_way=0x1"
amfi_2 = "amfi_get_out_of_my_way=1"
if get_nvram("boot-args", decode=False) and amfi_1 in get_nvram("boot-args", decode=False) or amfi_2 in get_nvram("boot-args", decode=False):
amfi_enabled = False
if get_nvram("HardwareModel", "94B73556-2197-4702-82A8-3E1337DAFBFB", decode=False) not in Constants.Constants.sbm_values:
sbm_enabled = False
if get_nvram("csr-active-config", decode=False) and csr_decode(get_nvram("csr-active-config", decode=False)) is False:
sip_enabled = False
fv_status: str = subprocess.run("fdesetup status".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.decode()
if fv_status.startswith("FileVault is Off"):
fv_enabled = False
return sip_enabled, sbm_enabled, amfi_enabled, fv_enabled
clear = True
def disable_cls():
global clear
clear = False
def cls():
global clear
if not clear:
return
if not check_recovery():
os.system("cls" if os.name == "nt" else "clear")
else:
print("\u001Bc")
def get_nvram(variable: str, uuid: str = None, *, decode: bool = False):
# TODO: Properly fix for El Capitan, which does not print the XML representation even though we say to
if uuid is not None:
uuid += ":"
else:
uuid = ""
result = subprocess.run(f"nvram -x {uuid}{variable}".split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.strip()
try:
value = plistlib.loads(result)[f"{uuid}{variable}"]
except plistlib.InvalidFileException:
return None
if decode:
value = value.strip(b"\0").decode()
return value
def download_file(link, location):
print("- Attempting download from following link:")
print(link)
if Path(location).exists():
print("- Removing old file")
Path(location).unlink()
response = requests.get(link, stream=True)
with location.open("wb") as file:
count = 0
for chunk in response.iter_content(1024 * 1024 * 4):
file.write(chunk)
count += len(chunk)
cls()
print(f"- Downloading package")
print(f"- {count / 1024 / 1024}MB Downloaded")
checksum = hashlib.sha256()
with location.open("rb") as file:
chunk = file.read(1024 * 1024 * 16)
while chunk:
checksum.update(chunk)
chunk = file.read(1024 * 1024 * 16)
print(f"- Checksum: {checksum.hexdigest()}")
# def menu(title, prompt, menu_options, add_quit=True, auto_number=False, in_between=[], top_level=False):
# return_option = ["Q", "Quit", None] if top_level else ["B", "Back", None]
# if add_quit: menu_options.append(return_option)
# cls()
# header(title)
# print()
# for i in in_between: print(i)
# if in_between: print()
# for index, option in enumerate(menu_options):
# if auto_number and not (index == (len(menu_options) - 1) and add_quit):
# option[0] = str((index + 1))
# print(option[0] + ". " + option[1])
# print()
# selected = input(prompt)
# keys = [option[0].upper() for option in menu_options]
# if not selected or selected.upper() not in keys:
# return
# if selected.upper() == return_option[0]:
# return -1
# else:
# menu_options[keys.index(selected.upper())][2]() if menu_options[keys.index(selected.upper())][2] else None
class TUIMenu:
def __init__(self, title, prompt, options=None, return_number_instead_of_direct_call=False, add_quit=True, auto_number=False, in_between=None, top_level=False, loop=False):
self.title = title
self.prompt = prompt
self.in_between = in_between or []
self.options = options or []
self.return_number_instead_of_direct_call = return_number_instead_of_direct_call
self.auto_number = auto_number
self.add_quit = add_quit
self.top_level = top_level
self.loop = loop
self.added_quit = False
def add_menu_option(self, name, description="", function=None, key=""):
self.options.append([key, name, description, function])
def start(self):
return_option = ["Q", "Quit"] if self.top_level else ["B", "Back"]
if self.add_quit and not self.added_quit:
self.add_menu_option(return_option[1], function=None, key=return_option[0])
self.added_quit = True
while True:
cls()
header(self.title)
print()
for i in self.in_between:
print(i)
if self.in_between:
print()
for index, option in enumerate(self.options):
if self.auto_number and not (index == (len(self.options) - 1) and self.add_quit):
option[0] = str((index + 1))
print(option[0] + ". " + option[1])
for i in option[2]:
print("\t" + i)
print()
selected = input(self.prompt)
keys = [option[0].upper() for option in self.options]
if not selected or selected.upper() not in keys:
if self.loop:
continue
else:
return
if self.add_quit and selected.upper() == return_option[0]:
return -1
elif self.return_number_instead_of_direct_call:
return self.options[keys.index(selected.upper())][0]
else:
self.options[keys.index(selected.upper())][3]() if self.options[keys.index(selected.upper())][3] else None
if not self.loop:
return
class TUIOnlyPrint:
def __init__(self, title, prompt, in_between=None):
self.title = title
self.prompt = prompt
self.in_between = in_between or []
def start(self):
cls()
header(self.title)
print()
for i in self.in_between:
print(i)
if self.in_between:
print()
return input(self.prompt)

View File

@@ -1,5 +0,0 @@
# Credit: CorpNewt
from os.path import dirname, basename, isfile
import glob
modules = glob.glob(dirname(__file__)+"/*.py")
__all__ = [ basename(f)[:-3] for f in modules if isfile(f) and not f.endswith('__init__.py')]

View File

@@ -1,383 +0,0 @@
import binascii
import enum
import itertools
import plistlib
import subprocess
from dataclasses import dataclass, field
from typing import Any, ClassVar, Optional, Type
from Resources import PCIIDArray, Utilities, ioreg
@dataclass
class CPU:
name: str
flags: list[str]
@dataclass
class PCIDevice:
VENDOR_ID: ClassVar[int] # Default vendor id, for subclasses.
vendor_id: int # The vendor ID of this PCI device
device_id: int # The device ID of this PCI device
class_code: int # The class code of this PCI device
# ioregistryentry: Optional[ioreg.IORegistryEntry] = None
name: Optional[str] = None # Name of IORegistryEntry
model: Optional[str] = None # model property
pci_path: Optional[str] = None
# def __getstate__(self):
# state = self.__dict__.copy()
# state.pop("ioregistryentry")
# return state
@classmethod
def from_ioregistry(cls, entry: ioreg.IORegistryEntry, anti_spoof=False):
if anti_spoof and "IOName" in entry.properties:
vendor_id, device_id = (int(i, 16) for i in entry.properties["IOName"][3:].split(","))
else:
vendor_id, device_id = [int.from_bytes(entry.properties[i][:4], byteorder="little") for i in ["vendor-id", "device-id"]]
device = cls(vendor_id, device_id, int.from_bytes(entry.properties["class-code"][:6], byteorder="little"), name=entry.name)
if "model" in entry.properties:
device.model = entry.properties["model"].strip(b"\0").decode()
device.populate_pci_path(entry)
return device
# @staticmethod
# def vendor_detect_old(device):
# for i in [NVIDIA, AMD]:
# if i.detect(device):
# return i
# return None
def vendor_detect(self, *, inherits: ClassVar[Any] = None, classes: list = None):
for i in classes or itertools.chain.from_iterable([subclass.__subclasses__() for subclass in PCIDevice.__subclasses__()]):
if issubclass(i, inherits or object) and i.detect(self):
return i
return None
@classmethod
def detect(cls, device):
return device.vendor_id == cls.VENDOR_ID and ((device.class_code == cls.CLASS_CODE) if getattr(cls, "CLASS_CODE", None) else True) # type: ignore # pylint: disable=no-member
# def acpi_path(self):
# # Eventually
# raise NotImplementedError
def populate_pci_path(self, entry: ioreg.IORegistryEntry):
# Based off gfxutil logic, seems to work.
paths = []
while entry:
if entry.entry_class == "IOPCIDevice":
location = [hex(int(i, 16)) for i in entry.location.split(",") + ["0"]]
paths.append(f"Pci({location[0]},{location[1]})")
elif entry.entry_class == "IOACPIPlatformDevice":
paths.append(f"PciRoot({hex(int(entry.properties.get('_UID', 0)))})")
break
elif entry.entry_class in ["IOPCI2PCIBridge", "IOPCIBridge", "AppleACPIPCI"]:
pass
else:
# There's something in between that's not PCI! Abort
paths = []
break
entry = entry.parent
self.pci_path = "/".join(reversed(paths))
@dataclass
class GPU(PCIDevice):
arch: enum.Enum = field(init=False) # The architecture, see subclasses.
def __post_init__(self):
self.detect_arch()
def detect_arch(self):
raise NotImplementedError
@dataclass
class WirelessCard(PCIDevice):
CLASS_CODE: ClassVar[int] = 0x028000 # 00800200 hexswapped
country_code: str = field(init=False)
chipset: enum.Enum = field(init=False)
def __post_init__(self):
system_profiler = plistlib.loads(subprocess.run("system_profiler -xml SPAirPortDataType".split(), stdout=subprocess.PIPE).stdout)
self.country_code = system_profiler[0]["_items"][0]["spairport_airport_interfaces"][0]["spairport_wireless_country_code"]
self.detect_chipset()
def detect_chipset(self):
raise NotImplementedError
@dataclass
class NVMeController(PCIDevice):
CLASS_CODE: ClassVar[int] = 0x010802
aspm: Optional[int] = None
parent_aspm: Optional[int] = None
@dataclass
class SATAController(PCIDevice):
CLASS_CODE: ClassVar[int] = 0x010601
@dataclass
class NVIDIA(GPU):
VENDOR_ID: ClassVar[int] = 0x10DE
class Archs(enum.Enum):
# pylint: disable=invalid-name
Fermi = "Fermi"
Tesla = "Tesla"
Kepler = "Kepler"
Unknown = "Unknown"
arch: Archs = field(init=False)
def detect_arch(self):
# G80/G80GL
if self.device_id in PCIIDArray.nvidia_ids.tesla_ids:
self.arch = NVIDIA.Archs.Tesla
elif self.device_id in PCIIDArray.nvidia_ids.fermi_ids:
self.arch = NVIDIA.Archs.Fermi
elif self.device_id in PCIIDArray.nvidia_ids.kepler_ids:
self.arch = NVIDIA.Archs.Kepler
else:
self.arch = NVIDIA.Archs.Unknown
@dataclass
class AMD(GPU):
VENDOR_ID: ClassVar[int] = 0x1002
class Archs(enum.Enum):
# pylint: disable=invalid-name
Legacy_GCN = "Legacy GCN"
TeraScale_1 = "TeraScale 1"
TeraScale_2 = "TeraScale 2"
Polaris = "Polaris"
Vega = "Vega"
Navi = "Navi"
Unknown = "Unknown"
arch: Archs = field(init=False)
def detect_arch(self):
if self.device_id in PCIIDArray.amd_ids.legacy_gcn_ids:
self.arch = AMD.Archs.Legacy_GCN
elif self.device_id in PCIIDArray.amd_ids.terascale_1_ids:
self.arch = AMD.Archs.TeraScale_1
elif self.device_id in PCIIDArray.amd_ids.terascale_2_ids:
self.arch = AMD.Archs.TeraScale_2
elif self.device_id in PCIIDArray.amd_ids.polaris_ids:
self.arch = AMD.Archs.Polaris
elif self.device_id in PCIIDArray.amd_ids.vega_ids:
self.arch = AMD.Archs.Vega
elif self.device_id in PCIIDArray.amd_ids.navi_ids:
self.arch = AMD.Archs.Navi
else:
self.arch = AMD.Archs.Unknown
@dataclass
class Intel(GPU):
VENDOR_ID: ClassVar[int] = 0x8086
class Archs(enum.Enum):
# pylint: disable=invalid-name
Iron_Lake = "Iron Lake"
Sandy_Bridge = "Sandy Bridge"
Ivy_Bridge = "Ivy Bridge"
Unknown = "Unknown"
arch: Archs = field(init=False)
def detect_arch(self):
if self.device_id in PCIIDArray.intel_ids.iron_ids:
self.arch = Intel.Archs.Iron_Lake
elif self.device_id in PCIIDArray.intel_ids.sandy_ids:
self.arch = Intel.Archs.Sandy_Bridge
elif self.device_id in PCIIDArray.intel_ids.ivy_ids:
self.arch = Intel.Archs.Ivy_Bridge
else:
self.arch = Intel.Archs.Unknown
@dataclass
class Broadcom(WirelessCard):
VENDOR_ID: ClassVar[int] = 0x14E4
class Chipsets(enum.Enum):
# pylint: disable=invalid-name
AirportBrcmNIC = "AirportBrcmNIC supported"
AirPortBrcm4360 = "AirPortBrcm4360 supported"
AirPortBrcm4331 = "AirPortBrcm4331 supported"
AirPortBrcm43224 = "AppleAirPortBrcm43224 supported"
Unknown = "Unknown"
chipset: Chipsets = field(init=False)
def detect_chipset(self):
if self.device_id in PCIIDArray.broadcom_ids.AirPortBrcmNIC:
self.chipset = Broadcom.Chipsets.AirportBrcmNIC
elif self.device_id in PCIIDArray.broadcom_ids.AirPortBrcm4360:
self.chipset = Broadcom.Chipsets.AirPortBrcm4360
elif self.device_id in PCIIDArray.broadcom_ids.AirPortBrcm4331:
self.chipset = Broadcom.Chipsets.AirPortBrcm4331
elif self.device_id in PCIIDArray.broadcom_ids.AppleAirPortBrcm43224:
self.chipset = Broadcom.Chipsets.AirPortBrcm43224
else:
self.chipset = Broadcom.Chipsets.Unknown
@dataclass
class Atheros(WirelessCard):
VENDOR_ID: ClassVar[int] = 0x168C
class Chipsets(enum.Enum):
# pylint: disable=invalid-name
# Well there's only one model but
AirPortAtheros40 = "AirPortAtheros40 supported"
Unknown = "Unknown"
chipset: Chipsets = field(init=False)
def detect_chipset(self):
if self.device_id in PCIIDArray.atheros_ids.AtherosWifi:
self.chipset = Atheros.Chipsets.AirPortAtheros40
else:
self.chipset = Atheros.Chipsets.Unknown
@dataclass
class Computer:
real_model: Optional[str] = None
real_board_id: Optional[str] = None
reported_model: Optional[str] = None
reported_board_id: Optional[str] = None
gpus: list[GPU] = field(default_factory=list)
igpu: Optional[GPU] = None # Shortcut for IGPU
dgpu: Optional[GPU] = None # Shortcut for GFX0
storage: list[PCIDevice] = field(default_factory=list)
wifi: Optional[WirelessCard] = None
cpu: Optional[CPU] = None
oclp_version: Optional[str] = None
ioregistry: Optional[ioreg.IOReg] = None
@staticmethod
def probe():
computer = Computer()
computer.ioregistry = ioreg.IOReg()
computer.gpu_probe()
computer.dgpu_probe()
computer.igpu_probe()
computer.wifi_probe()
computer.storage_probe()
computer.smbios_probe()
computer.cpu_probe()
return computer
def gpu_probe(self):
# Chain together two iterators: one for class code 00000300, the other for class code 00800300
devices = itertools.chain(self.ioregistry.find(property=("class-code", binascii.a2b_hex("00000300"))), self.ioregistry.find(property=("class-code", binascii.a2b_hex("00800300"))))
for device in devices:
vendor: Type[GPU] = PCIDevice.from_ioregistry(device).vendor_detect(inherits=GPU) # type: ignore
if vendor:
self.gpus.append(vendor.from_ioregistry(device)) # type: ignore
def dgpu_probe(self):
device = next(self.ioregistry.find(name="GFX0"), None)
if not device:
# No devices
return
vendor: Type[GPU] = PCIDevice.from_ioregistry(device).vendor_detect(inherits=GPU) # type: ignore
if vendor:
self.dgpu = vendor.from_ioregistry(device) # type: ignore
def igpu_probe(self):
device = next(self.ioregistry.find(name="IGPU"), None)
if not device:
# No devices
return
vendor: Type[GPU] = PCIDevice.from_ioregistry(device).vendor_detect(inherits=GPU) # type: ignore
if vendor:
self.igpu = vendor.from_ioregistry(device) # type: ignore
def wifi_probe(self):
# result = subprocess.run("ioreg -r -c IOPCIDevice -a -d2".split(), stdout=subprocess.PIPE).stdout.strip()
devices = self.ioregistry.find(property=("class-code", binascii.a2b_hex(Utilities.hexswap(hex(WirelessCard.CLASS_CODE)[2:].zfill(8)))))
# if not result:
# # No devices
# print("A")
# return
# devices = plistlib.loads(result)
# devices = [i for i in devices if i["class-code"] == binascii.a2b_hex("00800200")]
# if not devices:
# # No devices
# print("B")
# return
for device in devices:
vendor: Type[WirelessCard] = PCIDevice.from_ioregistry(device, anti_spoof=True).vendor_detect(inherits=WirelessCard) # type: ignore
if vendor:
self.wifi = vendor.from_ioregistry(device, anti_spoof=True) # type: ignore
break
def storage_probe(self):
sata_controllers = self.ioregistry.find(entry_class="IOPCIDevice", property=("class-code", binascii.a2b_hex(Utilities.hexswap(hex(SATAController.CLASS_CODE)[2:].zfill(8)))))
nvme_controllers = itertools.chain.from_iterable(
[
# self.ioregistry.find(entry_class="IOPCIDevice", property=("class-code", binascii.a2b_hex(Utilities.hexswap(hex(NVMeController.CLASS_CODE)[2:].zfill(8))))),
self.ioregistry.find(entry_class="IOPCIDevice", children={"entry_class": "IONVMeController"}),
]
)
for device in sata_controllers:
self.storage.append(SATAController.from_ioregistry(device))
for device in nvme_controllers:
aspm = device.properties.get("pci-aspm-default", 0)
if isinstance(aspm, bytes):
aspm = int.from_bytes(aspm, byteorder="little")
if device.parent.parent.entry_class == "IOPCIDevice":
parent_aspm = device.parent.parent.properties.get("pci-aspm-default", 0)
if isinstance(parent_aspm, bytes):
parent_aspm = int.from_bytes(parent_aspm, byteorder="little")
else:
parent_aspm = None
controller = NVMeController.from_ioregistry(device)
controller.aspm = aspm
controller.parent_aspm = parent_aspm
if controller.vendor_id != 0x106B:
self.storage.append(controller)
def smbios_probe(self):
# Reported model
entry = next(self.ioregistry.find(name="Root")).children[0]
self.reported_model = entry.properties["model"].strip(b"\0").decode()
self.reported_board_id = entry.properties.get("board-id", entry.properties.get("target-type", b"")).strip(b"\0").decode()
# Real model
# TODO: We previously had logic for OC users using iMacPro1,1 with incorrect ExposeSensitiveData. Add logic?
self.real_model = Utilities.get_nvram("oem-product", "4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102", decode=True) or self.reported_model
self.real_board_id = Utilities.get_nvram("oem-board", "4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102", decode=True) or self.reported_board_id
# OCLP version
self.oclp_version = Utilities.get_nvram("OCLP-Version", "4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102", decode=True)
def cpu_probe(self):
self.cpu = CPU(
subprocess.run("sysctl machdep.cpu.brand_string".split(), stdout=subprocess.PIPE).stdout.decode().partition(": ")[2].strip(),
subprocess.run("sysctl machdep.cpu.features".split(), stdout=subprocess.PIPE).stdout.decode().partition(": ")[2].strip().split(" "),
)

View File

@@ -1,83 +0,0 @@
from __future__ import annotations
from dataclasses import dataclass
import plistlib
import subprocess
from typing import Generator
@dataclass
class IORegistryEntry:
name: str
entry_class: str
properties: dict
location: str
children: list[IORegistryEntry]
parent: IORegistryEntry
class IOReg:
def __init__(self):
self.ioreg = plistlib.loads(subprocess.run("ioreg -a -l".split(), stdout=subprocess.PIPE).stdout.strip())
self.tree = self.recurse(self.ioreg, None)
def recurse(self, entry, parent):
converted = IORegistryEntry(
entry["IORegistryEntryName"],
entry["IOObjectClass"],
{
i: v
for i, v in entry.items()
if i
not in [
"IOServiceBusyState",
"IOServiceBusyTime",
"IOServiceState",
"IORegistryEntryLocation",
"IORegistryEntryName",
"IORegistryEntryID",
"IOObjectClass",
"IORegistryEntryChildren",
"IOObjectRetainCount",
]
},
entry.get("IORegistryEntryLocation"),
[],
parent,
)
for i in entry.get("IORegistryEntryChildren", []):
converted.children.append(self.recurse(i, converted))
return converted
def parse_conditions(self, entry: IORegistryEntry, **kwargs):
conditions = []
if "parent" in kwargs:
conditions.append(self.parse_conditions(entry.parent, **kwargs["parent"]))
if "children" in kwargs:
conditions.append(any(self.parse_conditions(i, **kwargs["children"]) for i in entry.children))
if "name" in kwargs:
conditions.append(kwargs["name"] == entry.name)
if "entry_class" in kwargs:
conditions.append(kwargs["entry_class"] == entry.entry_class)
if "key" in kwargs:
conditions.append(kwargs["key"] in entry.properties)
if "property" in kwargs:
conditions.append(kwargs["property"][0] in entry.properties and entry.properties[kwargs["property"][0]] == kwargs["property"][1])
return all(conditions)
def find(self, root: IORegistryEntry = None, **kwargs) -> Generator[IORegistryEntry, None, None]:
if not root:
root = self.tree
if not kwargs:
return
if self.parse_conditions(root, **kwargs):
yield root
for i in root.children:
for j in self.find(i, **kwargs):
yield j

75
SOURCE.md Normal file
View File

@@ -0,0 +1,75 @@
# Build and run from source
OpenCore Legacy Patcher at its core is a Python-based GUI/CLI-based application. In turn, to run the project from source, you simply need to invoke the OpenCore-Patcher-GUI.command file via Python.
For developers wishing to validate mainline changes, you may use this link: [GUI (Graphical Based App)](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-app-wxpython/main/OpenCore-Patcher.app%20%28GUI%29.zip)
* **Warning**: Nightly builds (untagged builds built from the latest commit) are actively developed OpenCore Legacy Patcher builds. These builds have not been tested, are not guaranteed to work, and are not guaranteed to be safe. Do not use nightlies without a good reason to do so, and do not use them on your main machine. Additionally, these binaries should not be used without first consulting the [CHANGELOG](./CHANGELOG.md).
**Do not share _any_ links to these binaries** in forums; please link to **this document only**.
* Additionally, do not reupload these binaries or download binaries from other sites. Using binaries from untrusted sources is a security issue, as they may have been tampered with.
* Users running new builds of the project without understanding what has changed and the implications of installing software under active development are at a higher risk of bricking their installation as they do not read any warnings provided in the CHANGELOG. We wish to minimize these situations as much as possible.
## Getting Started
To start, ensure you have Python 3.6 or newer installed. Additionally, ensure that it was downloaded from the official source, [python.org](https://www.python.org/downloads/macos/).
* Python installations either preinstalled or provided with Xcode or the Xcode Command Line Tools are unsupported due to reliability issues.
Once Python is installed, open Terminal and run the following:
```sh
# Move into a directory to store the project
cd ~/Developer
# Clone project
git clone https://github.com/dortania/OpenCore-Legacy-Patcher
# Move into Project directory
cd ./OpenCore-Legacy-Patcher
# Install Python dependencies used by the project
pip3 install -r requirements.txt
```
If you have any installation errors, see the following troubleshooting options:
* Use Python 3.10
* Our build server currently uses Python 3.10 for generating binaries used in releases
* Use .whl snapshots for installing additional dependencies
## Running OpenCore Legacy Patcher
To run the project from source, simply invoke via python3:
```sh
# Launch GUI
python3 OpenCore-Patcher-GUI.command
```
Note that the OpenCore-Patcher-GUI.command file can be run as both a GUI and a CLI utility for other programs to call. If no core arguments are passed, the GUI is initialized. Otherwise the CLI will start:
```sh
# Launch CLI
python3 OpenCore-Patcher-GUI.command --build --model iMac12,2 --verbose
```
Pass `-h` or `--help` for more information on supported CLI arguments.
## Generating prebuilt binaries
The main goal of generating prebuilt binaries is to strip the requirement of a local Python installation for users. For developers, there's very little benefit besides enabling dark mode support in the GUI. For development, simply use the OpenCore-Patcher-GUI.command file with a Python 3 installation.
```sh
# Install PyInstaller
pip3 install pyinstaller
# Move into project directory
cd ~/Developer/OpenCore-Legacy-Patcher/
# Create the pyinstaller based Application
# Optional Arguments
# '--reset_binaries': Redownload and generate support files
python3 Build-Binary.command
# Open build folder
open ./dist/
```
Once done, you'll find the application generated at `./dist/OpenCore-Patcher.app`:
![](./images/build-dist.png)

View File

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

57
data/amfi_data.py Normal file
View File

@@ -0,0 +1,57 @@
# Copyright (C) 2022, Mykola Grymalyuk
# Within AppleMobileFileIntegrity.kext, Apple has a bitmask-based boot-arg (ex. amfi=128)
# Below information is from reversed values in 13.0 Beta 6's AppleMobileFileIntegrity.kext
# Currently only 'amfi=3' has been used by Apple publicly
# - 0x3 used in 11.0.1 dyld source:
# - https://github.com/apple-oss-distributions/dyld/blob/5c9192436bb195e7a8fe61f22a229ee3d30d8222/testing/test-cases/kernel-hello-world.dtest/main.c#L2
import enum
class AppleMobileFileIntegrity(enum.IntEnum):
# Names set are solely for readability
# Internal names are unknown
AMFI_ALLOW_TASK_FOR_PID: int = 0x1 # Allow Task for PID (alt. amfi_unrestrict_task_for_pid=0x1)
AMFI_ALLOW_INVALID_SIGNATURE: int = 0x2 # Reduce sig enforcement (alt. amfi_allow_any_signature=0x1)
AMFI_LV_ENFORCE_THIRD_PARTY: int = 0x4 # Don't mark external binaries as platform binaries
AMFI_UNKNOWN_1: int = 0x8
AMFI_UNKNOWN_2: int = 0x10
AMFI_UNKNOWN_3: int = 0x20
AMFI_UNKNOWN_4: int = 0x40
AMFI_ALLOW_EVERYTHING: int = 0x80 # Disable sig enforcement and Library Validation (alt. amfi_get_out_of_my_way=0x1)
# Internally within AMFI.kext, Apple references 0x2 and 0x80 as both 'Disable signature enforcement'
# However 0x80 is a higher privilege than 0x2, and breaks TCC support in OS (ex. Camera, Microphone, etc prompts)
# Supported boot-args within AMFI.kext, last compared against 13.0 Beta 6
#
# Within _initializeAppleMobileFileIntegrity():
# - amfi_unrestrict_task_for_pid=0x1
# - amfi_dev_mode_policy=0x1
# - amfi_allow_any_signature=0x1
# - amfi_get_out_of_my_way=0x1
# - amfi_unrestricted_local_signing=0x1
# - pmap_cs_unrestricted_local_signing=0x1
# - amfi_ready_to_roll=0x1
# - cs_enforcement_disable=0x1
#
# Within AMFIInitializeLocalSigningPublicKey():
# - -restore
#
# Within macOSPolicyConfigurationInit():
# - amfi_force_policy=0x1
# - amfi_block_unsigned_code=0x1
# - amfi_force_cs_kill=0x1
# - amfi_hsp_disable=0x1
# - amfi_hsp_logging=0x1
# - amfi_allow_bni_as_platform=0x1
# - amfi_allow_non_platform=0x1
# - amfi_prevent_old_entitled_platform_binaries=0x1
# - amfi_allow_only_tc=0x1
# - amfi_allow_only_tc_override=0x1
#
# Within configurationSettingsInit()
# - amfi_enforce_launch_constraints=0x1
# - amfi_allow_3p_launch_constraints=0x1
# - BATS_TESTPLAN_ID="Custom Team ID"

15
data/bluetooth_data.py Normal file
View File

@@ -0,0 +1,15 @@
import enum
class bluetooth_data(enum.IntEnum):
# Bluetooth Chipsets
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

21
data/cpu_data.py Normal file
View File

@@ -0,0 +1,21 @@
import enum
class CPUGen(enum.IntEnum):
pentium_4 = 0
yonah = 1
conroe = 2
penryn = 3
nehalem = 4 # (Westmere included)
sandy_bridge = 5 # 2000
ivy_bridge = 6 # 3000
haswell = 7 # 4000
broadwell = 8 # 5000
skylake = 9 # 6000
kaby_lake = 10 # 7000
coffee_lake = 11 # 8000/9000
comet_lake = 12 # 10000
ice_lake = 13 # 10000
apple_dtk = 100 # A12
apple_silicon = 101 # A14 and newer (not tracked beyond this point)

778
data/example_data.py Normal file
View File

@@ -0,0 +1,778 @@
# Example Hardware probe of multiple models
# To be used when running validation tests
from resources import device_probe
class MacBook:
MacBook71 = device_probe.Computer(
real_model="MacBook7,1",
real_board_id="Mac-F22C89C8",
reported_model="MacBook7,1",
reported_board_id="Mac-F22C89C8",
gpus=[
device_probe.NVIDIA(vendor_id=4318, device_id=2208, class_code=196608, name="IGPU", model="NVIDIA GeForce 320M", pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
],
igpu=device_probe.NVIDIA(vendor_id=4318, device_id=2208, class_code=196608, name="IGPU", model="NVIDIA GeForce 320M", pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
dgpu=None,
storage=[
device_probe.SATAController(vendor_id=4318, device_id=3464, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0xa,0x0)"),
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17235, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz",
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "SMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
leafs=[],
),
oclp_version=None,
opencore_version=None,
)
class MacBookPro:
MacBookPro92_Stock = device_probe.Computer(
real_model="MacBookPro9,2",
real_board_id="Mac-6F01561E16C75D06",
reported_model="MacBookPro9,2",
reported_board_id="Mac-6F01561E16C75D06",
gpus=[
device_probe.Intel(vendor_id=32902, device_id=358, class_code=196608, name="IGPU", model="Intel HD Graphics 4000", pci_path="PciRoot(0x0)/Pci(0x2,0x0)")
],
igpu=device_probe.Intel(vendor_id=32902, device_id=358, class_code=196608, name="IGPU", model="Intel HD Graphics 4000", pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
dgpu=None,
storage=[device_probe.SATAController(vendor_id=32902, device_id=7683, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17201, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x1)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name='Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz',
flags=['FPU', 'VME', 'DE', 'PSE', 'TSC', 'MSR', 'PAE', 'MCE', 'CX8', 'APIC', 'SEP', 'MTRR', 'PGE', 'MCA', 'CMOV', 'PAT', 'PSE36', 'CLFSH', 'DS', 'ACPI', 'MMX', 'FXSR', 'SSE', 'SSE2', 'SS', 'HTT', 'TM', 'PBE', 'SSE3', 'PCLMULQDQ', 'DTES64', 'MON', 'DSCPL', 'VMX', 'EST', 'TM2', 'SSSE3', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'TSCTMR', 'AVX1.0', 'RDRAND', 'F16C'],
leafs=[],
),
oclp_version=None,
opencore_version=None,
)
MacBookPro111_Stock = device_probe.Computer(
real_model='MacBookPro11,1',
real_board_id='Mac-189A3D4F975D5FFC',
reported_model='MacBookPro11,1',
reported_board_id='Mac-189A3D4F975D5FFC',
gpus=[
device_probe.Intel(vendor_id=32902, device_id=2606, class_code=196608, name='IGPU', model='Intel Iris', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)')
],
igpu=device_probe.Intel(vendor_id=32902, device_id=2606, class_code=196608, name='IGPU', model='Intel Iris', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
dgpu=None,
storage=[
device_probe.SATAController(vendor_id=6987, device_id=37251, class_code=67073, name='SSD0', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP06@1c0005/SSD0@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x5)/Pci(0x0,0x0)')
],
usb_controllers=[
device_probe.XHCIController(vendor_id=32902, device_id=39985, class_code=787248, name='XHC1', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/XHC1@140000', pci_path='PciRoot(0x0)/Pci(0x14,0x0)')
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17312, class_code=163840, name='ARPT', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP03@1c0002/ARPT@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x2)/Pci(0x0,0x0)'),
cpu=device_probe.CPU(
name='Intel(R) Core(TM) i5-4258U CPU @ 2.40GHz',
flags=['FPU', 'VME', 'DE', 'PSE', 'TSC', 'MSR', 'PAE', 'MCE', 'CX8', 'APIC', 'SEP', 'MTRR', 'PGE', 'MCA', 'CMOV', 'PAT', 'PSE36', 'CLFSH', 'DS', 'ACPI', 'MMX', 'FXSR', 'SSE', 'SSE2', 'SS', 'HTT', 'TM', 'PBE', 'SSE3', 'PCLMULQDQ', 'DTES64', 'MON', 'DSCPL', 'VMX', 'EST', 'TM2', 'SSSE3', 'FMA', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'MOVBE', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'SEGLIM64', 'TSCTMR', 'AVX1.0', 'RDRAND', 'F16C'],
leafs=[],
),
oclp_version='0.4.2',
opencore_version='DBG-077-2022-01-10',
bluetooth_chipset='BRCM20702 Hub',
third_party_sata_ssd=False
)
MacBookPro133_Stock = device_probe.Computer(
real_model='MacBookPro13,3',
real_board_id='Mac-A5C67F76ED83108C',
reported_model='MacBookPro13,3',
reported_board_id='Mac-A5C67F76ED83108C',
build_model='MacBookPro13,3',
gpus=[
device_probe.Intel(vendor_id=32902, device_id=6427, class_code=196608, name='IGPU', model='Intel HD Graphics 530', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)', disable_metal=False, force_compatible=False),
device_probe.AMD(vendor_id=4098, device_id=26607, class_code=196608, name='GFX0', model='AMD Radeon Pro 455', acpi_path='IOACPIPlane:/_SB/PCI0@0/PEG0@10000/GFX0@0', pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False)
],
igpu=device_probe.Intel(vendor_id=32902, device_id=6427, class_code=196608, name='IGPU', model='Intel HD Graphics 530', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)', disable_metal=False, force_compatible=False),
dgpu=device_probe.AMD(vendor_id=4098, device_id=26607, class_code=196608, name='GFX0', model='AMD Radeon Pro 455', acpi_path='IOACPIPlane:/_SB/PCI0@0/PEG0@10000/GFX0@0', pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False),
storage=[
device_probe.NVMeController(vendor_id=5197, device_id=43012, class_code=67586, name='SSD0', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP17@1b0000/SSD0@0', pci_path='PciRoot(0x0)/Pci(0x1b,0x0)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False, aspm=258)
],
usb_controllers=[
device_probe.XHCIController(vendor_id=32902, device_id=41263, class_code=787248, name='XHC1', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/XHC1@140000', pci_path='PciRoot(0x0)/Pci(0x14,0x0)', disable_metal=False, force_compatible=False),
device_probe.XHCIController(vendor_id=32902, device_id=5588, class_code=787248, name='XHC3', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/PEG2@10002/UPSB@0/DSB2@20000/XHC3@0', pci_path='PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False),
device_probe.XHCIController(vendor_id=32902, device_id=5588, class_code=787248, name='XHC2', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/PEG1@10001/UPSB@0/DSB2@20000/XHC2@0', pci_path='PciRoot(0x0)/Pci(0x1,0x1)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False)
],
sdxc_controller=[],
ethernet=[],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17338, 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)', disable_metal=False, force_compatible=False),
cpu=device_probe.CPU(
name='Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz',
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'],
leafs=[]
),
oclp_version='0.5.0',
opencore_version=None,
opencore_path=None,
bluetooth_chipset=None,
ambient_light_sensor=False,
third_party_sata_ssd=False,
secure_boot_model='x86legacyap',
secure_boot_policy=0,
oclp_sys_version=None,
oclp_sys_date=None,
oclp_sys_url=None,
firmware_vendor='Apple'
)
MacBookPro141_SSD_Upgrade = device_probe.Computer(
real_model='MacBookPro14,1',
real_board_id='Mac-B4831CEBD52A0C4C',
reported_model='MacBookPro14,1',
reported_board_id='Mac-B4831CEBD52A0C4C',
gpus=[
device_probe.Intel(vendor_id=32902, device_id=22822, class_code=196608, name='IGPU', model='Intel Iris Plus Graphics 640', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)')
],
igpu=device_probe.Intel(vendor_id=32902, device_id=22822, class_code=196608, name='IGPU', model='Intel Iris Plus Graphics 640', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
dgpu=None,
storage=[
device_probe.NVMeController(vendor_id=6535, device_id=20499, class_code=67586, name='SSD0', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP01@1c0000/SSD0@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)', aspm=2)
],
usb_controllers=[
device_probe.XHCIController(vendor_id=32902, device_id=40239, class_code=787248, name='XHC1', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/XHC1@140000', pci_path='PciRoot(0x0)/Pci(0x14,0x0)'),
device_probe.XHCIController(vendor_id=32902, device_id=5588, class_code=787248, name='XHC2', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP05@1c0004/UPSB@0/DSB2@20000/XHC2@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x4)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)')
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17315, class_code=163840, name='ARPT', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP09@1d0000/ARPT@0', pci_path='PciRoot(0x0)/Pci(0x1d,0x0)/Pci(0x0,0x0)'),
cpu=device_probe.CPU(
name='Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz',
flags=['FPU', 'VME', 'DE', 'PSE', 'TSC', 'MSR', 'PAE', 'MCE', 'CX8', 'APIC', 'SEP', 'MTRR', 'PGE', 'MCA', 'CMOV', 'PAT', 'PSE36', 'CLFSH', 'DS', 'ACPI', 'MMX', 'FXSR', 'SSE', 'SSE2', 'SS', 'HTT', 'TM', 'PBE', 'SSE3', 'PCLMULQDQ', 'DTES64', 'MON', 'DSCPL', 'VMX', 'SMX', 'EST', 'TM2', 'SSSE3', 'FMA', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'MOVBE', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'SEGLIM64', 'TSCTMR', 'AVX1.0', 'RDRAND', 'F16C'],
leafs=[],
), oclp_version='0.4.1',
opencore_version=None,
bluetooth_chipset=None,
third_party_sata_ssd=False)
MacBookPro171_Stock = device_probe.Computer(
# Run under Rosetta
real_model="MacBookPro17,1",
real_board_id="J293",
reported_model="MacBookPro17,1",
reported_board_id="J293",
gpus=[device_probe.AMD(vendor_id=4098, device_id=26640, class_code=196608, name="display", model="Unknown Unknown", pci_path="")],
igpu=None,
dgpu=None,
storage=[],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17445, class_code=163840, name="wlan", model=None, pci_path=""),
cpu=device_probe.CPU(
name="Apple M1",
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "PCLMULQDQ", "DTSE64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "AES", "SEGLIM64"],
leafs=[],
),
oclp_version=None,
opencore_version=None,
)
class Macmini:
Macmini52_Stock = device_probe.Computer(
real_model='Macmini5,2',
real_board_id='Mac-4BC72D62AD45599E',
reported_model='Macmini5,2',
reported_board_id='Mac-4BC72D62AD45599E',
build_model='Macmini5,2',
gpus=[
device_probe.Intel(vendor_id=32902, device_id=294, class_code=229376, name='IGPU', model='Intel HD Graphics 3000', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)', disable_metal=False, force_compatible=False),
device_probe.AMD(vendor_id=4098, device_id=26433, class_code=196608, name='GFX0', model='AMD Radeon HD 6630M', acpi_path='IOACPIPlane:/_SB/PCI0@0/P0P2@10000/GFX0@0', pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False)],
igpu=device_probe.Intel(vendor_id=32902, device_id=294, class_code=229376, name='IGPU', model='Intel HD Graphics 3000', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)', disable_metal=False, force_compatible=False),
dgpu=device_probe.AMD(vendor_id=4098, device_id=26433, class_code=196608, name='GFX0', model='AMD Radeon HD 6630M', acpi_path='IOACPIPlane:/_SB/PCI0@0/P0P2@10000/GFX0@0', pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=7171, 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=7213, 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=7206, 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=7212, class_code=787200, name='UHC5', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/UHC5@1a0000', pci_path='PciRoot(0x0)/Pci(0x1a,0x0)', disable_metal=False, force_compatible=False),
device_probe.UHCIController(vendor_id=32902, device_id=7207, 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)
],
sdxc_controller=[
device_probe.SDXCController(vendor_id=5348, device_id=5820, class_code=525569, name='SDXC', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP01@1c0000/SDXC@1', pci_path='PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x1)', disable_metal=False, force_compatible=False)
],
ethernet=[
device_probe.BroadcomEthernet(vendor_id=5348, device_id=5812, class_code=131072, name='GIGE', model='Broadcom 57765-B0', acpi_path='IOACPIPlane:/_SB/PCI0@0/RP01@1c0000/GIGE@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False)
],
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)', disable_metal=False, force_compatible=False),
cpu=device_probe.CPU(
name='Intel(R) Core(TM) i5-2520M 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', 'SMX', 'EST', 'TM2', 'SSSE3', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'TSCTMR', 'AVX1.0'],
leafs=['']
),
oclp_version='0.5.0',
opencore_version='REL-083-2022-08-01',
opencore_path='PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0x0,0x0)/HD(1,GPT,D011D782-7E9A-459B-905D-9DA8D6494A53,0x28,0x64000)/EFI\\OC\\OpenCore.efi',
bluetooth_chipset='BRCM20702 Hub',
ambient_light_sensor=False,
third_party_sata_ssd=True,
secure_boot_model='x86legacyap',
secure_boot_policy=0,
oclp_sys_version='v0.4.11',
oclp_sys_date='October 06, 2022 @ 10:06:53',
oclp_sys_url=None,
firmware_vendor='Apple',
rosetta_active=False
)
Macmini61_Stock = device_probe.Computer(
real_model='Macmini6,1',
real_board_id='Mac-031AEE4D24BFF0B1',
reported_model='Macmini6,1',
reported_board_id='Mac-031AEE4D24BFF0B1',
build_model='Macmini6,1',
gpus=[
device_probe.Intel(vendor_id=32902, device_id=358, class_code=196608, name='IGPU', model='Intel HD Graphics 4000', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)', disable_metal=False, force_compatible=False)
],
igpu=device_probe.Intel(vendor_id=32902, device_id=358, class_code=196608, name='IGPU', model='Intel HD Graphics 4000', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)', disable_metal=False, force_compatible=False),
dgpu=None,
storage=[
device_probe.SATAController(vendor_id=32902, device_id=7683, 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.XHCIController(vendor_id=32902, device_id=7729, class_code=787248, name='XHC1', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/XHC1@140000', pci_path='PciRoot(0x0)/Pci(0x14,0x0)', disable_metal=False, force_compatible=False),
device_probe.EHCIController(vendor_id=32902, device_id=7725, class_code=787232, name='EHC2', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/EHC2@1a0000', pci_path='PciRoot(0x0)/Pci(0x1a,0x0)', disable_metal=False, force_compatible=False),
device_probe.EHCIController(vendor_id=32902, device_id=7718, class_code=787232, name='EHC1', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/EHC1@1d0000', pci_path='PciRoot(0x0)/Pci(0x1d,0x0)', disable_metal=False, force_compatible=False)
],
sdxc_controller=[
device_probe.SDXCController(vendor_id=5348, device_id=5820, class_code=525569, name='SDXC', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP01@1c0000/SDXC@1', pci_path='PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x1)', disable_metal=False, force_compatible=False)
],
ethernet=[
device_probe.BroadcomEthernet(vendor_id=5348, device_id=5766, class_code=131072, name='GIGE', model='Broadcom 57766-A1', acpi_path='IOACPIPlane:/_SB/PCI0@0/RP01@1c0000/GIGE@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False)
],
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)', disable_metal=False, force_compatible=False
),
cpu=device_probe.CPU(
name='Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz',
flags=['FPU', 'VME', 'DE', 'PSE', 'TSC', 'MSR', 'PAE', 'MCE', 'CX8', 'APIC', 'SEP', 'MTRR', 'PGE', 'MCA', 'CMOV', 'PAT', 'PSE36', 'CLFSH', 'DS', 'ACPI', 'MMX', 'FXSR', 'SSE', 'SSE2', 'SS', 'HTT', 'TM', 'PBE', 'SSE3', 'PCLMULQDQ', 'DTES64', 'MON', 'DSCPL', 'VMX', 'EST', 'TM2', 'SSSE3', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'TSCTMR', 'AVX1.0', 'RDRAND', 'F16C'],
leafs=['RDWRFSGS', 'SMEP', 'ERMS', 'MDCLEAR', 'IBRS', 'STIBP', 'L1DF', 'SSBD']
),
oclp_version='0.5.0',
opencore_version='REL-083-2022-08-01',
opencore_path='PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0x0,0x0)/HD(1,GPT,B46958E3-7EB7-40C2-BB3A-2C88A0856DC7,0x28,0x64000)/EFI\\OC\\OpenCore.efi',
bluetooth_chipset='BRCM20702 Hub',
ambient_light_sensor=False,
third_party_sata_ssd=True,
secure_boot_model='x86legacyap',
secure_boot_policy=0,
oclp_sys_version='v0.5.0',
oclp_sys_date='October 04, 2022 @ 12:24:50',
oclp_sys_url='',
firmware_vendor='Apple',
rosetta_active=False
)
Macmini71_Stock = device_probe.Computer(
real_model='Macmini7,1',
real_board_id='Mac-35C5E08120C7EEAF',
reported_model='Macmini7,1',
reported_board_id='Mac-35C5E08120C7EEAF',
build_model='Macmini7,1',
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)', disable_metal=False, force_compatible=False)
],
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)', disable_metal=False, force_compatible=False),
dgpu=None,
storage=[
device_probe.SATAController(vendor_id=32902, device_id=39939, 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.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)', disable_metal=False, force_compatible=False)
],
sdxc_controller=[
device_probe.SDXCController(vendor_id=5348, device_id=5820, class_code=525569, name='SDXC', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP04@1c0003/SDXC@1', pci_path='PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x1)', disable_metal=False, force_compatible=False)
],
ethernet=[
device_probe.BroadcomEthernet(vendor_id=5348, device_id=5766, class_code=131072, name='GIGE', model='Broadcom 57766-A1', acpi_path='IOACPIPlane:/_SB/PCI0@0/RP04@1c0003/GIGE@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False)
],
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)', disable_metal=False, force_compatible=False),
cpu=device_probe.CPU(
name='Intel(R) Core(TM) i5-4278U CPU @ 2.60GHz',
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'],
leafs=['RDWRFSGS', 'TSC_THREAD_OFFSET', 'BMI1', 'AVX2', 'SMEP', 'BMI2', 'ERMS', 'INVPCID', 'FPU_CSDS', 'MDCLEAR', 'IBRS', 'STIBP', 'L1DF', 'SSBD']
),
oclp_version='0.5.0',
opencore_version='REL-083-2022-08-01',
opencore_path='PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0x0,0x0)/HD(1,GPT,293E8ABF-B98C-4258-A811-04464BCA90EF,0x28,0x64000)/EFI\\OC\\OpenCore.efi',
bluetooth_chipset='BRCM20702 Hub',
ambient_light_sensor=False,
third_party_sata_ssd=True,
secure_boot_model='x86legacyap',
secure_boot_policy=0,
oclp_sys_version='v0.5.0',
oclp_sys_date='October 04, 2022 @ 12:04:48',
oclp_sys_url='https://github.com/dortania/OpenCore-Legacy-Patcher/commit/daf28a62effb2ce06a71cb5961c9d0c79d72c16b',
firmware_vendor='Apple',
rosetta_active=False
)
Macmini81_Stock = device_probe.Computer(
real_model="Macmini8,1",
real_board_id="Mac-7BA5B2DFE22DDD8C",
reported_model="Macmini8,1",
reported_board_id="Mac-7BA5B2DFE22DDD8C",
gpus=[device_probe.Intel(vendor_id=32902, device_id=16027, class_code=196608, name="IGPU", model="Intel UHD Graphics 630", pci_path="PciRoot(0x0)/Pci(0x2,0x0)")],
igpu=device_probe.Intel(vendor_id=32902, device_id=16027, class_code=196608, name="IGPU", model="Intel UHD Graphics 630", pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
dgpu=None,
storage=[],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17508, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Core(TM) i7-8700B CPU @ 3.20GHz",
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "PCLMULQDQ", "DTES64", "MON", "DSCPL", "VMX", "SMX", "EST", "TM2", "SSSE3", "FMA", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "x2APIC", "MOVBE", "POPCNT", "AES", "PCID", "XSAVE", "OSXSAVE", "SEGLIM64", "TSCTMR", "AVX1.0", "RDRAND", "F16C"],
leafs=[],
),
oclp_version=None,
opencore_version=None
)
Macmini91_Stock = device_probe.Computer(
# Run under Rosetta
real_model="Macmini9,1",
real_board_id="J274",
reported_model="Macmini9,1",
reported_board_id="J274",
gpus=[
device_probe.AMD(vendor_id=4098, device_id=26640, class_code=196608, name="display", model="Unknown Unknown", pci_path="", )
],
igpu=None,
dgpu=None,
storage=[],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17445, class_code=163840, name="wlan", model=None, pci_path=""),
cpu=device_probe.CPU(
name="Apple M1",
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "PCLMULQDQ", "DTSE64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "AES", "SEGLIM64"],
leafs=[],
),
oclp_version=None,
opencore_version=None
)
class iMac:
iMac81_Stock = device_probe.Computer(
# Stock Model
real_model="iMac8,1",
real_board_id="Mac-F226BEC8",
reported_model="iMac8,1",
reported_board_id="Mac-F226BEC8",
gpus=[
device_probe.AMD(vendor_id=4098, device_id=38088, class_code=196608, name="GFX0", model="ATI Radeon HD 2400", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)")
],
igpu=None,
dgpu=device_probe.AMD(vendor_id=4098, device_id=38088, class_code=196608, name="GFX0", model="ATI Radeon HD 2400", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=10281, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17192, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x4)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Core(TM)2 Duo CPU E8135 @ 2.40GHz",
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
leafs=[],
),
oclp_version=None,
opencore_version=None,
)
iMac112_Stock = device_probe.Computer(
# Stock Model
real_model="iMac11,2",
real_board_id="Mac-F2238AC8",
reported_model="iMac11,2",
reported_board_id="Mac-F2238AC8",
gpus=[
device_probe.AMD(vendor_id=4098, device_id=38024, class_code=196608, name="GFX0", model="ATI Radeon HD 4670", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)")
],
igpu=None,
dgpu=device_probe.AMD(vendor_id=4098, device_id=38024, class_code=196608, name="GFX0", model="ATI Radeon HD 4670", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=15138, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
],
wifi=device_probe.Atheros(vendor_id=5772, device_id=42, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x1)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz",
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "POPCNT", "PCID"],
leafs=[],
),
oclp_version=None,
opencore_version=None,
)
iMac122_Upgraded = device_probe.Computer(
real_model="iMac12,2",
real_board_id="Mac-942B59F58194171B",
reported_model="iMac12,2",
reported_board_id="Mac-942B59F58194171B",
gpus=[
device_probe.Intel(vendor_id=32902, device_id=258, class_code=196608, name="HD Graphics 3000", model=None, pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
device_probe.AMD(vendor_id=4098, device_id=26600, class_code=196608, name="GFX0", model="Radeon Pro WX4130", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)"),
],
igpu=device_probe.Intel(vendor_id=32902, device_id=258, class_code=196608, name="HD Graphics 3000", model=None, pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
dgpu=device_probe.AMD(vendor_id=4098, device_id=26600, class_code=196608, name="GFX0", model="Radeon Pro WX4130", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=7170, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17338, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x1)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz",
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "PCLMULQDQ", "DTES64", "MON", "DSCPL", "VMX", "SMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "xAPIC", "POPCNT", "AES", "PCID", "XSAVE", "OSXSAVE", "TSCTMR", "AVX1.0"],
leafs=[],
),
oclp_version=None,
opencore_version=None,
)
iMac122_Upgraded_Nvidia = device_probe.Computer(
real_model='iMac12,2',
real_board_id='Mac-942B59F58194171B',
reported_model='iMac12,2',
reported_board_id='Mac-942B59F58194171B',
gpus=[
device_probe.Intel(vendor_id=32902, device_id=258, class_code=229376, name='IGPU', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
device_probe.NVIDIA(vendor_id=4318, device_id=4092, class_code=196608, name='GFX0', model='Quadro K1000M by Nick[D]vB', acpi_path='IOACPIPlane:/_SB/PCI0@0/P0P2@10000/GFX0@0', pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)')],
igpu=device_probe.Intel(vendor_id=32902, device_id=258, class_code=229376, name='IGPU', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
dgpu=device_probe.NVIDIA(vendor_id=4318, device_id=4092, class_code=196608, name='GFX0', model='Quadro K1000M by Nick[D]vB', acpi_path='IOACPIPlane:/_SB/PCI0@0/P0P2@10000/GFX0@0', pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)'),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=7170, class_code=67073, name='SATA', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/SATA@1f0002', pci_path='PciRoot(0x0)/Pci(0x1f,0x2)')
],
usb_controllers=[
device_probe.EHCIController(vendor_id=32902, device_id=7213, class_code=787232, name='EHC2', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/EHC2@1a0007', pci_path='PciRoot(0x0)/Pci(0x1a,0x7)'),
device_probe.EHCIController(vendor_id=32902, device_id=7206, class_code=787232, name='EHC1', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/EHC1@1d0007', pci_path='PciRoot(0x0)/Pci(0x1d,0x7)')
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17201, class_code=163840, name='ARPT', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP02@1c0001/ARPT@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x1)/Pci(0x0,0x0)'),
cpu=device_probe.CPU(
name='Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz',
flags=['FPU', 'VME', 'DE', 'PSE', 'TSC', 'MSR', 'PAE', 'MCE', 'CX8', 'APIC', 'SEP', 'MTRR', 'PGE', 'MCA', 'CMOV', 'PAT', 'PSE36', 'CLFSH', 'DS', 'ACPI', 'MMX', 'FXSR', 'SSE', 'SSE2', 'SS', 'HTT', 'TM', 'PBE', 'SSE3', 'PCLMULQDQ', 'DTES64', 'MON', 'DSCPL', 'VMX', 'SMX', 'EST', 'TM2', 'SSSE3', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'TSCTMR', 'AVX1.0'],
leafs=[],
),
oclp_version='0.3.3',
opencore_version=None,
bluetooth_chipset='BRCM2046 Hub',
third_party_sata_ssd=True
)
iMac151_Stock = device_probe.Computer(
real_model='iMac15,1',
real_board_id='Mac-42FD25EABCABB274',
reported_model='iMac15,1',
reported_board_id='Mac-42FD25EABCABB274',
gpus=[
device_probe.Intel(vendor_id=32902, device_id=1042, class_code=196608, name='IGPU', model='Intel Iris Pro', acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
device_probe.AMD(vendor_id=4098, device_id=26640, class_code=196608, name='GFX0', model='AMD Radeon R9 M290X', acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)')
],
igpu=device_probe.Intel(vendor_id=32902, device_id=1042, class_code=196608, name='IGPU', model='Intel Iris Pro', acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
dgpu=device_probe.AMD(vendor_id=4098, device_id=26640, class_code=196608, name='GFX0', model='AMD Radeon R9 M290X', acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)'),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=35842, class_code=67073, name='SATA', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1f,0x2)'),
device_probe.SATAController(vendor_id=6987, device_id=37251, class_code=67073, name='SSD0', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)')
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17312, class_code=163840, name='ARPT', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1c,0x2)/Pci(0x0,0x0)'),
cpu=device_probe.CPU(
name='Intel(R) Core(TM) i5-4690 CPU @ 3.50GHz',
flags=['FPU', 'VME', 'DE', 'PSE', 'TSC', 'MSR', 'PAE', 'MCE', 'CX8', 'APIC', 'SEP', 'MTRR', 'PGE', 'MCA', 'CMOV', 'PAT', 'PSE36', 'CLFSH', 'DS', 'ACPI', 'MMX', 'FXSR', 'SSE', 'SSE2', 'SS', 'HTT', 'TM', 'PBE', 'SSE3', 'PCLMULQDQ', 'DTES64', 'MON', 'DSCPL', 'VMX', 'SMX', 'EST', 'TM2', 'SSSE3', 'FMA', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'MOVBE', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'SEGLIM64', 'TSCTMR', 'AVX1.0', 'RDRAND', 'F16C'],
leafs=[],
),
oclp_version=None,
opencore_version=None,
bluetooth_chipset='BRCM20702 Hub',
third_party_sata_ssd=False
)
iMac201_Stock = device_probe.Computer(
real_model='iMac20,1',
real_board_id='Mac-CFF7D910A743CAAF',
reported_model='iMac20,1',
reported_board_id='Mac-CFF7D910A743CAAF',
gpus=[
device_probe.Intel(vendor_id=32902, device_id=39880, class_code=196608, name='IGPU', model='Intel HD Graphics CFL', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
device_probe.AMD(vendor_id=4098, device_id=29504, class_code=196608, name='GFX0', model='AMD Radeon Pro 5300', acpi_path='IOACPIPlane:/_SB/PCI0@0/PEG0@10000/EGP0@0/EGP1@0/GFX0@0', pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)')
],
igpu=device_probe.Intel(vendor_id=32902, device_id=39880, class_code=196608, name='IGPU', model='Intel HD Graphics CFL', acpi_path='IOACPIPlane:/_SB/PCI0@0/IGPU@20000', pci_path='PciRoot(0x0)/Pci(0x2,0x0)'),
dgpu=device_probe.AMD(vendor_id=4098, device_id=29504, class_code=196608, name='GFX0', model='AMD Radeon Pro 5300', acpi_path='IOACPIPlane:/_SB/PCI0@0/PEG0@10000/EGP0@0/EGP1@0/GFX0@0', pci_path='PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)'),
storage=[],
usb_controllers=[
device_probe.XHCIController(vendor_id=32902, device_id=1773, class_code=787248, name='XHC1', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/XHC1@140000', pci_path='PciRoot(0x0)/Pci(0x14,0x0)'),
device_probe.XHCIController(vendor_id=32902, device_id=5612, class_code=787248, name='XHC2', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP05@1c0004/UPSB@0/DSB2@20000/XHC2@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x4)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)')
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17508, class_code=163840, name='ARPT', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/RP01@1c0000/ARPT@0', pci_path='PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)'),
cpu=device_probe.CPU(
name='Intel(R) Core(TM) i5-10500 CPU @ 3.10GHz',
flags=['FPU', 'VME', 'DE', 'PSE', 'TSC', 'MSR', 'PAE', 'MCE', 'CX8', 'APIC', 'SEP', 'MTRR', 'PGE', 'MCA', 'CMOV', 'PAT', 'PSE36', 'CLFSH', 'DS', 'ACPI', 'MMX', 'FXSR', 'SSE', 'SSE2', 'SS', 'HTT', 'TM', 'PBE', 'SSE3', 'PCLMULQDQ', 'DTES64', 'MON', 'DSCPL', 'VMX', 'SMX', 'EST', 'TM2', 'SSSE3', 'FMA', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'MOVBE', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'SEGLIM64', 'TSCTMR', 'AVX1.0', 'RDRAND', 'F16C'],
leafs=[],
),
oclp_version=None,
opencore_version=None,
bluetooth_chipset=None,
third_party_sata_ssd=False
)
class MacPro:
MacPro31_Stock = device_probe.Computer(
# Stock Model, stock TS1 GPU and no Wifi card
real_model="MacPro3,1",
real_board_id="Mac-F42C88C8",
reported_model="MacPro3,1",
reported_board_id="Mac-F42C88C8",
gpus=[
device_probe.AMD(vendor_id=4098, device_id=38272, class_code=196608, name="GFX0", model="ATI Radeon HD 2600", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)")
],
igpu=None,
dgpu=device_probe.AMD(vendor_id=4098, device_id=38272, class_code=196608, name="GFX0", model="ATI Radeon HD 2600", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=9857, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
],
wifi=None,
cpu=device_probe.CPU(
name="Intel(R) Xeon(R) CPU X5482 @ 3.20GHz",
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
leafs=[],
),
oclp_version=None,
opencore_version=None,
)
MacPro31_Upgrade = device_probe.Computer(
# Upgraded Model, TS2 GPU and El-Capitan era Wifi card
real_model="MacPro3,1",
real_board_id="Mac-F42C88C8",
reported_model="MacPro3,1",
reported_board_id="Mac-F42C88C8",
gpus=[
device_probe.AMD(vendor_id=4098, device_id=26808, class_code=196608, name="GFX0", model="ATI Radeon HD 5770", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)")
],
igpu=None,
dgpu=device_probe.AMD(vendor_id=4098, device_id=26808, class_code=196608, name="GFX0", model="ATI Radeon HD 5770", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=9857, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
],
wifi=device_probe.Broadcom(
vendor_id=5348, device_id=17192, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)"
),
cpu=device_probe.CPU(
name="Intel(R) Xeon(R) CPU X5482 @ 3.20GHz",
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
leafs=[],
),
oclp_version=None,
opencore_version=None,
)
MacPro31_Modern_AMD = device_probe.Computer(
# Upgraded Model, Polaris GPU and BCM94360CD
real_model="MacPro3,1",
real_board_id="Mac-F42C88C8",
reported_model="MacPro3,1",
reported_board_id="Mac-F42C88C8",
gpus=[
device_probe.AMD(vendor_id=4098, device_id=26591, class_code=196608, name="GFX0", model="Radeon RX 470/570", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)")
],
igpu=None,
dgpu=device_probe.AMD(vendor_id=4098, device_id=26591, class_code=196608, name="GFX0", model="Radeon RX 470/570", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=9857, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
],
wifi=device_probe.Broadcom(
vendor_id=5348, device_id=17312, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)"
),
cpu=device_probe.CPU(
name="Intel(R) Xeon(R) CPU X5482 @ 3.20GHz",
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
leafs=[],
),
oclp_version=None,
opencore_version=None,
)
MacPro31_Modern_Kepler = device_probe.Computer(
# Upgraded Model, Kepler GPU and BCM94360CD
real_model="MacPro3,1",
real_board_id="Mac-F42C88C8",
reported_model="MacPro3,1",
reported_board_id="Mac-F42C88C8",
gpus=[device_probe.NVIDIA(vendor_id=4318, device_id=4737, class_code=196608, name="GFX0", model="NVIDIA GeForce GT 710", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)")],
igpu=None,
dgpu=device_probe.NVIDIA(vendor_id=4318, device_id=4737, class_code=196608, name="GFX0", model="NVIDIA GeForce GT 710", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=9857, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
],
wifi=device_probe.Broadcom(
vendor_id=5348, device_id=17312, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)"
),
cpu=device_probe.CPU(
name="Intel(R) Xeon(R) CPU X5482 @ 3.20GHz",
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
leafs=[],
),
oclp_version=None,
opencore_version=None,
)
MacPro41_Upgrade = device_probe.Computer(
# Upgraded model with AMD HD7950, Atheros PCIe card
real_model="MacPro4,1",
real_board_id="Mac-F221BEC8",
reported_model="MacPro4,1",
reported_board_id="Mac-F221BEC8",
gpus=[device_probe.AMD(vendor_id=4098, device_id=26522, class_code=196608, name="PXS1", model="AMD Radeon HD 7950", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)")],
igpu=None,
dgpu=None,
storage=[device_probe.SATAController(vendor_id=32902, device_id=14882, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")],
wifi=device_probe.Atheros(vendor_id=5772, device_id=48, class_code=163840, name="PXS4", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x4,0x0)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Xeon(R) CPU W3520 @ 2.67GHz",
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "POPCNT"],
leafs=[],
),
oclp_version=None,
opencore_version=None
)
MacPro41_Modern_AMD = device_probe.Computer(
# Upgraded model with AMD RX470, BCM94360CD, Intel 660p
# Booted through OpenCore
real_model="MacPro4,1",
real_board_id="Mac-F221BEC8",
reported_model="MacPro4,1",
reported_board_id="Mac-27AD2F918AE68F61",
gpus=[device_probe.AMD(vendor_id=4098, device_id=26591, class_code=196608, name="GFX0", model="Radeon RX 470/570", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)")],
igpu=None,
dgpu=device_probe.AMD(vendor_id=4098, device_id=26591, class_code=196608, name="GFX0", model="Radeon RX 470/570", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=14882, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)"),
device_probe.NVMeController(vendor_id=32902, device_id=61864, class_code=67586, name="PXS3", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)", aspm=2)
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17312, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x4,0x0)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Xeon(R) CPU W3520 @ 2.67GHz",
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "POPCNT"],
leafs=[],
),
oclp_version="0.2.5",
opencore_version="REL-071-2021-07-02"
)
MacPro41_51__Flashed_Modern_AMD = device_probe.Computer(
# 4,1 flashed to 5,1, RX5700XT, BCM94360CD, WD SN750 NVMe
real_model="MacPro5,1",
real_board_id="Mac-F221BEC8",
reported_model="MacPro5,1",
reported_board_id="Mac-F221BEC8",
gpus=[device_probe.AMD(vendor_id=4098, device_id=29471, class_code=196608, name="GFX0", model="AMD Radeon RX 5700 XT", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)")],
igpu=None,
dgpu=device_probe.AMD(vendor_id=4098, device_id=29471, class_code=196608, name="GFX0", model="AMD Radeon RX 5700 XT", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)"),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=14882, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)"),
device_probe.NVMeController(vendor_id=5559, device_id=20482, class_code=67586, name="PXS3", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)", aspm=2)
],
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17312, class_code=163840, name="PXS4", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x4,0x0)/Pci(0x0,0x0)"),
cpu=device_probe.CPU(
name="Intel(R) Xeon(R) CPU X5670 @ 2.93GHz",
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "PCLMULQDQ", "DTES64", "MON", "DSCPL", "VMX", "SMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "POPCNT", "AES", "PCID"],
leafs=[],
),
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'],
leafs=[],
),
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'
)
class Hackintosh:
QEMU_Virtual_Machine_GT710 = device_probe.Computer(
real_model='iMac14,4',
real_board_id='Mac-81E3E92DD6088272',
reported_model='iMac14,4',
reported_board_id='Mac-81E3E92DD6088272',
build_model=None,
gpus=[
device_probe.NVIDIA(vendor_id=4318, device_id=4747, class_code=196608, name='GFX0', model='NVIDIA GeForce GT 710', acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False)
],
igpu=None,
dgpu=device_probe.NVIDIA(vendor_id=4318, device_id=4747, class_code=196608, name='GFX0', model='NVIDIA GeForce GT 710', acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False),
storage=[
device_probe.SATAController(vendor_id=32902, device_id=10530, class_code=67073, name='pci8086,2922', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1f,0x2)', disable_metal=False, force_compatible=False),
device_probe.SATAController(vendor_id=32902, device_id=10530, class_code=67073, name='pci8086,2922', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1e,0x0)/Pci(0x1,0x0)/Pci(0x7,0x0)', disable_metal=False, force_compatible=False),
device_probe.NVMeController(vendor_id=5197, device_id=43016, class_code=67586, name='pci144d,a808', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1c,0x1)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False, aspm=0)
],
usb_controllers=[
device_probe.XHCIController(vendor_id=6945, device_id=8514, class_code=787248, name='pci1b21,2142', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1c,0x2)/Pci(0x0,0x0)', disable_metal=False, force_compatible=False),
device_probe.EHCIController(vendor_id=32902, device_id=10556, class_code=787232, name='pci8086,293c', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1a,0x7)', disable_metal=False, force_compatible=False),
device_probe.EHCIController(vendor_id=32902, device_id=10554, class_code=787232, name='pci8086,293a', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1d,0x7)', disable_metal=False, force_compatible=False),
device_probe.UHCIController(vendor_id=32902, device_id=10551, class_code=787200, name='SD0', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/SD0@1a0000', pci_path='PciRoot(0x0)/Pci(0x1a,0x0)', disable_metal=False, force_compatible=False),
device_probe.UHCIController(vendor_id=32902, device_id=10552, class_code=787200, name='pci8086,2938', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1a,0x1)', disable_metal=False, force_compatible=False),
device_probe.UHCIController(vendor_id=32902, device_id=10553, class_code=787200, name='pci8086,2939', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1a,0x2)', disable_metal=False, force_compatible=False),
device_probe.UHCIController(vendor_id=32902, device_id=10548, class_code=787200, name='SE8', model=None, acpi_path='IOACPIPlane:/_SB/PCI0@0/SE8@1d0000', pci_path='PciRoot(0x0)/Pci(0x1d,0x0)', disable_metal=False, force_compatible=False),
device_probe.UHCIController(vendor_id=32902, device_id=10549, class_code=787200, name='pci8086,2935', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1d,0x1)', disable_metal=False, force_compatible=False),
device_probe.UHCIController(vendor_id=32902, device_id=10550, class_code=787200, name='pci8086,2936', model=None, acpi_path=None, pci_path='PciRoot(0x0)/Pci(0x1d,0x2)', disable_metal=False, force_compatible=False)
],
sdxc_controller=[],
ethernet=[],
wifi=None,
cpu=device_probe.CPU(
name='Intel(R) Core(TM) i9-7920X CPU @ 2.90GHz',
flags=['FPU', 'VME', 'DE', 'PSE', 'TSC', 'MSR', 'PAE', 'MCE', 'CX8', 'APIC', 'SEP', 'MTRR', 'PGE', 'MCA', 'CMOV', 'PAT', 'PSE36', 'CLFSH', 'MMX', 'FXSR', 'SSE', 'SSE2', 'SS', 'HTT', 'SSE3', 'PCLMULQDQ', 'VMX', 'SSSE3', 'FMA', 'CX16', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'MOVBE', 'POPCNT', 'AES', 'VMM', 'PCID', 'XSAVE', 'OSXSAVE', 'TSCTMR', 'AVX1.0', 'RDRAND', 'F16C'],
leafs=['RDWRFSGS', 'TSC_THREAD_OFFSET', 'BMI1', 'HLE', 'AVX2', 'SMEP', 'BMI2', 'ERMS', 'INVPCID', 'RTM', 'MPX', 'AVX512F', 'AVX512DQ', 'RDSEED', 'ADX', 'SMAP', 'CLFSOPT', 'CLWB', 'AVX512CD', 'AVX512BW', 'AVX512VL', 'UMIP', 'MDCLEAR', 'IBRS', 'STIBP', 'ACAPMSR', 'SSBD']
),
oclp_version=None,
opencore_version='REL-083-2022-08-01',
opencore_path=None,
bluetooth_chipset=None,
ambient_light_sensor=False,
third_party_sata_ssd=False,
secure_boot_model='x86legacyap',
secure_boot_policy=0,
oclp_sys_version=None,
oclp_sys_date=None,
oclp_sys_url=None,
firmware_vendor='EDK II',
rosetta_active=False
)

359
data/model_array.py Normal file
View File

@@ -0,0 +1,359 @@
# Lists all models and required patches
# Copyright (C) 2020-2022, Dhinak G, Mykola Grymalyuk
SupportedSMBIOS = [
# MacBook
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBook8,1",
"MacBook9,1",
"MacBook10,1",
# MacBook Air
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookAir6,1",
"MacBookAir6,2",
"MacBookAir7,1",
"MacBookAir7,2",
# MacBook Pro
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"MacBookPro11,1",
"MacBookPro11,2",
"MacBookPro11,3",
"MacBookPro11,4",
"MacBookPro11,5",
"MacBookPro12,1",
"MacBookPro13,1",
"MacBookPro13,2",
"MacBookPro13,3",
"MacBookPro14,1",
"MacBookPro14,2",
"MacBookPro14,3",
# Mac Mini
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"Macmini6,1",
"Macmini6,2",
"Macmini7,1",
# iMac
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"iMac13,1",
"iMac13,2",
"iMac13,3",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"iMac14,4",
"iMac15,1",
"iMac16,1",
"iMac16,2",
"iMac17,1",
"iMac18,1",
"iMac18,2",
"iMac18,3",
# Mac Pro
"MacPro3,1",
"MacPro4,1",
"MacPro5,1",
"MacPro6,1",
# Xserve
"Xserve2,1",
"Xserve3,1",
]
# Audio
LegacyAudio = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
# "iMac7,1",
# "iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"MacPro3,1",
"Dortania1,1",
]
# GPU
ModernGPU = [
"MacBook8,1", # Intel 6000
"MacBook9,1", # Intel Skylake
"MacBookAir5,1", # Intel 4000
"MacBookAir5,2", # Intel 4000
"MacBookAir6,1", # Intel 5000
"MacBookAir6,2", # Intel 5000
"MacBookAir7,1", # Intel 6000
"MacBookAir7,2", # Intel 6000
"MacBookPro9,1", # Intel 4000 + Nvidia 650M
"MacBookPro9,2", # Intel 4000
"MacBookPro10,1", # Intel 4000 + Nvidia 650M
"MacBookPro10,2", # Intel 4000
"MacBookPro11,1", # Intel 5000
"MacBookPro11,2", # Intel 5000
"MacBookPro11,3", # Intel 5000 + Nvidia Kepler
"MacBookPro11,4", # Intel 5000
"MacBookPro11,5", # Intel 5000 + GCN 1
"MacBookPro12,1", # Intel 6000
"MacBookPro13,1", # Intel Skylake
"MacBookPro13,2", # Intel Skylake
"MacBookPro13,3", # Intel Skylake
"Macmini6,1", # Intel 4000
"Macmini6,2", # Intel 4000
"Macmini7,1", # Intel 5000
"iMac13,1", # Intel 4000
"iMac13,2", # Intel 4000 + Nvidia Kepler
"iMac13,3", # Intel 4000
"iMac14,1", # Intel 5000 + Nvidia Kepler
"iMac14,2", # Intel 5000 + Nvidia Kepler
"iMac14,3", # Intel 5000 + Nvidia Kepler
"iMac14,4", # Intel 5000
"iMac15,1", # Intel 5000 + GCN 1
"iMac16,1", # Intel 6000
"iMac16,2", # Intel 6000
"iMac17,1", # Intel Skylake + GCN1
"MacPro3,1", # Lacks AVX2.0
"MacPro4,1", # Lacks AVX2.0
"MacPro5,1", # Lacks AVX2.0
"MacPro6,1", # GCN 1
]
LegacyGPU = [
"MacBook5,1", # Nvidia 9000
"MacBook5,2", # Nvidia 9000
"MacBook6,1", # Nvidia 9000
"MacBook7,1", # Nvidia 300
"MacBookAir2,1", # Nvidia 9000
"MacBookAir3,1", # Nvidia 300
"MacBookAir3,2", # Nvidia 300
"MacBookAir4,1", # Intel 3000
"MacBookAir4,2", # Intel 3000
"MacBookPro4,1", # Nvidia 8000
"MacBookPro5,1", # Nvidia 9000
"MacBookPro5,2", # Nvidia 9000
"MacBookPro5,3", # Nvidia 9000
"MacBookPro5,4", # Nvidia 9000
"MacBookPro5,5", # Nvidia 9000
"MacBookPro6,1", # Intel 100 + Nvidia 300
"MacBookPro6,2", # Intel 100 + Nvidia 300
"MacBookPro7,1", # Nvidia 300
"MacBookPro8,1", # Intel 3000
"MacBookPro8,2", # Intel 3000 + AMD 6000
"MacBookPro8,3", # Intel 3000 + AMD 6000
"Macmini3,1", # Nvidia 9000
"Macmini4,1", # Nvidia 300
"Macmini5,1", # Intel 3000
"Macmini5,2", # AMD 6000
"Macmini5,3", # Intel 3000
"iMac7,1", # AMD 2000
"iMac8,1", # Nvidia and AMD 2400
"iMac9,1", # Nvidia 9000
"iMac10,1", # Nvidia 9000 and AMD 4000
"iMac11,1", # AMD 4000
"iMac11,2", # AMD 4000 and 5000
"iMac11,3", # AMD 5000
"iMac12,1", # AMD 6000
"iMac12,2", # AMD 6000
"Dortania1,1", # RTX 3080
]
LegacyBrightness = [
"MacBook5,2",
"iMac7,1",
"iMac8,1",
"iMac9,1",
]
DualGPUPatch = [
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro8,2",
"MacBookPro8,3",
"Macmini5,2",
"iMac12,1",
"iMac12,2",
"iMac13,1",
"iMac13,2",
"iMac14,2",
"iMac14,3",
"Dortania1,1",
]
IntelNvidiaDRM = [
"iMac13,1",
"iMac13,2",
"iMac14,2",
"iMac14,3",
]
# Mac Pro and Xserve
MacPro = ["MacPro3,1", "MacPro4,1", "MacPro5,1", "Xserve2,1", "Xserve3,1", "Dortania1,1"]
# MXM iMac
MXMiMac = ["iMac11,1", "iMac11,2", "iMac11,3", "iMac10,1", "iMac12,1", "iMac12,2", "Dortania1,1"]
NoAGPMSupport = ["MacBookPro4,1", "iMac7,1", "iMac8,1", "MacPro3,1", "Xserve2,1", "Dortania1,1"]
AGDPSupport = [
"MacBookPro9,1",
"MacBookPro10,1",
"iMac13,1",
"iMac13,2",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"iMac14,4",
"iMac15,1",
# TODO: Uncomment when dropped from macOS
# "iMac17,1",
# "iMac18,2",
# "iMac18,3",
# "iMac19,1",
# "iMac19,2",
# "iMac20,1",
# "iMac20,2",
# "iMacPro1,1",
# "MacPro6,1",
]
Missing_USB_Map = [
"MacBook5,1",
"MacBook5,2",
"MacBook6,1",
"MacBook7,1",
"MacBookAir2,1",
"MacBookAir3,1",
"MacBookAir3,2",
"MacBookAir4,1",
"MacBookAir4,2",
"MacBookPro4,1",
"MacBookPro5,1",
"MacBookPro5,2",
"MacBookPro5,3",
"MacBookPro5,4",
"MacBookPro5,5",
"MacBookPro6,1",
"MacBookPro6,2",
"MacBookPro7,1",
"MacBookPro8,1",
"MacBookPro8,2",
"MacBookPro8,3",
"Macmini3,1",
"Macmini4,1",
"Macmini5,1",
"Macmini5,2",
"Macmini5,3",
"iMac7,1",
"iMac8,1",
"iMac9,1",
"iMac10,1",
"iMac11,1",
"iMac11,2",
"iMac11,3",
"iMac12,1",
"iMac12,2",
"MacPro3,1",
"MacPro4,1",
"Xserve2,1",
"Xserve3,1",
]
Missing_USB_Map_Ventura = [
"MacBook8,1",
"MacBookAir5,1",
"MacBookAir5,2",
"MacBookAir6,1",
"MacBookAir6,2",
"MacBookAir7,1",
"MacBookAir7,2",
"MacBookPro9,1",
"MacBookPro9,2",
"MacBookPro10,1",
"MacBookPro10,2",
"MacBookPro11,1",
"MacBookPro11,2",
"MacBookPro11,3",
"MacBookPro11,4",
"MacBookPro11,5",
"MacBookPro12,1",
"MacPro5,1",
"MacPro6,1",
"Macmini6,1",
"Macmini6,2",
"Macmini7,1",
"iMac13,1",
"iMac13,2",
"iMac14,1",
"iMac14,2",
"iMac14,3",
"iMac14,4",
"iMac15,1",
"iMac15,2",
"iMac16,1",
"iMac16,2",
"iMac17,1",
]

197
data/os_data.py Normal file
View File

@@ -0,0 +1,197 @@
from curses.ascii import isdigit
import enum
class os_data(enum.IntEnum):
# OS Versions, Based off Major Kernel Version
cheetah = 4 # Actually 1.3.1
puma = 5
jaguar = 6
panther = 7
tiger = 8
leopard = 9
snow_leopard = 10
lion = 11
mountain_lion = 12
mavericks = 13
yosemite = 14
el_capitan = 15
sierra = 16
high_sierra = 17
mojave = 18
catalina = 19
big_sur = 20
monterey = 21
ventura = 22
sonoma = 23
max_os = 99
class os_conversion:
def os_to_kernel(os: str) -> int:
"""
Convert OS version to major XNU version
Parameters:
os (str): OS version
Returns:
int: 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: int) -> str:
"""
Convert major XNU version to OS version
Parameters:
kernel (int): Major XNU version
Returns:
str: 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: int, source_minor: int, target_major: int, target_minor: int) -> bool:
"""
Check if OS version 1 is newer than OS version 2
Parameters:
source_major (int): Major XNU version of OS version 1
source_minor (int): Minor XNU version of OS version 1
target_major (int): Major XNU version of OS version 2
target_minor (int): Minor XNU version of OS version 2
Returns:
bool: True 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
def convert_kernel_to_marketing_name(kernel: int) -> str:
"""
Convert major XNU version to Marketing name
Parameters:
kernel (int): Major XNU version
Returns:
str: Marketing name of OS
"""
try:
# Find os_data enum name
os_name = os_data(kernel).name
# Remove "_" from the string
os_name = os_name.replace("_", " ")
# Upper case the first letter of each word
os_name = os_name.title()
except ValueError:
# Handle cases where no enum value exists
# Pass kernel_to_os() as a substitute for a proper OS name
os_name = os_conversion.kernel_to_os(kernel)
return os_name
def convert_marketing_name_to_kernel(marketing_name: str) -> int:
"""
Convert Marketing Name to major XNU version
Parameters:
marketing_name (str): Marketing Name of OS
Returns:
int: Major XNU version
"""
try:
# Find os_data enum value
os_kernel = os_data[marketing_name.lower().replace(" ", "_")]
except KeyError:
os_kernel = 0
return int(os_kernel)
def find_largest_build(build_array: list) -> str:
"""
Find the newest version within an array of versions
These builds will have both numbers and letters in the version
ex:
[
"22A5295i",
"22A5266r",
"22A5286j",
"22A5295h",
]
"""
max_length = 0 # Length of the longest build
build_array_split = [] # 'build_array', converted into individual array of elements
final_build = "" # Largest determined build
# Convert strings to arrays
for build in build_array:
list_build = list(build)
if len(list_build) > max_length:
max_length = len(list_build)
build_array_split.append(list_build)
# Pad out each array to same length
for build in build_array_split:
while len(build) < max_length:
build.append("0")
# Convert all letters to int using ord()
for build in build_array_split:
for entry in build:
if not entry.isdigit():
build[build.index(entry)] = ord(entry)
for build_outer_loop in build_array_split:
for build_inner_loop in list(build_array_split):
for i in range(len(build_outer_loop)):
# remove any builds that are not the largest
if int(build_outer_loop[i]) > int(build_inner_loop[i]):
build_array_split.remove(build_inner_loop)
break
if int(build_outer_loop[i]) < int(build_inner_loop[i]):
break
# Convert array back to string
for entry in build_array_split[0]:
# Since we split per character, we know that anything above 9 is a letter
if int(entry) > 9:
# revert back to letter
final_build += chr(entry)
else:
final_build += str(entry)
# Since we pad with 0s, we need to next determine how many 0s to remove
for build in build_array:
if final_build.startswith(build):
# Handle cases where Apple added a letter to the build
# ex. "22A5295" vs "22A5295"
remaining_strings = final_build.split(build)[1]
# If all remaining strings are 0s, then we can remove the 0s
if all(char == "0" for char in remaining_strings):
final_build = build
return final_build

1295
data/pci_data.py Normal file

File diff suppressed because it is too large Load Diff

148
data/sip_data.py Normal file
View File

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

3222
data/smbios_data.py Normal file

File diff suppressed because it is too large Load Diff

1289
data/sys_patch_dict.py Normal file

File diff suppressed because it is too large Load Diff

111
data/usb_data.py Normal file
View File

@@ -0,0 +1,111 @@
class AppleIDs:
# All top case devices use Vendor ID 05ac
Modern_AppleUSBTCKeyboard = [
0x223,
0x224,
0x225,
0x230,
0x231,
0x232,
0x236,
0x237,
0x238,
0x23f,
0x240,
0x241,
0x242,
0x243,
0x244,
0x245,
0x246,
0x247,
0x249,
0x24a,
0x24b,
0x259,
0x25a,
0x25b,
0x262,
0x263,
0x264,
0x24c,
0x24d,
0x24e,
0x252,
0x253,
0x254
]
Legacy_AppleUSBTCKeyboard = [
0x20e,
0x20f,
0x210,
0x214,
0x215,
0x216,
0x20d,
0x218,
0x219,
0x21a,
0x21b,
0x21c,
0x229,
0x22a,
0x22b
]
AppleUSBTrackpad = [
0x20e,
0x20f,
0x210,
0x30a,
0x30b,
0x214,
0x215,
0x216,
0x217,
0x218,
0x219,
0x21a,
0x21b,
0x21c,
0x229,
0x22a,
0x22b
]
AppleUSBMultiTouch = [
0x223,
0x224,
0x225,
0x230,
0x231,
0x232,
0x236,
0x237,
0x238,
0x23f,
0x240,
0x241,
0x242,
0x243,
0x244,
0x245,
0x246,
0x247,
0x249,
0x24a,
0x24b,
0x259,
0x25a,
0x25b,
0x262,
0x263,
0x264,
0x24c,
0x24d,
0x24e,
0x252,
0x253,
0x254
]

11
data/video_bios_data.py Normal file

File diff suppressed because one or more lines are too long

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

@@ -69,7 +69,6 @@ module.exports = {
children: [
'START',
'MODELS',
['BENIFITS', 'Benefits and drawbacks'],
]
},
@@ -94,11 +93,20 @@ module.exports = {
},
{
title: 'macOS Ventura',
collapsable: false,
sidebarDepth: 1,
children: [
['VENTURA-DROP', 'macOS Ventura Support'],
]
},
{
title: 'macOS Monterey',
collapsable: false,
sidebarDepth: 1,
children: [
'MONTEREY-DROP',
['MONTEREY-DROP', 'macOS Monterey Support'],
]
},
{
@@ -113,6 +121,7 @@ module.exports = {
'UNINSTALL',
'ICNS',
'WINDOWS',
'UNIVERSALCONTROL',
]
},
{
@@ -130,11 +139,11 @@ module.exports = {
collapsable: false,
sidebarDepth: 1,
children: [
'ISSUES-HOLD',
'TESTED',
'TERMS',
'HOW',
'PATCHEXPLAIN',
'CLI',
]
},

View File

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

View File

@@ -1,19 +1,54 @@
# Working Around Legacy Acceleration Issues
* [Broken Background Blurs](#broken-background-blurs)
* [Downloading older non-Metal Apps](#downloading-older-non-metal-apps)
* [Unable to run Zoom](#unable-to-run-zoom)
* [Unable to grant special permissions to apps (ie. Camera Access to Zoom)](#unable-to-grant-special-permissions-to-apps-ie-camera-access-to-zoom)
* [Keyboard Backlight broken](#keyboard-backlight-broken)
* [Photos and Maps Apps Heavily Distorted](#photos-and-maps-apps-heavily-distorted)
* [Cannot press "Done" when editing a Sidebar Widget](#cannot-press-done-when-editing-a-sidebar-widget)
* [Wake from sleep heavily distorted on AMD/ATI in macOS 11.3 and newer](#wake-from-sleep-heavily-distorted-on-amd-ati-in-macos-11-3-and-newer)
* [Unable to achieve GPU Acceleration on 2011 15" and 17" MacBook Pros](#unable-to-achieve-gpu-acceleration-on-2011-15-and-17-macbook-pros)
* [Wake from sleep heavily distorted on AMD/ATI from macOS 11.3 to Monterey](#wake-from-sleep-heavily-distorted-on-amd-ati-from-macos-11-3-to-monterey)
* [Unable to switch GPUs on 2011 15" and 17" MacBook Pros](#unable-to-switch-gpus-on-2011-15-and-17-macbook-pros)
* [Erratic Colours on ATI TeraScale 2 GPUs (HD5000/HD6000)](#erratic-colours-on-ati-terascale-2-gpus-hd5000-hd6000)
* [Unable to allow Safari Extensions](#unable-to-allow-Safari-Extensions)
* [Cannot Login on 2011 15" and 17" MacBook Pros](#cannot-login-on-2011-15-and-17-macbook-pros)
* [Black Boxes on HD3000 iGPUs](#black-boxes-on-hd3000-igpus)
* [Cannot Pair Bluetooth Devices](#cannot-pair-bluetooth-devices)
The below page is for users experiencing issues with their overall usage of macOS Big Sur and the Legacy Graphics Acceleration patches. Note that the following GPUs currently do not have acceleration support in Big Sur:
The below page is for users experiencing issues with their overall usage of macOS Big Sur / Monterey / Ventura and the Legacy Graphics Acceleration patches. Note that the following GPUs currently do not have acceleration support in Big Sur / Monterey / Ventura:
* AMD/ATI TeraScale 2 - HD5/6000 series
* Intel 3rd and 4th Gen - GMA series
For those unfamiliar with what is considered a non-Metal GPU, see the chart below:
::: 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 | HD 2XXX - HD 4XXX | <span style="color:red">No</span> |
| ^^ | TeraScale 2 | HD 5XXX - HD 6XXX | ^^ |
| AMD | GCN (and newer) | HD 7XXX+ | <span style="color:green">Yes</span> |
| NVIDIA | Tesla | 8XXX - 3XX | <span style="color:red">No</span> |
| ^^ | Fermi | 4XX - 5XX | ^^ |
| ^^ | Kepler | 6XX - 7XX | <span style="color:green">Yes</span> |
| ^^ | Maxwell | 8XX - 9XX | <span style="color:red">No (on 10.14 and newer)</span> |
| ^^ | Pascal | 10XX | ^^ |
| Intel | GMA | GMA 900 - GMA X3000 | <span style="color:red">No</span> |
| ^^ | Iron Lake | HD series | ^^ |
| ^^ | Sandy Bridge | HD 3000 | ^^ |
| ^^ | Ivy Bridge (and newer) | HD 4000 | <span style="color:green">Yes</span> |
:::
## Broken Background Blurs
By default with the non-Metal acceleration patches, many background blur menus may act distorted when moving a cursor over it. With 0.4.1 and newer, users can enable a new Beta Blur feature to try and resolve the issue:
![](../images/OCLP-GUI-Settings-Beta-Blur.png)
Do note that enabling beta blurs can be more demanding on slower hardware
## Downloading older non-Metal Apps
Many Apple apps now have direct reliance on Metal for proper functioning, however legacy builds of these apps still do work in Big Sur. See below for archive of many apps such as Pages, iMovie, GarageBand.
@@ -29,8 +64,15 @@ Currently Zoom relies partially on Metal and so needs a small binary patch. Dosd
* [Zoom Non-Metal Fix](http://dosdude1.com/catalina/zoomnonmetal-new.command.zip)
## Unable to grant special permissions to apps (ie. Camera Access to Zoom)
Currently for Ventura 13.3 and newer, due to new patches required, permissions are yet again broken. Use TCCPlus in the Workaround dropdown to work around the issue.
Due to the usage of `amfi_get_out_of_my_way=1`, macOS will fail to prompt users for special permissions upon application start as well as omit the entires in System Preferences. To work around this, we recommend users install [tccplus](https://github.com/jslegendre/tccplus) to manage permissions.
This issue is fully resolved for 13.2.1 and lower starting from 0.2.5.
::: details Workaround for 0.2.4, Ventura 13.3+
Due to the usage of amfi_get_out_of_my_way=1, macOS will fail to prompt users for special permissions upon application start as well as omit the entires in System Preferences. To work around this, we recommend users install tccplus to manage permissions.
[Download TCCPlus](https://github.com/jslegendre/tccplus)
Example usage with Discord and microphone permissions:
@@ -41,6 +83,20 @@ chmod +x tccplus
./tccplus add Microphone com.hnc.Discord
```
For those who may experience issues with `tccplus`, you can manually patch `com.apple.TCC` to add permissions:
```sh
# get app id (Zoom.us used in example):
$ osascript -e 'id of app "zoom.us"'
# output: us.zoom.xos
$ sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','us.zoom.xos',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109);"
$ sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceCamera','us.zoom.xos',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109);"
```
:::
## Keyboard Backlight broken
Due to forcing `hidd` into spinning up with the fallback mode enabled, this can break the OS's recognition of backlight keyboards. Thankfully the drivers themselves still do operate so applications such as [LabTick](https://www.macupdate.com/app/mac/22151/lab-tick) are able to set the brightness manually.
@@ -51,24 +107,97 @@ Due to the Metal Backend, the enhanced color output of these apps seems to heavi
## Cannot press "Done" when editing a Sidebar Widget
To work around this, simply press Tab to hover over and press spacebar to simulate a click.
Workaround: Press some combination of Tab, or Tab and then Shift-Tab, or just Shift-Tab until the "Done" button is highlighted. Then press spacebar to activate the button, the same as in any other dialog with a highlighted button halo.
## Wake from sleep heavily distorted on AMD/ATI in macOS 11.3 and newer
## Wake from sleep heavily distorted on AMD/ATI from macOS 11.3 to Monterey
Unfortunately a very well known issue the community is investigating, current known solution is to simply downgrade to 11.2.3 or older until a proper fix can be found.
**Fixed for macOS Ventura starting from 0.6.6. Big Sur and Monterey will continue to exhibit the issue.**
For older versions, only known solution is to downgrade to macOS 11.2.3 or older. Additionally, logging out and logging back in can resolve the issue without requiring a reboot.
* Note, this issue should be exclusive to TeraScale 1 GPUs (ie. HD2000-4000). TeraScale 2 GPUs should not exhibit this issue.
In the event Apple removes 11.2.3 from their catalogue, we've provided a mirror below:
* [Install macOS 11.2.3 20D91](https://archive.org/details/install-mac-os-11.2.3-20-d-91)
## Unable to achieve GPU Acceleration on 2011 15" and 17" MacBook Pros
## Unable to switch GPUs on 2011 15" and 17" MacBook Pros
Currently OpenCore Legacy Patcher doesn't have support for the TeraScale 2 series dGPUs found in the 15" and 17" models. Currently the best way to achieve graphics acceleration is to simply disable the dGPU and force the iGPU always.
Currently, with OpenCore Legacy Patcher, GPU switching between the iGPU and dGPU is broken. The simplest way to set a specific GPU is to disable the dGPU when you wish to remain on the more power efficient iGPU.
The best way to achieve this is to boot Recovery (or Single User Mode if the dGPU refuses to function at all) and run the following command:
The best way to achieve this is to boot to Recovery (or Single User Mode if the dGPU refuses to function at all) and run the following command:
```sh
nvram FA4CE28D-B62F-4C99-9CC3-6815686E30F9:gpu-power-prefs=%01%00%00%00
```
This will disable the dGPU and allow graphics acceleration in Big Sur. Note that external display outputs are directly routed to the dGPU and therefore can no longer be used. Solutions such as a [DisplayLink Adapters](https://www.displaylink.com/products/usb-adapters) can work around this limitation.
This will disable the dGPU and allow the iGPU to function in Big Sur. Note that external display outputs are directly routed to the dGPU and therefore can no longer be used. Solutions such as [DisplayLink Adapters](https://www.displaylink.com/products/usb-adapters) can work around this limitation, however, note that you'll need to use older drivers (5.2.6):
* [DisplayLink USB Graphics Software for macOS - For Mojave and Catalina - 5.2.6](https://www.synaptics.com/products/displaylink-graphics/downloads/macos-5.2.6)
Note: This driver only provides partial support in macOS, full graphics acceleration is not currently available on displays driven by DisplayLink.
## Erratic Colours on ATI TeraScale 2 GPUs (HD5000/HD6000)
Resolved with OpenCore Legacy Patcher v0.4.2
::: details Legacy Fix (prior to 0.4.2)
Due to an odd bug with ATI's TeraScale 2 GPUs, many users will experience erratic/strobing colours once finished installing accelerated patches and rebooting into macOS. The issue stems from an incorrect assumption in the GPU drivers where it will enforce the Billion Colour space on your display. To fix, simply force your Display into a lower color depth such as Million Colours.
Applications that can set color depth are:
* [SwitchResX](https://www.madrau.com)
* [ResXtreme](https://macdownload.informer.com/resxtreme/)
:::
## Unable to allow Safari Extensions
Due to a bug in the legacy acceleration patches, users won't be able to enable Safari Extensions.
The following tool can be used to work-around this issue:
* [Non-Metal Safari Extensions](https://github.com/moosethegoose2213/Non-Metal-Safari-Extensions/)
## Cannot Login on 2011 15" and 17" MacBook Pros
By default, OpenCore Legacy Patcher will assume MacBookPro8,2/3 have a faulty dGPU and disable acceleration. This is the safest option for most users as enabling dGPU acceleration on faulty Macs will result in failed booting.
However, if your machine does not have the dGPU disabled via NVRAM, you'll experience a login loop. To work around this is quite simple:
1. Boot macOS in Single User Mode
* Press Cmd+S in OpenCore's menu when you turn the Mac on
2. When the 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 OpenCore Legacy Patcher and enable TS2 Acceleration from settings. Go to `Patcher Settings -> Developer Settings -> Set TeraScale 2 Accel`, then root patch again.
5. Either Reset NVRAM or set `gpu-power-prefs` to zeros to re-enable the dGPU
```sh
# Forces GMUX to use iGPU only (ie. disable dGPU)
nvram FA4CE28D-B62F-4C99-9CC3-6815686E30F9:gpu-power-prefs=%01%00%00%00
# To reset, simply write zeros or NVRAM Reset your Mac
nvram FA4CE28D-B62F-4C99-9CC3-6815686E30F9:gpu-power-prefs=%00%00%00%00
```
## 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`
* Issue has spread to more Macs with macOS Ventura, including MacBook Airs and MacBook Pros
| Default Color Profile | Display/Display P3 Profile |
| :--- | :--- |
| ![](../images/HD3000-Default-Colors.png) | ![](../images/HD3000-Display-Colors.png) |
## Cannot Pair Bluetooth Devices
In macOS Ventura, hover states may not function correctly which results in the "Connect" button not appearing in System Settings. To resolve:
1. Enable Keyboard Navigation in System Settings -> Keyboard
2. Tab + space over Bluetooth devices in System Settings -> Bluetooth
3. Pair button should appear
For more information, see [ASentientBot's post](https://forums.macrumors.com/threads/macos-13-ventura-on-unsupported-macs-thread.2346881/page-116?post=31858759#post-31858759).

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">Supported on Metal GPUs</span> | <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-11</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> |
| Legacy GPU Acceleration | <span style="color:#30BCD5">In active development</span>, see Acceleration Progress Tracker: [Link](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108) | <span style="color:red">Currently not researching</span> |
| El Capitan-era Wifi cards | <span style="color:#30BCD5">Supported</span> | <span style="colorred">Not supported</span> |
| WPA Wireless Support | <span style="color:#30BCD5">Supported</span> | <span style="color:red">Minority may experience issues on early 2013 and older Models</span> |
| Personal Hotspot Support | <span style="color:#30BCD5">Native</span> | <span style="color:red">Often requires extra steps to achieve on early 2013 and older Models</span> |
| HEVC/H.265 Support for Mac Pros and iMacs with Polaris+ GPUs | <span style="color:#30BCD5">Supported</span> | <span style="color:red">Not supported</span> |
| Big Sur-styled Boot Picker | <span style="color:#30BCD5">Available</span>, though as a shim to the original boot picker | <span style="color:red">Not available</span> |
| Hibernation Support | <span style="color:#30BCD5">Supports 3rd party SATA SSDs on 2011 and older models in addition to stock drives</span> | <span style="color:red">Only supports stock drives on 2011 and older models</span> |
| Sidecar Support | <span style="color:#30BCD5">Supports any Mac with Metal Intel iGPU</span>, artifacting way exhibited on high movement screen content | <span style="color:red">Not supported at all</span> |

View File

@@ -2,20 +2,76 @@
Now we finally get to boot OpenCore!
Reboot machine while holding `Option` to select the EFI Boot entry with the OpenCore icon (holding the `Control` key will make this the default boot entry):
Reboot the machine while holding `Option` to select the EFI Boot entry with the OpenCore icon (holding the `Control` key will make this the default boot entry):
* This will be the Mac Boot Picker
![](../images/efi-boot.png)
Now that you've loaded OpenCore, now select Install macOS!:
::: details Note for Mac Pros/Xserves/iMacs with unflashed GPUs
(Adapted from the [OpenCore on the Mac Pro guide](https://forums.macrumors.com/threads/opencore-on-the-mac-pro.2207814/))
For Mac Pro, Xserve and, iMac users with non-flashed GPUs, you can still easily boot OpenCore and view the entire boot process.
Firstly, open the Terminal and run the following command:
```sh
sudo nvram "recovery-boot-mode=unused" && sudo reboot recovery
```
This will make your machine reboot into the Recovery Environment. Alternatively, holding `Command` + `R` when your machine is starting up will also let you enter the Recovery.
Secondly, open the Recovery Environment's Terminal (Menu bar > Utilities > Terminal).
Now you'll want to get a list of drive identifiers. To do so, run the following command:
```sh
diskutil list
```
The command should produce a list of drives installed in your system:
![](../images/Unflashed-Boot-1.png)
Keep track of the drive with the OCLP install. You will need the drive identifer for later.
Now you'll want to mount the EFI partition (where OCLP is installed, though it may differ if you've installed OCLP to a FAT-32 volume).
Run the following command (Replace X with the drive number):
```sh
diskutil mount diskXs1
```
![](../images/Unflashed-Boot-2.png)
If everything is correct, the EFI partion should be mounted.
Now you'll want to use the `bless` command to set the default boot device:
```sh
bless --mount /Volumes/EFI --setBoot --file /Volumes/EFI/System/Library/CoreServices/boot.efi
```
Once the command is run, it should produce no output.
![](../images/Unflashed-Boot-3.png)
If the command produces an output, ensure that you've typed it in correctly.
Now you can reboot your machine. OCLP is now the default boot option!
:::
Now that you've loaded OpenCore, "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)
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.
![](../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

@@ -1,36 +1,33 @@
# Building and installing OpenCore
Now that we have a macOS installer, lets now build our OpenCore configuration!
Now that we have a macOS installer, let's now build our OpenCore configuration!
First Download the latest release:
If you haven't downloaded OpenCore Patcher yet, do so now:
* [OpenCore Legacy Patcher Releases](https://github.com/dortania/Opencore-Legacy-Patcher/releases)
Next, run the `OpenCore-Patcher.app`:
![](../images/first-run.png)
![](../images/OCLP-GUI-Main-Menu.png)
From here you have a couple important options:
::: warning
OpenCore configurations are hardware specific.
If you're building OpenCore for a different model than you're currently running, it is absolutely necessary to select the proper model from Settings.
:::
* Build OpenCore
* Install OpenCore to USB/internal drive
* Change Model
* Patcher Settings
Here we'll select Build and Install OpenCore and start building:
If you're patching for a different machine than you're running, please select "Change Model" and enter the updated SMBIOS. For more advanced users, you may also tweak the patcher's build settings via "Patcher Settings"
Now lets enter "Build OpenCore":
![](../images/build-efi.png)
The process should be quite quick to build, once finished you'll be plopped back to the main menu.
Next lets run `Install OpenCore to USB/internal drive`:
| Select Drive | Select EFI/FAT32 Partition |
| Start Building | Finished Building |
| :--- | :--- |
| ![](../images/disk-start.png) | ![](../images/disk-efi.png) |
| ![](../images/OCLP-GUI-Build-Start.png) | ![OCLP GUI Build Finished](../images/OCLP-GUI-Build-Finished.png) |
Once it finishes building, you'll want to select the Install OpenCore button:
* If you created a macOS USB manually and don't see it listed, make sure it's either formatted as GUID/GPT or has a FAT32 partition for OpenCore to reside on.
| Select Drive | Select Partition |
| :--- | :--- |
| ![](../images/OCLP-GUI-EFI-Select-Disk.png) | ![](../images/OCLP-GUI-EFI-Select-Partition.png) |
* If you have issues, please ensure you install OpenCore onto a FAT32 partition to ensure your Mac is able to boot it. You will need to format your drive as GUID/GPT in Disk Utility
# Once finished, head to [Booting OpenCore and macOS](./BOOT.md)

View File

@@ -1,41 +0,0 @@
# Command Line Args
With OpenCore Legacy Patcher, we include an extra binary called [OCLP-CLI](https://github.com/dortania/OpenCore-Legacy-Patcher/releases/). The purpose of this binary is to easily run our OpenCore build process for other programs to hook onto. Below is documentation on currently supported arguments.
### Build Arguments
* **--build**: Build OpenCore
* **--model xxxx**: override default model detection
* ex. **--model iMac11,2**
* **--metal_gpu xxxx**: override default GPU detection (ie. Nvidia, AMD)
* **--metal_gpu Nvidia**
* **--smbios_spoof xxxx**: set spoofing mode, defaults to Minimal if no arg provided (ie. Minimal, Moderate, Advanced)
* ex. **--smbios_spoof Moderate**
* **--verbose**: enable verbose booting
* **--debug_oc**: enable debug OpenCore
* **--debug_kext**: enable debug kexts
* **--skip_wifi**: skip wifi patch
* **--hide_picker**: hide OpenCore's picker
* **--disable_sip**: disables SIP
* **--disable_smb**: disables SecureBootModel
* **--vault**: enable OpenCore vaulting
Example usage:
```bash
./OCLP-CLI --build --verbose --debug_oc --debug_kext --model iMac11,2
```
Note, when building OpenCore the output folder will be next to the OCLP binary as OpenCore-RELEASE or OpenCore-DEBUG folder.
### Patch System Arguments
* **--patch_sys_vol**: patches root volume with detected hardware
Example usage:
```bash
sudo ./OCLP-CLI --patch_sys_vol
```
Note, root volume patching needs to be run as sudo

View File

@@ -1,22 +1,22 @@
# How to debug with OpenCore
For those who've hit an odd bug and unsure if it's user error or patcher, the below will tell you how to get more verbose debug information as well as logs to help [file issues with us](https://github.com/dortania/OpenCore-Legacy-Patcher/issues)
* For users who are less experienced, we recommend asking on the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN) for help.
For those who've hit an odd bug and are unsure if it's user error or within the patcher, we recommend asking on the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN) for help.
## Debugging yourself
The easiest way to debug yourself is via Patcher Settings. Here there are many different settings however the 3 main options that will help are:
The easiest way to debug yourself is via Patcher Settings. Here there are many different settings, however, the 3 main options that will help are:
* "Enable Verbose Mode"
* "Enable OpenCore DEBUG"
* "Enable Kext DEBUG"
![](../images/ocdebugimage.png)
When you've enabled these 3 options, rebuild OpenCore and install to your drive. This will provide much greater debug information as well as write logs to the EFI Partition.
## Obtaining OpenCore logs from disk
With "Enable OpenCore DEBUG" set, every boot there will be a .txt file generated in your disk. To grab these logs, [download and run MountEFI](https://github.com/corpnewt/MountEFI):
With "Enable OpenCore DEBUG" set, on every boot there will be a .txt file generated on the EFI Partition. To grab these logs, [download and run MountEFI](https://github.com/corpnewt/MountEFI):
![](../images/mountefi.png)
@@ -36,13 +36,17 @@ From there, you'll have a log on your desktop.
## Filing an issue with us
Now that you have proper logs, you can now [file issues with us](https://github.com/dortania/OpenCore-Legacy-Patcher/issues). Reminder we want the following info:
::: 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.
:::
* Model patching for (ie. MacBookPro10,1)
Now that you have proper logs, you can now [file issues with us](https://github.com/dortania/OpenCore-Legacy-Patcher/issues). This is a reminder to include the following info:
* Model that you're patching for (ie. MacBookPro10,1)
* Target OS (ie. macOS 11.2.3)
* Host OS (ie. macOS 10.15.7)
* Upload of your OpenCore Build Folder
* Upload of your OpenCore log (if applicable)
* Upload of your Kernel log (if applicable)
Additionally, please search whether the issue has been reported before. This avoids having duplicate issues.
Additionally, please search to see if the issue has been reported before. This avoids having duplicate issues.

View File

@@ -1,6 +1,6 @@
# Supporting the patcher
OpenCore Legacy Patcher is a hobby project for us developers, and while we love helping out the community it's very difficult for us to troubleshoot issues remotely. The best way for us to get to work on the patcher, fix issues and add enhancements is having the hardware in-hand. As a hobby project, neither of the main developers can afford to buy every legacy Mac to test on.
OpenCore Legacy Patcher is a hobby project for us developers, and while we love helping out the community, it's very difficult for us to troubleshoot issues remotely. The best way for us to get to work on the patcher, fix issues and add enhancements is having the hardware in-hand. As a hobby project, neither of the main developers can afford to buy every legacy Mac to test on.
The best way to support us in all honesty is to donate any old hardware you no longer need, as this allows us to have machines to test locally and push fixes much faster. While we appreciate cash donations, this makes it much more difficult for us to handle as an organization.
@@ -8,10 +8,6 @@ Main sections of help we'd appreciate:
* Donating any Mac you own
* Does require SSE4,1 CPU to test on Sierra and newer however
* Donating any spare SATA SSDs
* Having extra SSDs on hand allows us to quickly and easily test specific builds of macOS without having to wipe drives and reinstall as much
* Aiding by buying items in our Amazon Wishlist
* Currently we have a few members within Dortania testing so we recommend messaging the email listed below to see which member at the time would require something purchased the most
Additionally, hardware info dumps are greatly beneficial for us to determine what patches a machine might need:
@@ -19,17 +15,4 @@ Additionally, hardware info dumps are greatly beneficial for us to determine wha
* `File -> SaveAs` and open an issue on Github
* Note: We want IOReg dumps of hardware not running on OpenCore, instead running a clean, officially supported OS by the machine
If you have any legacy hardware you're willing to donate or what to buy us something, please contact us at the following email:
* khronokernel@icloud.com
Current hardware we own:
| Model | CPU | GPU | Owner | Notes |
| :--- | :--- | :--- | :--- | :--- |
| MacBook7,1 | Penryn | GT320M | Dhinak | N/A |
| MacBook7,1 | Penryn | GT320M | Mykola | N/A |
| MacBookPro5,3 | Penryn | 9400M + 9600M | Dhinak | Display's partially broken |
| Macmini4,1 | Penryn | GT320M | Dhinak | N/A |
| iMac11,2 | Clarksdale | HD4670 | Mykola | N/A |
| MacPro3,1 | Penryn | HD5770, RX570, GT710 | Mykola | N/A |
If you have any legacy hardware you're willing to donate or want to buy us hardware, please reach out on our Discord server.

View File

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

View File

@@ -1,6 +1,6 @@
# Creating custom icons for OpenCore and Mac Boot Picker
For users who want to customize your setup to be more personal, OpenCore does allow for custom icons and images in the boot picker.
For users who want to customize their setup to be more personal, OpenCore does allow for custom icons and images in the boot picker.
* [Custom OpenCore icons](#custom-opencore-icons)
* [Custom Mac Boot Picker icons](#custom-mac-boot-picker-icons)
@@ -34,7 +34,7 @@ Once you have a custom image you want to use(for example, as a background), down
![](../images/icnspack-folder.png)
Now `cd` this folder in terminal and run the following:
Now `cd` to this folder in terminal and run the following:
```sh
./icnspack Background.icns <insert_x1_image> <insert_x2_image>
@@ -46,13 +46,13 @@ Once done, you'll see your custom icon generated in `icnspack`'s folder:
# Custom Mac Boot Picker icons
Custom boot picker icons is much more complicated on Legacy Macs, on late 2013+ Macs the [Custom OpenCore icons](#custom-opencore-icons) method will work just fine. However on many 2012 and older Macs, the icons generated will be incompatible with the firmware.
Custom boot picker icons are much more complicated on Legacy Macs. On late 2013+ Macs, the [Custom OpenCore icons](#custom-opencore-icons) method will work just fine. However, on many 2012 and older Macs, the icons generated will be incompatible with the firmware.
To generate legacy icons, you'll need the following:
* A machine running macOS 10.4 through 10.11
* Icon Composer.app (Requires Apple Developer Account for official download)
* Users without the developer account can find a mirrors here:
* Users without a developer account can find mirrors here:
* [Icon Composer 10.6](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/main/docs/Icon-Composer-10.6.zip)
* [Icon Composer 10.11](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/main/docs/Icon-Composer-10.11.zip)
* PNG Image you wish to convert
@@ -69,15 +69,15 @@ Now run the app and simply drag the images to each section as so:
![](../images/icon-SL.png)
Now save and export the new icns
Now save and export the new icns file.
# Installing updated icons
To install, please ensure that Vault is disabled when you built OpenCore. If you're unsure, simply rebuild OpenCore with the Patcher setting "Vault" set to false.
To install, please ensure that Vault was disabled when you built OpenCore. If you're unsure, simply rebuild OpenCore with the Patcher setting "Vault" set to false.
* <span style="color:red"> Warning</span>: Editing your OpenCore EFI incorrectly can result in a bricked install. Please ensure you have a natively supported version of macOS installed to boot into in case of issues.
Now that you've verified you can edit OpenCore safely, you'll need to mount the drive that OpenCore is stored on. To do this, download [MountEFI](https://github.com/corpnewt/MountEFI) and run it:
Now that you've verified that you can edit OpenCore safely, you'll need to mount the drive that OpenCore is stored on. To do this, download [MountEFI](https://github.com/corpnewt/MountEFI) and run it:
![](../images/mountefi.png)
@@ -96,7 +96,7 @@ Now reboot and you should see your updated icon(s)!
### Updating Mac Boot Picker icons
To update the Mac Boot Picker icons is actually quite simple, on the root of your drive simply drop the icon onto the root of the drive with the name `.VolumeIcon.icns`
Updating the Mac Boot Picker icons is actually quite simple. On the root of your drive, simply drop the icon into the root of the drive with the name `.VolumeIcon.icns`
![](../images/mac-icns-drive.png)

View File

@@ -1,59 +1,51 @@
# Download and build macOS Installers
* [Downloading](#downloading)
* [Building](#building)
This document is centered around downloading and writing the macOS installer to a USB drive. If you're already familiar with how to do this, you can skip this section.
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 drive will be required for the installer
* Note: 16GB+ USB will be required for the installer
## Creating the installer
## Downloading
With OpenCore Legacy Patcher, our new GUI includes a download menu for macOS installers. So to start off, you'll want to grab our app:
The simplest way to download macOS installs would be to use installinstallmacos:
* [OpenCore Legacy Patcher Release Apps](https://github.com/dortania/OpenCore-Legacy-Patcher/releases)
```sh
[ ! -d ~/macOS-installer/ ] && mkdir ~/macOS-installer; cd ~/macOS-installer; [ ! -f ~/macOS-installer/installinstallmacos.py ] && curl -O https://raw.githubusercontent.com/munki/macadmin-scripts/main/installinstallmacos.py; sudo python installinstallmacos.py
```
For this guide, we'll be using the standard OpenCore-Patcher (GUI).
* Note: On El Capitan (10.11) and older, you'll need to specify a catalog at the end of the command:
Once downloaded, open the app and you should be greeted by this menu:
```
--catalogurl https://swscan.apple.com/content/catalogs/others/index-11-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog
```
![OCLP GUI Main Menu](../images/OCLP-GUI-Main-Menu.png)
![](../images/munki.png)
First, we'll want to select the "Create macOS Installer" button. This will present you with 2 options:
As you can see, we get a nice list of macOS installers. If you need a particular versions of macOS, you can select it by typing the number next to it. For this example we'll choose 10:
![](../images/OCLP-GUI-Create-Installer-Menu.png)
![](../images/munki-process.png)
For this example, we'll assume you'll need an installer. Selecting this option will download Apple's Installer Catalogs and build a list for you to choose:
This is going to take a while as we're downloading the entire 12GB+ macOS installer.
| Downloading | Listed Installers | Unsupported Installer |
| :--- | :--- | :--- |
| ![OCLP GUI Installer Download Catalog](../images/OCLP-GUI-Installer-Download-Catalog.png) | ![OCLP GUI Installer Download Listed Products](../images/OCLP-GUI-Installer-Download-Listed-Products.png) | ![](../images/OCLP-GUI-Installer-Download-Unsupported.png)
Once finished, you'll find in your `~/macOS-Installer/` folder a DMG containing the macOS Installer, called `Install_macOS_11.1-20C69.dmg` for example. Mount it and you'll find the installer application.
Since the patcher officially supports Big Sur and newer for patching, only those entires will be shown. For ourselves, we'll select macOS 12 as that's the latest public release at the time of writing. This will download and install the macOS installer to your applications folder.
* Note: We recommend to move the Install macOS.app into the `/Applications` folder, as we'll be executing commands from there.
* Note 2: Running Cmd+Shift+G in Finder will allow you to easily jump to `~/macOS-installer`
* Note that some machines (namely 2012 and older) may not be currently supported on macOS Ventura. If you see this prompt, you'll need to use an older version of macOS.
![](../images/munki-done-2.png)
| Downloading the Installer | Requesting to install | Finished Installing |
| :--- | :--- | :--- |
| ![OCLP GUI Installer Download Progress](../images/OCLP-GUI-Installer-Download-Progress.png) | ![OCLP GUI Installer Needs Installing](../images/OCLP-GUI-Installer-Needs-Installing.png) | ![OCLP GUI Installer Download Finished](../images/OCLP-GUI-Installer-Download-Finished.png) |
![](../images/munki-dmg.png)
Once finished, you can proceed to write the installer onto a USB drive.
## Building
* Note: The entire USB drive will be formatted
Now we'll be formatting the USB to prep for both the macOS installer and OpenCore. We'll want to use macOS Extended (HFS+) with a GUID partition map(Using GUID is important for the patcher). This will create two partitions: the main `MyVolume` and a second called `EFI` which is used as a boot partition where your Mac's firmware will check for boot files. `EFI` partitions will be hidden by default, so don't worry if you don't immediately see them.
| Select Downloaded Installer | Select disk to format |
| :--- | :--- |
| ![](../images/OCLP-GUI-Installer-Select-Local-Installer.png) | ![](../images/OCLP-GUI-Installer-Format-USB.png) |
* Note: By default, Disk Utility only shows partitions press Cmd/Win+2 to show all devices (alternatively you can press the View button)
Now the patcher will start the installer flashing!
![Formatting the USB](../images/format-usb.png)
Next run the `createinstallmedia` command provided by [Apple](https://support.apple.com/en-us/HT201372). Note that the command is made for USB's formatted with the name `MyVolume`:
```sh
sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
```
* Note: You can also replace the `createinstallmedia` path with that of where your installer's located (same idea with the drive name).
![](../images/createinstallmedia.png)
| Flashing | Success Prompt | Finished Flashing |
| :--- | :--- |
| ![](../images/OCLP-GUI-Installer-Flashing-Process.png) | ![](../images/OCLP-GUI-Installer-Sucess-Prompt.png) | ![](../images/OCLP-GUI-Installer-Finished-Script.png) |
# Once finished, head to [Building and installing OpenCore](./BUILD.md)

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

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

View File

@@ -1,13 +1,10 @@
# Supported Models
Any Intel-based Mac listed below can install and make use of OpenCore Legacy Patcher. To check your hardware model, open System Information and look for the `Model Identifier` key.
* This applies even if Apple supports the model natively.
* OpenCore Legacy Patcher does not support PowerPC- or Apple Silicon-based Macs.
* If your model is not listed below, it is not supported by this patcher.
Any hardware supporting SSE4.1 CPU and 64-Bit firmware work on this patcher. To check your hardware model, run the below command on the applicable machine in terminal:
```bash
system_profiler SPHardwareDataType | grep 'Model Identifier'
```
The below table will list all supported and unsupported functions of the patcher currently:
The below tables can be used to reference issues with a particular model, and see which OS would work best on your machine.
* [MacBook](#macbook)
* [MacBook Air](#macbook-air)
* [MacBook Pro](#macbook-pro)
@@ -16,122 +13,138 @@ The below table will list all supported and unsupported functions of the patcher
* [Mac Pro](#mac-pro)
* [Xserve](#xserve)
Regarding OS support, see below:
::: details OpenCore Patcher application
The patcher application requires **OS X Yosemite 10.10** or later to run.
* **OS X El Capitan 10.11** or later is required to make macOS Ventura installers.
The patcher is designed to target **macOS Big Sur 11.x to macOS Ventura 13.x**.
* Other versions may work, albeit in a broken state. No support is provided for any version outside of the above.
:::
| Support Entry | Supported OSes | Description | Comment |
| :--- | :--- | :--- | :--- |
| HostOS | macOS 10.9 - macOS 11 | 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 | 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. |
### MacBook
| SMBIOS | Year | Supported | Comment |
| :--- | :--- | :--- | :--- |
| MacBook1,1 | Mid-2006 | <span style="color:red"> NO </span> | 32-Bit CPU limitation |
| MacBook2,1 | Late 2006 | ^^ | 32-Bit Firmware limitation |
| MacBook3,1 | Late 2007 | ^^ | ^^ |
| MacBook4,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | - No GPU Acceleration in Mavericks and newer<br/>- No Keyboard and Trackpad<br/>- No USB |
| MacBook5,1 | Late 2008 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/> |
| MacBook5,2 | Early 2009 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/>- Trackpad is recognized as mouse<br/>- Brightness control partially supported |
| MacBook6,1 | Late 2009 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/> |
| MacBook7,1 | Mid-2010 | ^^ | ^^ |
| Model Name | Identifier | Tagged Issues |
| :--- | :--- | :--- |
| MacBook (13-inch, Late 2008) | `MacBook5,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)|
| MacBook (13-inch, Early 2009)<br>MacBook (13-inch, Mid 2009) | `MacBook5,2` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)<br>- Trackpad gestures are partially broken |
| MacBook (13-inch, Late 2009) | `MacBook6,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021) |
| MacBook (13-inch, Mid 2010) | `MacBook7,1` | ^^ |
| MacBook (Retina, 12-inch, Early 2015) | `MacBook8,1` | - [Legacy Metal (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008) |
| MacBook (Retina, 12-inch, Early 2016) | `MacBook9,1` | ^^ |
| MacBook (Retina, 12-inch, 2017) | `MacBook10,1` | Supported by Apple |
### MacBook Air
| SMBIOS | Year | Supported | Comment |
| :--- | :--- | :--- | :--- |
| MacBookAir1,1 | Early 2008 | <span style="color:red"> NO </span> | Requires SSE4.1 CPU |
| MacBookAir2,1 | Late 2008 |<span style="color:#30BCD5"> YES </span> | GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)) |
| MacBookAir3,1 | Late 2010 | ^^ | ^^ |
| MacBookAir3,2 | ^^ | ^^ | ^^ |
| MacBookAir4,1 | Mid-2011 | ^^ | ^^ |
| MacBookAir4,2 | ^^ | ^^ | ^^ |
| MacBookAir5,1 | Mid-2012 |^^ | <span style="color:green"> Everything is supported</span> |
| MacBookAir5,2 | ^^ | ^^ | ^^ |
| Model Name | Identifier | Tagged Issues |
| :--- | :--- | :--- |
| MacBook Air (13-inch, Late 2008)<br>MacBook Air (13-inch, Mid 2009) | `MacBookAir2,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)|
| MacBook Air (11-inch, Late 2010) | `MacBookAir3,1` | ^^ |
| MacBook Air (13-inch, Late 2010) | `MacBookAir3,2` | ^^ |
| MacBook Air (11-inch, Mid 2011) | `MacBookAir4,1` | ^^ |
| MacBook Air (13-inch, Mid 2011) | `MacBookAir4,2` | ^^ |
| MacBook Air (11-inch, Mid 2012) | `MacBookAir5,1` | - [Legacy Metal (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008) |
| MacBook Air (13-inch, Mid 2012) | `MacBookAir5,2` | ^^ |
| MacBook Air (11-inch, Mid 2013)<br>MacBook Air (11-inch, Early 2014) | `MacBookAir6,1` | ^^ |
| MacBook Air (13-inch, Mid 2013)<br>MacBook Air (13-inch, Early 2014) | `MacBookAir6,2` | ^^ |
| MacBook Air (11-inch, Early 2015) | `MacBookAir7,1` | ^^ |
| MacBook Air (13-inch, Early 2015)<br>MacBook Air (13-inch, 2017) | `MacBookAir7,2` | ^^ |
| MacBook Air (Retina, 13-inch, 2018) | `MacBookAir8,1` | - Supported by Apple |
| MacBook Air (Retina, 13-inch, 2019) | `MacBookAir9,1` | ^^ |
| MacBook Air (Retina, 13-inch, 2020) | `MacBookAir10,1` | ^^ |
### MacBook Pro
| SMBIOS | Year | Supported | Comment |
| :--- | :--- | :--- | :--- |
| MacBookPro1,1 | Early 2006 | <span style="color:red"> NO </span> | 32-Bit CPU limitation |
| MacBookPro1,2 | ^^ | ^^ | ^^ |
| MacBookPro2,1 | Late 2006 | ^^ | 32-Bit Firmware limitation |
| MacBookPro2,2 | Late 2006 | ^^ | ^^ |
| MacBookPro3,1 | Mid-2007 | ^^ | Requires SSE4.1 CPU |
| MacBookPro4,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)) |
| MacBookPro5,1 | Late 2008 | ^^ | ^^ |
| MacBookPro5,2 | Early 2009 | ^^ | ^^ |
| MacBookPro5,3 | Mid-2009 | ^^ | ^^ |
| MacBookPro5,4 | ^^ | ^^ | ^^ |
| MacBookPro5,5 | ^^ | ^^ | ^^ |
| MacBookPro6,1 | Mid-2010 | ^^ | ^^ |
| MacBookPro6,2 | ^^ | ^^ | ^^ |
| MacBookPro7,1 | ^^ | ^^ | ^^ |
| MacBookPro8,1 | Early 2011 | ^^ | ^^ |
| MacBookPro8,2 | ^^ | ^^ | ^^ |
| MacBookPro8,3 | ^^ | ^^ | ^^ |
| MacBookPro9,1 | Mid-2012 | ^^ | <span style="color:green"> Everything is supported</span> |
| MacBookPro9,2 | ^^ | ^^ | ^^ |
| MacBookPro10,1 | Mid-2012, Early 2013 | ^^ | ^^ |
| MacBookPro10,2 | Late 2012, Early 2013 | ^^ | ^^ |
| Model Name | Identifier | Tagged Issues |
| :--- | :--- | :--- |
| MacBook Pro (15-inch, Early 2008)<br>MacBook Pro (17-inch, Early 2008) | `MacBookPro4,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)|
| MacBook Pro (15-inch, Late 2008) | `MacBookPro5,1` | ^^ |
| MacBook Pro (17-inch, Early 2009)<br>MacBook Pro (17-inch, Mid 2009) | `MacBookPro5,2` | ^^ |
| MacBook Pro (15-inch, Mid 2009) | `MacBookPro5,3` | ^^ |
| MacBook Pro (13-inch, Mid 2009) | `MacBookPro5,5` | ^^ |
| MacBook Pro (17-inch, Mid 2010) | `MacBookPro6,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108) |
| MacBook Pro (15-inch, Mid 2010) | `MacBookPro6,2` | ^^ |
| MacBook Pro (13-inch, Mid 2010) | `MacBookPro7,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021) |
| MacBook Pro (13-inch, Early 2011)<br>MacBook Pro (13-inch, Late 2011) | `MacBookPro8,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108) |
| MacBook Pro (15-inch, Early 2011)<br>MacBook Pro (15-inch, Late 2011) | `MacBookPro8,2` | ^^ |
| MacBook Pro (17-inch, Early 2011)<br> | `MacBookPro8,3` | ^^ |
| MacBook Pro (15-inch, Mid 2012) | `MacBookPro9,1` | - [Legacy Metal (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008) |
| MacBook Pro (13-inch, Mid 2012) | `MacBookPro9,2` | ^^ |
| MacBook Pro (Retina, 15-inch, Mid 2012)<br>MacBook Pro (Retina, 15-inch, Early 2013) | `MacBookPro10,1` | ^^ |
| MacBook Pro (Retina, 13-inch, Late 2012)<br>MacBook Pro (Retina, 13-inch, Early 2013) | `MacBookPro10,2` | ^^ |
| MacBook Pro (Retina, 13-inch, Late 2013)<br>MacBook Pro (Retina, 13-inch, Mid 2014) | `MacBookPro11,1` | ^^ |
| MacBook Pro (Retina, 15-inch, Late 2013)<br>MacBook Pro (Retina, 15-inch, Mid 2014) | `MacBookPro11,2`<br>`MacBookPro11,3` | ^^ |
| MacBook Pro (Retina, 15-inch, Mid 2015) | `MacBookPro11,4`<br>`MacBookPro11,5` | ^^ |
| MacBook Pro (Retina, 13-inch, Early 2015) | `MacBookPro12,1` | ^^ |
| MacBook Pro (13-inch, 2016, 2 Thunderbolt 3 ports) | `MacBookPro13,1` | ^^ |
| MacBook Pro (13-inch, 2016, 4 Thunderbolt 3 ports) | `MacBookPro13,2` | ^^ |
| MacBook Pro (15-inch, 2016) | `MacBookPro13,3` | ^^ |
| MacBook Pro (13-inch, 2017, 2 Thunderbolt 3 ports) | `MacBookPro14,1` | - Supported by Apple |
| MacBook Pro (13-inch, 2017, 4 Thunderbolt 3 ports) | `MacBookPro14,2` | ^^ |
| MacBook Pro (15-inch, 2017) | `MacBookPro14,3` | ^^ |
| MacBook Pro (13-inch, 2018, 4 Thunderbolt 3 ports)<br>MacBook Pro (13-inch, 2019, 4 Thunderbolt 3 ports) | `MacBookPro15,2` | ^^ |
| MacBook Pro (15-inch, 2018)<br>MacBook Pro (15-inch, 2019) | `MacBookPro15,1` | ^^ |
| MacBook Pro (13-inch, 2019, 2 Thunderbolt 3 ports) | `MacBookPro15,4` | ^^ |
| MacBook Pro (16-inch, 2019) | `MacBookPro16,1`<br>`MacBookPro16,4` | ^^ |
| MacBook Pro (13-inch, 2020, 4 Thunderbolt 3 ports) | `MacBookPro16,2` | ^^ |
| MacBook Pro (13-inch, 2020, 2 Thunderbolt 3 ports) | `MacBookPro16,3` | ^^ |
### Mac mini
| SMBIOS | Year | Supported | Comment |
| :--- | :--- | :--- | :--- |
| Macmini1,1 | Early 2006 | <span style="color:red"> NO </span> | 32-Bit CPU limitation |
| Macmini2,1 | Mid-2007 | ^^ | 32-Bit Firmware limitation |
| Macmini3,1 | Early 2009 | <span style="color:#30BCD5"> YES </span> | GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)) |
| Macmini4,1 | Mid-2010 | ^^ | ^^ |
| Macmini5,1 | Mid-2011 | ^^ | ^^ |
| Macmini5,2 | ^^ | ^^ | ^^ |
| Macmini5,3 | ^^ | ^^ | ^^ |
| Macmini6,1 | Late 2012 | ^^ | <span style="color:green"> Everything is supported</span> |
| Macmini6,2 | ^^ | ^^ | ^^ |
| Model Name | Identifier | Tagged Issues |
| :--- | :--- | :--- |
| Mac mini (Early 2009) | `Macmini3,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021) |
| Mac mini (Mid 2010) | `Macmini4,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108) |
| Mac mini (Mid 2011) | `Macmini5,1`<br>`Macmini5,2`<br>`Macmini5,3` | ^^ |
| Mac mini (Late 2012) | `Macmini6,1`<br>`Macmini6,2` | - [Legacy Metal (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008) |
| Mac mini (Late 2014) | `Macmini7,1` | ^^ |
| Mac mini (Late 2018) | `Macmini8,1` | - Supported by Apple |
### iMac
| SMBIOS | Year | Supported | Comment |
| :--- | :--- | :--- | :--- |
| iMac4,1 | Early 2006 | <span style="color:red"> NO </span> | 32-Bit CPU limitation |
| iMac4,2 | Mid-2006 | ^^ | ^^ |
| iMac5,1 | Late 2006 | ^^ | 32-Bit Firmware limitation |
| iMac5,2 | ^^ | ^^ | ^^ |
| iMac6,1 | ^^ | ^^ | ^^ |
| iMac7,1 | Mid-2007 | <span style="color:#30BCD5"> YES </span> | - Requires an [SSE4.1 CPU Upgrade](https://lowendmac.com/2018/penryn-t9300-9500-cpu-upgrades-for-the-2007-imac/)<br/>- GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/>- Brightness control partially supported on Nvidia GPUs, AMD unsupported<br/>- Stock Bluetooth 2.0 card non-functional |
| iMac8,1 | Early 2008 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)))<br/>- Brightness control partially supported on Nvidia GPUs, AMD unsupported |
| iMac9,1 | Early 2009 | ^^ | ^^ |
| iMac10,1 | Late 2009 | ^^ | - GPU is socketed, [recommend upgrading to Metal GPU](https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/?post=17425857#post-17425857) <br/>- GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)) |
| iMac11,1 | ^^ | ^^ | ^^ |
| iMac11,2 | Mid-2010 | ^^ | ^^ |
| iMac11,3 | ^^ | ^^ | ^^ |
| iMac12,1 | Mid-2011 | ^^ | ^^ |
| iMac12,2 | ^^ | ^^ | ^^ |
| iMac13,1 | Late 2012 | ^^ | <span style="color:green"> Everything is supported</span> |
| iMac13,2 | ^^ | ^^ | ^^ |
| iMac13,3 | ^^ | ^^ | ^^ |
| iMac14,1 | Late 2013 | ^^ | ^^ |
| iMac14,2 | ^^ | ^^ | ^^ |
| iMac14,3 | ^^ | ^^ | ^^ |
* For iMac10,1 through iMac12,x, we highly recommend users upgrade the GPU to a Metal supported model. See here for more information: [iMac late 2009 to mid-2011 Graphics Card Upgrade Guide](https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/?post=17425857#post-17425857)
| Model Name | Identifier | Tagged Issues |
| :--- | :--- | :--- |
| iMac (20-inch, Mid 2007)<br>iMac (24-inch, Mid 2007) | `iMac7,1` | - [Requires SSE4.1 CPU](https://lowendmac.com/2018/penryn-t9300-9500-cpu-upgrades-for-the-2007-imac/)<br>- [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)<br>- Remove stock Bluetooth to prevent panics |
| iMac (20-inch, Early 2008)<br>iMac (24-inch, Early 2008) | `iMac8,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021) |
| iMac (20-inch, Early 2009)<br>iMac (24-inch, Early 2009)<br>iMac (20-inch, Mid 2009) | `iMac9,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)<br>- [Recommend upgrading to Metal GPU](https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/?post=17425857#post-17425857) |
| iMac (21.5-inch, Late 2009)<br>iMac (27-inch, Late 2009)| `iMac10,1` | ^^ |
| iMac (27-inch, Late 2009) | `iMac11,1` | ^^ |
| iMac (21.5-inch, Mid 2010) | `iMac11,2` | ^^ |
| iMac (27-inch, Mid 2010) | `iMac11,3` | ^^ |
| iMac (21.5-inch, Mid 2011)<br>iMac (21.5-inch, Late 2011) | `iMac12,1` | ^^ |
| iMac (27-inch, Mid 2011) | `iMac12,2` | ^^ |
| iMac (21.5-inch, Late 2012) | `iMac13,1` | - [Legacy Metal (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008) |
| iMac (27-inch, Late 2012) | `iMac13,2` | ^^ |
| iMac (21.5-inch, Early 2013) | `iMac13,3` | ^^ |
| iMac (21.5-inch, Late 2013) | `iMac14,1` | ^^ |
| iMac (27-inch, Late 2013) | `iMac14,2`<br>`iMac14,3` | ^^ |
| iMac (21.5-inch, Mid 2014) | `iMac14,4` | ^^ |
| iMac (Retina 5K, 27-inch, Late 2014)<br>iMac (Retina 5K, 27-inch, Mid 2015) | `iMac15,1` | ^^ |
| iMac (21.5-inch, Late 2015) | `iMac16,1` | ^^ |
| iMac (Retina 4K, 21.5-inch, Late 2015) | `iMac16,2` | ^^ |
| iMac (Retina 5K, 27-inch, Late 2015) | `iMac17,1` | ^^ |
| iMac (21.5-inch, 2017) | `iMac18,1` | - Supported by Apple |
| iMac (Retina 4K, 21.5-inch, 2017) | `iMac18,2` | ^^ |
| iMac (Retina 5K, 27-inch, 2017) | `iMac18,3` | ^^ |
| iMac (Retina 5K, 27-inch, 2019) | `iMac19,1` | ^^ |
| iMac (Retina 4K, 21.5-inch, 2019) | `iMac19,2` | ^^ |
| iMac (Retina 5K, 27-inch, 2020) | `iMac20,1`<br>`iMac20,2` | ^^ |
| iMac Pro (2017) | `iMacPro1,1` | ^^ |
### Mac Pro
| SMBIOS | Year | Supported | Comment |
| :--- | :--- | :--- | :--- |
| MacPro1,1 | Mid-2006 | <span style="color:red"> NO </span> | 32-Bit Firmware limitation |
| MacPro2,1 | Mid-2007 | ^^ | ^^ |
| MacPro3,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | - Potential boot issues with built-in USB 1.1 ports (recommend using a USB 2.0 hub or dedicated USB PCIe controller)<br/>- Potential boot issues with stock Bluetooth card, recommend removing to avoid kernel panics |
| MacPro4,1 | Early 2009 | ^^ | <span style="color:green"> Everything is supported as long as GPU is Metal capable </span> |
| MacPro5,1 | Mid-2010, Mid-2012 | ^^ | ^^ |
| Model Name | Identifier | Tagged Issues |
| :--- | :--- | :--- |
| Mac Pro (Early 2008) | `MacPro3,1` | - Recommend upgrade to Metal GPU<br>- [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)<br>- Remove stock Bluetooth to prevent panics |
| Mac Pro (Early 2009) | `MacPro4,1` | - Recommend upgrade to Metal GPU<br>- [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021) |
| Mac Pro (Mid 2010)<br>Mac Pro (Mid 2012) | `MacPro5,1` | ^^ |
| Mac Pro (Late 2013) | `MacPro6,1` | - [Legacy Metal (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008) |
| Mac Pro (2019) | `MacPro7,1` | - Supported by Apple |
### Xserve
| SMBIOS | Year | Supported | Comment |
| :--- | :--- | :--- | :--- |
| Xserve1,1 | Mid-2006 | <span style="color:red"> NO </span> | 32-Bit Firmware limitation |
| Xserve2,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | <span style="color:green"> Everything is supported as long as GPU is Metal capable </span> |
| Xserve3,1 | Early 2009 | ^^ | ^^ |
| Model Name | Identifier | Tagged Issues |
| :--- | :--- | :--- |
| Xserve (Early 2008) | `Xserve2,1` | - Recommend upgrade to Metal GPU<br>- [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)
| Xserve (Early 2009) | `Xserve3,1` | ^^ |
# Once you've verified your hardware is supported, head to [Download and build macOS Installers](./INSTALLER.md)

View File

@@ -1,72 +1,89 @@
# 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.
Current models with full, unhindered support in OpenCore Legacy Patcher are the following:
## Newly dropped hardware
* iMac13,x and newer
* iMac10,1-12,x included if Wireless Card and Bluetooth upgraded as well as Metal GPU
* Macmini7,1 and newer
* MacBook8,1 and newer
* MacBookAir6,x and newer
* MacBookPro11,x and newer
* MacPro3,1 and newer
* Requires Wireless Card and Bluetooth upgrade for 3,1-5,1 as well as Metal GPU
With Monterey, Apple continues their their somewhat ruthless march of dropping Intel hardware. This release saw the removal, and thus addition into OpenCore Legacy Patcher, of the following models:
## Current Hardware Drawbacks:
* iMac14,4
* iMac15,1
* MacBook8,1
* MacBookAir6,1
* MacBookAir6,2
* MacBookPro11,1
* MacBookPro11,2
* MacBookPro11,3
Below is a list of hardware that currently has issues with Monterey:
::: details Model names
* [Acceleration Support Dropped](#acceleration-support-dropped)
* [Metal GPUs](#metal-gpus)
* [Non-Metal GPUs](#non-metal-gpus)
* [Bluetooth Support Dropped](#bluetooth-support-dropped)
* [Wireless Support Dropped](#wireless-support-dropped)
## Acceleration Support Dropped
### Metal GPUs
* Intel HD4000 iGPUs lost support
By default these machines require root volume patches to gain graphics acceleration in Monterey. OpenCore Legacy Patcher supports readding support however SIP and FileVault can no longer be enabled due to root patching:
* Macmini6,x
* MacBookAir5,x
* MacBookPro9,x
* MacBookPro10,x
Note: Currently HD 4000 support in Monterey is not perfect, following are broken:
::: details HD 4000 Issues
* Photo Booth app crashing
* Safari sites crash if request camera access
* Full Screen recoding crashing with Screenshot app
* AirPlay to Mac crashes
* Full Screen apps crashes
* Disable "Hide menubar in Full Screen" to avoid crash
* 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)
:::
### Non-Metal GPUs
All of these models now have support in OpenCore Legacy Patcher.
* Non-Metal GPUs no longer have working acceleration patches:
* Intel Ironlake and Sandy Bridge iGPUs
* Nvidia Tesla and Fermi GPUs
* AMD TeraScale 1 and 2 GPUs
## Current Monterey Issues
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):
### 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)
* Documentation:
* [5K iMac and UEFI: Fixing the dreaded output limitation](https://khronokernel.github.io/macos/2021/12/08/5K-UEFI.html)
* Associated Github Issue:
* [5k Output issues on iMac15,1 (27" 5k iMac - 2014) #359](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/359)
:::
::: details macOS 12.0 Beta 4 issue on 2012 to early 2013 machines (Resolved in 0.2.5 and newer)
Currently in macOS 12.0 Beta 4, many Ivy Bridge Macs have experienced Bluetooth issues relating to their BCM20702 chipset. Currently the exact issue is unknown however is assumed to be a bug on Apple's end. Recommend downgrading to macOS 12.0 Beta 3 till resolved:
* [12.0 Beta 3 (21A5284e) InstallAssistant (Direct)](http://swcdn.apple.com/content/downloads/02/08/071-63739-A_G5RYVW5JHT/dfz5gp3s0jm9vl7m30oewq141zkpv8edr8/InstallAssistant.pkg)
* [12.0 Beta 3 (21A5284e) InstallAssistant (archive.org)](https://archive.org/details/12.0-21a5284e-beta-3)
A temporary fix is to restart the BlueTool and bluetoothd process with each boot, note it may not work for all users:
```sh
sudo killall -9 BlueTool bluetoothd
```
:::
::: details Wireless Support Dropped (Resolved in 0.2.5 and newer)
* Broadcom BCM94328, BCM94322 and Atheros Wireless Chipsets lost support
The following models lost Wifi support in macOS Monterey due to their legacy Wireless chipset:
* iMac12,x and older
* Macmini5,x and older
* MacBook7,1 and older
* MacBookAir4,x and older
* MacBookPro8,x and older
* Macmini3,1 and older
* MacBook5,x and older
* MacBookAir2,1 and older
* MacBookPro7,1 and older
* MacBookPro6,x is exempt
* MacPro5,1 and older
Note: iMac10,1 through iMac12,x can be upgraded with Metal GPUs, [see here for more info](https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/)
Note: BCM943224, BCM94331, BCM94360 and BCM943602 are still fully supported by OpenCore Legacy Patcher
## Bluetooth Support Dropped
:::
::: details Bluetooth Support Dropped (Resolved in 0.2.5 and newer)
* BRCM2046 and BRCM2070 Bluetooth Chipsets lost support
@@ -79,7 +96,9 @@ The following models lost Bluetooth support in macOS Monterey due to their legac
* MacBookPro8,1 and older
* MacPro5,1 and older
::: details Dropped Firmwares
Note: Native BRCM20702 and BRCM20703 are still fully supported by OpenCore Legacy Patcher
::: details Dropped Firmwares
Here are the firmwares macOS Monterey Dropped (previously located within IOBluetoothUSBDFU.kext):
@@ -102,19 +121,48 @@ Here are the firmwares macOS Monterey Dropped (previously located within IOBluet
:::
Note: Native BRCM20702 and BRCM20703 are still fully support by OpenCore Legacy Patcher
::: details Ivy Bridge iGPU Acceleration (Resolved in 0.1.7 and newer)
## Wireless Support Dropped
* Intel HD4000 iGPUs lost support
* Broadcom BCM94328, BCM94322 and Atheros Wireless Chipsets lost support
By default these machines require root volume patches to gain graphics acceleration in Monterey. OpenCore Legacy Patcher supports readding support however SIP can no longer be enabled due to root patching:
The following models lost Bluetooth support in macOS Monterey due to their legacy Wireless chipset:
* Macmini6,x
* MacBookAir5,x
* MacBookPro9,x
* MacBookPro10,x
:::
::: details NVIDIA Kepler dGPU Acceleration (Resolved in 0.2.5 and newer)
* NVIDIA Kepler dGPUs lost support
By default these machines require root volume patches to gain graphics acceleration in Monterey. OpenCore Legacy Patcher supports readding support however SIP can no longer be enabled due to root patching:
* MacBookPro9,1
* MacBookPro10,1
* MacBookPro11,3
* iMac13,x
* iMac14,x
:::
::: details Non-Metal Acceleration (Resolved in 0.2.5 and newer)
* Non-Metal GPUs no longer have working acceleration patches:
* Intel Ironlake and Sandy Bridge iGPUs
* NVIDIA Tesla and Fermi GPUs
* AMD TeraScale 1 and 2 GPUs
The following machines cannot gain graphics acceleration at all in Monterey, only basic framebuffer and brightness control (iMac8,1/9,1 and MacBook5,2 excluded):
* iMac12,x and older
* Macmini3,1 and older
* MacBook5,x and older
* MacBookAir2,1 and older
* MacBookPro7,1 and older
* MacPro5,1 and older
* Macmini5,x and older
* MacBook7,1 and older
* MacBookAir4,x and older
* MacBookPro8,x and older
Note: BCM943224, BCM94331, BCM94360 and BCM943602 are still fully support by OpenCore Legacy Patcher
Note: iMac10,1 through iMac12,x can be upgraded with Metal GPUs, [see here for more info](https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/)
:::

View File

@@ -1,6 +1,6 @@
# Explaining the patches in OpenCore Legacy Patcher
In our patcher, there are numerous patches used to ensure a stable system. Here we're going to go over what patches are used and why we recommend or even require them.
In our patcher, there are numerous patches used to ensure a stable system. Here, we're going to go over what patches are used and why we recommend or even require them.
* [OpenCore Settings](#opencore-settings)
* [Injected Kexts](#injected-kexts)
@@ -8,18 +8,44 @@ In our patcher, there are numerous patches used to ensure a stable system. Here
## OpenCore Settings
Below is a run down of the main logic OpenCore Legacy Patcher uses to gain native support in macOS. Note OpenCore's configuration is documented within [OpenCorePkg](https://github.com/acidanthera/OpenCorePkg) as well as an online version provided by us:
Below is a rundown of the main logic that OpenCore Legacy Patcher uses to gain native support in macOS. Note that OpenCore's configuration is documented within [OpenCorePkg](https://github.com/acidanthera/OpenCorePkg) as well as on an online version provided by us:
* [OpenCorePkg Online Docs](https://dortania.github.io/docs/latest/Configuration.html)
::: details Configuration Explanation
### ACPI -> Add
* SSDT-CPBG
* Reason: Resolves Kernel Panic on Arrandale Macs in early Big Sur builds
* Logic: Disable dummy CPBG device in ACPI
* Models: MacBookPro6,x and iMac11,x
* SSDT-PCI
* Reason: Patch Windows Audio support for Sandy and Ivy Bridge
* Logic: Removes PCI0's 32-bit Allocation Limitation
* Models: All Sandy and Ivy Bridge Macs, excluding MacPro6,1
* SSDT-DGPU
* Reason: Allows for software based deMUX disabling dGPUs in 2011 MacBook Pros
* Logic: Sends power down request to dGPU via ACPI
* Models: MacBookPro8,2 and MacBookPro8,3 with dead dGPUs
### ACPI -> Patch
* EHCx and XHC1 Patches
* `EHCx` and `XHC1` Patches
* Reason: Required for proper USB operation
* Logic: Avoids USB maps of newer models attaching and breaking USB port functionality
* Models: All models require
* Models: All models require when spoofing with Moderate or Advanced SMBIOS
* `BUF0` to `BUF1` Patch
* Reason: To be paired with SSDT-PCI
* `_INI` to `XINI` Patch
* Reason: To be paired with SSDT-DGPU
### Booter -> Patch
* Reroute `HW_BID` to `OC_BID`
* Reason: Allows macOS installers to be used on unsupported models
* Logic: Reroutes Board ID macOS checks to custom variable
* Models: All systems using VMM spoofing
### Booter -> Quirks
@@ -30,21 +56,13 @@ Below is a run down of the main logic OpenCore Legacy Patcher uses to gain nativ
### DeviceProperties -> Add
* `PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)`
* `PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)`
* `PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)`
* `PciRoot(0x0)/Pci(0x1C,0x5)/Pci(0x0,0x0)`
* `PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)`
* Reason: Required to ensure Wifi works with full, native support
* Logic: Tricks AirPortBrcmNIC.kext into thinking our device is a BCM94360 (`14e4,43ba`)
* Models: Machines with BCM943224 and BCM94331 chipsets
* `PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)`
* `PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)`
* Reason: Required to ensure Brightness Control works on upgraded iMacs
* 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
@@ -53,15 +71,32 @@ Below is a run down of the main logic OpenCore Legacy Patcher uses to gain nativ
* SMC Patch
* Reason: Required to avoid SMC Firmware updates
* Logic: Patches out `smc-version` in AppleSMC.kext, requires SMC-Spoof.kext for full functionality
* Models: All models require
* Models: All models require when spoofing SMBIOS
* IOHIDFamily Patch
* Reason: Required for HID peripheral support in macOS on older hardware
* Logic: Tricks IOHIDFamily into thinking it's always booting recovery
* Models: [2010 and older](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/79ab028b0a039e97a528e0b99c876d95d9c2d41d/Resources/ModelArray.py#L310-L332)
* Models: Penryn CPUs (Core2 series)
* Force FileVault on Broken Seal Patch
* Reason: Allow FileVault on root patched Macs
* Logic: Forces APFS.kext to always return true on FileVault support
* Models: Any model needing root patches
* Disable Library Validation Enforcement Patch
* Reason: non-Metal Root Volume Patches do not pass library validation tests
* Logic: Forces Library Validation function to always return not required
* Models: Non-Metal GPUs
* SurPlus Patch
* Reason: macOS 11.3-12.0.1 require systems to have RDRAND support in the CPU for stable boot
* Logic: Forces RDRAND code to return predetermined value
* Models: All pre-Ivy Bridge Macs
* Reroute `kern.hv_vmm_present` Patch
* Reason: Allows macOS to be installed and updated on unsupported hardware
* Logic: Forces userspace to see system as Virtual Machine
* Models: Any model using VMM spoofing
### Kernel -> Quirks
* ThridPartyDrives
* 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
@@ -73,13 +108,13 @@ Below is a run down of the main logic OpenCore Legacy Patcher uses to gain nativ
### Misc -> Security
* SecureBootModel
* Reason: Required to ensure seamless OS updates with Big Sur
* Logic: Sets iMacPro1,1's Secure Enclave Identifier (j137)
* Models: All models require
* Reason: Required to allow native OS updates on T2 model spoofs
* Logic: Sets T2's Secure Enclave Identifier
* Models: All models required that spoof T2 model with minimal or higher
### NVRAM -> Add
* `-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
@@ -100,14 +135,22 @@ 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
* `amfi=0x80`
* Reason: Disables Apple Mobile File Integrity to allow for root patches
* Logic: Adds args to NVRAM
* Models: Any model that requires unsigned root patches
### UEFI -> ProtocolOverrides
* GopPassThrough
* Reason: Used for proper output on machines with UGA firmware but GOP GPU
* Logic: Provide GOP protocol instances on top of UGA protocol instances
* Models: MacPro3,1, MacBook4,1 iMac7,1-8,1
* Models: MacPro3,1, iMac7,1-8,1
:::
## Injected Kext
@@ -123,35 +166,74 @@ Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into m
* Models: All models require
* WhateverGreen
* Reason: Patches GPU Frameworks and kext to ensure proper support
* Models: All models require
* Models: All models require when spoofing or have non-stock GPU
* CPUFriend
* Reason: Patches IOx86PlatformPlugin to restore previous CPU profiles
* Models: 2012 and newer models
* Models: All models using minimal or higher spoofing
* AirportBrcmFixup
* Reason: Patches IO80211 and co to fix networking support for unsupported cards
* Models: BCM943224 and BCM94331
* Reason: Patches IO80211 and co to fix networking support for unsupported cards, and fix bugs on native ones as well (ie. random degraded network performance)
* Models: BCM943224, BCM94331, BCM94360 and BCM943602
* 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
* CryptexFixup
* Reason: Installs non AVX2.0 Cryptex on non AVX2.0 CPUs
* Models: All CPUs Ivy Bridge and older
* AutoPkgInstaller
* Reason: Allows for automatic root patching
* NVMeFix
* Reason: Fixes 3rd party NVMe support
* RSRHelper
* Reason: Fixes Rapid Security Response Support on root patched installs
*
### 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
* CatalinaBCM5701Ethernet
* Reason: Inject old Broadcom Ethernet kext to resolve networking in Big Sur
* Logic: Patch out conflicting symbols to not colide existing BCM5701Ethernet
* Logic: Patch out conflicting symbols to not collide existing BCM5701Ethernet
* Models: 2011 and older Broadcom Ethernet require
* Intel82574L
* Reason: Resolves Ethernet Support on MacPros
* Models: MacPro3,1 - 5,1
* CatalinaIntelI210Ethernet
* Reason: Fixes Intel i210/i225 NIC support on pre-Ivy Macs
* AppleIntel8254XEthernet
* Reason: Resolves Ethernet Support on MacPros
* Models: MacPro3,1 - 5,1
### Firewire
* IOFireWireFamily
* Reason: Allows for FireWire Boot Support
* IOFireWireSBP2
* Reason: Allows for FireWire Boot Support
* IOFireWireSerialBusProtoColTransport
* Reason: Allows for FireWire Boot Support
### Maps
* USBMap
* Reason: Inject old USB map profiles to fix USB
* Models: All models require
* Models: All models require when spoofing moderate or higher, as well as pre-2012 models
### SSE
@@ -159,59 +241,266 @@ 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
* IO80211HighSierra
* Reason: Re-inject Atheros wifi drivers from High Sierra
* Logic: Patch out conflicting symbols to not colide existing IO80211Family
* Models: Atheros cards
* IO80211Mojave
* Reason: Re-inject Broadcom wifi drivers from Mojave
* Logic: Patch out conflicting symbols to not colide existing IO80211Family
* Models: BCM94322
* IO80211ElCap
* Reason: Re-inject WiFi drivers from El Capitan
* Models: BCM94328, BCM94322 and Atheros chipsets
* corecaptureElCap.kext
* Reason: Re-inject WiFi drivers from El Capitan
* Models: BCM94328, BCM94322 and Atheros chipsets
### 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
* Models: All models require when spoofing minimal or higher
* AppleRAIDCard
* Adds AppleRaidCard Support for Xserves
* AMDGPUWakeHandler
* Reason: Adds Software Based Demux for 2011 15/17 Macbook Pros
* AppleIntelCPUPowerManagement and AppleIntelCPUPowerManagementClient
* Reason: Restores Ivy Bridge and older CPU Power Management
* AppleUSBTopCase
* Reason: Restore USB Keyboard support on Mac OS Ventura
* AppleUSBMultitouch and AppleUSBTrackpad
* Reason: Restore USB Trackpad support on Mac OS Ventura
* ASPP-Override
* Reason: Forces ACPI_SMC_PlatformPlugin to outmatch X86PlatformPlugin and disable firmware throttling
* BacklightInjector
* Reason: Fixes Brightness in iMacs with upgraded GPUs
* BigSurSDXC
* Reason: Restores SDXC Support in Pre Ivy-Bridge Macs
* Bluetooth-spoof
* Reason: Spoofs legacy Bluetooth to work on Monterey and newer
* Innie
* Reason: Makes all PCIe drives appear internal
* Models: MacPro3,1 and newer & Xserve3,1 and newer
* KDKlessWorkaround
* Reason: Helps with Mac os updates on KDKless patched systems
* LegacyUSBVieoSupport
* Reason: Fixes Legacy USB iSight support
* MonteAHCIPort
* Reason: Fixes SSD support for stock SSD found in MacBookAir6,x
* NoAVXFSCompressionTypeZlib
* Reason: Prevents AVXFSCompressionTypeZlib crash on pre AVX1.0 systems in 12.4+
* SimpleMSR
* Reason: Disables BD PROCHOT to prevent firmware throttling on Nehalem+ MacBooks
* LegacyKeyboardInjector
* Reason: Fixes function keys on MacBook5,2
:::
## On-Disk Patches
Unfortunately certain on-disk patches are required to achieve full functionality. Below is a breakdown of patches supported
Note, GPU Acceleration Patches are not public yet, the below section is simply documentation for easier research with new aids.
::: details Audio Patches
::: details Audio Patches (11.0+)
### Extensions
* AppleHDA
* Reason: Re-add High Sierra's AppleHDA to achieve audio support
* Models: 2011 and older Macs (excluding MacPro4,1+)
* Reason: Re-add El Capitan's AppleHDA to achieve audio support
* Models: iMac7,1 and iMac8,1
:::
::: details Acceleration Patches
::: details Legacy Wireless Patches (12.0+)
Applicable for BCM94328, BCM94322 and Atheros Wifi cards
### CoreServices
* WiFiAgent.app
### /usr/libexec
* airportd
:::
::: details NVIDIA Kepler Graphics Acceleration Patches (12.0+)
### Extensions
* GeForce.kext
* GeForceAIRPlugin.bundle
* GeForceGLDriver.bundle
* GeForceMTLDriver.bundle
* GeForceVADriver.bundle
* NVDAGF100Hal.kext
* NVDAGK100Hal.kext
* NVDAResman.kext
* NVDAStartup.kext
### Frameworks
* OpenCL (libCLVMNVPTXPlugin.dylib, NVPTX.dylib)
* Reason: Re-add Kepler hardware acceleration support
* Metal
* Reason: 3802 based GPU's broken by 13.3, requiring a Metal downgrade to 13.2.1
### PrivateFrameworks
* MTLCompiler
* Reason: 3802 based GPU's broken by 13.3, requiring a MTLCompiler downgrade to 13.2.1
* GPUCompiler
* Reason: 3802 based GPU's broken by 13.3, requiring a GPUCompiler downgrade to 13.2.1
:::
::: details Intel Ivy Bridge Graphics Acceleration Patches (12.0+)
### Extensions
* AppleIntelIVBVA.bundle
* AppleIntelFramebufferCapri.kext
* AppleIntelGraphicsShared.bundle
* AppleIntelHD4000Graphics.kext
* AppleIntelHD4000GraphicsGLDriver.bundle
* AppleIntelHD4000GraphicsMTLDriver.bundle
* AppleIntelHD4000GraphicsVADriver.bundle
### PrivateFrameworks
* AppleGVA/AppleGVACore
* Reason: Enable DRM support
* MTLCompiler
* Reason: 3802 based GPU's broken by 13.3, requiring a MTLCompiler downgrade to 13.2.1
* GPUCompiler
* Reason: 3802 based GPU's broken by 13.3, requiring a GPUCompiler downgrade to 13.2.1
### Frameworks
* OpenCL (libCLVMIGILPlugin.dylib)
* Reason: Re-add Ivy Bridge hardware acceleration support
* WebKit (com.apple.WebProcess.sb)
* Reason: Re-add Ivy Bridge Safari rendering support
* Metal
* Reason: 3802 based GPU's broken by 13.3, requiring a Metal downgrade to 13.2.1
:::
::: details Intel Haswell Graphics Acceleration Patches (13.0+)
### Extensions
* AppleIntelFramebufferAzul.kext
* AppleIntelHD5000Graphics.kext
* AppleIntelHD5000GraphicsGLDriver.bundle
* AppleIntelHD5000GraphicsMTLDriver.bundle
* AppleIntelHD5000GraphicsVADriver.bundle
* AppleIntelHSWVA.bundle
* AppleIntelGraphicsShared.bundle
### Frameworks
* Metal
* Reason: 3802 based GPU's broken by 13.3, requiring a Metal downgrade to 13.2.1
### PrivateFrameworks
* MTLCompiler
* Reason: 3802 based GPU's broken by 13.3, requiring a MTLCompiler downgrade to 13.2.1
* GPUCompiler
* Reason: 3802 based GPU's broken by 13.3, requiring a GPUCompiler downgrade to 13.2.1
:::
::: details Intel Broadwell Graphics Acceleration Patches (13.0+)
### Extensions
* AppleIntelBDWGraphics.kext
* AppleIntelBDWGraphicsFramebuffer.kext
* AppleIntelBDWGraphicsGLDriver.bundle
* AppleIntelBDWGraphicsMTLDriver.bundle
* AppleIntelBDWGraphicsVADriver.bundle
* AppleIntelBDWGraphicsVAME.bundle
* AppleIntelGraphicsShared.bundle
:::
::: details Intel Skylake Graphics Acceleration Patches (13.0+)
### Extensions
* AppleIntelSKLGraphics.kext
* AppleIntelSKLGraphicsFramebuffer.kext
* AppleIntelSKLGraphicsGLDriver.bundle
* AppleIntelSKLGraphicsMTLDriver.bundle
* AppleIntelSKLGraphicsVADriver.bundle
* AppleIntelSKLGraphicsVAME.bundle
* AppleIntelGraphicsShared.bundle
:::
::: details AMD Legacy Vega Graphics Acceleration Patches (13.0+)
### Extensions
* AMDRadeonX5000.kext
* AMDRadeonVADriver2.bundle
* AMDRadeonX5000GLDriver.bundle
* AMDRadeonX5000MTLDriver.bundle
* AMDRadeonX5000Shared.bundle
* AMDShared.bundle
:::
::: details AMD Legacy Polaris Graphics Acceleration Patches (13.0+)
### Extensions
* AMDRadeonX4000.kext
* AMDRadeonX4000HWServices.kext
* AMDRadeonVADriver2.bundle
* AMDRadeonX4000GLDriver.bundle
* AMDMTLBronzeDriver.bundle
* AMDShared.bundle
:::
::: details AMD Legacy GCN Graphics Acceleration Patches
### Extensions
* AMD7000Controller.kext
* AMD8000Controller.kext
* AMD9000Controller.kext
* AMD9500Controller.kext
* AMD10000Controller.kext
* AMDRadeonX4000.kext
* AMDRadeonX4000HWServices.kext
* AMDFramebuffer.kext
* AMDSupport.kext
* AMDRadeonVADriver.bundle
* AMDRadeonVADriver2.bundle
* AMDRadeonX4000GLDriver.bundle
* AMDMTLBronzeDriver.bundle
* AMDShared.bundle
::: details non-Metal Graphics Acceleration Patches (11.0+)
#### General Patches
* IOSurface.kext
@@ -222,7 +511,7 @@ Note, GPU Acceleration Patches are not public yet, the below section is simply d
#### Dropped Acceleration Binaries
* Nvidia Binaries
* NVIDIA Binaries
* GeForceGA.bundle
* GeForceTesla.kext
* Skip IOFree Panic - Mojave+
@@ -236,6 +525,19 @@ Note, GPU Acceleration Patches are not public yet, the below section is simply d
* 0x1ea59a - 0x1ea5b3: nop
* Replace VSLGestalt to IOLockLock or any other known symbol of the same length.
* NVIDIA Web Drivers Binaries
* GeForceWeb.kext
* NVDAGF100HalWeb.kext
* NVDAGK100HalWeb.kext
* NVDAGM100HalWeb.kext
* NVDAGP100HalWeb.kext
* NVDAResmanWeb.kext
* NVDAStartupWeb.kext
* GeForceTeslaWeb.kext
* NVDANV50HalTeslaWeb.kext
* NVDAResmanTeslaWeb.kext
* Reason: Allows for non-Metal Acceleration for NVIDIA Maxwell and Pascal GPUs
* AMD/ATI Binaries
* AMD2400Controller.kext
* AMD2600Controller.kext
@@ -292,10 +594,4 @@ Note, GPU Acceleration Patches are not public yet, the below section is simply d
* SkyLight.framework
* Logic: Copied from Mojave, heavy modifications/shims
### LaunchDaemons
* HiddHack.plist
* Reason: Fixes unresponsive input when patching Skylight
* Logic: Forces `hidd` to register events, as Skylight handles them by default in Big Sur
:::

View File

@@ -1,7 +1,7 @@
# Post-Installation
* [Booting without USB drive](#booting-without-usb-drive)
* [Booting seamlessly without Verbose or OpenCore Picker](#booting-seamlessly-without-verbose-or-opencore-picker)
* [Booting seamlessly without Boot Picker](#booting-seamlessly-without-boot-picker)
* [Applying Post Install Volume Patches](#applying-post-install-volume-patches)
## Booting without USB drive
@@ -14,41 +14,120 @@ Once you've installed macOS through OpenCore, you can boot up and go through the
* Install OpenCore to internal drive
* Reboot holding Option, and select the internal EFI
And voila! No more USB drive required
And voila! No more USB drive required.
## Booting seamlessly without Verbose or OpenCore Picker
## Booting seamlessly without Boot Picker
To do this, run the OpenCore Patcher and head to Patcher Settings:
To do this, run the OpenCore Patcher and head to Patcher Settings, then uncheck "Show OpenCore Bootpicker" on the Build tab:
![](../images/settings.png)
![](../images/OCLP-GUI-Settings-ShowPicker.png)
Here you can change different patcher settings, however the main interest is:
* Set ShowPicker Mode
Once you've toggled them both off, build your OpenCore EFI once again and install to your desired drive. Now to show 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.
Once you've toggled it 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, and then you can release the "ESC" key when you see the cursor arrow at the top left.
## Enabling SIP
For many users, SIP will be enabled by default on build. For Intel HD 4000 users, you may have noticed that SIP is disabled. This is to ensure full compatibility with macOS Monterey and allow seamless booting between it and older OSes. However for users who do not plan to boot Monterey, you can re-enable under Patcher Settings.
For many users, SIP will be lowered by default on build. For Intel HD 4000 users, you may have noticed that SIP is partially disabled. This is to ensure full compatibility with macOS Monterey and allow seamless booting between it and older OSes. However for users who do not plan to boot Monterey, you can re-enable under Patcher Settings.
Note: Machines with non-Metal GPUs cannot enable SIP in Big Sur either due to patched root volume
Note: Machines running macOS Ventura or systems with non-Metal GPUs cannot enable SIP outright, due to having a patched root volume. Enabling it will brick the installation.
Going forward with 0.6.6, SIP settings can be accessed from the Security tab shown in the images.
| SIP Enabled | SIP Lowered (Root Patching) | SIP Disabled |
| :--- | :--- | :--- |
| ![](../images/OCLP-GUI-Settings-SIP-Enabled.png) | ![](../images/OCLP-GUI-Settings-SIP-Root-Patch.png) | ![](../images/OCLP-GUI-Settings-SIP-Disabled.png) |
:::warning
If you're unsure whether you should enable SIP, leave it as-is. Systems where you have already ran the Post Install Root Patching cannot enable SIP without potentially breaking the current install.
:::
## Applying Post Install Volume Patches
**Note**: For users who need Post-Install Volume patches for legacy video acceleration support, you **must** disable the following settings in "Patcher Settings" when building and installing your new OpenCore:
Post Install Volume Patches, sometimes also called root patches, are patches that have to be installed to disk for some older Macs to gain back functionality.
* SIP: Disabled
* SecureBootModel: Disabled
OCLP will automatically root patch your system during a first time install **if the USB install media was created within OCLP.** Users 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.
Once set, rebuild OpenCore, install to drive and reboot. Then, Post-Install Volume patches will run just fine
Users can also see whether applicable patches have been installed, date and version the system was root patched with in the Post-Install Menu.
To apply the Post-Install Volume patches [to test out the Beta Graphics Acceleration Patches system](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108), select option #3 as shown below:
| Automatic install prompt | Status |
| :--- | :--- |
| ![](../images/OCLP-GUI-root-patch-update.png) | ![](../images/OCLP-GUI-Root-Patch-Status.png) |
![](../images/root-patch.png)
And go ahead to option #1 and let the OCLP patcher apply the needed legacy video patches.
![](../images/root-patcher-2.png)
### Running Post Install patches manually
Reboot your system and check out the now working graphics acceleration on your legacy system. This is still Beta software.
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 or not.
| Listing Patches | Patching Finished |
| :--- | :--- |
| ![](../images/OCLP-GUI-Root-Patch.png) | ![](../images/OCLP-GUI-Root-Patch-Finished.png) |
:::warning
With macOS Ventura and Macs with AMD Legacy GCN GPUs (ie. Metal), Root Patching requires a network connection to grab Apple's Kernel Debug Kit to start root patching. If your system is unable to connect to the internet, you can manually download a KDK from Apple's site:
* [Apple's Developer Download Page](https://developer.apple.com/download/all/?q=Kernel%20Debug%20Kit)
Grab the Kernel Debug Kit whose version is closest to the OS you installed, and install it to the machine running Ventura.
Machines that require this are those with AMD Metal dGPUs:
* 2008 - 2013 Mac Pros (MacPro3,1 - 6,1)
* 2009 - 2016 iMacs (iMac10,1 - 17,1)
* 2015 15" MacBook Pro with a dGPU (MacBookPro11,5)
:::
Below entries represent GPUs no longer natively supported, ie. requiring root volume patching with OpenCore Legacy Patcher:
:::details GPUs requiring patching in macOS Big Sur
* NVIDIA:
* Tesla (8000 - 300 series)
* AMD:
* TeraScale (2000 - 6000 series)
* Intel:
* Iron Lake
* Sandy Bridge (2000 - 3000 series)
:::
:::details GPUs requiring patching in macOS Monterey
* NVIDIA:
* Tesla (8000 - 300 series)
* Kepler (600 - 800 series)
* AMD:
* TeraScale (2000 - 6000 series)
* Intel:
* Iron Lake
* Sandy Bridge (2000 - 3000 series)
* Ivy Bridge (4000 series)
:::
:::details Wireless Cards requiring patching in macOS Monterey
* Broadcom:
* BCM94328
* BCM94322
* Atheros
:::
:::details GPUs requiring patching in macOS Ventura
* NVIDIA:
* Kepler (600 - 800 series)
* AMD:
* GCN 1-3 (7000 - R9 series)
* Polaris (RX 4xx/5xx series, if CPU lacks AVX2)
* Intel:
* Ivy Bridge (4000 series)
* Haswell (4400, 4600, 5000 series)
* Broadwell (6000 series)
* Skylake (500 series)
:::

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.
footer: Copyright © Dortania 2020-2021
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, WiFi, and Bluetooth chipsets. Even your upgraded hardware receives benefits by unlocking exciting features like Hardware Acceleration, AirDrop, Apple Watch Unlock, Sidecar, and much more!
- 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
---

BIN
docs/ResXtreme.zip Normal file

Binary file not shown.

View File

@@ -1,30 +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:
OpenCore is a sophisticated boot loader used to inject and patch data in memory, instead of on disk. This means that we're able to achieve a 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:
* [Supported Models](./MODELS.md)
1. The first step of ensuring whether your model is supported is by checking the [Supported Models](./MODELS.md) page.
2. [Download and build macOS Installer](./INSTALLER.md)
3. [Run the `OpenCore-Patcher.app`](./BUILD.md)

View File

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

View File

@@ -1,118 +1,144 @@
# Tested Models on OpenCore Legacy Patcher
To aid users in troubleshooting, we've compiled a list of users who've reported success with OpenCore Legacy patcher as well as the version used. This should aid users in verifying whether issues with the patcher are regression-related with newer versions.
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 broken 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 | ^^ | ^^ | ^^ |
| 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 | ^^ | ^^ | ^^ |
| 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 |
| MacBookPro8,1 | ^^ | AvaQueen | - Stock model <br/>- Patcher version 0.0.19 |
| 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 |
| MacBookPro10,1 | ^^ | traviswparker | - Stock model <br/>- Patcher version 0.0.14 |
| ^^ | ^^ | il-rollino | - Upgraded BCM94360CSAX <br/>- Patcher version 0.0.21 |
| MacBookPro10,2 | No reports | N/A | N/A |
:::
### Mac mini
::: details MacBook Pro
| SMBIOS | Tested | Tester | Comment |
| :--- | :--- | :--- | :--- |
| Macmini3,1 | No reports | N/A | N/A |
| Macmini4,1 | ^^ | ^^ | ^^ |
| Macmini5,1 | ^^ | ^^ | ^^ |
| Macmini5,2 | ^^ | ^^ | ^^ |
| 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 | No reports | N/A | N/A |
| iMac8,1 | <span style="color:#30BCD5"> YES </span> | 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 |
| 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

@@ -1,70 +1,175 @@
# Troubleshooting
Here are some common errors users may experience while using this patcher:
Here are some common errors that users may experience while using this patcher:
* [Stuck on `This version of Mac OS X is not supported on this platform`](#stuck-on-this-version-of-mac-os-x-is-not-supported-on-this-platform)
* [OpenCore Legacy Patcher not launching](#opencore-legacy-patcher-not-launching)
* [Stuck on `This version of Mac OS X is not supported on this platform` or (🚫) Prohibited Symbol](#stuck-on-this-version-of-mac-os-x-is-not-supported-on-this-platform-or-(🚫)-prohibited-symbol)
* [Cannot boot macOS without the USB](#cannot-boot-macos-without-the-usb)
* [Infinite Recovery OS Booting](#infinite-recovery-os-reboot)
* [Reboot when entering Hibernation (`Sleep Wake Failure`)](#reboot-when-entering-hibernation-sleep-wake-failure)
* [Booting with a non-flashed GPU](#booting-with-a-non-flashed-gpu)
* [How to Boot Big Sur Recovery](#how-to-boot-big-sur-recovery)
* [How to Boot Recovery through OpenCore Legacy Patcher](#how-to-boot-recovery-through-opencore-legacy-patcher)
* [Stuck on "Your Mac needs a firmware update"](#stuck-on-your-mac-needs-a-firmware-update)
* [No Brightness Control](#no-brightness-control)
* [Cannot connect Wi-Fi on Monterey with legacy cards](#cannot-connect-Wi-Fi-on-Monterey-with-legacy-cards)
* [No Graphics Acceleration](#no-graphics-acceleration)
* [Black Screen on MacBookPro11,3 in macOS Monterey](#black-screen-on-macbookpro113-in-macos-monterey)
* [No DisplayPort Output on Mac Pros with NVIDIA Kepler](#no-displayport-output-on-mac-pros-with-NVIDIA-kepler)
* [Volume Hash Mismatch Error in macOS Monterey](#volume-hash-mismatch-error-in-macos-monterey)
* [Cannot Disable SIP in recoveryOS](#cannot-disable-sip-in-recoveryos)
* [Stuck on "Less than a minute remaining..."](#stuck-on-less-than-a-minute-remaining)
* [No acceleration after a Metal GPU swap on Mac Pro](#no-acceleration-after-a-metal-gpu-swap-on-mac-pro)
* [Keyboard, Mouse and Trackpad not working in installer or after update](#keyboard-mouse-and-trackpad-not-working-in-installer-or-after-update)
## Stuck on `This version of Mac OS X is not supported on this platform`
This means macOS has detected a SMBIOS it does not support, to resolve this ensure you're booting OpenCore **before** the macOS installer in the boot picker. Reminder the option will be called `EFI Boot`
## OpenCore Legacy Patcher not launching
Once you've booted OpenCore at least once, your hardware should now auto boot it until either NVRAM reset or you remove the drive with OpenCore installed.
If the application won't launch (e.g. icon will bounce in the Dock), try launching OCLP via Terminal by typing the following command, make sure you've moved the app to `/Applications` before this.
```sh
/Applications/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher
```
## Stuck on `This version of Mac OS X is not supported on this platform` or (🚫) Prohibited Symbol
This means macOS has detected an SMBIOS it does not support. To resolve this, ensure you're booting OpenCore **before** the macOS installer in the boot picker. Reminder that the option will be called `EFI Boot`.
Once you've booted OpenCore at least once, your hardware should now auto-boot it until either an NVRAM reset occurs, or you remove the drive with OpenCore installed.
However, if the 🚫 Symbol only appears after the boot process has already started (the bootscreen appears/verbose boot starts), it could mean that your USB drive has failed to pass macOS' integrity checks. To resolve this, create a new installer using a different USB drive (preferably of a different model.)
## Cannot boot macOS without the USB
By default, the OpenCore Patcher won't install OpenCore onto the internal drive itself during installs. Instead, you'll need to either [manually transfer](https://dortania.github.io/OpenCore-Post-Install/universal/oc2hdd.html) OpenCore to the internal drive's EFI or run this patcher's Option 2 again but select your internal drive.
By default, the OpenCore Patcher won't install OpenCore onto the internal drive itself during installs.
After installing macOS, OpenCore Legacy Patcher should automatically prompt you to install OpenCore onto the internal drive. However, if it doesn't show the prompt, you'll need to either [manually transfer](https://dortania.github.io/OpenCore-Post-Install/universal/oc2hdd.html) OpenCore to the internal drive's EFI or Build and Install again and select your internal drive.
Reminder that once this is done, you'll need to select OpenCore in the boot picker again for your hardware to remember this entry and auto boot from then on.
## Infinite Recovery OS Booting
With OpenCore Legacy Patcher, we rely on Apple Secure Boot to ensure OS updates work correctly and reliably with Big Sur. However this installs NVRAM variables that will confuse your Mac if not running with OpenCore. To resolve, simply uninstall OpenCore and [reset NVRAM](https://support.apple.com/en-mide/HT201255).
With OpenCore Legacy Patcher, we rely on Apple Secure Boot to ensure OS updates work correctly and reliably with Big Sur. However this installs NVRAM variables that will confuse your Mac if not running with OpenCore. To resolve this, simply uninstall OpenCore and [reset NVRAM](https://support.apple.com/en-mide/HT201255).
* Note: Machines with modded root volumes will also result in infinite recovery until integrity is restored
* Note: Machines with modified root volumes will also result in an infinite recovery loop until integrity is restored.
## Reboot when entering Hibernation (`Sleep Wake Failure`)
[Known issue on some models](https://github.com/dortania/Opencore-Legacy-Patcher/issues/72), temporary fix is to disable Hibernation:
[Known issue on some models](https://github.com/dortania/Opencore-Legacy-Patcher/issues/72), a temporary fix is to disable Hibernation by executing the following command in the terminal:
```
sudo pmset -a hibernatemode 0
```
## Booting with a non-flashed GPU
## How to Boot Recovery through OpenCore Legacy Patcher
For Mac Pro, Xserve and iMac users with non-flashed GPUs, you can still easily boot OpenCore and view the entire boot process. To do so, make sure SIP is disabled(to allow NVRAM write access) and run the following:
```sh
sudo bless --verbose --file /Volumes/VOLNAME/EFI/OC/OpenCore.efi --folder /Volumes/VOLNAME/EFI/OC --setBoot
```
* Note you will need to replace `VOLNAME` with the Volume name of your USB or hard drive with OpenCore
* Note 2: Once done, you can re-enable SIP
* Note 3: The EFI partition OpenCore was installed on must be mounted, if it's unmounted simply rerun "Install OpenCore to drive"
Once you boot OpenCore for the first time, LauncherOption will install itself as the top boot priority making OpenCore always launch. Combined with `RequestBootVar`, all boot options must go through OpenCore ensuring seamless usage even with OS installation and updates.
## How to Boot Big Sur Recovery
By default, the patcher will try to hide extra boot options such as recovery from the user. To make them appear, simply press the "Spacebar" inside OpenCore's Picker to list all boot options.
By default, the patcher will try to hide extra boot options such as recovery from the user. To make them appear, simply press the `Spacebar` key while inside OpenCore's Picker to list all boot options.
## Stuck on "Your Mac needs a firmware update"
Full error: "Your Mac needs a firmware update in order to install to this Volume. Please select a Mac OS Extended (Journaled) volume instead."
This error occurs when macOS determines the firmware to not have full APFS support. To resolve is quite simple, when building OpenCore head to "Patcher Settings" and enable "Moderate SMBIOS Patching" or higher. This will ensure that the firmware reported will show as supporting full APFS capabilities.
This error occurs when macOS determines that the current firmware does not have full APFS support. To resolve this, when installing OpenCore, head to "Patcher Settings" and enable "Moderate SMBIOS Patching" or higher. This will ensure that the firmware reported will show support for full APFS capabilities.
## No Brightness Control
With OCLP v0.0.22, we've added support for brightness control on many models. However some users may have noticed that their brightness keys do not work.
With OCLP v0.0.22, we've added support for brightness control on many models. However, some users may have noticed that their brightness keys do not work.
To work-around, we recommend user try out the below app:
As a work-around, we recommend users try out the below app:
* [Brightness Slider](https://actproductions.net/free-apps/brightness-slider/)
## Cannot connect Wi-Fi on Monterey with legacy cards
With OCLP v0.2.5, we've added support for legacy Wi-Fi on Monterey. However, some users may have noticed that they can't connect to wireless networks.
To work-around this, we recommend that users manually connect using the "Other" option in the Wi-Fi menu bar or manually adding the network in the "Network" preference pane.
## No Graphics Acceleration
In macOS, GPU drivers are often dropped from the OS with each major release of it. 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 graphics processors.
If you're using OCLP v0.4.4, you should have been prompted to install Root Volume patches after the first boot from installation of macOS. If you need to do this manually, you can do so within the patcher 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.
* Safe Mode can be started by holding `Shift` + `Enter` when selecting macOS Monterey in OCLP's Boot Menu.
## No DisplayPort Output on Mac Pros with NVIDIA Kepler
If you're having trouble 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 resolve the issue.
![](../images/OCLP-GUI-SMBIOS-Minimal.png)
## Volume Hash Mismatch Error in macOS Monterey
A semi-common popup some users face is the "Volume Hash Mismatch" error:
<p align="center">
<img src="../images/Hash-Mismatch.png">
</p>
What this error signifies is that the OS detects that the boot volume's hash does not match what the OS is expecting, this error is generally cosmetic and can be ignored. However if your system starts to crash spontaneously shortly after, you'll want to reinstall macOS fresh without importing any data at first.
* Note that this bug affects native Macs as well and is not due to issues with unsupported Macs: [OSX Daily: “Volume Hash Mismatch” Error in MacOS Monterey](https://osxdaily.com/2021/11/10/volume-hash-mismatch-error-in-macos-monterey/)
Additionally, it can help to disable FeatureUnlock in Settings -> Misc Settings as this tool can be strenuous on systems with weaker memory stability.
## Cannot Disable SIP in recoveryOS
With OCLP, the patcher will always overwrite the current SIP value on boot to ensure that users don't brick an installation after an NVRAM reset. However, for users wanting to disable SIP entirely, this can be done easily.
Head into the GUI, go to Patcher Settings, and toggle the bits you need disabled from SIP:
| SIP Enabled | SIP Lowered (Root Patching) | SIP Disabled |
| :--- | :--- | :--- |
| ![](../images/OCLP-GUI-Settings-SIP-Enabled.png) | ![](../images/OCLP-GUI-Settings-SIP-Root-Patch.png) | ![](../images/OCLP-GUI-Settings-SIP-Disabled.png) |
## Intermediate issues with USB 1.1 and Bluetooth on MacPro3,1 - MacPro5,1
For those experiencing issues with USB 1.1 devices (such as mice, keyboards and bluetooth chipsets), macOS Big Sur and newer have weakened OS-side reliability for the UHCI controller in older Mac Pros.
* UHCI is a USB 1.1 controller that is hooked together with the USB 2.0 ports in your system. Whenever a USB 1.1 device is detected, the UHCI controller is given ownership of the device at a hardware/firmware level.
* EHCI is the USB 2.0 controller in older Mac Pros
Because of this, we recommend placing a USB 2.0/3.0 hub between your devices and the port on the Mac Pro. UHCI and EHCI cannot both be used at once, so using a USB hub will always force the EHCI controller on.
* Alternatively, you can try cold-starting the hardware and see if macOS recognizes the UHCI controller properly.
## 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 stage, a lot of heavy cryptography is performed, which can make systems appear to be stuck. 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 power off or 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 and not actually frozen.
## No acceleration after a Metal GPU swap on Mac Pro
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` + `.`
The reason for this is that the autopatcher will assume that you will be using the original graphics card and therefore does non-metal patching, which includes removing some drivers for other cards. This causes Metal cards to not accelerate after swapping.
## Keyboard, Mouse and Trackpad not working in installer or after update
For Macs using legacy USB 1.1 controllers, OpenCore Legacy Patcher can only restore support once it has performed root volume patches. Thus to install macOS, you need to hook up a USB hub between your Mac and Keyboard/Mouse.
* For MacBook users, you'll need to find an external keyboard/mouse in addition to the USB hub
More information can be found here:
* [Legacy UHCI/OHCI support in Ventura #1021](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)
Applicable models include:
| Family | Year | Model | Notes |
| :---------- | :--------------------| :---------------------------- | :----------------------------------------------- |
| MacBook | Mid 2010 and older | MacBook5,1 - MacBook7,1 | |
| MacBook Air | Late 2010 and older | MacBookAir2,1 - MacBookAir3,x | |
| MacBook Pro | Mid 2010 and older | MacBookPro4,1 - MacBookPro7,x | Excludes Mid 2010 15" and 17" (MacBookPro6,x) |
| iMac | Late 2009 and older | iMac7,1 - iMac10,x | Excludes Core i5/7 27" late 2009 iMac (iMac11,1) |
| Mac mini | Mid 2011 and older | Macmini3,1 - Macmini5,x | |
| Mac Pro | Mid 2010 and older | MacPro3,1 - MacPro5,1 | |
![](../images/usb11-chart.png)

View File

@@ -1,15 +1,18 @@
# Uninstalling OpenCore
To remove OpenCore is actually quite simply:
To remove OpenCore:
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
* 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)
* 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 an example on how to mount](https://dortania.github.io/OpenCore-Post-Install/universal/oc2hdd.html)
* For 5K iMac users, you will also need to delete `boot.efi` on the root of the EFI partition.
2. Reset NVRAM
2. [Reset NVRAM](https://support.apple.com/HT204063)
* [Reset NVRAM or PRAM on your Mac](https://support.apple.com/HT204063)
:::warning
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.
Note that after you remove OpenCore, your Mac will no longer boot and show the "prohibited" symbol. Be ready to install an natively-supported version of macOS before you uninstall OpenCore.
* This does not apply to native to native Macs just using OpenCore to achieve features like AirPlay to Mac and Sidecar, but it is still recomended to reinstall macOS, after removing OpenCore, if using SMBIOS spoofing to enable Univeral Control.

277
docs/UNIVERSALCONTROL.md Normal file
View File

@@ -0,0 +1,277 @@
# 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, as long as they meet the technical requirements listed on this page.
* Note: The following page is primarily for tinkerers, 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 Mac models from 2011 and above should work out of the box. However, older Macs like the 2008-2011 MacBook Pros require upgrading the Wi-Fi/Bluetooth card to a newer model. 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 to see whether you need to upgrade hardware and exactly what hardware is required to be changed based on the offending Macs listed. For help on how to upgrade the Wi-Fi card in older 2008-2011 models, refer to the `#hardware` channel in the [Discord server](https://discord.gg/rqdPgH8xSN) if required.
Other requirements:
* All devices are signed into the same iCloud account.
* Two Factor Authentication is enabled with your Apple ID.
* Bluetooth and WiFi are enabled. Neither needs to be connected, leaving them enabled is sufficient.
* Handoff turned on from iCloud settings.
* The devices in question are in close proximity.
### Table of models
This table shows which models do and do not support Universal Control out of box (OOB) and what is required to gain support.
Note: For AirPort upgrades, only the best/newest cards are listed.
::: details MacBook
| SMBIOS | WiFi/BT version | UC OOB | Comment |
|------------|-----------------|------------|---------|
| MacBook5,1 | Wi-Fi 4 / BT 2.0 EDR | <span style="color:red"> NO </span> | Use a Broadcom USB Bluetooth 4.0+ Dongle </span> |
| MacBook5,2 | WiFi 4 / BT 2.1 EDR | ^^ | Replace stock AirPort card with an mPCIE + USB Connector Adapter board with a BCM94360CS2 card |
| MacBook6,1 | ^^ | ^^ | Replace stock AirPort card with a BCM94331PCIEBT4CAX/BCM94331PCIEBT4 card |
| MacBook7,1 | ^^ | ^^ | ^^ |
| MacBook8,1 | WiFi 4 + BT 4.2 | <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> | Use a Broadcom USB Bluetooth 4.0+ Dongle |
| MacBookAir3,1 | ^^ | ^^ | Replace stock AirPort card with a BCM94360CS2 card |
| 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> | Replace stock AirPort card with an mPCIE + USB Connector Adapter board with a BCM94360CS2 card |
| MacBookPro5,1 | ^^ | ^^ | Use a Broadcom USB Bluetooth 4.0+ Dongle |
| MacBookPro5,2 | ^^ | ^^ | ^^ |
| MacBookPro5,3 | ^^ | ^^ | ^^ |
| MacBookPro5,4 | ^^ | ^^ | ^^ |
| MacBookPro5,5 | ^^ | ^^ | ^^ |
| MacBookPro6,1 | ^^ | ^^ | ^^ |
| MacBookPro6,2 | ^^ | ^^ | Replace stock AirPort card with a BCM94331PCIEBT4CAX/BCM94331PCIEBT4 card |
| MacBookPro7,1 | ^^ | ^^ | Use a Broadcom USB Bluetooth 4.0+ Dongle |
| MacBookPro8,1 | Wi-Fi 4 + BT 2.1 EDR | ^^ | Replace stock AirPort card with a BCM94331PCIEBT4CAX/BCM94331PCIEBT4 card |
| 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 Broadcom USB Bluetooth 4.0+ Dongle. |
| Macmini4,1 | ^^ | ^^ | ^^ |
| 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> | Replace stock AirPort card with an mPCIE + USB Connector Adapter board with a BCM94360CD card
| iMac8,1 | ^^ | ^^ | ^^ |
| iMac9,1 | Wi-Fi 4 / BT 2.1 EDR | ^^ | ^^ |
| iMac10,1 | ^^ | ^^ | ^^ |
| iMac11,1 | ^^ | ^^ | ^^ |
| iMac11,2 | ^^ | ^^ | ^^ |
| iMac11,3 | ^^ | ^^ | ^^ |
| iMac12,1 | ^^ | ^^ | Replace stock AirPort card with an mPCIE + USB Connector Adapter board with a BCM943602CD card
| 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> | Replace stock AirPort card with an mPCIE Adapter board with a BCM943602CD card |
| MacPro4,1 | Wi-Fi 4 + BT 2.1 EDR | ^^ | Replace stock AirPort card with an mPCIE + USB Connector Adapter board with a BCM943602CD card |
| 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
:::
:::details Xserve ;p
| SMBIOS | WiFi/BT version | UC OOB | Comment |
|-----------|-----------------|---------|---------|
| Xserve2,1 | N/A | <span style="color:red"> NO </span> | Install a PCIe BCM943602CD card |
| Xserve3,1 | ^^ | ^^ | ^^ |
:::
## 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 are capable of supporting Universal Control, but due to blacklisting, the only solution to use Universal Control on these models 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 Macs and iPads 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 that SMBIOS Spoofing is an advanced feature of OpenCore. Reckless usage of it could potentially break important functionality and leave your installation in a non-working state. Once you boot into a spoofed state, it is highly recommended that you stay spoofed, and avoid booting macOS without OpenCore.
:::
### How to spoof
Ventura has dropped more models which includes all of the blacklisted Macs in question, making the procedure slightly different. It is important to follow the guide for the version you're on, failing to do so is likely to cause boot issues.
::: details macOS Ventura
Firstly run the GUI version of OpenCore Legacy Patcher.
Then go to **Settings** and **SMBIOS** tab, set SMBIOS Spoof Level to **Moderate**. Set SMBIOS Spoof Model **one listed next to your native model in the table for spoofed models below.**
Notice that "Allow native models" and "Allow Native Spoofs" **are NOT** enabled unlike on Monterey, this is on purpose. They are no longer relevant on Ventura and enabling them will cause boot issues.
| Main Settings view | SMBIOS settings |
| :--- | :--- |
| ![](../images/ventura_uc1.png) | ![](../images/ventura_uc2.png) |
::: details Table for spoofed models (click to expand)
Spoofing to any model with native Ventura support should work, but these are the earliest Macs natively supported by Ventura 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 Ventura 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:red"> NO </span> | N/A |
| MacBook Pro Early 2015 13" | MacBookPro12,x | MacBookPro14,1 | ^^ | ^^ |
| MacBook Pro Mid 2015 15" | MacBookPro11,4 / 11,5 | MacBookPro14,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:red"> NO </span> | N/A |
:::
::: details macOS Monterey
Firstly, run the GUI version of OpenCore Legacy Patcher. Secondly, go to **Settings** then the **App** tab and tick **Allow native models**.
[](../images/OCLP-App-Allow-Native-Models.png)
Then, go to **SMBIOS** tab, tick **Allow spoofing native Macs**, set SMBIOS Spoof Level to **Moderate**. Set SMBIOS Spoof Model to **one listed next to your native model in the table for spoofed models below.**
| Main Settings view | SMBIOS settings |
| :--- | :--- |
| ![](../images/OCLP-SMBIOS-Allow-Native-Spoof.png) | ![](../images/OCLP-smbios-settings.png) |
::: 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 |
:::
**Note:** Unless you are building OpenCore on a different machine than it's targeted for, **do not** change the model in the 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.
Lastly, Build and install OpenCore again, and reboot back to the OS. Enable Universal Control as explained in the [Enabling Universal Control section.](#enabling-universal-control)
You should now be prompted to log back into iCloud by your Mac. If you get this prompt, you have successfully configured SMBIOS spoofing. Otherwise, verify that you have correctly followed the steps listed above, or ask on the Discord server for further assistance in [#misc-help](https://discord.gg/rqdPgH8xSN).

View File

@@ -1,14 +1,14 @@
# 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, there's generally very little reason for users to update the OpenCore installation 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:
For those who do wish to update, 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!
Then, rebuild your OpenCore build and install again. OpenCore Will now be updated!
To check what version of OpenCore and Patcher version you're currently running, you can run the following in terminal:
To check what version of OpenCore and the Patcher you're currently running, you can run the following in the terminal:
```bash
# OpenCore Version
@@ -19,4 +19,4 @@ nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:OCLP-Version
![](../images/oclp-version.png)
From this, we can see we're running a RELEASE version of OpenCore 0.6.8 built on March 27th, 2021 with Patcher Version 0.0.20!
From this, we can see that we're running a RELEASE version of OpenCore 0.8.0 built on April 18th, 2022 with Patcher Version 0.4.5!

138
docs/VENTURA-DROP.md Normal file
View File

@@ -0,0 +1,138 @@
![](../images/ventura.png)
With the release of OpenCore Legacy Patcher v0.5.0 and newer, early support for macOS Ventura has been implemented for most Metal-capable Macs. This page will be used to inform users regarding current issues and will be updated as new patch sets are developed and added to our patcher.
## Newly dropped hardware
Ventura's release dropped a large amount of Intel hardware, thus requiring the usage of OpenCore Legacy Patcher on the following models (in addition to previously removed models):
* iMac16,1 (21.5-inch, Late 2015)
* iMac16,2 (21.5-inch and 21.5-inch 4K, Late 2015)
* iMac17,1 (27-inch 5K, Late 2015)
* MacBook9,1 (12-inch, Early 2016)
* MacBookAir7,1 (11-inch, Early 2015)
* MacBookAir7,2 (13-inch, Early 2015)
* MacBookPro11,4 (15-inch, Mid 2015, iGPU)
* MacBookPro11,5 (15-inch, Mid 2015, dGPU)
* MacBookPro12,1 (13-inch, Early 2015)
* MacBookPro13,1 (13-inch, Late 2016)
* MacBookPro13,2 (13-inch, Late 2016)
* MacBookPro13,3 (15-inch, Late 2016)
* Macmini7,1 (Late 2014)
* MacPro6,1 (Late 2013)
## Current status
<img width="625" alt="" src="../images/OCLP-060-Initial-Support.png">
For older hardware, see below sections:
* [Currently Unsupported/Broken Hardware in Ventura](#currently-unsupportedbroken-hardware-in-ventura)
* [AMD Polaris, Vega and Navi support on pre-2019 Mac Pros and pre-2012 iMacs](#amd-polaris-vega-and-navi-support-on-pre-2019-mac-pros-and-pre-2012-imacs)
* [USB 1.1 (OHCI/UHCI) Support](#usb-11-ohciuhci-support)
* [Ethernet issue with Early 2008 Mac Pro](#ethernet-issue-with-early-2008-mac-pro)
The team is doing their best to investigate and fix the aforementioned issues, however no estimated time can be provided.
## Currently Unsupported/Broken Hardware in Ventura
### AMD Polaris, Vega and Navi support on pre-2019 Mac Pros and pre-2012 iMacs
For users with 2008 to 2013 Mac Pros (MacPro3,1-6,1) and 2009 to 2011 iMacs (iMac9,1-12,2), keep in mind that macOS Ventura now requires [AVX2.0 support in the CPU](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2) for native graphics acceleration. Thus while your GPU may be natively supported, you cannot run Ventura officially with these GPUs.
* CPUs supporting AVX2.0 are Haswell or newer, which no pre-2019 Mac Pros can be upgraded with.
Currently at this time, OpenCore Legacy Patcher only supports patching the AMD Polaris and Vega Graphics stack to no longer require AVX2.0. We're recently received an AMD RX 6600 donation, so hopefully in the future the project can support AMD Navi with pre-Haswell Macs. However, no time estimates can be given.
Following GPUs are applicable:
| GPU Architecture | Model Families | Supported |
| :--- | :--- | :--- |
| AMD Polaris | RX 4xx/5xx (10/20 series) | <span style="color:#30BCD5"> Supported with patching </span> |
| AMD Vega | Vega 56/64/VII (10/20 series) | ^^ |
| AMD Navi | RX 5xxx/6xxx (10/20 series) | <span style="color:red"> Unsupported </span> |
### USB 1.1 (OHCI/UHCI) Support
For Penryn systems and pre-2013 Mac Pros, USB 1.1 support was outright removed in macOS Ventura. While USB 1.1 may seem unimportant, it handles many important devices on your system. These include:
* Keyboard and Trackpad for laptops
* IR Receivers
* Bluetooth
With OpenCore Legacy Patcher v0.6.0, basic support has been implemented via Root Volume patching. However due to this, users will need to use a USB hub for installation and post-OS updates when patches are cleaned:
![](../images/usb11-chart.png)
::: warning The following systems rely on USB 1.1
* iMac10,x and older
* Macmini3,1 and older
* MacBook7,1 and older
* MacBookAir3,1 and older
* MacBookPro7,1 and older
* MacBookPro6,x is exempt
* MacPro5,1 and older
:::
::: details Legacy Wireless Support (Resolved in v0.6.0 and newer)
### Legacy Wireless Support
For systems that required Root Patches in macOS Monterey to achieve Wireless support, unfortunately macOS Ventura has broken the patch set. Currently the following Wifi cards are unsupported:
* Atheros: All models
* Broadcom: BCM94328 and BCM94322
The following machines shipped stock with these cards:
* iMac12,x and older
* Macmini3,1 and older
* MacBook5,x and older
* MacBookAir2,1 and older
* MacBookPro7,1 and older
* MacBookPro6,x is exempt
* MacPro5,1 and older
Currently BCM943224, BCM94331, BCM94360 and BCM943602 are still fully supported by OpenCore Legacy Patcher. Consider upgrading to these cards if possible.
:::
::: details Non-Metal Graphics Acceleration (Resolved in v0.6.0 and newer)
### Non-Metal Graphics Acceleration
Regarding non-Metal, the team is hard at work to get non-Metal working, however this is our greatest challenge since Big Sur.
Apple has made significant changes to the graphics stack in order to facilitate fancy effects, and in particularly, Stage Manager. We will update you as we work on development, however, now is not the best time to ask about ETAs.
The following GPUs are applicable:
* NVIDIA:
* Tesla (8000 - 300 series)
* AMD:
* TeraScale (2000 - 6000 series)
* Intel:
* Iron Lake
* Sandy Bridge (2000 - 3000 series)
The following machines shipped stock with an unsupported GPU:
* iMac7,1 - iMac12,x
* MacBook5,1 - MacBook7,1
* MacBookAir2,1 - MacBookAir4,x
* MacBookPro4,1 - MacBookPro8,x
* Macmini3,1 - Macmini5,x
* MacPro3,1 - MacPro5,1
* Xserve2,1 - Xserve3,1
:::

View File

@@ -1,88 +1,224 @@
# Installing UEFI Windows 10
# Installing Windows in UEFI Mode
* Guide based off of [cdf's Mac Pro Thread](https://forums.macrumors.com/threads/opencore-on-the-mac-pro.2207814/)
Modern versions of Windows officially support two types of firmware: UEFI and BIOS. Users may want to boot Windows through the OCLP Bootpicker, but only UEFI Installations of Windows will show up in the OCLP Bootpicker.
Many older Macs do not "officially" support UEFI Windows installations, leading to installation failures and strange behaviour, but OCLP can be used to prevent almost all of these issues.
To install UEFI is actually super simple! All it requires is to boot Windows' Installer through OpenCore to force a UEFI setup. Here we'll be going a bit more step by step in the process including partitioning and such.
## Minimum Requirements
* Note: UEFI Windows is generally quite usable for Arrendale and newer models, however machines with Penryn CPUs may experience issues
* Recommended Models:
* MacBookAir4,x and newer
* MacBookPro8,x and newer
* Macmini5,x and newer
* iMac11,x and newer
* MacPro4,1 and newer
* Xserve3,1 and newer
This guide will focus on the installation of Windows 10 without using Boot Camp Assistant. Windows 11 should also work, but its quirks will not be covered.
Once you know your model is supported, you're good to go with the rest of this guide
* Due to hardware and firmware limitations, UEFI Windows installations are only recommended on the following machines:
## Disk Formatting
* 2015 MacBook or newer (MacBook8,x+)
* 2011 MacBook Air or newer (MacBookAir4,x+)
* 2011 MacBook Pro or newer (MacBookPro8,x+)
* 2011 Mac mini or newer (Macmini5,x+)
* 2009[^1] Mac Pro or newer (MacPro4,1+), upgraded GPU is preferred
* 2010 iMac or newer (iMac11,x+), upgraded GPU is preferred
* 2009[^2] Xserve (Xserve3,1), upgraded GPU is preferred
To start off, we'll need the following:
* An 8GB USB drive for the Windows Installer
* Minimum of 30GB of free space on whatever drive you want to install Windows too
[^1]: MacPro4,1 and MacPro5,1 systems experience issues with the Windows installer, follow the DISM installation section for instructions.
[^2]: Theoretically supported, not tested. Follow DISM installation section
First, lets format out drives as follows:
If your machine is not listed, UEFI Windows will likely still install, but you may face stability/driver issues.
### USB Drive Formatting
## Disk Partitioning and Formatting
Open Disk Utility in macOS and format the USB Drive as ExFat with MBR Scheme:
The following is required for installation:
* 8GB+ USB Drive for the Windows installer
* 30GB+ Free Space on an existing drive / empty drive for the Windows installation
### Formatting the USB Drive
Open Disk Utility in macOS and format the USB Drive as ExFat with the Master Boot Record scheme:
![](../images/windows-mbr-format.png)
### Disk Formatting
### Formatting the Target Drive
Next, grab the drive you wish to install Windows on and partition it as ExFat (If formatting entire drive, ensure it's GUID Partition Table):
Next, select the drive you wish to install Windows in Disk Utility on and partition it as ExFat (If formatting the entire drive, ensure it's using the GUID Partition Table scheme):
![](../images/windows-partition-1.png)
:::warning
Incorrectly erasing your drive can lead to data loss! Please verify that you are erasing the correct drive/partition.
:::
If you plan to use the same hard drive for macOS and Windows, we recommend creating a dedicated partition just for OpenCore. This lets Windows have the ESP to itself and OpenCore can stay within it's own bubble.
Recommended size is 200MB and the partition format **must** be FAT32 for OpenCore to operate correctly. You will next want to install OpenCore onto the new partition, either moving from the ESP with [MountEFI](https://github.com/corpnewt/MountEFI) or rerunning the OpenCore-Patcher.app
* Note: For machines with dedicated drives for Windows, having different partitions for OpenCore is not required
* Note 2: We recommend uninstalling OpenCore from the ESP/EFI Partition when you create this new OpenCore partition to avoid confusion when selecting OpenCore builds in the Mac's boot picker
* Note 1: For machines with dedicated drives for Windows, having different partitions for OpenCore is not required.
* Note 2: Having different partitions for OpenCore is not required if the Windows boot files detected by the stock Bootpicker are removed. See "Removing the Windows option from the stock bootpicker" for further information.
* Note 3: We recommend uninstalling OpenCore from the ESP/EFI Partition when you create this new OpenCore partition to avoid confusion when selecting OpenCore builds in the Mac's boot picker.
![](../images/windows-partition-2.png)
## Creating the Installer
## Creating the Windows Installer
First up, lets grab Windows's Installer at the below link:
The latest Windows installation images can be downloaded from Microsoft using the following links:
* [Download Windows 10 Disc Image (ISO File)](https://www.microsoft.com/en-ca/software-download/windows10ISO)
Next, mount the Windows 10 ISO:
* [Download Windows 11 Disc Image (ISO File)](https://www.microsoft.com/en-ca/software-download/windows11)
Once the file is downloaded, mount the .iso image:
![](../images/windows-iso.png)
The open terminal and run `rsync` on the USB drive (replace CCCOMA_X64 with the mounted ISO's name, as well as replacing W10USB with your USB drive's name):
Then open terminal and use the `rsync` command with the disk image set as the source and your USB drive set as the target. (Replace "CCCOMA_X64" with the mounted image's partition name, and replace "InstallWin10" with your USB Drive's name).
```
rsync -r -P /Volumes/CCCOMA_X64/ /Volumes/W10USB
rsync -r -P /Volumes/CCCOMA_X64/ /Volumes/InstallWin10
```
![](../images/rsync-progess.png)
Command will take some time, so sit back and get some coffee. Once finished, the root of the USB drive should look as follows:
* Ensure that these folders and files are on the root, otherwise the USB will not boot
The `rsync` command will take some time, so get some coffee and sit back. Once finished, the root of the USB drive should look as follows:
![](../images/windows-rsync-done.png)
Once done, lets reboot into OpenCore's Menu and you'll see a new Windows' entry:
* Ensure that these folders and files are in the root of the USB drive, otherwise the USB will not boot.
* Note: Do not boot the installer outside of OpenCore as this will default back to the old MBR BIOS setup. Booting through OpenCore ensures Windows uses UEFI
![](../images/oc-windows.png)
## Installation Process
From there, install Windows as normal and you'll get a new BootCamp entry in OpenCore's picker when done!
Once you reboot your machine, you should see a new boot option in the OCLP Bootpicker labelled as "EFI Boot". It may or may not have the Boot Camp icon.
* 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
:::warning
![](../images/oc-windows-done.png)
If you aren't booted into OCLP, you may see two boot options labelled "Windows" and "EFI Boot". Do not choose either of the options and boot into OCLP to continue.
:::
### Installation: Microsoft Method
Once booted into the Windows installer, proceed as you normally would on any Windows computer. If you see an error message containing “Windows could not prepare the computer to boot into the next phase of installation”, please follow the next portion of this guide (DISM Installation).
### Installation: DISM Deployment Method
Once booted into the Windows installer, proceed as you normally would until you reach the "Where do you want to install Windows" disk formatting section.
When you are prompted to select a drive, select your desired partition and delete it using "Delete". If you want to install Windows to an empty drive, erase every partition currently on the desired drive.
After your drive/partition is erased, press "New" to create the Windows system partitions.
![](../images/DISM-1.png)
You will be prompted to confirm the creation of the system partitions, press "OK".
![](../images/DISM-2.png)
Once the partitions are created, select the main (largest) partition and press "Format". This will format the partition using the NFTS file system.
![](../images/DISM-3.png)
After the installer formats the partition, open up the Command Prompt by pressing SHIFT + F10. Then run the `diskpart` command, and `list vol`. This will produce a list of volumes in your system, make sure to keep track of the drive letters of the main Windows partition (largest, NTFS), the EFI partition (100MB, FAT32), and the Windows installer (Usually Drive D). Run `exit` to close diskpart
![](../images/DISM-4.png)
Now, get a list of available Windows editions by running `dism /Get-WimInfo /WimFile:D:\Sources\install.wim` (substituting D with the Installer Drive Letter). This guide will use Option 6 for Windows 10 Pro.
![](../images/DISM-5.png)
You can now start the deployment process. Run `dism /Apply-Image /ImageFile:D:\Sources\install.wim /index:6 /ApplyDir:E:`, replacing "D" with the Installer Drive Letter, "6" with the Windows edition option, and "E" with the Windows Partition Drive Letter.
![](../images/DISM-6.png)
Once `dism` finishes its thing, run `bcdboot E:\Windows`, substituting "E" for the drive letter of the main Windows partition to create the boot files.
![](../images/DISM-7.png)
Windows is now installed. It should be recognized as "EFI Boot" with a Boot Camp icon in the OCLP Bootpicker.
:::warning
After the boot files are created, **DO NOT** reboot if you are using a MacPro4,1, MacPro5,1, or Xserve3,1 system! A bug in the Windows bootloader exists that will completely brick the system if it is loaded through the stock bootpicker. See the "Installation: Removing the Windows option from the stock bootpicker" section for a workaround.
:::
### Installation: Removing the Windows option from the stock bootpicker
Removing the Windows boot option from the stock bootpicker is **HIGHLY RECOMMENDED** on MacPro4,1, MacPro5,1, and Xserve3,1 systems in order to prevent Secure Boot NVRAM corruption and bricking.
Start up a command prompt window in the Windows Setup environment by running `cmd`.
Next, enter the EFI Folder by running `C:`, substituting "C" for the EFI Partition Drive Letter. Then run `cd EFI` to enter the EFI Partition. Then, run `rmdir Boot /S /Q` to remove the boot files that can be detected by the stock Bootpicker. The OCLP Picker will still be able to detect and boot Windows.
![](../images/DISM-8.png)
You can verify that the `Boot` folder is removed by running the `dir` command:
![](../images/DISM-9.png)
If, for whatever reason, you are not able to remove the boot files from the Windows setup, shut down your system, boot into macOS, mount your EFI partition with [MountEFI](https://github.com/corpnewt/MountEFI), and remove the `Boot` folder (it should have a recent file modification date, and contain `Bootx64.efi`).
## Post-Installation
### Installing Boot Camp Software
To get started, download the Brigadier utility from the following link:
* [Download Brigadier](https://github.com/timsutton/brigadier/releases/download/0.2.4/brigadier.exe)
Once Brigadier is downloaded, move it to your desktop for easy access.
Open up a command prompt window as a standard user and run `cd desktop`.
![](../images/BOOTCAMP-1.png)
Then run `.\brigadier.exe --model=MODEL1,1`, replacing "MODEL1,1" with your machine's SMBIOS model.
![](../images/BOOTCAMP-2.png)
Once the Boot Camp software is downloaded, you can install it by executing `Setup.exe` or `\Drivers\Apple\BootCamp.msi` (`BootCamp64.msi` if present).
### Installing Boot Camp 6 softare on unsupported machines
To get started, download the Brigadier utility from the following link:
* [Download Brigadier](https://github.com/timsutton/brigadier/releases/download/0.2.4/brigadier.exe)
Once Brigadier is downloaded, move it to your desktop for easy access.
Open up a command prompt window as a standard user and run `cd desktop`.
![](../images/BOOTCAMP-1.png)
Then run `.\brigadier.exe --model=MacPro7,1`. This will download the latest BootCamp 6 package.
![](../images/BOOTCAMP-2.png)
Once the Boot Camp software is downloaded, you can install Boot Camp 6 by executing `\Drivers\Apple\BootCamp.msi` in an administrator command prompt window.
## 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 Boot Camp folder.
You can also open `Properties` on the file to change the compatibility to `Previous version of Windows` in case you have Boot Camp 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 the iGPU: [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

View File

@@ -2,8 +2,8 @@ from pathlib import Path
import subprocess
for i in [i for i in list(Path().resolve().glob("**/*.md")) if "node_modules" not in str(i.parent) and "_book" not in str(i.parent)]:
#bert = subprocess.run(['npx', 'markdown-link-check', '"' + str(i) + '"', '-c', '.markdownlinkcheck.json'], capture_output=True, shell=True, cwd=Path().resolve())
#bert = subprocess.run(['npx', 'markdown-link-check', '"' + str(i) + '"', '-c', '.markdownlinkcheck.json'], capture_output=True, shell=True, cwd=Path().resolve())
bert = subprocess.run('npx markdown-link-check "' + str(i) + '"', stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True, cwd=Path().resolve())
outpot = bert.stdout.decode().replace("\r", "").split("\n")
outpot = [i for i in outpot if ("FILE: " in i or " → Status: " in i) and " → Status: 429" not in i]
[print(i) for i in outpot]
output = bert.stdout.decode().replace("\r", "").split("\n")
output = [i for i in output if ("FILE: " in i or " → Status: " in i) and " → Status: 429" not in i]
[print(i) for i in output]

BIN
images/BOOTCAMP-1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

BIN
images/BOOTCAMP-2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 KiB

BIN
images/DISM-1.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

BIN
images/DISM-2.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
images/DISM-3.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
images/DISM-4.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
images/DISM-5.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

BIN
images/DISM-6.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

BIN
images/DISM-7.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
images/DISM-8.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
images/DISM-9.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

BIN
images/Hash-Mismatch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 782 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 984 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 504 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 382 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 368 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 268 KiB

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