Compare commits

...

517 Commits
0.6.0 ... 0.6.7

Author SHA1 Message Date
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
28b9948b45 Docs: Add more legacy Mac info 2023-01-20 16:22:46 -07:00
Mykola Grymalyuk
5fa0636f5c Docs: Sync Wifi and Vega changes 2022-12-27 20:48:18 -07:00
192 changed files with 17048 additions and 10237 deletions

View File

@@ -95,7 +95,6 @@ body:
description: What variant of our software are you running?
options:
- GUI (Graphical User Interface)
- TUI (Text User Interface)
- CLI (Command Line Interface)
- Other/Non-Applicable
validations:

View File

@@ -9,29 +9,61 @@ on:
jobs:
build:
name: Build wxPython
runs-on: x86_64_mojave
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
- run: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 Build-Binary.command --reset_binaries --branch "${{ env.branch }}" --commit "${{ env.commiturl }}" --commit_date "${{ env.commitdate }}"
- run: 'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "dist/OpenCore-Patcher.app"'
- run: cd dist; ditto -c -k --sequesterRsrc --keepParent OpenCore-Patcher.app ../OpenCore-Patcher-wxPython.app.zip
- run: ./../sign-wxpython.sh
- run: packagesbuild ./payloads/InstallPackage/AutoPkg-Assets-Setup.pkgproj
- run: mv ./OpenCore-Patcher-wxPython.app.zip ./OpenCore-Patcher-GUI.app.zip
- name: Build Binary
run: /Library/Frameworks/Python.framework/Versions/3.10/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
@@ -40,6 +72,7 @@ jobs:
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

View File

@@ -1,30 +0,0 @@
name: CI - Build TUI
on:
push:
workflow_dispatch:
release:
types: [published]
jobs:
build:
name: Build TUI
runs-on: x86_64_mojave
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 }}
steps:
- uses: actions/checkout@v3
- run: /Library/Frameworks/Python.framework/Versions/3.9/bin/python3 Build-Binary.command --build_tui --reset_binaries --branch "${{ env.branch }}" --commit "${{ env.commiturl }}" --commit_date "${{ env.commitdate }}"
- run: 'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "dist/OpenCore-Patcher.app"'
- run: cd dist; zip -r ../OpenCore-Patcher-TUI.app.zip OpenCore-Patcher.app
- run: ./../sign-tui.sh
- name: Upload App to Artifacts
uses: actions/upload-artifact@v3
with:
name: OpenCore-Patcher-TUI.app
path: OpenCore-Patcher-TUI.app.zip
- name: Validate OpenCore
run: ./dist/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher --validate

View File

@@ -9,6 +9,7 @@ jobs:
build:
name: Build Site and Deploy
runs-on: ubuntu-latest
if: github.repository_owner == 'dortania'
steps:
- uses: actions/setup-node@v3
with:

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.10/bin/python3 OpenCore-Patcher-GUI.command --validate

5
.gitignore vendored
View File

@@ -32,3 +32,8 @@ __pycache__/
/payloads.dmg
/payloads/OpenCore-Legacy-Patcher-*.plist
/payloads/KDK.dmg
*.log
/Universal-Binaries.dmg
/payloads/KDKInfo.plist
/payloads/update.sh
/payloads/OpenCore-Patcher.app

View File

@@ -1,14 +1,7 @@
#!/usr/bin/env python3
# This script's main purpose is to handle the following:
# - Download PatcherSupportPkg resources
# - Convert payloads directory into DMG (GUI only)
# - Build Binary via Pyinstaller
# - Add Launcher.sh (TUI only)
# - Patch 'LC_VERSION_MIN_MACOSX' to OS X 10.10
# - Add commit data to Info.plist
# Copyright (C) 2022 - Mykola Grymalyuk
# Generate stand alone application for OpenCore-Patcher
# Copyright (C) 2022-2023 - Mykola Grymalyuk
from pathlib import Path
import time
@@ -21,34 +14,64 @@ import sys
from resources import constants
class create_binary:
class CreateBinary:
"""
Library for creating OpenCore-Patcher application
This script's main purpose is to handle the following:
- Download external dependancies (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()
print("- Starting build script")
self.set_cwd()
self.args = self.parse_arguments()
print("Starting build script")
self.preflight_processes()
self.build_binary()
self.postflight_processes()
print(f"- Build script completed in {str(round(time.time() - start, 2))} seconds")
self.args = self._parse_arguments()
self._set_cwd()
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
"""
def set_cwd(self):
os.chdir(Path(__file__).resolve().parent)
print(f"- Current Working Directory: \n\t{os.getcwd()}")
print(f"Current Working Directory:\n- {os.getcwd()}")
def _parse_arguments(self):
"""
Parse arguments passed to script
"""
def parse_arguments(self):
parser = argparse.ArgumentParser(description='Builds OpenCore-Patcher binary')
parser.add_argument('--build_tui', action='store_true', help='Builds TUI binary, if omitted GUI binary is built')
parser.add_argument('--branch', type=str, help='Git branch name')
parser.add_argument('--commit', type=str, help='Git commit URL')
parser.add_argument('--commit_date', type=str, help='Git commit date')
parser.add_argument('--reset_binaries', action='store_true', help='Force redownload and imaging of payloads')
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):
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)
@@ -65,98 +88,206 @@ class create_binary:
pyinstaller_path = f"{python_bin_dir}pyinstaller"
if not Path(pyinstaller_path).exists():
print(f" - pyinstaller not found:\n\t{pyinstaller_path}")
print(f"- pyinstaller not found:\n\t{pyinstaller_path}")
raise Exception("pyinstaller not found")
self.pyinstaller_path = pyinstaller_path
def preflight_processes(self):
print("- Starting preflight processes")
self.setup_pathing()
self.delete_extra_binaries()
self.download_resources()
if not self.args.build_tui:
# payloads.dmg is only needed for GUI builds
self.generate_payloads_dmg()
def postflight_processes(self):
print("- Starting postflight processes")
if self.args.build_tui:
self.move_launcher()
self.patch_load_command()
self.add_commit_data()
self.post_flight_cleanup()
self.mini_validate()
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
"""
def build_binary(self):
if Path(f"./dist/OpenCore-Patcher.app").exists():
print("- Found OpenCore-Patcher.app, removing...")
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("Remove failed")
print(rm_output.stderr.decode('utf-8'))
raise Exception("Remove failed")
self._embed_key()
if self.args.build_tui:
print("- Building TUI binary...")
build_args = [self.pyinstaller_path, "./OpenCore-Patcher.spec", "--noconfirm"]
else:
print("- Building GUI binary...")
build_args = [self.pyinstaller_path, "./OpenCore-Patcher-GUI.spec", "--noconfirm"]
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 failed")
print(build_result.stderr.decode('utf-8'))
raise Exception("Build failed")
def delete_extra_binaries(self):
delete_files = [
"AutoPkg-Assets.pkg",
"AutoPkg-Assets.pkg.zip",
"InstallAssistant.pkg",
"InstallAssistant.pkg.integrityDataV1",
"KDK.dmg",
]
print("- Deleting extra binaries...")
for file in Path("payloads").glob(pattern="*"):
if file.name in delete_files or file.name.startswith("OpenCore-Legacy-Patcher"):
print(f" - Deleting {file.name}")
file.unlink()
elif (Path(file) / Path("Contents/Resources/createinstallmedia")).exists():
print(f" - Deleting {file}")
subprocess.run(["rm", "-rf", file])
elif Path(file).is_dir() and file.name == "Universal-Binaries":
print(f" - Deleting {file}")
subprocess.run(["rm", "-rf", file])
# 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
"""
def download_resources(self):
patcher_support_pkg_version = constants.Constants().patcher_support_pkg_version
required_resources = [
"Universal-Binaries.zip"
"Universal-Binaries.dmg"
]
print("- Downloading required resources...")
print("Downloading required resources...")
for resource in required_resources:
if Path(f"./payloads/{resource}").exists():
if Path(f"./{resource}").exists():
if self.args.reset_binaries:
print(f" - Removing old {resource}")
print(f"- Removing old {resource}")
rm_output = subprocess.run(
["rm", "-rf", f"./payloads/{resource}"],
["rm", "-rf", f"./{resource}"],
stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
if rm_output.returncode != 0:
print("- Remove failed")
print("Remove failed")
print(rm_output.stderr.decode('utf-8'))
raise Exception("Remove failed")
else:
print(f" - {resource} already exists, skipping download")
print(f"- {resource} already exists, skipping download")
continue
print(f" - Downloading {resource}...")
print(f"- Downloading {resource}...")
download_result = subprocess.run(
[
@@ -167,55 +298,61 @@ class create_binary:
)
if download_result.returncode != 0:
print(" - Download failed")
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")
print(f"- {resource} not found")
raise Exception(f"{resource} not found")
print(" - Moving into payloads")
mv_output = subprocess.run(["mv", resource, "./payloads/"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if mv_output.returncode != 0:
print(" - Move failed")
print(mv_output.stderr.decode('utf-8'))
raise Exception("Move failed")
def generate_payloads_dmg(self):
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 self.args.reset_binaries:
print(" - Removing old payloads.dmg")
rm_output = subprocess.run(
["rm", "-rf", "./payloads.dmg"],
stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
if rm_output.returncode != 0:
print("- Remove failed")
print(rm_output.stderr.decode('utf-8'))
raise Exception("Remove failed")
else:
print(" - payloads.dmg already exists, skipping creation")
if not self.args.reset_binaries:
print("- payloads.dmg already exists, skipping creation")
return
print(" - Generating DMG...")
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',
'-megabytes', '32000', # Overlays can only be as large as the disk image allows
'-format', 'UDZO', '-ov',
'-volname', 'payloads',
'-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 generation failed")
print(dmg_output.stderr.decode('utf-8'))
raise Exception("DMG generation failed")
print(" - DMG generation complete")
print("- DMG generation complete")
def _add_commit_data(self):
"""
Add commit data to Info.plist
"""
def add_commit_data(self):
if not self.args.branch and not self.args.commit and not self.args.commit_date:
print(" - No commit data provided, adding source info")
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())
@@ -223,7 +360,7 @@ class create_binary:
branch = self.args.branch
commit_url = self.args.commit
commit_date = self.args.commit_date
print(" - Adding commit data to Info.plist")
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"] = {
@@ -233,21 +370,26 @@ class create_binary:
}
plistlib.dump(plist, Path(plist_path).open("wb"), sort_keys=True)
def patch_load_command(self):
# Patches LC_VERSION_MIN_MACOSX in Load Command to report 10.10
#
# By default Pyinstaller will create binaries supporting 10.13+
# However this limitation is entirely arbitrary for our libraries
# and instead we're able to support 10.10 without issues.
#
# To verify set version:
# otool -l ./dist/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher
#
# cmd LC_VERSION_MIN_MACOSX
# cmdsize 16
# version 10.13
# sdk 10.9
print(" - Patching LC_VERSION_MIN_MACOSX")
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)
@@ -257,42 +399,39 @@ class create_binary:
with open(path, 'wb') as f:
f.write(data)
def move_launcher(self):
print(" - Adding TUI launcher")
mv_output = subprocess.run(
["cp", "./payloads/launcher.sh", "./dist/OpenCore-Patcher.app/Contents/MacOS/Launcher"],
stdout=subprocess.PIPE, stderr=subprocess.PIPE
)
if mv_output.returncode != 0:
print(" - Move failed")
print(mv_output.stderr.decode('utf-8'))
raise Exception("Move failed")
def post_flight_cleanup(self):
# Remove ./dist/OpenCore-Patcher
def _post_flight_cleanup(self):
"""
Post flight cleanup
"""
path = "./dist/OpenCore-Patcher"
print(f" - Removing {path}")
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(f"- Remove failed: {path}")
print(rm_output.stderr.decode('utf-8'))
raise Exception(f"Remove failed: {path}")
def mini_validate(self):
# Ensure binary can start
# Only build a single config, TUI CI will do in-depth validation
print(" - Validating binary")
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("- Validation failed")
print(validate_output.stderr.decode('utf-8'))
raise Exception("Validation failed")
if __name__ == "__main__":
create_binary()
CreateBinary()

View File

@@ -1,5 +1,252 @@
# OpenCore Legacy Patcher changelog
## 0.6.7
- Resolve partition buttons overlapping in Install OpenCore UI
- ex. "EFI" and additional FAT32 partitions on a single drive
- Re-enable mediaanalysisd on Ventura
- Allows for Live Text support on systems with3802 GPUs
- ie. Intel Ivy Bridge and Haswell, Nvidia Kepler
- Previously disabled due to high instability in Photos with Face Scanning, now resolved
- Work-around crashing after patching with MenuBar2 implementation enabled
- Setting must be re-enabled after patching
- Update non-Metal Binaries:
- Resolve window placement defaulting past top of screen for some apps
- ex. OpenCore-Patcher.app during root patching
- Resolve indeterminate progress bars not rendering with wxWidgets in Monterey and later
- ex. OpenCore-Patcher.app
- UI changes:
- Add "Show Log File" button to menubar
- Avoid listing unsupported installer to download by default
- ex. macOS 14 InstallAssistant.pkg
- Resolve crash when fetching remote macOS installers offline
- Avoid displaying root patches on unsupported macOS versions
- ex. macOS 14
- Backend changes:
- Call `setpgrp()` to prevent app from being killed if parent process is killed (ie. LaunchAgents)
- Rework logging handler:
- Implement formatted logging
- Allowing easier debugging
- Implement per-version, per-run file logging
- ex. OpenCore-Patcher (0.6.7) (2021-12-31-12-34-56-666903).log
- Keep only 10 latest log files
- Reveal log file in Finder on main thread crash
- Avoid writing username to log file
- Resolve SharedSupport.dmg pathing error during macOS Installer Verification
- Applicable to systems with 2 (or more) USB Installers with the same name plugged in
- Resolve payloads path being mis-routed during CLI calls
- Add UI when fetching root patches for host
- Remove progress bar work-around for non-Metal in Monterey and later
- Requires host to have been patched with PatcherSupportPkg 1.1.2 or newer
- Increment Binaries:
- PatcherSupportPkg 1.1.2 - release
## 0.6.6
- Implement option to disable ColorSync downgrade on HD 3000 Macs
- Allows for Display Profiles support on some units
- Note: black box rendering issues will likely appear
- Thanks [@jazzzny](https://github.com/Jazzzny)
- Rename payloads.dmg volume name to "OpenCore Patcher Resources (Base)"
- Allows for better identification when mounted (ex. Disk Utility while app is running)
- Implement DMG-based PatcherSupportPkg system
- Reduces both app size and root patching time
- Resolve incorrect remote KDK matching for macOS betas
- ex. Beta 4 KDK being recommended for Beta 3 install
- Resolve low power mode on MacPro6,1
- Credit to CaseyJ's [PCI Bus Enumeration Patch](https://github.com/AMD-OSX/AMD_Vanilla/pull/196)
- Resolve PCI eject menu appearing on unsupported hardware
- Resolve kernel panic on wake for AMD TeraScale 1 and Nvidia Tesla 8000 series GPUs
- Resolve loss of Ethernet after wake on MacPro3,1 in Ventura
- Resolve graphics corruption on wake for TeraScale 1
- Patch currently limited to Ventura and newer
- Restore Function Keys on MacBook5,2 and MacBook4,1
- Implementation by [@jazzzny](https://github.com/Jazzzny)
- Update non-Metal Binaries:
- Resolves cryptexd and sshd crashes
- Resolves screen recording regression
- Resolves Photo Booth on macOS Monterey and later
- May require tccplus for permissions
- Resolve Application alias not being created with AutoPatcher
- Backend changes:
- Rename OCLP-Helper to OpenCore-Patcher
- Allows for better identification when displaying prompts
- Reimplement wxPython GUI into modularized system:
- Allows for easier maintenance and future expansion
- Changes include:
- Reworked settings UI
- Unified download UI with time remaining
- Implement in-app update system
- Guides users to update OpenCore and Root Patches once update's installed
- Expand app update checks to include nightly users
- ex. 0.6.6 nightly -> 0.6.6 release
- Implement macOS installer verification after flashing
- Implement proper UI call backs on long processes
- ex. Root patching
- Implement default selections for disks and installers
- Set about and quit items
- Utilize `py-applescript` for authorization prompts
- Avoids displaying prompts with `osascript` in the title
- Due to limitations, only used for installer creation and OpenCore installation
- Resolve exception handler not logging to file
- Display raised exceptions from main thread to users
- Increment Binaries:
- PatcherSupportPkg 1.1.0 - release
- OpenCorePkg 0.9.2 - release
- Lilu 1.6.6 - rolling (d8f3782)
- RestrictEvents 1.1.1 - release
- FeatureUnlock 1.1.4 - release
- BlueToolFixup 2.6.6 - release
## 0.6.5
- Update 3802 Patchset Binaries:
- Resolves additional 3rd party app crashes on Metal with macOS 13.3+
- ex: PowerPoint's "Presentation Mode"
- Update non-Metal Binaries:
- Resolves Safari 16.4 frozen canvas rendering
- ex: Google Docs
- Allow for coexistence of USB 3.0 controllers and USB 1.1 patches on macOS 13+
- Restores USB 3.0 expansion card support on USB 1.1 machines such as MacPro5,1
- Resolve OpenCL rendering on Nvidia Web Drivers
- thanks [@jazzzny](https://github.com/Jazzzny)
- Resolve UI unable to download macOS installers on unknown models
- ex. M2 Macs and Hackintoshes
- Implement minimum OS check for installer creation
- Prevents vague errors when creating Ventura installers on Yosemite
- Resolve WindowServer crashing with Rapid Security Response (RSR) installation
- Primarily applicable for Haswell iGPUs on 13.3.1 (a)
- Update legacy Wireless binaries
- Resolve wifi crashing on 13.4 with BCM94322, BCM943224 and Atheros chipsets
- Backend changes:
- macos_installer_handler.py:
- Expand OS support for IA parsing in SUCatalog
- gui_main.py:
- Fix spacing regression introduced with `.AppleSystemUIFont` implementation
- Increment Binaries:
- PatcherSupportPkg 0.9.7 - release
- Build Server Changes:
- Upgrade CI Host to macOS Monterey
- Upgrade Xcode to 14.2
- Switch from `altool` to `notarytool` for notarization
## 0.6.4
- Backend changes:
- Implement new analytics_handler.py module
- Adds support for anonymous analytics including host info (and crash reports in the future)
- Can be disabled via GUI or `defaults write com.dortania.opencore-legacy-patcher DisableCrashAndAnalyticsReporting -bool true`
- Resolve Safari rendering error on Ivy Bridge in macOS 13.3+
- Increment Binaries:
- RestrictEvents 1.1.1 - rolling (495f4d5)
## 0.6.3
- Update non-Metal Binaries:
- Resolves Safari 16.4 rendering issue
- Resolves left side menubar selections
- Implements automatic menubar text color
- New experimental Menubar implementation can be enabled via `defaults write -g Amy.MenuBar2Beta -bool true`
- Note: If you experience issues with the new implementation, you can revert back to the old implementation by running `defaults delete -g Amy.MenuBar2Beta`
- Implement full IOUSBHostFamily downgrade for UHCI/OHCI
- Resolves panics on certain iMac models
- Resolve unused KDKs not being properly cleaned up
- Implement MXM graphics handling for iMac9,1
- Credit to [@Ausdauersportler](https://github.com/Ausdauersportler) for implementation
- Resolve CoreGraphics.framework crashing on Ivy Bridge CPUs in macOS 13.3+
- Disables f16c sysctl reporting
- Resolve accidental CPU renaming with RestrictEvents
- Resolve backlight and internal display support for AMD Navi MXM GPUs
- Credit to [@Ausdauersportler](https://github.com/Ausdauersportler) for bug fix
- Resolve 3rd Party Apps erroring on Metal with macOS 13.3
- Applicable Software: Applications directly using Metal (ex. Blender, Parallels Desktop)
- Applicable Hardware: 3802-based GPUs (ie. Intel Ivy Bridge and Haswell iGPUs, Nvidia Kepler dGPUs)
- Backend changes:
- Use `.AppleSystemUIFont` for wxPython text rendering (thanks [@jazzzny](https://github.com/Jazzzny))
- Add extra error handling for network errors:
- Handles `RemoteDisconnected('Remote end closed connection without response')` exceptions
- Move root volume patch set generation to dedicated sys_patch_generate.py module
- Refactored integrity_verification.py:
- Implemented Object-Oriented design
- Reduced disk I/O and main thread monopolization
- Increment Binaries:
- PatcherSupportPkg 0.9.3 - release
- OpenCorePkg 0.9.1 - release
- AirPortBrcmFixup 2.1.7 - release
- RestrictEvents 1.1.0 - release
- BrcmPatchRAM 2.6.5 - release
## 0.6.2
- Work around Black Box rendering issues on certain Display Color Profiles
- Limited to Ventura currently due to limitations with other color profiles
- Applicable for HD3000-based machines (ex. MacBookAir4,x, MacBookPro8,x, Macmini5,x)
- Ensure `Moraea_BlurBeta` is set on non-Metal systems
- Implement proper Root Unpatching verification in GUI
- Removes arbitrary patch requirements used against unpatching (ex. network connection)
- Implement Kernel Debug Kit installation during OS installs
- Avoids network requirement for first time installs
- Paired along side AutoPkgInstaller
- Implement Kernel Debug Kit backup system
- Allows for easy restoration of KDKs if OS updates corrupted installed KDKs
- Update Wireless binaries
- Fixed WiFi preferences crash with legacy wifi patches
- Update non-Metal Binaries
- Improved menubar blur saturation
- Fixed System Settings hover effects, including Bluetooth connect button
- Add Books hacks (reimplement cover image generation, disable broken page curl animation)
- Fixed unresponsive buttons
- Implement Hardware Encoding support for AMD GCN 1-3, Polaris and Vega GPUs
- Applicable for pre-Haswell Macs on macOS Ventura
- Resolves DRM playback issues on Netflix, Disney+, etc.
- Note: GCN 1-3 DRM is functional, however hardware video encoding is still experimental
- AppleTV+ may be unstable due to this
- Implement support for AMD Navi and Lexa MXM GPUs in 2009-2011 iMacs
- Primarily applicable for MXM 3.0 variants of AMD WX3200 (0x6981) and AMD RX5500XT (0x7340)
- Credit to [Ausdauersportler](https://github.com/Ausdauersportler) for implementation
- Implement Continuity Camera Unlocking for pre-Kaby Lake CPUs
- Applicable for all legacy Macs in macOS Ventura
- Resolve boot support for 3802-based GPUs with macOS 13.3
- Applicable for following GPUs:
- Intel Ivy Bridge and Haswell iGPUs
- Nvidia Kepler dGPUs
- Note: patchset now requires AMFI to be disabled, patchset still in active development to remove this requirement
- Backend Changes:
- Refactored kdk_handler.py
- Prioritizes KdkSupportPkg repository for downloads
- Skips calls to Apple's now defunct Developer Portal API
- Support local loose matching when no network connection is available
- Implement pkg receipt verification to validate integrity of KDKs
- Implemented logging framework usage for more reliable logging
- Logs are stored under `~/Library/Logs/OpenCore-Patcher.log`
- Subsequent runs are appended to the log, allowing for easy debugging
- Implemented new network_handler.py module
- Allows for more reliable network calls and downloads
- Better supports network timeouts and disconnects
- Dramatically less noise in console during downloads
- Implemented new macOS Installer handler
- Removed unused modules:
- sys_patch_downloader.py
- run.py
- TUI modules
- Build Server Changes:
- Upgrade Python backend to 3.10.9
- Upgrade Python modules:
- requests - 2.28.2
- pyobjc - 9.0.1
- wxpython - 4.2.0
- pyinstaller - 5.7.0
- packaging - 23.0
- Increment Binaries:
- PatcherSupportPkg 0.8.7 - release
- AutoPkgInstaller 1.0.2 - release
- FeatureUnlock 1.1.4 - rolling (0e8d87f)
- Lilu 1.6.4 - release
- WhateverGreen 1.6.4 - release
- NVMeFix 1.1.0 - release
- Innie 1.3.1 - release
- OpenCorePkg 0.9.0 - release
## 0.6.1
- Avoid usage of KDKlessWorkaround on hardware not requiring it
- Resolves AMD Graphics Regression from 0.5.3
- Increment Binaries:
- KDKlessWorkaround 1.0.0 - rolling (8e41f39)
## 0.6.0
- Resolve external NVMe reporting regression from 0.5.2
- Implement Legacy Wireless support for Ventura

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 the organization.
4. Neither the name of the copyright holder nor the names the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY COPYRIGHT HOLDER "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 COPYRIGHT HOLDER 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

@@ -3,4 +3,4 @@
from resources import main
if __name__ == '__main__':
main.OpenCoreLegacyPatcher(True)
main.OpenCoreLegacyPatcher()

View File

@@ -9,7 +9,7 @@ block_cipher = None
a = Analysis(['OpenCore-Patcher-GUI.command'],
pathex=[],
binaries=[],
datas=[('payloads.dmg', '.')],
datas=[('payloads.dmg', '.'), ('Universal-Binaries.dmg', '.')],
hiddenimports=[],
hookspath=[],
hooksconfig={},
@@ -49,6 +49,7 @@ app = BUNDLE(coll,
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",

View File

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

View File

@@ -1,44 +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'],
pathex=['resources', 'data'],
binaries=[],
datas=[('payloads', 'payloads')],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=['wxPython', 'wxpython'],
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="payloads/OC-Patcher-TUI.icns",
bundle_identifier="com.dortania.opencore-legacy-patcher-tui",
info_plist={
"CFBundleShortVersionString": constants.Constants().patcher_version,
"CFBundleExecutable": "MacOS/Launcher",
"NSHumanReadableCopyright": constants.Constants().copyright_date,
})

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

@@ -5,7 +5,7 @@
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.
Our project's main goal is to breath new life to Macs no longer supported by Apple, allowing for the installation and usage of macOS Big Sur and newer on machines as old as 2007.
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.
----------
@@ -15,24 +15,24 @@ Our project's main goal is to breath new life to Macs no longer supported by App
Noteworthy features of OpenCore Legacy Patcher:
* Support for macOS Big Sur and Monterey
* Native Over the Air(OTA) System Updates
* Support for macOS Big Sur, Monterey and Ventura
* Native Over the Air (OTA) System Updates
* Supports Penryn and newer Macs
* Full support for WPA Wifi and Personal Hotspot on BCM943224 and newer chipsets
* 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
* Recovery OS, Safe Mode and Single-user Mode booting on non-native OSes
* Unlocks features such as Sidecar and AirPlay to Mac even on native Macs
* Enable enhanced SATA and NVMe power management on non-stock hardware
* Enables enhanced SATA and NVMe power management on non-Apple storage devices
* Zero firmware patching required (ie. APFS ROM patching)
* 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.
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
* You can, however, reinstall macOS with this patcher and retain your original data
Note 2: Currently OpenCore Legacy Patcher officially supports patching to run macOS Big Sur and Monterey installs. For older OSes, OpenCore may function however support is currently not provided from Dortania.
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)
@@ -47,7 +47,7 @@ To start using the project, please see our in-depth guide:
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 Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN)
* Keep in mind that the Discord is maintained by the community, so we ask everyone to be respectful.
* 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.
## Running from source
@@ -57,14 +57,14 @@ To run the project from source, see here: [Build and run from source](./SOURCE.m
## 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), [EduCovas](https://github.com/educovas) and [ASentientHedgehog](https://github.com/moosethegoose2213)
@@ -75,7 +75,7 @@ To run the project from source, see here: [Build and run from source](./SOURCE.m
* [Syncretic](https://forums.macrumors.com/members/syncretic.1173816/)
* [AAAMouSSE](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/), [telemetrap](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/post-28447707) and [SurPlus](https://github.com/reenigneorcim/SurPlus)
* [dosdude1](https://github.com/dosdude1)
* Main author of [original GUI](https://github.com/dortania/OCLP-GUI)
* 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)
@@ -91,15 +91,18 @@ To run the project from source, see here: [Build and run from source](./SOURCE.m
* 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
* 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

View File

@@ -1,21 +1,20 @@
# Build and run from source
OpenCore Legacy Patcher at its core is a python-based TUI/CLI based application. This means that to run the project from source, you simply need to invoke the OpenCore-Patcher.command file via Python.
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 these nightly links:
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)
* [GUI (Graphical Based App)](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-app-wxpython/main/OpenCore-Patcher.app%20%28GUI%29.zip)
* [TUI (Text Based App)](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-app/main/OpenCore-Patcher-TUI.app.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).
**Warning**: These binaries should not be used without first consulting the [CHANGELOG](./CHANGELOG.md). Do not distribute these links in forums, instead direct to this file.
* Users running new builds of the project without understanding what has changed are at higher of bricking their installation as they do not read any warnings provided in the CHANGELOG. We wish to minimize these situations as much as possible.
**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 they were downloaded from the Official source, [python.org](https://www.python.org/downloads/macos/).
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/Xcode Tools are unsupported due to reliablility issues
* 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:
@@ -30,47 +29,33 @@ cd ./OpenCore-Legacy-Patcher
pip3 install -r requirements.txt
```
If you have installation error, see following troubleshooting options:
If you have any installation errors, see the following troubleshooting options:
* Use Python 3.9
* Currently our build server uses py3.9 for generating binaries used in releases
* 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
* [wxPython 4.1.1 wheel for py3.9](https://files.pythonhosted.org/packages/2c/a8/7027e8ca3ba20dc2ed2acd556e31941cb44097ab87d6f81d646a79de4eab/wxPython-4.1.1-cp39-cp39-macosx_10_10_x86_64.whl)
* [PyObjc 8.5 wheel for py3](https://files.pythonhosted.org/packages/69/3d/786f379dd669a078cf0c4a686e242c9b643071c23367bfbd3d9a7eb589ec/pyobjc-8.5-py3-none-any.whl)
* [Requests 2.27.1 for py2/py3](https://files.pythonhosted.org/packages/2d/61/08076519c80041bc0ffa1a8af0cbd3bf3e2b62af10435d269a9d0f40564d/requests-2.27.1-py2.py3-none-any.whl)
* [pyinstaller 5.3 for py3](https://files.pythonhosted.org/packages/65/70/625e86e5a45cb975a9c32a10a721394d10771275c69207308b80bc6a758e/pyinstaller-5.3-py3-none-macosx_10_13_universal2.whl)
## Running OpenCore Legacy Patcher
To run the project from source, simply invoke via python3:
```sh
# Launch TUI
python3 OpenCore-Patcher.command
```
```sh
# Launch GUI
python3 OpenCore-Patcher-GUI.command
```
Note that the OpenCore-Patcher.command file can be run as both a TUI and a CLI utility for other programs to call. If no core arguments are passed, the TUI is initialized. Otherwise the CLI will start:
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.command --build --model iMac12,2 --verbose
python3 OpenCore-Patcher-GUI.command --build --model iMac12,2 --verbose
```
See `-h`/`--help` for more information on supported CLI arguments.
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.command file with a python3 installation.
* Note that due to PyInstaller's linking mechanism, binaries generated on Catalina and newer are not compatible with High Sierra and older
* To ensure the largest compatibility, generate binaries on macOS Mojave. These binaries will be compatible with macOS 10.9 to macOS 12.
* Currently our build system is a [Macmini8,1 provided by MacStadium](https://www.macstadium.com/opensource) running macOS Mojave (10.14.6).
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
@@ -79,7 +64,6 @@ pip3 install pyinstaller
cd ~/Developer/OpenCore-Legacy-Patcher/
# Create the pyinstaller based Application
# Optional Arguments
# '--build_tui': Create TUI vairant
# '--reset_binaries': Redownload and generate support files
python3 Build-Binary.command
# Open build folder

View File

@@ -6,19 +6,20 @@
# - 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
class apple_mobile_file_integrity:
import enum
class AppleMobileFileIntegrity(enum.IntEnum):
# Names set are solely for readability
# Internal names are unknown
amfi_values = {
"AMFI_ALLOW_TASK_FOR_PID": False, # 0x1 - Allow Task for PID (alt. amfi_unrestrict_task_for_pid=0x1)
"AMFI_ALLOW_INVALID_SIGNATURE": False, # 0x2 - Reduce sig enforcement (alt. amfi_allow_any_signature=0x1)
"AMFI_LV_ENFORCE_THIRD_PARTY": False, # 0x4 - Don't mark external binaries as platform binaries
"AMFI_UNKNOWN_1": False, # 0x8
"AMFI_UNKNOWN_2": False, # 0x10
"AMFI_UNKNOWN_3": False, # 0x20
"AMFI_UNKNOWN_4": False, # 0x40
"AMFI_ALLOW_EVERYTHING": False, # 0x80 - Disable sig enforcement and Library Validation (alt. amfi_get_out_of_my_way=0x1)
},
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)

View File

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

View File

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

View File

@@ -249,6 +249,9 @@ IntelNvidiaDRM = [
# 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 = ["MacBook4,1", "MacBookPro4,1", "iMac7,1", "iMac8,1", "MacPro3,1", "Xserve2,1", "Dortania1,1"]
AGDPSupport = [
@@ -350,4 +353,4 @@ Missing_USB_Map_Ventura = [
"iMac16,1",
"iMac16,2",
"iMac17,1",
]
]

View File

@@ -28,22 +28,51 @@ class os_data(enum.IntEnum):
class os_conversion:
def os_to_kernel(os):
# Convert OS version to major XNU version
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):
# Convert major XNU version to OS version
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, source_minor, target_major, target_minor):
# Check if OS version 1 is newer than OS version 2
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:
@@ -52,8 +81,17 @@ class os_conversion:
else:
return False
def convert_kernel_to_marketing_name(kernel):
# Convert major XNU version to Marketing Name
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
@@ -70,8 +108,17 @@ class os_conversion:
return os_name
def convert_marketing_name_to_kernel(marketing_name):
# Convert Marketing Name to major XNU version
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(" ", "_")]
@@ -81,16 +128,18 @@ class os_conversion:
return int(os_kernel)
def find_largest_build(build_array):
# 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",
# ]
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

View File

@@ -796,6 +796,11 @@ class amd_ids:
0x67CF, # Unknown
]
polaris_spoof_ids = [
# Polaris 12 (Lexa)
0x6981, # Lexa XT [Radeon PRO WX 3200]
]
vega_ids = [
# GCN v5
# AMDRadeonX5000

View File

@@ -1872,8 +1872,10 @@ smbios_dictionary = {
"Bluetooth Model": bluetooth_data.bluetooth_data.BRCM2046,
"Ethernet Chipset": "Nvidia",
"nForce Chipset": True,
"Socketed GPUs": "MXM",
"Stock GPUs": [
device_probe.NVIDIA.Archs.Tesla,
device_probe.AMD.Archs.TeraScale_1,
],
"Stock Storage": [
"SATA 3.5",
@@ -1943,7 +1945,7 @@ smbios_dictionary = {
"nForce Chipset": True,
"Socketed GPUs": "MXM",
"Stock GPUs": [
device_probe.NVIDIA.Archs.Tesla,
device_probe.AMD.Archs.TeraScale_1,
],
"Stock Storage": [
"SATA 3.5",
@@ -1961,7 +1963,7 @@ smbios_dictionary = {
"nForce Chipset": True,
"Socketed GPUs": "MXM",
"Stock GPUs": [
device_probe.NVIDIA.Archs.Tesla,
device_probe.AMD.Archs.TeraScale_1,
],
"Stock Storage": [
"SATA 3.5",
@@ -1979,7 +1981,7 @@ smbios_dictionary = {
"nForce Chipset": True,
"Socketed GPUs": "MXM",
"Stock GPUs": [
device_probe.NVIDIA.Archs.Tesla,
device_probe.AMD.Archs.TeraScale_1,
],
"Stock Storage": [
"SATA 3.5",
@@ -3013,4 +3015,4 @@ smbios_dictionary = {
"Stock GPUs": [],
"Stock Storage": [],
},
}
}

File diff suppressed because it is too large Load Diff

11
data/video_bios_data.py Normal file

File diff suppressed because one or more lines are too long

View File

@@ -7,14 +7,15 @@
* [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)
* [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 / macOS Monterey and the Legacy Graphics Acceleration patches. Note that the following GPUs currently do not have acceleration support in Big Sur / Monterey:
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:
* Intel 3rd and 4th Gen - GMA series
@@ -22,7 +23,7 @@ For those unfamiliar with what is considered a non-Metal GPU, see the chart belo
::: 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.
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 |
| :--- | :--- | :--- | :--- |
@@ -30,7 +31,7 @@ Metal is Apple's in-house graphics API that acts as a replacement for OpenGL/Ope
| ^^ | TeraScale 2 | HD5000 - HD6000 | ^^ |
| AMD | GCN (and newer) | HD7000+ | <span style="color:green">Yes</span> |
| NVIDIA | Tesla | 8000GT - GT300 | <span style="color:red">No</span> |
| ^^ | Fermi | GT400 - GT500 | ^^ |
| ^^ | Fermi | GT400 - GT500 | ^^ |
| ^^ | Kepler | GT600 - GT700 | <span style="color:green">Yes</span> |
| Intel | GMA | GMA900 - GMA3000 | <span style="color:red">No</span> |
| ^^ | Iron Lake | HD series | ^^ |
@@ -101,11 +102,13 @@ Due to the Metal Backend, the enhanced color output of these apps seems to heavi
## Cannot press "Done" when editing a Sidebar Widget
Workaround: Press some combination of Tab, or Tab and then Shift-Tab, or just Shift-Tab until the "Done" button is highlighted. Then press spacebar to activate the button, the same as in any other dialog with a highlighted button halo.
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 that the community is investigating. A currently known solution is to downgrade to macOS 11.2.3 or older until a proper fix can be found. Additionally logging out and logging in can resolve the issue without requiring a reboot.
**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.
@@ -115,9 +118,9 @@ In the event Apple removes 11.2.3 from their catalogue, we've provided a mirror
## Unable to switch GPUs on 2011 15" and 17" MacBook Pros
Currently OpenCore Legacy Patcher, GPU switching between the iGPU and dGPU is broken. The simplest way to set a specific GPU is to disable the dGPU when you wish to remain on the more power efficient iGPU.
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
@@ -156,14 +159,13 @@ The following tool can be used to work-around this issue:
By default, OpenCore Legacy Patcher will assume MacBookPro8,2/3 have a faulty dGPU and disable acceleration. This is the safest option for most users as enabling dGPU acceleration on faulty Macs will result in failed booting.
However if your machine does not have the dGPU disabled via NVRAM, you'll experience a login loop. To work around this is quite simple:
However, if your machine does not have the dGPU disabled via NVRAM, you'll experience a login loop. To work around this is quite simple:
1. Boot macOS in Single User Mode
* Press Cmd+S in OpenCore's menu when you turn the Mac on
2. When command line prompt appears, enter the dGPU disabler argument (at the bottom)
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. Then root patch your Mac again
`Patcher Settings -> Developer Settings -> Set TeraScale 2 Accel`
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
@@ -179,8 +181,18 @@ A somewhat strange issue on Intel HD3000-based Macs, on 3rd party displays somet
* 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

@@ -2,7 +2,7 @@
Now we finally get to boot OpenCore!
Reboot machine while holding `Option` to select the EFI Boot entry with the OpenCore icon (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
@@ -18,7 +18,7 @@ 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.
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).
@@ -31,7 +31,7 @@ The command should produce a list of drives installed in your system:
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 may differ if you've installed OCLP to a FAT-32 volume).
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
@@ -40,7 +40,7 @@ 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:
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
```
@@ -52,24 +52,24 @@ 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, now select Install macOS:
Now that you've loaded OpenCore, "select Install macOS":
* This will be the OpenCore Picker
![](../images/oc-boot.png)
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:
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.
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.
**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.
:::

View File

@@ -1,6 +1,6 @@
# 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!
If you haven't downloaded OpenCore Patcher yet, do so now:

View File

@@ -1,6 +1,6 @@
# How to debug with OpenCore
For those who've hit an odd bug and 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.
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
@@ -10,11 +10,13 @@ The easiest way to debug yourself is via Patcher Settings. Here there are many d
* "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)
@@ -40,11 +42,11 @@ Currently issues have been disabled due to [current events](ISSUES-HOLD.md). You
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 patching for (ie. MacBookPro10,1)
* 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.
@@ -15,7 +15,7 @@ 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:
If you have any legacy hardware you're willing to donate or want to buy us hardware, please contact us at the following email:
* khronokernel@icloud.com

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,8 +1,8 @@
# Download and build macOS Installers
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.
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.
* Note: 16GB+ USB will be required for the installer
* Note: 16GB+ USB drive will be required for the installer
## Creating the installer
@@ -12,11 +12,11 @@ With OpenCore Legacy Patcher, our new GUI includes a download menu for macOS ins
For this guide, we'll be using the standard OpenCore-Patcher (GUI).
Once downloaded, open the app and you should be greeted with this menu:
Once downloaded, open the app and you should be greeted by this menu:
![OCLP GUI Main Menu](../images/OCLP-GUI-Main-Menu.png)
First we'll want to select the "Create macOS Installer" button. This will present you with 2 options:
First, we'll want to select the "Create macOS Installer" button. This will present you with 2 options:
![](../images/OCLP-GUI-Create-Installer-Menu.png)

View File

@@ -20,4 +20,4 @@ This patcher is made of multiple external applications from different people and
* [VMM Patch Set](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/4a8f61a01da72b38a4b2250386cc4b497a31a839/payloads/Config/config.plist#L1222-L1281) - parrotgeek1
* Apple Binaries - Apple Inc.
Remaining files within OpenCore Legacy Patcher are copyrighted 2020-2022 Mykola Grymalyuk & Dhinak G. For integration into other projects, please request written permission.
Remaining files within OpenCore Legacy Patcher are distributed under BSD-4-Clause license.

View File

@@ -18,13 +18,13 @@ The below table will list all supported and unsupported functions of the patcher
Regarding OS support, see below:
* Machines listing `YES - Monterey and older` means they cannot run macOS Ventura at this time. Machines with only `YES` can run all of the supported macOS versions offered by OpenCore Legacy Patcher.
| Support Entry | Supported OSes | Description | Comment |
| :--- | :--- | :--- | :--- |
| HostOS | macOS 10.9 - macOS 13 | 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 |
| HostOS | macOS 10.10 - macOS 13 | 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-GUI.command` located in the repo |
| TargetOS | macOS 11 - macOS 13 | Refers to OSes that can be patched to run with OpenCore | May support 10.4 and newer (in a potentially broken state). No support provided. |
* macOS Ventura installer creation requires 10.11 or later
### MacBook
| SMBIOS | Year | Supported | Comment |
@@ -32,12 +32,12 @@ Regarding OS support, see below:
| 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 - Monterey and older</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/> - Supports macOS Monterey and older ([Ventura support in development](./VENTURA-DROP.md))|
| MacBook4,1 | Early 2008 | ^^ | - No GPU Acceleration in Mavericks and newer<br/>- No Keyboard and Trackpad<br/>- No USB |
| MacBook5,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))<br/> - UHCI/OHCI support in Public Beta, see current issues ([#1021](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021))|
| MacBook5,2 | Early 2009 | ^^ | ^^ |
| MacBook6,1 | Late 2009 | ^^ | ^^ |
| MacBook7,1 | Mid-2010 | ^^ | ^^ |
| MacBook8,1 | Mid-2015 | <span style="color:#30BCD5"> YES </span> | <span style="color:green"> Everything is supported</span> |
| MacBook8,1 | Mid-2015 | ^^ | <span style="color:green"> Everything is supported</span> |
| MacBook9,1 | Early 2016 | ^^ | ^^ |
### MacBook Air
@@ -45,12 +45,12 @@ Regarding OS support, see below:
| 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 - Monterey and older</span> | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/> - Supports macOS Monterey and older ([Ventura support in development](./VENTURA-DROP.md))|
| 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))<br/> - UHCI/OHCI support in Public Beta, see current issues ([#1021](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021))|
| MacBookAir3,1 | Late 2010 | ^^ | ^^ |
| MacBookAir3,2 | ^^ | ^^ | ^^ |
| MacBookAir4,1 | Mid-2011 | ^^ | ^^ |
| MacBookAir4,1 | Mid-2011 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))|
| MacBookAir4,2 | ^^ | ^^ | ^^ |
| MacBookAir5,1 | Mid-2012 | <span style="color:#30BCD5"> YES </span> | <span style="color:green"> Everything is supported</span> |
| MacBookAir5,1 | Mid-2012 | ^^ | <span style="color:green"> Everything is supported</span> |
| MacBookAir5,2 | ^^ | ^^ | ^^ |
| MacBookAir6,1 | Mid-2013, Early 2014 | ^^ | ^^ |
| MacBookAir6,2 | ^^ | ^^ | ^^ |
@@ -66,19 +66,19 @@ Regarding OS support, see below:
| 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 - Monterey and older</span> | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/> - Supports macOS Monterey and older ([Ventura support in development](./VENTURA-DROP.md))|
| 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))<br/> - UHCI/OHCI support in Public Beta, see current issues ([#1021](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021))|
| MacBookPro5,1 | Late 2008 | ^^ | ^^ |
| MacBookPro5,2 | Early 2009 | ^^ | ^^ |
| MacBookPro5,3 | Mid-2009 | ^^ | ^^ |
| MacBookPro5,4 | ^^ | ^^ | ^^ |
| MacBookPro5,5 | ^^ | ^^ | ^^ |
| MacBookPro6,1 | Mid-2010 | ^^ | ^^ |
| MacBookPro6,1 | Mid-2010 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))|
| MacBookPro6,2 | ^^ | ^^ | ^^ |
| MacBookPro7,1 | ^^ | ^^ | ^^ |
| MacBookPro8,1 | Early 2011 | ^^ | ^^ |
| MacBookPro7,1 | ^^ | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/> - UHCI/OHCI support in Public Beta, see current issues ([#1021](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021))|
| MacBookPro8,1 | Early 2011 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))|
| MacBookPro8,2 | ^^ | ^^ | ^^ |
| MacBookPro8,3 | ^^ | ^^ | ^^ |
| MacBookPro9,1 | Mid-2012 | <span style="color:#30BCD5"> YES </span> | <span style="color:green"> Everything is supported</span> |
| 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 | ^^ | ^^ |
@@ -98,12 +98,12 @@ Regarding OS support, see below:
| :--- | :--- | :--- | :--- |
| 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 - Monterey and older</span> | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)) <br/> - Supports macOS Monterey and older ([Ventura support in development](./VENTURA-DROP.md)) |
| 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))<br/> - UHCI/OHCI support in Public Beta, see current issues ([#1021](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021))|
| Macmini4,1 | Mid-2010 | ^^ | ^^ |
| Macmini5,1 | Mid-2011 | ^^ | ^^ |
| Macmini5,1 | Mid-2011 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))|
| Macmini5,2 | ^^ | ^^ | ^^ |
| Macmini5,3 | ^^ | ^^ | ^^ |
| Macmini6,1 | Late 2012 | <span style="color:#30BCD5"> YES </span> | <span style="color:green"> Everything is supported</span> |
| Macmini6,1 | Late 2012 | ^^ | <span style="color:green"> Everything is supported</span> |
| Macmini6,2 | ^^ | ^^ | ^^ |
| Macmini7,1 | Mid-2014 | ^^ | ^^ |
@@ -116,16 +116,16 @@ Regarding OS support, see below:
| iMac5,1 | Late 2006 | ^^ | 32-Bit Firmware limitation |
| iMac5,2 | ^^ | ^^ | ^^ |
| iMac6,1 | ^^ | ^^ | ^^ |
| iMac7,1 | Mid-2007 | <span style="color:#30BCD5"> YES - Monterey and older</span> | - Requires an [SSE4.1 CPU Upgrade](https://lowendmac.com/2018/penryn-t9300-9500-cpu-upgrades-for-the-2007-imac/)<br/>- GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/>- Stock Bluetooth 2.0 card non-functional<br/> - Supports macOS Monterey and older ([Ventura support in development](./VENTURA-DROP.md)) |
| iMac8,1 | Early 2008 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)))<br/> - Supports macOS Monterey and older ([Ventura support in development](./VENTURA-DROP.md))|
| iMac7,1 | Mid-2007 | <span style="color:#30BCD5"> YES </span> | - Requires an [SSE4.1 CPU Upgrade](https://lowendmac.com/2018/penryn-t9300-9500-cpu-upgrades-for-the-2007-imac/)<br/>- GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/>- Stock Bluetooth 2.0 card non-functional<br/> - UHCI/OHCI support in Public Beta, see current issues ([#1021](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021))|
| iMac8,1 | Early 2008 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/> - UHCI/OHCI support in Public Beta, see current issues ([#1021](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021))|
| 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)) <br/> - Supports macOS Monterey and older ([Ventura support in development](./VENTURA-DROP.md))|
| iMac11,1 | ^^ | ^^ | ^^ |
| 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)) <br/> - UHCI/OHCI support in Public Beta, see current issues ([#1021](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021))|
| iMac11,1 | ^^ | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))|
| iMac11,2 | Mid-2010 | ^^ | ^^ |
| iMac11,3 | ^^ | ^^ | ^^ |
| iMac12,1 | Mid-2011 | ^^ | ^^ |
| iMac12,2 | ^^ | ^^ | ^^ |
| iMac13,1 | Late 2012 | <span style="color:#30BCD5"> YES </span> | <span style="color:green"> Everything is supported</span> |
| iMac13,1 | Late 2012 | ^^ | <span style="color:green"> Everything is supported</span> |
| iMac13,2 | ^^ | ^^ | ^^ |
| iMac13,3 | ^^ | ^^ | ^^ |
| iMac14,1 | Late 2013 | ^^ | ^^ |
@@ -145,8 +145,8 @@ Regarding OS support, see below:
| :--- | :--- | :--- | :--- |
| 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 - Monterey and older</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 | ^^ | - Everything is supported as long as GPU is Metal capable <br/> - Supports macOS Monterey and older ([Ventura support in development](./VENTURA-DROP.md)) |
| MacPro3,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | - UHCI/OHCI support in Public Beta, see current issues ([#1021](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)) <br/>- Potential boot issues with stock Bluetooth card, recommend removing to avoid kernel panics |
| MacPro4,1 | Early 2009 | ^^ | - Everything is supported as long as GPU is Metal capable <br/> - UHCI/OHCI support in Public Beta, see current issues ([#1021](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021))|
| MacPro5,1 | Mid-2010, Mid-2012 | ^^ | ^^ |
| MacPro6,1 | Late 2013 | ^^ | - CPU Power Management currently unsupported<br/> - No DRM support |
@@ -155,7 +155,7 @@ Regarding OS support, see below:
| 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 - Monterey and older</span> | - Everything is supported as long as GPU is Metal capable <br/> - Supports macOS Monterey and older ([Ventura support in development](./VENTURA-DROP.md))|
| Xserve2,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | - UHCI/OHCI support in Public Beta, see current issues ([#1021](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021))|
| Xserve3,1 | Early 2009 | ^^ | ^^ |
# Once you've verified your hardware is supported, head to [Download and build macOS Installers](./INSTALLER.md)

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,7 +8,7 @@ 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 that OpenCore's configuration is documented within [OpenCorePkg](https://github.com/acidanthera/OpenCorePkg) as well as on 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)
@@ -139,6 +139,10 @@ Below is a run down of the main logic OpenCore Legacy Patcher uses to gain nativ
* 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
@@ -184,6 +188,16 @@ Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into m
* 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
@@ -197,6 +211,23 @@ Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into m
* Reason: Inject old Broadcom Ethernet kext to resolve networking in Big Sur
* 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
@@ -215,14 +246,12 @@ Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into m
### Wifi
* IO80211HighSierra
* Reason: Re-inject Atheros wifi drivers from High Sierra
* Logic: Patch out conflicting symbols to not collide existing IO80211Family
* Models: Atheros cards
* IO80211Mojave
* Reason: Re-inject Broadcom wifi drivers from Mojave
* Logic: Patch out conflicting symbols to not collide 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
@@ -238,6 +267,41 @@ Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into m
* SMC-Spoof
* Reason: Spoofs SMC version to 9.9999
* 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 MacBook4,1/MacBook5,2
:::
## On-Disk Patches
@@ -286,6 +350,15 @@ Applicable for BCM94328, BCM94322 and Atheros Wifi cards
* 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
:::
@@ -306,6 +379,10 @@ Applicable for BCM94328, BCM94322 and Atheros Wifi cards
* 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
@@ -313,12 +390,117 @@ Applicable for BCM94328, BCM94322 and Atheros Wifi cards
* 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 non-Metal Graphics Acceleration Patches (11.0+)
::: 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
@@ -343,6 +525,19 @@ Applicable for BCM94328, BCM94322 and Atheros Wifi cards
* 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

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
@@ -16,26 +16,21 @@ Once you've installed macOS through OpenCore, you can boot up and go through the
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:
| GUI Settings | TUI Settings
| :--- | :--- |
|![](../images/OCLP-GUI-Settings-ShowPicker.png) | ![](../images/OCLP-TUI-Settings.png) |
![](../images/OCLP-GUI-Settings-ShowPicker.png)
Here you can change different patcher settings, however the main interest is:
* Show Boot Picker (GUI)
* Set ShowPicker Mode (TUI)
Once you've toggled them both off, build your OpenCore EFI once again and install to your desired drive. Now to show the OpenCore selector, you can simply hold down the "ESC" key while clicking on EFI boot, and 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 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 running macOS Ventura or systems with non-Metal GPUs cannot enable SIP outright, due to having a patched root volume. Enabling will brick the installation.
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 |
| :--- | :--- | :--- |
@@ -51,22 +46,16 @@ If you're unsure whether you should enable SIP, leave it as-is. Systems where yo
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.
OCLP v0.4.4 and higher include an autopatcher, which will automatically root patch your system but **only if the USB install media was created within OCLP.**
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.
Users with OCLP v0.4.4 or higher will also be prompted to install these patches after macOS updates or whenever patches are not detected on the system. We recommend rebuilding OpenCore with the latest version of OCLP to take advantage of these new features.
Users can also see whether applicable patches have been installed, date and version the system was root patched with in the Post-Install Menu.
In OCLP v0.4.5 a new indicator was added to help users to see if, when and on what version the system was root patched. Note that the "Available patches" section above this does not track the status and will always show the patches that are available, whether they're installed or not.
| Automatic install prompt in 0.4.4+ | Last patched status in 0.4.5+ |
| Automatic install prompt | Status |
| :--- | :--- |
| ![](../images/OCLP-GUI-root-patch-update.png) | ![](../images/OCLP-GUI-Root-Patch-Status.png) |
### Running Post Install patches manually
If you're using OCLP v0.4.3 or earlier, or need to run the patcher manually, you can do so with the app. There is no harm in trying to run the Patcher, as without compatible hardware, nothing will be done. You can see below on whether your hardware needs root volume patching or not.
@@ -82,7 +71,7 @@ With macOS Ventura and Macs with AMD Legacy GCN GPUs (ie. Metal), Root Patching
* [Apple's Developer Download Page](https://developer.apple.com/download/all/?q=Kernel%20Debug%20Kit)
Grab the closet Kernel Debug Kit to the OS you installed, and install it to the machine running Ventura.
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)
@@ -91,7 +80,7 @@ Machines that require this are those with AMD Metal dGPUs:
:::
Below entires represent GPUs no longer natively supported, ie. requiring root volume patch with OpenCore Legacy Patcher:
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

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.
@@ -31,9 +31,9 @@ Term | Description
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

@@ -6,7 +6,7 @@ To aid users in troubleshooting, we've compiled a list of users who've reported
| SMBIOS | Tested | Tester | Model | Version | Comment |
| :--- | :--- | :--- | :--- | :--- | :--- |
| MacBook4,1 | <span style="color:#30BCD5"> YES </span> | Mami | Stock | Unknown | Couldn't install due to broke USB support |
| 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 | ^^ | ^^ | ^^ |

View File

@@ -1,6 +1,6 @@
# 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:
* [OpenCore Legacy Patcher not launching](#opencore-legacy-patcher-not-launching)
* [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)
@@ -19,7 +19,7 @@ Here are some common errors users may experience while using this patcher:
* [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)
## OpenCore Legacy Patcher not launching
@@ -46,7 +46,7 @@ Reminder that once this is done, you'll need to select OpenCore in the boot pick
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 an infinite recovery loop 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`)
@@ -92,11 +92,11 @@ As a work-around, we recommend users try out the below app:
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.
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.
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.
@@ -151,7 +151,7 @@ Because of this, we recommend placing a USB 2.0/3.0 hub between your devices and
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.
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
@@ -161,3 +161,26 @@ Alternatively, you can remove "AutoPkg-Assets.pkg" from /Library/Packages on the
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 | MacBook4,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

@@ -7,7 +7,7 @@ To remove OpenCore:
* 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.
* For 5K iMac users, you will also need to delete `boot.efi` on the root of the EFI partition.
2. [Reset NVRAM](https://support.apple.com/HT204063)

View File

@@ -29,7 +29,7 @@ Technical requirements:
* 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 Discord channel [#hardware](https://discord.gg/rqdPgH8xSN) if required.
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.
@@ -209,7 +209,7 @@ Ventura has dropped more models which includes all of the blacklisted Macs in qu
Firstly run the GUI version of OpenCore Legacy Patcher.
Then go to **Settings**, go to **SMBIOS Settings**, set SMBIOS Spoof Level to **Moderate**. Set SMBIOS Spoof Model **one listed next to your native model in the table for spoofed models below.**
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.
@@ -239,21 +239,23 @@ Spoofing to any model with native Ventura support should work, but these are the
::: details macOS Monterey
Firstly, run the GUI version of OpenCore Legacy Patcher. Secondly, go to **Settings** and tick **Allow native models**.
Firstly, run the GUI version of OpenCore Legacy Patcher. Secondly, go to **Settings** then the **App** tab and tick **Allow native models**.
Then, go to **SMBIOS Settings**, tick **Allow Native Spoofs**, 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.**
[](../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-allow-native-models.png) | ![](../images/OCLP-smbios-settings.png) |
| ![](../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.
**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 |

View File

@@ -19,4 +19,4 @@ nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:OCLP-Version
![](../images/oclp-version.png)
From this, we can see that 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!

View File

@@ -7,7 +7,7 @@ With the release of OpenCore Legacy Patcher v0.5.0 and newer, early support for
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 4K, 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)
@@ -24,16 +24,12 @@ Ventura's release dropped a large amount of Intel hardware, thus requiring the u
## Current status
Overall, macOS Ventura is useable on most Metal-capable machines (ie. 2012 and newer). The graphics patches implemented have near feature parity to macOS Monterey, with patches still being under heavy development. See [Legacy Metal Graphics Support and macOS Ventura #1008](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008) issue for more information.
<img width="625" alt="" src="../images/OCLP-051-Initial-Support.png">
<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)
* [Non-Metal Graphics Acceleration](#non-metal-graphics-acceleration)
* [Legacy Wireless Support](#legacy-wireless-support)
* [USB 1.1 (OHCI/UHCI) Support](#usb-11-ohciuhci-support)
* [Ethernet issue with Early 2008 Mac Pro](#ethernet-issue-with-early-2008-mac-pro)
@@ -43,26 +39,72 @@ The team is doing their best to investigate and fix the aforementioned issues, h
### 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 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.
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 Graphics stack to no longer require AVX2.0. However due to lack of hardware on-hand, we cannot support Navi on Ventura.
* If you have spare Navi GPU you'd like to donate, feel free to reach out: khronokernel@icloud.com
* Thanks to a gracious user, we've gotten an AMD Vega 64 on-hand for testing. No time estimate can be provided for Vega support at this time.
Additionally, the native stack will crash over and over on macOS Ventura as it fails to load the AVX2.0-based binaries. Thus to patch Ventura, you will need to boot in Safe Mode and run OCLP's Root Volume Patcher
* To enter Safe Mode, hold Shift+Enter when selecting Ventura in OCLP's Boot Picker
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) | <span style="color:red"> Unsupported </span> |
| AMD Navi | RX 5xxx/6xxx (10/20 series) | ^^ |
| 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
@@ -84,8 +126,6 @@ The following GPUs are applicable:
The following machines shipped stock with an unsupported GPU:
::: warning Systems shipped with non-Metal Graphics Cards
* iMac7,1 - iMac12,x
* MacBook4,1 - MacBook7,1
* MacBookAir2,1 - MacBookAir4,x
@@ -94,54 +134,5 @@ The following machines shipped stock with an unsupported GPU:
* MacPro3,1 - MacPro5,1
* Xserve2,1 - Xserve3,1
:::
### 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:
::: warning Systems shipped with applicable 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.
### 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
::: 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
:::
### Ethernet issue with Early 2008 Mac Pro
MacPro3,1 suffers from Ethernet driver dying after returning from sleep, current workaround is to use a USB Ethernet adapter or disable sleep.

View File

@@ -1,102 +1,199 @@
# 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 a UEFI copy of Windows is actually super simple! All it requires is to boot Windows' Installer through OpenCore to force a UEFI setup. Here we'll be going step by step in the process, including partitioning and such.
## Minimum Requirements
* Note: UEFI Windows is generally quite usable for Arrandale and newer models, however machines with Penryn CPUs may experience issues
* Recommended Models:
* MacBookAir4,x - 5,x
* MacBookPro8,x - 10,x
* Macmini5,x - 6,x
* iMac11,x - 13,x
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 if 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:
* Newer models than listed here will already natively support UEFI Windows through Boot Camp.
* 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
For MacPro4,1/5,1 and Xserve3,1 users, please be aware that Windows has troubles with automatic installation, so please refer to cdf's guide on manual installation:
* [cdf's Mac Pro Thread](https://forums.macrumors.com/threads/opencore-on-the-mac-pro.2207814/)
[^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
## Disk Formatting
If your machine is not listed, UEFI Windows will likely still install, but you may face stability/driver issues.
To start off, we'll need the following:
## Disk Partitioning and Formatting
* An 8GB USB drive for the Windows Installer
* A minimum of 30GB of free space on whichever drive you want to install Windows to
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
First, let's format our drives with the following steps:
### USB Drive Formatting
### 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 the entire drive, ensure it's using the GUID Partition Table scheme):
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 1: 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 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)
Then 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
```
::: details If you get an error about install.wim
One of the files, `install.wim`, may be too big for the FAT32 file system to hold. If this is the case, you should enter the commands below rather than the one above. This assumes you have `wimlib` installed, if not you can install it with [Homebrew](https://brew.sh):
```
# Copy everything but the install.wim file
rsync -vha -P --exclude=sources/install.wim /Volumes/CCCOMA_X64/ /Volumes/W10USB
# Use wimlib to split the install.wim file into a size that fits
wimlib-imagex split /Volumes/CCCOMA_X64/sources/install.wim /Volumes/W10USB/sources/install.swm 4000
```
Once that's completed, you can continue.
:::
![](../images/rsync-progess.png)
Command will take some time, so sit back and get some coffee. Once finished, the root of the USB drive should look as follows:
* Ensure that these folders and files are in the root of the USB drive, 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! Don't forget to run BootCamp's utilities installer as well to ensure Wi-Fi and other important features are functioning correctly. This can be downloaded from the BootCamp Assistant app in macOS, or with [brigadier](https://github.com/timsutton/brigadier) in Windows.
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.
![](../images/oc-windows-done.png)
:::warning
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
@@ -116,9 +213,9 @@ If needed, you can run it from the command line as administrator:
set __COMPAT_LAYER=WIN7RTM && start \path\to\BootCamp\Drivers\Apple\Bootcamp.msi'
```
Make sure to substitute `\path\to` with the location of the BootCamp folder.
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 BootCamp 4.0 drivers (the above command does this already.)
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.)
:::

BIN
images/BOOTCAMP-1.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
images/BOOTCAMP-2.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 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: 984 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 542 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 KiB

After

Width:  |  Height:  |  Size: 390 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 201 KiB

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 KiB

After

Width:  |  Height:  |  Size: 452 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 KiB

After

Width:  |  Height:  |  Size: 450 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 506 KiB

After

Width:  |  Height:  |  Size: 526 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 496 KiB

After

Width:  |  Height:  |  Size: 530 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 499 KiB

After

Width:  |  Height:  |  Size: 533 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 KiB

After

Width:  |  Height:  |  Size: 530 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 451 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

After

Width:  |  Height:  |  Size: 451 KiB

BIN
images/ocdebugimage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 KiB

BIN
images/usb11-chart.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 787 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 405 KiB

After

Width:  |  Height:  |  Size: 445 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 330 KiB

After

Width:  |  Height:  |  Size: 446 KiB

View File

@@ -1383,6 +1383,24 @@
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>BundlePath</key>
<string>LegacyKeyboardInjector.kext</string>
<key>Comment</key>
<string>Legacy Keyboard support for macOS 11+</string>
<key>Enabled</key>
<false/>
<key>ExecutablePath</key>
<string></string>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>17.0.0</string>
<key>PlistPath</key>
<string>Contents/Info.plist</string>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
@@ -1943,6 +1961,36 @@
<key>Skip</key>
<integer>0</integer>
</dict>
<dict>
<key>Arch</key>
<string>x86_64</string>
<key>Base</key>
<string>__ZN17IOPCIConfigurator18IOPCIIsHotplugPortEP16IOPCIConfigEntry</string>
<key>Comment</key>
<string>CaseySJ - Fix PCI bus enumeration</string>
<key>Count</key>
<integer>1</integer>
<key>Enabled</key>
<false/>
<key>Find</key>
<data>hNt1S0GLVzg=</data>
<key>Identifier</key>
<string>com.apple.iokit.IOPCIFamily</string>
<key>Limit</key>
<integer>0</integer>
<key>Mask</key>
<data></data>
<key>MaxKernel</key>
<string></string>
<key>MinKernel</key>
<string>22.0.0</string>
<key>Replace</key>
<data>hNvrS0GLVzg=</data>
<key>ReplaceMask</key>
<data></data>
<key>Skip</key>
<integer>0</integer>
</dict>
</array>
<key>Quirks</key>
<dict>
@@ -1960,6 +2008,8 @@
<false/>
<key>DisableIoMapper</key>
<false/>
<key>DisableIoMapperMapping</key>
<false/>
<key>DisableLinkeditJettison</key>
<false/>
<key>DisableRtcChecksum</key>
@@ -2611,10 +2661,14 @@
<false/>
<key>ForceResolution</key>
<false/>
<key>GopBurstMode</key>
<false/>
<key>GopPassThrough</key>
<string>Disabled</string>
<key>IgnoreTextInGraphics</key>
<false/>
<key>InitialMode</key>
<string>Auto</string>
<key>ProvideConsoleGop</key>
<true/>
<key>ReconnectGraphicsOnConnect</key>
@@ -2699,6 +2753,8 @@
<true/>
<key>ResizeGpuBars</key>
<integer>-1</integer>
<key>ResizeUsePciRbIo</key>
<false/>
<key>TscSyncTimeout</key>
<integer>0</integer>
<key>UnblockFsConnect</key>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,4 +1,11 @@
#!/bin/sh
# Create alias for OpenCore-Patcher.app
if [ ! -d "/Applications/OpenCore-Patcher.app" ]; then
ln -s "/Library/Application Support/Dortania/OpenCore-Patcher.app" "/Applications/OpenCore-Patcher.app"
fi
# Start root patching
app_path="/Library/Application Support/Dortania/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher"
args="--patch_sys_vol"
"$app_path" "$args" &> "/Users/Shared/.OCLP-AutoPatcher-Log-$(date +"%Y_%m_%d_%I_%M_%p").txt"

Binary file not shown.

Binary file not shown.

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