Compare commits
1063 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e494906f22 | ||
|
|
cdb40d8201 | ||
|
|
b42eb6e395 | ||
|
|
20bb0cd6d8 | ||
|
|
c6688ea922 | ||
|
|
0e490e5ae9 | ||
|
|
e58a671136 | ||
|
|
5d142fd19f | ||
|
|
f55598dac8 | ||
|
|
321cc8dd68 | ||
|
|
9070f5af8d | ||
|
|
a8c080042a | ||
|
|
5788e067b3 | ||
|
|
90d7e9715d | ||
|
|
f8a3d5716c | ||
|
|
82084c84e3 | ||
|
|
f29c629165 | ||
|
|
54b3e17d93 | ||
|
|
2bc843dd2f | ||
|
|
55eeec790f | ||
|
|
8db6c5607d | ||
|
|
2df8dc9caf | ||
|
|
99f48b1e87 | ||
|
|
0dfcf03c0c | ||
|
|
b46e55d3f6 | ||
|
|
62fd543623 | ||
|
|
ec46221c30 | ||
|
|
e57247a233 | ||
|
|
6aa0ab2161 | ||
|
|
f1210def89 | ||
|
|
03842d4e77 | ||
|
|
34676702f4 | ||
|
|
352d917a7d | ||
|
|
f1b47f6a78 | ||
|
|
15d58966f6 | ||
|
|
49cb9ccb66 | ||
|
|
6841fa6f0a | ||
|
|
5e77d7dba1 | ||
|
|
fbedb6f0d2 | ||
|
|
974a560cde | ||
|
|
5db862d38b | ||
|
|
139f94aae1 | ||
|
|
432736eb98 | ||
|
|
6e40a80650 | ||
|
|
21e1b73a4e | ||
|
|
d9676afe43 | ||
|
|
525c7c3173 | ||
|
|
51ef3fe719 | ||
|
|
c6f5ceacfd | ||
|
|
55801e80bd | ||
|
|
4196a7b5f2 | ||
|
|
f0d6faab9a | ||
|
|
6b00caf883 | ||
|
|
d98a653082 | ||
|
|
6d026290ac | ||
|
|
39e58b3927 | ||
|
|
8cfc33e704 | ||
|
|
2b1beff6dc | ||
|
|
d23e483542 | ||
|
|
d57a758c73 | ||
|
|
16b2f1ff55 | ||
|
|
ba0a676ca0 | ||
|
|
2ff132cb04 | ||
|
|
613748488c | ||
|
|
f23c9268f9 | ||
|
|
7160f34a85 | ||
|
|
6767f58047 | ||
|
|
1e781dccb3 | ||
|
|
7e7a5d0f35 | ||
|
|
f91c817fce | ||
|
|
173f77cc31 | ||
|
|
94f870ef5b | ||
|
|
1641e2522b | ||
|
|
60f403d4b4 | ||
|
|
a8a6e609f4 | ||
|
|
de7d024c8f | ||
|
|
253b8b40a0 | ||
|
|
331d5c7b49 | ||
|
|
edbfa951c8 | ||
|
|
3f828d0d69 | ||
|
|
e6a33ed26b | ||
|
|
59e9ddfe3e | ||
|
|
c27998a881 | ||
|
|
faa6b1e770 | ||
|
|
c8b02a8e28 | ||
|
|
03713c3f7b | ||
|
|
64cab85704 | ||
|
|
957dd4b9ff | ||
|
|
d83f8ee381 | ||
|
|
14e5772b44 | ||
|
|
23ee732078 | ||
|
|
457615a161 | ||
|
|
2ec63ce006 | ||
|
|
7c23220416 | ||
|
|
1aee2e5dfa | ||
|
|
760db35d15 | ||
|
|
af57596559 | ||
|
|
51954d3b6a | ||
|
|
9e485a5997 | ||
|
|
379eb56eb5 | ||
|
|
a483e713ae | ||
|
|
0877d4b4be | ||
|
|
b5a876ffd7 | ||
|
|
5924ab507c | ||
|
|
f4a8cbbea9 | ||
|
|
86ce62a7d6 | ||
|
|
8aace2d2c9 | ||
|
|
815eb8f270 | ||
|
|
c7471fc64b | ||
|
|
f968a493b9 | ||
|
|
5e61f0c61f | ||
|
|
38188a5ccb | ||
|
|
ba88b5be82 | ||
|
|
a41bbb8267 | ||
|
|
2c428aa3dd | ||
|
|
4429b5cb4b | ||
|
|
526594a90d | ||
|
|
04a2e55d24 | ||
|
|
7aff1794c6 | ||
|
|
e8f8f1bd93 | ||
|
|
cba33c1e82 | ||
|
|
a26120a376 | ||
|
|
9982d43d5a | ||
|
|
b72ff16f55 | ||
|
|
54c56e2988 | ||
|
|
8718c620d3 | ||
|
|
8a6a9ec054 | ||
|
|
e56beb5f4e | ||
|
|
9038aaf906 | ||
|
|
8a287e7cc2 | ||
|
|
8f7606aaf2 | ||
|
|
1319a23c77 | ||
|
|
5774f0c402 | ||
|
|
ce70d87555 | ||
|
|
859b002240 | ||
|
|
00d29e8422 | ||
|
|
6fcdd5fa99 | ||
|
|
4f1cb2d753 | ||
|
|
c9ace128a1 | ||
|
|
e6149046b3 | ||
|
|
82eec8e343 | ||
|
|
c4063840e9 | ||
|
|
aa7be2163f | ||
|
|
67b00f34be | ||
|
|
be4ef6a7f2 | ||
|
|
a24570de05 | ||
|
|
fb85c42c52 | ||
|
|
c6bef2d8aa | ||
|
|
7dc80475c3 | ||
|
|
404e855443 | ||
|
|
5683fedd25 | ||
|
|
3bf92c3587 | ||
|
|
ce0928ba38 | ||
|
|
25f5ea2457 | ||
|
|
0ba93a8a2b | ||
|
|
3e0c329e53 | ||
|
|
2fc21e6f07 | ||
|
|
8db6085ed1 | ||
|
|
ca4fd2286f | ||
|
|
df6ca71124 | ||
|
|
3fb624fc7d | ||
|
|
89e36d762b | ||
|
|
f24a7f4229 | ||
|
|
55b3641965 | ||
|
|
8baca06246 | ||
|
|
f7b160f449 | ||
|
|
fc65423ee2 | ||
|
|
8c25110568 | ||
|
|
dad8d1224a | ||
|
|
ed78b5632c | ||
|
|
6bb274638e | ||
|
|
bb78f59b9d | ||
|
|
0c960438f2 | ||
|
|
c1849c0d28 | ||
|
|
e62335cae5 | ||
|
|
b4644f4b80 | ||
|
|
1d22ea51b4 | ||
|
|
241fe052aa | ||
|
|
51eb22bc94 | ||
|
|
084ee663b2 | ||
|
|
1fb46d0d76 | ||
|
|
1faa8055ab | ||
|
|
b50f376990 | ||
|
|
13ffc64ce6 | ||
|
|
9676c2c08a | ||
|
|
9317e11009 | ||
|
|
211e8fbb71 | ||
|
|
f2bfb7c479 | ||
|
|
35722875ee | ||
|
|
86a9789b18 | ||
|
|
18c49d0902 | ||
|
|
f7ec0ddf21 | ||
|
|
c2d26b4903 | ||
|
|
cf7a553f0b | ||
|
|
434dedb815 | ||
|
|
214e31e8e3 | ||
|
|
ed63f12f2b | ||
|
|
91417bf75d | ||
|
|
be62a3f7db | ||
|
|
f5b467c4fb | ||
|
|
fd17caf03d | ||
|
|
37862961df | ||
|
|
c05238875f | ||
|
|
60f4182184 | ||
|
|
526c009866 | ||
|
|
55b76aff9a | ||
|
|
e6f44a902a | ||
|
|
26e69d0084 | ||
|
|
9cfe1a493c | ||
|
|
b4e0c79d13 | ||
|
|
e2440a075e | ||
|
|
59c5393bc4 | ||
|
|
685491d0ba | ||
|
|
0f64b8b2d9 | ||
|
|
e800612bcf | ||
|
|
ae1d73eac1 | ||
|
|
fab6daae5e | ||
|
|
cc68e098eb | ||
|
|
b95bd4e357 | ||
|
|
36f69c4f21 | ||
|
|
829f1f6bc1 | ||
|
|
d73d62f68c | ||
|
|
5b6b8d6e1a | ||
|
|
01b0bc4c67 | ||
|
|
5537340c87 | ||
|
|
eda96d0f93 | ||
|
|
65a11b30d7 | ||
|
|
5f5d5daebf | ||
|
|
226a59e9c1 | ||
|
|
840f47d861 | ||
|
|
c5adf1eeea | ||
|
|
70b4381003 | ||
|
|
2a315b7a57 | ||
|
|
e8b4e3dfdf | ||
|
|
c5dd7ec6c9 | ||
|
|
3aed0438fc | ||
|
|
58314caed4 | ||
|
|
bd8c6b4d9f | ||
|
|
7134e30640 | ||
|
|
e8ee2a2657 | ||
|
|
c9a14e242d | ||
|
|
69f4bbc7a6 | ||
|
|
5ecd453c75 | ||
|
|
d7eebbe171 | ||
|
|
1038be303b | ||
|
|
d12b39bd98 | ||
|
|
d6161481ef | ||
|
|
2455cb1233 | ||
|
|
d2312e3cce | ||
|
|
3ff6f68236 | ||
|
|
8b0625eb41 | ||
|
|
97a86fcd92 | ||
|
|
9631cc48bd | ||
|
|
84a3341788 | ||
|
|
d547ecdcf0 | ||
|
|
e0fd78c7af | ||
|
|
87f412b469 | ||
|
|
12395acc12 | ||
|
|
64854ef567 | ||
|
|
43be00e9e7 | ||
|
|
aa1739c1d6 | ||
|
|
4cb7ce3f12 | ||
|
|
5df3cca616 | ||
|
|
6003d6c457 | ||
|
|
20d04d307d | ||
|
|
24a1e35f54 | ||
|
|
ef4983d907 | ||
|
|
ec56e8a8d2 | ||
|
|
423bf8f20c | ||
|
|
55e6aeaf0a | ||
|
|
509137f519 | ||
|
|
169ea95dc4 | ||
|
|
e21efa975c | ||
|
|
b9bd01750c | ||
|
|
7691184ca2 | ||
|
|
2bba8f474a | ||
|
|
a5bb29142f | ||
|
|
74857b1d16 | ||
|
|
c19cbd9f41 | ||
|
|
b6630b685a | ||
|
|
b01adb9c10 | ||
|
|
44c2f9cbd4 | ||
|
|
e0d16b2d28 | ||
|
|
4f9ce33912 | ||
|
|
9b3bf07494 | ||
|
|
4982edef33 | ||
|
|
da98b5b37f | ||
|
|
538c5daf70 | ||
|
|
549bf1686b | ||
|
|
f3c3c83140 | ||
|
|
d0ef81946c | ||
|
|
bf1d61879a | ||
|
|
e3fa2e857f | ||
|
|
52d43eb72d | ||
|
|
da412e9084 | ||
|
|
df8cf69513 | ||
|
|
de94fed243 | ||
|
|
2647a3267d | ||
|
|
645c089270 | ||
|
|
d7540fdd5b | ||
|
|
41ef1cefd8 | ||
|
|
4e4ebe25e7 | ||
|
|
d60dd4c9df | ||
|
|
8a4c1b93ac | ||
|
|
9a4883771a | ||
|
|
38bea6a666 | ||
|
|
128c922851 | ||
|
|
78545422c0 | ||
|
|
c476f8e937 | ||
|
|
62cb8edd88 | ||
|
|
2905f88c91 | ||
|
|
090167efb2 | ||
|
|
5f3437c88e | ||
|
|
8884897dff | ||
|
|
138214fd8c | ||
|
|
f973817819 | ||
|
|
c3e0765aae | ||
|
|
3a50a602e0 | ||
|
|
8487eab010 | ||
|
|
15a4217fb6 | ||
|
|
b5b9b3ffbe | ||
|
|
8ac64ff9c0 | ||
|
|
e754a7d06f | ||
|
|
b3f6607768 | ||
|
|
b85256d970 | ||
|
|
b92daff30e | ||
|
|
abdac48f83 | ||
|
|
c9fae32eb6 | ||
|
|
a762d7efe8 | ||
|
|
c044e8acc9 | ||
|
|
f2cc423c31 | ||
|
|
218507b8a7 | ||
|
|
e29895830c | ||
|
|
249c2ed98e | ||
|
|
e5a260b74b | ||
|
|
5e45ea92bc | ||
|
|
6020eae937 | ||
|
|
0dbffc5a3e | ||
|
|
aa994a97aa | ||
|
|
233ded0924 | ||
|
|
5d4a9b7ec7 | ||
|
|
dccc39633b | ||
|
|
985e053e90 | ||
|
|
9a483181a1 | ||
|
|
d762b37851 | ||
|
|
e531d30c3c | ||
|
|
ca8e1a7bf0 | ||
|
|
31a29e0b3e | ||
|
|
1126a49dc5 | ||
|
|
40160b644b | ||
|
|
0fce7adad1 | ||
|
|
8976496e52 | ||
|
|
077b9f67b2 | ||
|
|
8f8778f0f6 | ||
|
|
adcceb0c10 | ||
|
|
4d970cd6f2 | ||
|
|
d4a64b8f1a | ||
|
|
3f2f1e89c9 | ||
|
|
54fcbde01e | ||
|
|
ed00afbc43 | ||
|
|
7ef4d03d85 | ||
|
|
09838449a0 | ||
|
|
b5db385cd4 | ||
|
|
c51f283125 | ||
|
|
cada66a6b5 | ||
|
|
1ef98e0a4b | ||
|
|
4b3f7b837e | ||
|
|
17443b4fbf | ||
|
|
557f0a1bd9 | ||
|
|
77bb25b3a5 | ||
|
|
6a48038696 | ||
|
|
e6251da97a | ||
|
|
7239730c44 | ||
|
|
980e102675 | ||
|
|
dd66bca395 | ||
|
|
831495923a | ||
|
|
c9882f84bc | ||
|
|
4110f7a553 | ||
|
|
e99de2360a | ||
|
|
41ce771c33 | ||
|
|
c0f951411a | ||
|
|
47be068aaf | ||
|
|
49f6a62926 | ||
|
|
1cf0e3d363 | ||
|
|
739c488698 | ||
|
|
a6de37adf0 | ||
|
|
7bb00fd695 | ||
|
|
26fdb2ca2c | ||
|
|
af77e7979e | ||
|
|
3c5f5f84d2 | ||
|
|
6ab297423e | ||
|
|
2435ea747c | ||
|
|
d0eac893fe | ||
|
|
c62fefb575 | ||
|
|
87234740bd | ||
|
|
47a1c6a2e5 | ||
|
|
cee8d8e768 | ||
|
|
e133beee36 | ||
|
|
0388eaa6f2 | ||
|
|
984ba65d41 | ||
|
|
a6879ede75 | ||
|
|
bfcabb3a4a | ||
|
|
efdb278691 | ||
|
|
dd1b60c8be | ||
|
|
80e836e3bb | ||
|
|
597a4a6e14 | ||
|
|
ca85d0d4ca | ||
|
|
abea113272 | ||
|
|
48cf833cb8 | ||
|
|
ea3ff5d3b6 | ||
|
|
01d666e2c3 | ||
|
|
d8904bb3c0 | ||
|
|
d725798c60 | ||
|
|
bad9dbaecc | ||
|
|
79f6754c4f | ||
|
|
12a2d5ade1 | ||
|
|
051196993f | ||
|
|
969cc65ae5 | ||
|
|
4a7b6437a0 | ||
|
|
a2cdc0339a | ||
|
|
7d0bbf62bf | ||
|
|
c8b6eec14f | ||
|
|
0427c9ef44 | ||
|
|
663bec68bf | ||
|
|
cf28e8d2b5 | ||
|
|
b1d0d733d9 | ||
|
|
4f0b605786 | ||
|
|
c031917a12 | ||
|
|
d8a79cf67e | ||
|
|
18b6ce8684 | ||
|
|
d875cdf6a5 | ||
|
|
80ea0cd217 | ||
|
|
77da01dfb4 | ||
|
|
a5319bf432 | ||
|
|
3c5d93f79e | ||
|
|
2ca2bc451a | ||
|
|
ab9208da58 | ||
|
|
3132b0dcb7 | ||
|
|
b22c28e07b | ||
|
|
aa81b0ba49 | ||
|
|
ba5dd16201 | ||
|
|
5f30adab73 | ||
|
|
4c9c7965b6 | ||
|
|
1e86681d3c | ||
|
|
79cf5cb86f | ||
|
|
e6a3536e31 | ||
|
|
af733dc08c | ||
|
|
1d564ed653 | ||
|
|
f20c9e3a09 | ||
|
|
422eee04b7 | ||
|
|
1f23ceef7f | ||
|
|
5c402e1820 | ||
|
|
a92cbe94a1 | ||
|
|
89ef9fb904 | ||
|
|
bfe8776a1a | ||
|
|
52e31d0b1d | ||
|
|
5a7308fa2a | ||
|
|
b0617887dd | ||
|
|
5b4464a1f2 | ||
|
|
d4f004c558 | ||
|
|
df5e7525c2 | ||
|
|
b56ec7c679 | ||
|
|
cd9ce32c04 | ||
|
|
a65ceaa376 | ||
|
|
2788dfc78e | ||
|
|
888387dfa2 | ||
|
|
9c41fff3d4 | ||
|
|
3acc4dc9d9 | ||
|
|
99f6d8f060 | ||
|
|
efdcbd24c1 | ||
|
|
fa322d73c5 | ||
|
|
cb6f294d35 | ||
|
|
4ac46d4b54 | ||
|
|
48dd47aed3 | ||
|
|
58b3748034 | ||
|
|
fefd651157 | ||
|
|
2b1d598bf3 | ||
|
|
a863e55a01 | ||
|
|
b297692b77 | ||
|
|
a17b43525a | ||
|
|
fd9cd85254 | ||
|
|
aa196b6c0d | ||
|
|
cb38ee9477 | ||
|
|
6faff5d52a | ||
|
|
cabcdcd381 | ||
|
|
e36e9b35e9 | ||
|
|
566df783c8 | ||
|
|
edbd96a7e9 | ||
|
|
72f7d20ce5 | ||
|
|
39147e95be | ||
|
|
7d1d3dd9f6 | ||
|
|
6146aa48c6 | ||
|
|
266261484f | ||
|
|
231e545ca4 | ||
|
|
f18184bded | ||
|
|
7171de0679 | ||
|
|
d360a8ee8b | ||
|
|
5505737b37 | ||
|
|
11bc64f8e6 | ||
|
|
300726ea96 | ||
|
|
186669b9cd | ||
|
|
b4afa8bc28 | ||
|
|
04441590f0 | ||
|
|
f5d9ecfc25 | ||
|
|
f6f4131b53 | ||
|
|
47458daae2 | ||
|
|
0507654d09 | ||
|
|
0ed1cbde2f | ||
|
|
c80c46288c | ||
|
|
0cd1509a38 | ||
|
|
06b8b08d4b | ||
|
|
6fc895a45b | ||
|
|
98bbddc03d | ||
|
|
46d2a86e2f | ||
|
|
5a6407ab14 | ||
|
|
8b38939759 | ||
|
|
4b6587dc3b | ||
|
|
8adbc3b5d2 | ||
|
|
62e565b8c0 | ||
|
|
749a0be86e | ||
|
|
a1de379c5f | ||
|
|
bf00c013c8 | ||
|
|
8c848f9317 | ||
|
|
fa711c18cc | ||
|
|
2d5ea95ee0 | ||
|
|
0cc8b7b705 | ||
|
|
fecd71ef46 | ||
|
|
451262d50b | ||
|
|
88f895b61e | ||
|
|
28f10824fd | ||
|
|
2f6666edfb | ||
|
|
831fbc3319 | ||
|
|
7417fc4180 | ||
|
|
96fcba8391 | ||
|
|
d576752744 | ||
|
|
034a30a283 | ||
|
|
adcacc478d | ||
|
|
e853be2e84 | ||
|
|
c414c9cde7 | ||
|
|
87f9f39179 | ||
|
|
0a18db3142 | ||
|
|
63ba8d4a16 | ||
|
|
017d59f57d | ||
|
|
0f55b074af | ||
|
|
652e8659e4 | ||
|
|
f7d5b9345f | ||
|
|
54480c3776 | ||
|
|
36c39a7e71 | ||
|
|
a837a27dc0 | ||
|
|
8dcec0dfa8 | ||
|
|
85b90b13e4 | ||
|
|
79c173aaff | ||
|
|
f69d393acd | ||
|
|
bebb71b1de | ||
|
|
2f12236ac8 | ||
|
|
a7bfef5ed7 | ||
|
|
4ad65f00b5 | ||
|
|
9993436029 | ||
|
|
1f156170cf | ||
|
|
81247d8cf4 | ||
|
|
5929e81337 | ||
|
|
d8267838ae | ||
|
|
8f450b525b | ||
|
|
681441df7e | ||
|
|
e02c26e703 | ||
|
|
1b9e45b5f9 | ||
|
|
6a0090987c | ||
|
|
02d3f6cc64 | ||
|
|
2e964ba9c2 | ||
|
|
a2c0994bde | ||
|
|
d0e257a364 | ||
|
|
8c5165a06c | ||
|
|
422283a3ac | ||
|
|
24225a3748 | ||
|
|
0b59384130 | ||
|
|
d04822b770 | ||
|
|
84648c67cf | ||
|
|
42112fcca9 | ||
|
|
2bbb7153e7 | ||
|
|
dc0c75964d | ||
|
|
c7c6569c4b | ||
|
|
28d3e981c5 | ||
|
|
3bd9d85ae2 | ||
|
|
b43c66c0bb | ||
|
|
2a002d8e82 | ||
|
|
324d7362c7 | ||
|
|
3dc4b60af1 | ||
|
|
33a885a309 | ||
|
|
4f1cb8abcc | ||
|
|
21e7a75cc9 | ||
|
|
3ef6e4a853 | ||
|
|
bd70c4a24a | ||
|
|
aaf7519e94 | ||
|
|
28cdc3f61b | ||
|
|
4068bc1661 | ||
|
|
1204daa330 | ||
|
|
f8b2b5a759 | ||
|
|
f3e2dfc4de | ||
|
|
a6e0c142ca | ||
|
|
d9e9fea2f7 | ||
|
|
978a16f397 | ||
|
|
d21b984918 | ||
|
|
c308bcb993 | ||
|
|
15103007a5 | ||
|
|
a932b5a483 | ||
|
|
9b96514b91 | ||
|
|
a33142e29e | ||
|
|
ef9df5265b | ||
|
|
bc8a2727c3 | ||
|
|
17a1b823fc | ||
|
|
993f0c22d5 | ||
|
|
bd42aad340 | ||
|
|
fcd3afe29d | ||
|
|
ed62fe91a2 | ||
|
|
3040c621a7 | ||
|
|
2f49a36ccc | ||
|
|
d551df34ed | ||
|
|
2fadae2e3d | ||
|
|
2e3ae755ea | ||
|
|
067206b536 | ||
|
|
aae6cc705f | ||
|
|
96b126588d | ||
|
|
a70039abb5 | ||
|
|
6fca3339fc | ||
|
|
c668ac0004 | ||
|
|
88d6fc29f0 | ||
|
|
e556b0227a | ||
|
|
d7b8f91223 | ||
|
|
f2cddcae7c | ||
|
|
c9304bdbba | ||
|
|
117e7fa6ff | ||
|
|
6bec4ca2d2 | ||
|
|
1b8dcd1c1b | ||
|
|
f2f81f5239 | ||
|
|
7d7c94cd91 | ||
|
|
eeb2e6cb1a | ||
|
|
6ac18b251c | ||
|
|
11a9ab7b96 | ||
|
|
b87737f55e | ||
|
|
dde6a3d805 | ||
|
|
71dbb512a6 | ||
|
|
b7ddeb3b50 | ||
|
|
175cb3d3f4 | ||
|
|
73508835c8 | ||
|
|
336c6b43fb | ||
|
|
bfed55318c | ||
|
|
a3e80a6378 | ||
|
|
92b78a893d | ||
|
|
758fdb9854 | ||
|
|
44f8f64935 | ||
|
|
8f0a74df6b | ||
|
|
0efe4c4365 | ||
|
|
04337059e4 | ||
|
|
af0663317b | ||
|
|
e4d0e471d9 | ||
|
|
cb45138c5f | ||
|
|
917631181a | ||
|
|
9ac58e605d | ||
|
|
6d21b1a8fe | ||
|
|
ae7fa3bbb9 | ||
|
|
2895136eab | ||
|
|
7b83c8d2cc | ||
|
|
43cc83edf4 | ||
|
|
a33af67494 | ||
|
|
eec8f3e797 | ||
|
|
5011b2c3f1 | ||
|
|
980142c6ad | ||
|
|
1fe710f4a3 | ||
|
|
472c494fd4 | ||
|
|
ccbb5dafe5 | ||
|
|
939d3a36a4 | ||
|
|
4c19f51a04 | ||
|
|
b34eaccd35 | ||
|
|
52211def51 | ||
|
|
62f619da99 | ||
|
|
2496fa9245 | ||
|
|
7a07a16be8 | ||
|
|
2e4517a3c0 | ||
|
|
1ce6f79240 | ||
|
|
96e96464f2 | ||
|
|
fcd0c7cd21 | ||
|
|
a93fbf7122 | ||
|
|
c0825ed24e | ||
|
|
0f95d6a1bb | ||
|
|
9439c39437 | ||
|
|
38025d7f2a | ||
|
|
23f2291bfa | ||
|
|
b0c05b914b | ||
|
|
b83cd8191b | ||
|
|
8512aad33d | ||
|
|
c04c313b2c | ||
|
|
841bcb72c3 | ||
|
|
6aba47bcfb | ||
|
|
81495ee192 | ||
|
|
1bf3e0e2a4 | ||
|
|
bb6ef48e95 | ||
|
|
06350355ff | ||
|
|
9677c52c1c | ||
|
|
bc4cc33f2f | ||
|
|
b2f1a6375a | ||
|
|
3c7f496bc8 | ||
|
|
9b984e68af | ||
|
|
54c661751a | ||
|
|
2c0d67ce61 | ||
|
|
d153747b58 | ||
|
|
74fc3a7890 | ||
|
|
c6ce71d589 | ||
|
|
513f20bbb1 | ||
|
|
afae4f8eda | ||
|
|
af4d063f6e | ||
|
|
29d3e98b81 | ||
|
|
462fff9d66 | ||
|
|
158f6f2da9 | ||
|
|
a57c29d35e | ||
|
|
bc18bdce03 | ||
|
|
ef9b5bb64a | ||
|
|
c225b77400 | ||
|
|
b69cf09556 | ||
|
|
85203aef5b | ||
|
|
ec80afdd17 | ||
|
|
e288e27b7b | ||
|
|
961c9c7a68 | ||
|
|
55abbab145 | ||
|
|
2986aea152 | ||
|
|
0135d6cccf | ||
|
|
fd2f58da84 | ||
|
|
f0ebd235a9 | ||
|
|
93c1d3c4aa | ||
|
|
efb1d81231 | ||
|
|
7fe0432a47 | ||
|
|
88fa7a4b7a | ||
|
|
e0e74ee494 | ||
|
|
e579199246 | ||
|
|
1108d248e5 | ||
|
|
6013eaffe9 | ||
|
|
8661fa339c | ||
|
|
ea96c546ca | ||
|
|
531fc8ab18 | ||
|
|
35a6f5183c | ||
|
|
afd1b5d2a7 | ||
|
|
d5ffa9a8cf | ||
|
|
0c68618ddf | ||
|
|
ea80d41ff6 | ||
|
|
483819caef | ||
|
|
0ca8ccd3dc | ||
|
|
a1f1da25b5 | ||
|
|
e105d6077e | ||
|
|
eedd4d771a | ||
|
|
3f2aadc016 | ||
|
|
e980054a5d | ||
|
|
a89a7740ca | ||
|
|
2767f35fc5 | ||
|
|
48cf258366 | ||
|
|
8e7706fb12 | ||
|
|
2eb6542931 | ||
|
|
e66e851933 | ||
|
|
9bfcf78ff9 | ||
|
|
8d3ab82ddd | ||
|
|
7b7f68453a | ||
|
|
adec8ebd05 | ||
|
|
ca24aa6ce5 | ||
|
|
8db8e0b5da | ||
|
|
954d3b9166 | ||
|
|
672129dbfc | ||
|
|
e8f44e4eaa | ||
|
|
6a3023301a | ||
|
|
44369e2faa | ||
|
|
0d7186236e | ||
|
|
8806d29a35 | ||
|
|
12b7cf7fcd | ||
|
|
0f7f079dd8 | ||
|
|
040edfdd25 | ||
|
|
2e7afae29b | ||
|
|
b81899092b | ||
|
|
418a966081 | ||
|
|
520c9c315c | ||
|
|
cffc463bde | ||
|
|
2f7965440c | ||
|
|
56efd9743d | ||
|
|
b5b4d84bc9 | ||
|
|
594f6dcbe5 | ||
|
|
c5eb52ac5e | ||
|
|
e83e260db7 | ||
|
|
66a5f5a9ad | ||
|
|
4154b01d40 | ||
|
|
925003e3f1 | ||
|
|
d40d6607b3 | ||
|
|
3aadfe6002 | ||
|
|
d305515c28 | ||
|
|
48471ce4d3 | ||
|
|
f9c7273106 | ||
|
|
e076260a1a | ||
|
|
0671828c9b | ||
|
|
61e5ff1c83 | ||
|
|
3b5e4f10f6 | ||
|
|
dd06932fe5 | ||
|
|
7ee631859d | ||
|
|
7be168bf14 | ||
|
|
6b86e64b5b | ||
|
|
4ae494db86 | ||
|
|
c5f72c10ff | ||
|
|
971a2b0d02 | ||
|
|
8b18c59d8a | ||
|
|
0d38bc0edf | ||
|
|
4c4cacf114 | ||
|
|
dd1afd77e4 | ||
|
|
2a91b2a11c | ||
|
|
b3ed101ad9 | ||
|
|
7b33e77947 | ||
|
|
ea35eaca2e | ||
|
|
b5c613242f | ||
|
|
2eb98b6327 | ||
|
|
6629e9dcef | ||
|
|
6c441e835c | ||
|
|
fe8a2d253a | ||
|
|
68af20d2fa | ||
|
|
625da17f1e | ||
|
|
118d635264 | ||
|
|
bd471df48f | ||
|
|
d70daaf5a4 | ||
|
|
7fc9f3af7c | ||
|
|
6f4c110318 | ||
|
|
dfdb5b4c68 | ||
|
|
5ac3343205 | ||
|
|
42dddfdccf | ||
|
|
ace93b8a3e | ||
|
|
6081ec0d73 | ||
|
|
fc85789f86 | ||
|
|
52fbe23a16 | ||
|
|
99968dbb57 | ||
|
|
b141452005 | ||
|
|
b97a3bc4d8 | ||
|
|
f4ed623c76 | ||
|
|
ad9ae96c7f | ||
|
|
bece5d4b3b | ||
|
|
f915199b92 | ||
|
|
cba9d1e224 | ||
|
|
4782ccdab1 | ||
|
|
1ab2409176 | ||
|
|
3d8bae1142 | ||
|
|
baf25319d7 | ||
|
|
43ef3e18ec | ||
|
|
08710bc47b | ||
|
|
6c294902c2 | ||
|
|
976f14eeb3 | ||
|
|
eb1e29f95b | ||
|
|
4d89c220bf | ||
|
|
571f297906 | ||
|
|
7bf4fd0150 | ||
|
|
d4f42c8b32 | ||
|
|
664972fd2e | ||
|
|
f33cc2d5bb | ||
|
|
da45a964cb | ||
|
|
6c555db237 | ||
|
|
c093f400a6 | ||
|
|
92d57cb6d5 | ||
|
|
3a6f87c9c8 | ||
|
|
08a67e5d37 | ||
|
|
6ed55ff462 | ||
|
|
ef912277b6 | ||
|
|
cef860dbf1 | ||
|
|
e5b89e9c6b | ||
|
|
7ebdb83af7 | ||
|
|
da2fc5c4c3 | ||
|
|
94cfeabdfd | ||
|
|
e7727adcc6 | ||
|
|
8becb554fc | ||
|
|
97024361cd | ||
|
|
71ca6731fa | ||
|
|
ac2147684a | ||
|
|
e16b6e4c22 | ||
|
|
e84f3425d0 | ||
|
|
e1b99b9084 | ||
|
|
b3775d35a5 | ||
|
|
498042ccb3 | ||
|
|
7d4ee0d110 | ||
|
|
cff1aaf3f4 | ||
|
|
a776535e72 | ||
|
|
f7dea97289 | ||
|
|
37e99ba49c | ||
|
|
288b827616 | ||
|
|
e8a6f45329 | ||
|
|
a1ffadf582 | ||
|
|
a6c4890d0f | ||
|
|
00b47aef47 | ||
|
|
92f85feda5 | ||
|
|
21778e8d92 | ||
|
|
57d2597c86 | ||
|
|
20baf8c417 | ||
|
|
99a145e7cb | ||
|
|
28b9948b45 | ||
|
|
79f4ba17d9 | ||
|
|
659d842023 | ||
|
|
037ff0f2c3 | ||
|
|
fac1298a6e | ||
|
|
273910b69a | ||
|
|
1974cd6341 | ||
|
|
bef429b758 | ||
|
|
bebbf646e1 | ||
|
|
6504442d4f | ||
|
|
ff0012e214 | ||
|
|
91e7ff40e4 | ||
|
|
07d09d8eb2 | ||
|
|
b95ab91b43 | ||
|
|
4cc9e414d2 | ||
|
|
a5d56147c0 | ||
|
|
3e8963c372 | ||
|
|
f4d6ef1741 | ||
|
|
abbb9c1c66 | ||
|
|
22b66e0a87 | ||
|
|
fd6c3d818d | ||
|
|
5fa0636f5c | ||
|
|
cefdd1df66 | ||
|
|
fcda4a26bf | ||
|
|
60f6482d43 | ||
|
|
c316e6f5fe | ||
|
|
d30972e5ef | ||
|
|
5206028478 | ||
|
|
00043087c4 | ||
|
|
d7ecdf3871 | ||
|
|
6fe7ed614c | ||
|
|
09f77490a5 | ||
|
|
1cc6d50474 | ||
|
|
549cb9fc9a | ||
|
|
a8ef84acf9 | ||
|
|
f55d3ba5b2 | ||
|
|
e46a5213a6 | ||
|
|
2331aeb6d9 | ||
|
|
1277fef735 | ||
|
|
5fdde346cf | ||
|
|
907ce75295 | ||
|
|
915d38eab1 | ||
|
|
8678200385 | ||
|
|
66e1cbcf1e | ||
|
|
e1568d9391 | ||
|
|
89069a85f0 | ||
|
|
5b2917cb03 | ||
|
|
73afdc37c3 | ||
|
|
f71fcf6f58 | ||
|
|
6169d593c5 | ||
|
|
f463e505d4 | ||
|
|
6c6ae6145d | ||
|
|
90310fcaca | ||
|
|
27d1ee3b02 | ||
|
|
2fba826f80 | ||
|
|
1f63dffd3f | ||
|
|
f4f4f3e1f3 | ||
|
|
4ffe6bed9b | ||
|
|
d3878e34a2 | ||
|
|
501b228b6b | ||
|
|
c707047530 | ||
|
|
1c24cfee24 | ||
|
|
ebd605d459 | ||
|
|
f4cb0bed68 | ||
|
|
0a395b47ae | ||
|
|
1627f264a2 | ||
|
|
23c0759d7a | ||
|
|
26154d4fdf | ||
|
|
c99805bee5 | ||
|
|
d284dc6248 | ||
|
|
70402af1d7 | ||
|
|
b94a1bf9cf | ||
|
|
a0a740de4f | ||
|
|
8876823ae8 | ||
|
|
94b91b2918 | ||
|
|
1bdc3ef5ff | ||
|
|
be7b0e6492 | ||
|
|
30e2a4471c | ||
|
|
41188edf39 | ||
|
|
9296350e58 | ||
|
|
f06d7f2179 | ||
|
|
d5d2a7fbfe | ||
|
|
a672183880 | ||
|
|
9b7074bde5 | ||
|
|
7543606a1e | ||
|
|
48de65dd30 | ||
|
|
e7e2b0dcad | ||
|
|
8b43727b0b | ||
|
|
9c28d77826 | ||
|
|
93c1983a3f | ||
|
|
7fcef65837 | ||
|
|
93a1d0fb11 | ||
|
|
94b33f6029 | ||
|
|
1d2a7e080b | ||
|
|
b448a4b6dd | ||
|
|
235a9985f4 | ||
|
|
34aa75422a | ||
|
|
3a56f13480 | ||
|
|
50d730b45a | ||
|
|
2e5a61b7fd | ||
|
|
7c43cf0901 | ||
|
|
956d0cffcc | ||
|
|
f8e91feff4 | ||
|
|
55061bc86d | ||
|
|
21c40277bb | ||
|
|
4b05b12a0a | ||
|
|
168930919e | ||
|
|
423a6bc255 | ||
|
|
d8f9c60f0c | ||
|
|
0ef84c1751 | ||
|
|
286df94c87 | ||
|
|
ca11b2741e | ||
|
|
ed9f9a05b5 | ||
|
|
82b4cc26d5 | ||
|
|
003a40a039 | ||
|
|
a1cc9a399a | ||
|
|
1659f8c25e | ||
|
|
8c23ea137b | ||
|
|
4dc14eb9c0 | ||
|
|
2ea3933720 | ||
|
|
ff5139463e | ||
|
|
b0d4dd158f | ||
|
|
71439916b6 | ||
|
|
66a9be5be4 | ||
|
|
55478fd81c | ||
|
|
d2d68fd08f | ||
|
|
2ea982b343 | ||
|
|
9741ef794e | ||
|
|
eb9531f768 | ||
|
|
45e0d5b155 | ||
|
|
47fe853334 | ||
|
|
cd5ff61138 | ||
|
|
59b473a4ce | ||
|
|
5a67212bdc | ||
|
|
f0991d2cd0 | ||
|
|
72464f3d54 | ||
|
|
406072cbe1 | ||
|
|
91cb6e4ecf | ||
|
|
604fb7e28f | ||
|
|
db015ad79c | ||
|
|
2db8cb3a85 | ||
|
|
4d7f7b9c28 | ||
|
|
5d24b4ca1e | ||
|
|
1d11340051 | ||
|
|
3d04d3d361 | ||
|
|
30b163437a | ||
|
|
223e784722 | ||
|
|
fb3cc893c5 | ||
|
|
c9adbf2b0a | ||
|
|
8b2b6b157c | ||
|
|
c4b25f5585 | ||
|
|
296edc19d5 | ||
|
|
3e2762c798 | ||
|
|
19c8c96242 | ||
|
|
dac2315227 | ||
|
|
6fd10235c5 | ||
|
|
ef12c3d09e | ||
|
|
78e8e9ae33 | ||
|
|
bc7e4b369a | ||
|
|
f141b57113 | ||
|
|
543374a922 | ||
|
|
88ceda1c82 | ||
|
|
d5674b342b | ||
|
|
d7ec9d7083 | ||
|
|
2bd4097b0c | ||
|
|
d369a62365 | ||
|
|
0d4f40cad2 | ||
|
|
0acb6db744 | ||
|
|
ce6fca3485 | ||
|
|
58af2fe8c9 | ||
|
|
0c57948fa9 | ||
|
|
2ebf75b2e1 | ||
|
|
d108c234c6 |
1
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1 @@
|
||||
open_collective: opencore-legacy-patcher
|
||||
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -12,7 +12,6 @@ body:
|
||||
label: Machine Model
|
||||
description: What model was being patched?
|
||||
options:
|
||||
- MacBook4,1
|
||||
- MacBook5,1
|
||||
- MacBook5,2
|
||||
- MacBook6,1
|
||||
@@ -95,7 +94,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:
|
||||
|
||||
47
.github/workflows/build-app-wxpython.yml
vendored
@@ -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.11/bin/python3 Build-Binary.command --reset_binaries --branch "${{ env.branch }}" --commit "${{ env.commiturl }}" --commit_date "${{ env.commitdate }}" --key "${{ env.ANALYTICS_KEY }}" --site "${{ env.ANALYTICS_SITE }}"
|
||||
|
||||
# - name: Import Certificate
|
||||
# if: (!security find-certificate -c "${{ env.MAC_CODESIGN_IDENTITY }}")
|
||||
# uses: apple-actions/import-codesign-certs@v2
|
||||
# with:
|
||||
# p12-file-base64: ${{ secrets.MAC_CODESIGN_CERT }}
|
||||
# p12-password: ${{ secrets.MAC_NOTARIZATION_PASSWORD }}
|
||||
|
||||
- name: Codesign Binary
|
||||
run: 'codesign -s "${{ env.MAC_CODESIGN_IDENTITY }}" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "dist/OpenCore-Patcher.app"'
|
||||
|
||||
- name: Package Binary
|
||||
run: cd dist; ditto -c -k --sequesterRsrc --keepParent OpenCore-Patcher.app ../OpenCore-Patcher-wxPython.app.zip
|
||||
|
||||
- name: Notarize Binary
|
||||
run: xcrun notarytool submit OpenCore-Patcher-wxPython.app.zip --apple-id "${{ env.MAC_NOTARIZATION_USERNAME }}" --password "${{ env.MAC_NOTARIZATION_PASSWORD }}" --team-id "${{ env.MAC_NOTARIZATION_TEAM_ID }}"
|
||||
|
||||
- name: Generate support package
|
||||
run: packagesbuild ./payloads/InstallPackage/AutoPkg-Assets-Setup.pkgproj
|
||||
|
||||
- name: Prepare App for Upload
|
||||
run: mv ./OpenCore-Patcher-wxPython.app.zip ./OpenCore-Patcher-GUI.app.zip
|
||||
|
||||
- name: Upload App to Artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: OpenCore-Patcher.app (GUI)
|
||||
path: OpenCore-Patcher-GUI.app.zip
|
||||
|
||||
- name: Upload Package to Artifacts
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: AutoPkg-Assets.pkg
|
||||
path: ./dist/AutoPkg-Assets.pkg
|
||||
|
||||
- name: Upload Binary to Release
|
||||
if: github.event_name == 'release'
|
||||
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d
|
||||
@@ -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
|
||||
|
||||
30
.github/workflows/build-app.yml
vendored
@@ -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
|
||||
1
.github/workflows/build-site.yml
vendored
@@ -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
@@ -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
@@ -0,0 +1,17 @@
|
||||
name: CI - Validation
|
||||
|
||||
on:
|
||||
push:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Validate
|
||||
runs-on: x86_64_monterey
|
||||
if: github.repository_owner == 'dortania'
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- name: Validate
|
||||
run: /Library/Frameworks/Python.framework/Versions/3.11/bin/python3 OpenCore-Patcher-GUI.command --validate
|
||||
7
.gitignore
vendored
@@ -30,5 +30,12 @@ __pycache__/
|
||||
/payloads/OpenCore-Legacy-Patcher
|
||||
/payloads/InstallAssistant.pkg.integrityDataV1
|
||||
/payloads.dmg
|
||||
/Universal-Binaries.dmg
|
||||
/payloads/OpenCore-Legacy-Patcher-*.plist
|
||||
/payloads/KDK.dmg
|
||||
*.log
|
||||
/Universal-Binaries.dmg
|
||||
/payloads/KDKInfo.plist
|
||||
/payloads/update.sh
|
||||
/payloads/OpenCore-Patcher.app
|
||||
/.x86_64_venv
|
||||
|
||||
@@ -1,54 +1,77 @@
|
||||
#!/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
|
||||
# Generate stand alone application for OpenCore-Patcher
|
||||
# Copyright (C) 2022-2023 - Mykola Grymalyuk
|
||||
|
||||
# Copyright (C) 2022 - Mykola Grymalyuk
|
||||
|
||||
from pathlib import Path
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
import argparse
|
||||
import os
|
||||
import subprocess
|
||||
import plistlib
|
||||
import time
|
||||
import sys
|
||||
import subprocess
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
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 dependencies (ex. PatcherSupportPkg)
|
||||
- Convert payloads directory into DMG
|
||||
- Build Binary via Pyinstaller
|
||||
- Patch 'LC_VERSION_MIN_MACOSX' to OS X 10.10
|
||||
- Add commit data to Info.plist
|
||||
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
start = time.time()
|
||||
print("- Starting build script")
|
||||
self.set_cwd()
|
||||
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")
|
||||
print("Starting build script")
|
||||
self.args = self._parse_arguments()
|
||||
|
||||
print(f"Current Working Directory:\n- {os.getcwd()}")
|
||||
|
||||
self._preflight_processes()
|
||||
self._build_binary()
|
||||
self._postflight_processes()
|
||||
print(f"Build script completed in {str(round(time.time() - start, 2))} seconds")
|
||||
|
||||
|
||||
def _set_cwd(self):
|
||||
"""
|
||||
Initialize current working directory to parent of this script
|
||||
"""
|
||||
|
||||
def set_cwd(self):
|
||||
os.chdir(Path(__file__).resolve().parent)
|
||||
print(f"- Current Working Directory: \n\t{os.getcwd()}")
|
||||
|
||||
def parse_arguments(self):
|
||||
|
||||
def _parse_arguments(self):
|
||||
"""
|
||||
Parse arguments passed to script
|
||||
"""
|
||||
|
||||
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,155 +88,271 @@ 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()
|
||||
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"],
|
||||
["/bin/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(
|
||||
["/bin/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",
|
||||
"Launch Services",
|
||||
]
|
||||
|
||||
whitelist_files = [
|
||||
"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(["/bin/rm", "-rf", file])
|
||||
else:
|
||||
if file.name in whitelist_files:
|
||||
continue
|
||||
print(f"- Deleting {file.name}")
|
||||
subprocess.run(["/bin/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}")
|
||||
# Just to be safe
|
||||
assert resource, "Resource cannot be empty"
|
||||
assert resource not in ("/", "."), "Resource cannot be root"
|
||||
rm_output = subprocess.run(
|
||||
["rm", "-rf", f"./payloads/{resource}"],
|
||||
["/bin/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(
|
||||
[
|
||||
"curl", "-LO",
|
||||
"/usr/bin/curl", "-LO",
|
||||
f"https://github.com/dortania/PatcherSupportPkg/releases/download/{patcher_support_pkg_version}/{resource}"
|
||||
],
|
||||
stdout=subprocess.PIPE, stderr=subprocess.PIPE
|
||||
)
|
||||
|
||||
if download_result.returncode != 0:
|
||||
print(" - Download failed")
|
||||
print("- Download 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(
|
||||
["/bin/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',
|
||||
'/usr/bin/hdiutil', 'create', './payloads.dmg',
|
||||
'-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())
|
||||
@@ -221,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"] = {
|
||||
@@ -231,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)
|
||||
@@ -255,16 +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"],
|
||||
|
||||
def _post_flight_cleanup(self):
|
||||
"""
|
||||
Post flight cleanup
|
||||
"""
|
||||
|
||||
path = "./dist/OpenCore-Patcher"
|
||||
print(f"- Removing {path}")
|
||||
rm_output = subprocess.run(
|
||||
["/bin/rm", "-rf", path],
|
||||
stdout=subprocess.PIPE, stderr=subprocess.PIPE
|
||||
)
|
||||
if mv_output.returncode != 0:
|
||||
print(" - Move failed")
|
||||
print(mv_output.stderr.decode('utf-8'))
|
||||
raise Exception("Move failed")
|
||||
if rm_output.returncode != 0:
|
||||
print(f"- Remove failed: {path}")
|
||||
print(rm_output.stderr.decode('utf-8'))
|
||||
raise Exception(f"Remove failed: {path}")
|
||||
|
||||
|
||||
def _mini_validate(self):
|
||||
"""
|
||||
Validate generated binary
|
||||
"""
|
||||
|
||||
print("- Validating binary")
|
||||
validate_output = subprocess.run(
|
||||
["./dist/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher", "--build", "--model", "MacPro3,1"],
|
||||
stdout=subprocess.PIPE, stderr=subprocess.PIPE
|
||||
)
|
||||
if validate_output.returncode != 0:
|
||||
print("- Validation failed")
|
||||
print(validate_output.stderr.decode('utf-8'))
|
||||
raise Exception("Validation failed")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
create_binary()
|
||||
CreateBinary()
|
||||
578
CHANGELOG.md
@@ -1,5 +1,583 @@
|
||||
# OpenCore Legacy Patcher changelog
|
||||
|
||||
## 1.4.2
|
||||
- Resolve Auto-Join support for Modern Wireless on macOS 14.4
|
||||
- Applicable for BCM94360, 4360, 4350, 4331 and 43224 chipsets
|
||||
- Resolve WiFi support for Legacy Wireless on macOS 12.7.4 and 13.6.5
|
||||
- Applicable for BCM94328, BCM94322 and Atheros chipsets
|
||||
- Resolve USB 1.1 on macOS Ventura regression from OCLP 1.4.0
|
||||
- Increment Binaries:
|
||||
- PatcherSupportPkg 1.4.8 - release
|
||||
|
||||
## 1.4.1
|
||||
- Update updater implementation
|
||||
- Resolve Keyboard/Trackpad support for MacBookAir6,x running macOS 14.4 and newer
|
||||
- Expands SPI Keyboard and Trackpad patch to include MacBookAir6,x
|
||||
- Publish Bluetooth NVRAM variables for BCM2046 and BCM2070 chipsets
|
||||
- Reduces need for NVRAM reset to restore Bluetooth support in newer OSes (Thanks @ausdauersportler)
|
||||
|
||||
## 1.4.0
|
||||
- Refactor subprocess invocations
|
||||
- Resolve RecoveryOS support (Regression resolved in OpenCorePkg)
|
||||
- Restore SPI Keyboard and Trackpad support for macOS 14.4 and newer
|
||||
- Applicable for MacBook8,1, MacBookAir7,x and MacBookPro12,1-14,x
|
||||
- Restore support for T1 on macOS 14.4 and newer
|
||||
- Applicable for MacBookPro13,2, MacBookPro13,3, MacBookPro14,2, MacBookPro14,3
|
||||
- Restore support for legacy Metal GPUs on macOS 14.4 and newer
|
||||
- Applicable for:
|
||||
- Intel Ivy Bridge through Skylake
|
||||
- Nvidia Kepler
|
||||
- AMD legacy GCN
|
||||
- Restore support for USB 1.1 on macOS 14.4 and newer
|
||||
- Applicable for Penryn Macs, Xserve3,1 and MacPro4,1/5,1
|
||||
- Resolve support for legacy and modern WiFi on macOS 14.4 and newer
|
||||
- Applicable for all WiFi-equipped Macs
|
||||
- Note with 14.4: Auto-Join may not work until you forget and rejoin the network
|
||||
- Increment binaries:
|
||||
- OpenCorePkg 0.9.7 - release
|
||||
|
||||
## 1.3.0
|
||||
- Resolve mismatched `CFBundleExecutable` and binary name for kexts.
|
||||
- Resolves ProperTree binary detection (Thanks @CorpNewt).
|
||||
- Applicable extensions:
|
||||
- corecrypto_T1.kext
|
||||
- corecaptureElCap.kext
|
||||
- IO80211ElCap.kext
|
||||
- Resolve 3802-GPU support for macOS 14.2 Beta 2 and newer.
|
||||
- Applicable GPUs:
|
||||
- Intel Ivy Bridge and Haswell iGPUs
|
||||
- Nvidia Kepler dGPUs
|
||||
- Increment Binaries:
|
||||
- PatcherSupportPkg 1.4.6 - release
|
||||
|
||||
## 1.2.1
|
||||
- Resolve `TeraScale 2 Acceleration` checkbox in Settings not being saved
|
||||
- Thanks @rtd1250
|
||||
- Resolve Auto Patcher failing to launch after updating macOS
|
||||
- Regression from 1.2.0
|
||||
|
||||
## 1.2.0
|
||||
- Resolve application not existing if user dismisses an update instead of installing
|
||||
- Resolve lldb crashes on extracted binaries
|
||||
- Remove MH_DYLIB_IN_CACHE flag from binaries extracted with DSCE
|
||||
- Add support for detecting T1 Security Chips in DFU mode
|
||||
- Resolve macOS 14.2 coreauthd crashes on T1 Macs
|
||||
- Resolve missing NFC firmware on T1 Macs
|
||||
- Update non-Metal Binaries for macOS Sonoma:
|
||||
- Resolve Photos app crash
|
||||
- Resolve loginwindow crashes
|
||||
- Workaround tile window popup freezing apps by disabling the feature
|
||||
- Workaround monochrome desktop widgets rendering issues by enforcing full color (can be disabled in OCLP settings)
|
||||
- Add new arguments:
|
||||
- `--cache_os`: Cache necessary patcher files for OS to be installed (ex. KDKs)
|
||||
- `--prepare_for_update`: Clean up patcher files for OS to be installed (ex. /Library/Extensions)
|
||||
- Add new Launch Daemons for handling macOS updates:
|
||||
- `macos-update.plist`:
|
||||
- Resolves KDKless Macs failing to boot after updating from 14.0 to 14.x
|
||||
- Adds support for KDK caching for OS to be installed
|
||||
- Invoked when update is staged
|
||||
- `/Library/LaunchDaemons/com.dortania.opencore-legacy-patcher.macos-update.plist`
|
||||
- `os-caching.plist`
|
||||
- Resolves unsupported/old KDKs from being used post-update
|
||||
- Invoked when update is downloading
|
||||
- `/Library/LaunchDaemons/com.dortania.opencore-legacy-patcher.os-caching.plist`
|
||||
- Load UI icons from local path
|
||||
- Resolves macOS downloader crash on slower machines
|
||||
- Resolve iMac18,2 internal 4K display support
|
||||
- Remove News Widget removal from Control Centre
|
||||
- News Widget no longer crashes on 3802-based GPUs
|
||||
- Resolve i210 NIC support for macOS Sonoma
|
||||
- Increment Binaries:
|
||||
- PatcherSupportPkg 1.4.5 - release
|
||||
- OpenCorePkg 0.9.6 - release
|
||||
|
||||
## 1.1.0
|
||||
- Resolve rendering issues on Intel Broadwell iGPUs
|
||||
- Update non-Metal Binaries for macOS Sonoma:
|
||||
- Resolve unresponsive Weather app
|
||||
- Resolve full screen menubar covering the app toolbar
|
||||
- Resolve unfocused password windows
|
||||
- Resolve USB 1.1 kernel panics on macOS 14.1
|
||||
- Resolve PCIe FaceTime camera support on macOS 14.1
|
||||
- Resolve T1 Security Chip support on macOS 14
|
||||
- Applicable for MacBookPro13,2, MacBookPro13,3, MacBookPro14,2, MacBookPro14,3
|
||||
- Add support for stand alone OpenCore Vaulting without Xcode Command Line Tools (Jazzzny)
|
||||
- Re-allow NVMeFix for macOS 14
|
||||
- Remove `-lilubetaall` argument for machines without AppleALC
|
||||
- Increment Binaries:
|
||||
- PatcherSupportPkg 1.4.2 - release
|
||||
- AirportBrcmFixup 2.1.8 - release
|
||||
- BlueToolFixup 2.6.8 - release
|
||||
- RestrictEvents 1.1.3 - release
|
||||
- AMFIPass 1.4.0 - release
|
||||
|
||||
## 1.0.1
|
||||
- Resolve rendering issues on Intel Ivy Bridge iGPUs
|
||||
- Update non-Metal Binaries for macOS Sonoma:
|
||||
- Resolve unresponsive Catalyst buttons
|
||||
- Resolve window unfocusing issues
|
||||
- Resolve menu bar fonts not changing color automatically with Beta Menu Bar enabled
|
||||
- Improve Lock Screen clock transparency
|
||||
- Prevent random WiFiAgent crashes
|
||||
- Add error handling for corrupted patcher settings
|
||||
- Remove CoreImage patch for 3802 GPUs on Ventura
|
||||
- Avoid listing PCIe FaceTime camera patch on pre-Sonoma OSes
|
||||
- Only cosmetic in Root Patching UI, however it has been removed to avoid confusion
|
||||
|
||||
## 1.0.0
|
||||
- Resolve BCM2046 and BCM2070 support on macOS 13.3 and newer
|
||||
- Workaround 13.3+ Kernel Panic on AMD GCN GPUs playing DRM content
|
||||
- Add new macOS Installer download menu (Jazzzny)
|
||||
- Refresh download UI (Jazzzny)
|
||||
- Add support for Universal 2 distribution (x86_64 and ARM64)
|
||||
- Drops Rosetta requirement on Apple Silicon Macs
|
||||
- Note building from source will require Python 3.11 or newer and up-to-date Python modules
|
||||
- Update font handling code, fixing font issues on Yosemite and El Capitan
|
||||
- Resolve incorrect RELEASE usage of OpenCore binaries when DEBUG enabled
|
||||
- Add RenderBox.framework patch for 3802-based Intel GPUs on macOS 13.3 and newer
|
||||
- Works around Weather and Widget freezing
|
||||
- Applicable for Intel Ivy Bridge and Haswell iGPUs
|
||||
- Add macOS Sonoma support to PatcherSupportPkg validation in CI
|
||||
- Implement basic support for macOS Sonoma:
|
||||
- Supports same range of hardware as Ventura, in addition to:
|
||||
- iMac18,x
|
||||
- MacBook10,1
|
||||
- MacBookPro14,x
|
||||
- [T1 chip currently unsupported in Sonoma](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1103)
|
||||
- Resolved issues:
|
||||
- Graphics Acceleration support for 3802 and non-Metal GPUs
|
||||
- UI corruption on 31001 GPUs
|
||||
- Wireless Networking for BCM94360, 4360, 4350, 4331 and 43224
|
||||
- USB ethernet support for adapters based on ECM protocol (ex. Realtek)
|
||||
- dGPU support for MacBookPro14,3
|
||||
- S1X/S3X NVMe Drive Support
|
||||
- PCIe-based FaceTime Camera support
|
||||
- Bluetooth support by switching to dynamic VMM spoofing
|
||||
- Increment Binaries:
|
||||
- OpenCorePkg 0.9.3 - release
|
||||
- Lilu 1.6.7 - release
|
||||
- WhateverGreen 1.6.6 - release
|
||||
- RestrictEvents 1.1.3 - (rolling - 4f233dd)
|
||||
- FeatureUnlock 1.1.5 - release
|
||||
- DebugEnhancer 1.0.8 - release
|
||||
- CPUFriend 1.2.7 - release
|
||||
- BlueToolFixup 2.6.8 - rolling (2305aaa)
|
||||
- CryptexFixup 1.0.2 - release
|
||||
- NVMeFix 1.1.1 - release
|
||||
- PatcherSupportPkg 1.3.2 - release
|
||||
- Build Server Changes:
|
||||
- Upgrade Python backend to 3.11.5
|
||||
- Upgrade Python modules:
|
||||
- requests - 2.31.0
|
||||
- pyobjc - 9.2
|
||||
- wxpython - 4.2.1
|
||||
- pyinstaller - 5.13.2
|
||||
- packaging - 23.1
|
||||
|
||||
## 0.6.8
|
||||
- Update non-Metal Binaries:
|
||||
- Improve experimental Menubar implementation stability
|
||||
- Implement reduce transparency Menubar
|
||||
- Resolve Color Profile support and Black Box rendering issues on HD 3000 Macs
|
||||
- Drops ColorSync downgrade configuration option
|
||||
- Resolves macOS 13.5 booting on HD 3000 Macs
|
||||
- Resolve app not updating in `/Applications` after an update
|
||||
- Work-around users manually copying app to `/Applications` instead of allowing Root Volume Patcher to create a proper alias
|
||||
- Add configuration for mediaanalysisd usage
|
||||
- For systems that are the primary iCloud Photo Library host, mediaanalysisd may be unstable on large amounts of unprocessed faces
|
||||
- Applicable to 3802-based GPUs (ie. Intel Ivy Bridge and Haswell iGPUs, Nvidia Kepler dGPUs)
|
||||
- Remove MacBook4,1 references
|
||||
- Machine was never properly supported by OCLP
|
||||
- Restore support for Aquantia Aqtion 10GBe Ethernet for Pre-VT-d systems on 12.3 and newer
|
||||
- i.e. MacPro5,1 with AQC107 expansion card running macOS Ventura/Monterey 12.6.x
|
||||
- Thanks [@jazzzny](https://github.com/jazzzny)
|
||||
- Resolve AMD Vega support on pre-AVX2 Macs in macOS Ventura
|
||||
- Originally caused by regression from 0.6.2
|
||||
- Disable non-Metal's Menubar 2 configuration
|
||||
- Can be manually re-enabled, however application will try to disable to prevent issues
|
||||
- Remove AppleGVA downgrade on Intel Skylake iGPUs
|
||||
- Implement AMFIPass system
|
||||
- Removes need for disabling Library Validation and AMFI outright on all applicable systems
|
||||
- Backend Changes:
|
||||
- device_probe.py:
|
||||
- Add USB device parsing via `IOUSBDevice` class
|
||||
- Streamline Bluetooth device detection
|
||||
- Add Probing for Top Case hardware (Jazzzny)
|
||||
- Improves handling for altered hardware scenarios (i.e. MacBookPro4,1 with MacBookPro3,1 topcase)
|
||||
- utilities.py:
|
||||
- Fix indexing error on Device Paths (thx [@Ausdauersportler](https://github.com/Ausdauersportler))
|
||||
- Increment Binaries:
|
||||
- PatcherSupportPkg 1.2.2 - release
|
||||
|
||||
## 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 with 3802 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
|
||||
- Applicable for BCM94328, BCM94322 and Atheros chipsets
|
||||
- Implement Wifi-only patches when no internet connection available but required (ie. KDKs)
|
||||
- Allows users to install Legacy Wireless patches, then connect to the internet to install remaining patches
|
||||
- Resolve `/Library/Extensions` not being cleaned on KDK-less root patches
|
||||
- Add AMD Vega Graphics support for pre-AVX2.0 systems on Ventura
|
||||
- ex. AMD Vega 56 and 64, AMD Radeon VII
|
||||
- Note: As with Polaris, Vega GPUs cannot be mixed with AMD GCN 1-3 patches
|
||||
- Patcher will prioritize the AMD GCN 1-3 (assumption that GCN is primary GPU, ex. MacPro6,1)
|
||||
- Implement proper `APPLE SSD TS0128F/256F` detection
|
||||
- Allows all Macs to utilize patch if required
|
||||
- Avoids usage of patch when host lacks affected drive (ex. MacBookAir6,x with upgraded SSD)
|
||||
- Prompt with auto patcher when booted OpenCore is out of date to root patcher
|
||||
- ex. Booted OCLP is 0.5.2, root patcher is 0.5.3
|
||||
- Disable native AMD Graphics on pre-Haswell Macs in Ventura
|
||||
- Allows for easy root patching, dropping reliance on Safe Mode to boot
|
||||
- Primarily applicable for iMacs and Mac Pros with AMD Polaris and Vega GPUs
|
||||
- Implement mini validation during GUI build
|
||||
- Add early UHCI/OHCI support (USB1.1)
|
||||
- Implemented via Root Volume patching, ie. no installer support at this time
|
||||
- Support should be seen as experimental, especially for laptops
|
||||
- Applicable for Penryn Macs and Cheese Grater Mac Pros (MacPro3,1 - MacPro5,1)
|
||||
- See associated issue for current limitations: [Legacy UHCI/OHCI support in Ventura](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)
|
||||
- USB 3.0 controllers cannot be used along side USB 1.1 patches, OCLP will prioritize USB 3.0 support
|
||||
- Add early non-Metal Graphics Acceleration support for macOS Ventura
|
||||
- Applicable for following GPU architectures:
|
||||
- Intel Ironlake and Sandy Bridge
|
||||
- Nvidia Tesla, Maxwell and Pascal
|
||||
- AMD TeraScale 1 and 2
|
||||
- Notes:
|
||||
- Bluetooth Pairing is currently semi-functional, see here for work around: [Tab+Space work-around](https://forums.macrumors.com/threads/macos-13-ventura-on-unsupported-macs-thread.2346881/post-31858759)
|
||||
- AMFI currently needs to be outright disabled in Ventura
|
||||
- Overall non-Metal improvements:
|
||||
- Improved fake rim
|
||||
- Fixed full screen animation
|
||||
- Fixed split screen
|
||||
- Improved menubar blur
|
||||
- Add Nvidia Kepler GOP Driver injection
|
||||
- Primarily for GPUs lacking GOPs and can't have a newer VBIOS flashed
|
||||
- Resolve Rapid Security Response support for Haswell+ Macs requiring KDKs
|
||||
- Implemented via:
|
||||
- Userspace: [RSRRepair](https://github.com/flagersgit/RSRRepair) at `/etc/rc.server` (2b1c9e3)
|
||||
- Kernelspace: [RSRHelper.kext](https://github.com/khronokernel/RSRHelper) (cbe1be9)
|
||||
- Add APFS Trim Configuration
|
||||
- Settings -> Misc Settings -> APFS Trim
|
||||
- Increment Binaries:
|
||||
- OpenCorePkg 0.8.8 - release
|
||||
- PatcherSupportPkg 0.8.2 - release
|
||||
- KDKlessWorkaround 1.0.0 - rolling (4924276)
|
||||
- FeatureUnlock 1.1.2 - release
|
||||
- CPUFriend 1.2.6 - release
|
||||
- Lilu 1.6.3 - release
|
||||
|
||||
## 0.5.3
|
||||
- Integrate FixPCIeLinkrate.efi v0.1.0
|
||||
- Fixes link rate for PCIe 3.0 devices on MacPro3,1
|
||||
- Resolve AppleIntelCPUPowerManagement Panic in Safe Mode
|
||||
- Applicable for pre-Haswell Macs on Ventura
|
||||
- Revert AppleALC 1.7.6 update back to 1.6.3
|
||||
- Resolves audio issues on certain Intel HDEF devices
|
||||
- Regression currently being investigated within AppleALC
|
||||
- Remove `Force Web Drivers` option
|
||||
- Avoids accidental use of non-Metal Web Drivers on Kepler GPUs
|
||||
- Resolve silent auto patcher crash when new OCLP version is available
|
||||
- Implement [`py_sip_xnu`](https://github.com/khronokernel/py_sip_xnu) module
|
||||
- Resolve Content Caching Patch Regression
|
||||
- Resolve KDK Versioning Fallback crashing when primary KDK site is down
|
||||
- Resolve AirPlay to Mac support on Ventura with VMM
|
||||
- Resolve WindowServer crashing on KDK-less with macOS 13.2 and Rapid Security Response updates
|
||||
- Resolve Host Versioning when RSR is installed
|
||||
- Resolve iMac7,1-8,1 and MacBookPro4,1 boot support in Ventura
|
||||
- Increment Binaries:
|
||||
- OpenCorePkg 0.8.7 - release
|
||||
- FeatureUnlock 1.1.2 - rolling (94e29ce)
|
||||
- WhateverGreen 1.6.2 - release
|
||||
|
||||
## 0.5.2
|
||||
- Ventura Specific Updates:
|
||||
- Resolve AMD Polaris external display output support
|
||||
- AMD Polaris and legacy GCN cannot be mixed in the same system
|
||||
- Legacy GCN support will be prioritized when both are present
|
||||
- AMD Polaris GPU can still be used headless for rendering with legacy GCN (ex. [macOS: Prefer External GPU option](https://support.apple.com/en-ca/HT208544))
|
||||
- Disables unsupported `mediaanalysisd` on Metal 1 GPUs
|
||||
- Alleviates kernel panic when on prolonged idle
|
||||
- Automatically remove unsupported News Widgets on Ivy Bridge and Haswell iGPUs
|
||||
- Alleviates Notification Centre Crashing
|
||||
- Implement downloading from Kernel Debug Kit Backup Repository
|
||||
- Alleviates issues with Apple blocking KDK downloads from OCLP (Ref: [Issue #1016](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1016))
|
||||
- Work-around MacPro6,1 and Lilu race condition
|
||||
- Ensure Model and Board ID are set correctly before Lilu loads
|
||||
- Publish Application Version in UI header
|
||||
- Allows for easier identification of version when reporting issues
|
||||
- Drop usage of `HW_BID` rerouting in boot.efi
|
||||
- Patch out PlatformSupport.plist instead, allows for less maintenance overall
|
||||
- Add support for AMD GOP injection (AMDGOP.efi)
|
||||
- For MXM iMacs and Mac Pros with GPU VBIOS lacking GOP support (ie. no UEFI output even after OC loads)
|
||||
- Hide OpenCore Boot Picker when waking from hibernation
|
||||
- Increment Binaries:
|
||||
- AirPortBrcmFixup 2.1.6 - release
|
||||
- AppleALC 1.7.6 - release
|
||||
- CryptexFixup 1.0.1 - release
|
||||
- DebugEnhancer 1.0.7 - release
|
||||
- FeatureUnlock 1.1.0 - release
|
||||
- OpenCorePkg 0.8.7 - rolling (fcb4e33)
|
||||
- RestrictEvents 1.0.9 - release
|
||||
- WhateverGreen 1.6.1 - release
|
||||
|
||||
## 0.5.1
|
||||
- Add support for `APPLE SSD TS0128F/256F` SSDs in macOS Ventura
|
||||
- ie. stock SSD found in MacBookAir6,x
|
||||
- Lax KDK N-1 logic to allow 1 minor version difference
|
||||
- ex. Allow 13.0 KDK on 13.1
|
||||
- Clean out `/Library/Extensions` on KDK-less root patches
|
||||
- Ensures old, incompatible kexts are not linked against
|
||||
- Old kexts are relocated to `/Library/Relocated Extensions`
|
||||
- Add OpenCore Picker timeout selection
|
||||
- Partially resolve MacPro6,1 support
|
||||
- Allows for install and usage of 2013 Mac Pros on Ventura
|
||||
- Currently CPU Power Management is not supported
|
||||
|
||||
## 0.5.0
|
||||
- Ventura Specific Updates:
|
||||
- Switch boot.efi model patch to iMac18,1
|
||||
|
||||
14
LICENSE.txt
Normal file
@@ -0,0 +1,14 @@
|
||||
Copyright (c) 2020-2024, Dhinak G
|
||||
Copyright (c) 2020-2024, Mykola Grymalyuk
|
||||
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
3. All advertising materials mentioning features or use of this software must display the following acknowledgement:
|
||||
This product includes software developed by Dortania and OpenCore Legacy Patcher contributors.
|
||||
4. Neither the name of OpenCore Legacy Patcher, nor the names of Dortania, Dhinak G, or Mykola Grymalyuk may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY DHINAK G AND MYKOLA GRYMALYUK "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL DHINAK G NOR MYKOLA GRYMALYUK BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
@@ -3,4 +3,4 @@
|
||||
from resources import main
|
||||
|
||||
if __name__ == '__main__':
|
||||
main.OpenCoreLegacyPatcher(True)
|
||||
main.OpenCoreLegacyPatcher()
|
||||
@@ -1,15 +1,35 @@
|
||||
# -*- mode: python ; coding: utf-8 -*-
|
||||
|
||||
import sys, os, time, subprocess
|
||||
import os
|
||||
import sys
|
||||
import time
|
||||
import subprocess
|
||||
|
||||
from pathlib import Path
|
||||
|
||||
from PyInstaller.building.api import PYZ, EXE, COLLECT
|
||||
from PyInstaller.building.osx import BUNDLE
|
||||
from PyInstaller.building.build_main import Analysis
|
||||
|
||||
sys.path.append(os.path.abspath(os.getcwd()))
|
||||
|
||||
from resources import constants
|
||||
|
||||
block_cipher = None
|
||||
|
||||
datas = [
|
||||
('payloads.dmg', '.'),
|
||||
('Universal-Binaries.dmg', '.'),
|
||||
]
|
||||
|
||||
if Path("DortaniaInternalResources.dmg").exists():
|
||||
datas.append(('DortaniaInternalResources.dmg', '.'))
|
||||
|
||||
|
||||
a = Analysis(['OpenCore-Patcher-GUI.command'],
|
||||
pathex=[],
|
||||
binaries=[],
|
||||
datas=[('payloads.dmg', '.')],
|
||||
datas=datas,
|
||||
hiddenimports=[],
|
||||
hookspath=[],
|
||||
hooksconfig={},
|
||||
@@ -19,8 +39,10 @@ a = Analysis(['OpenCore-Patcher-GUI.command'],
|
||||
win_private_assemblies=False,
|
||||
cipher=block_cipher,
|
||||
noarchive=False)
|
||||
pyz = PYZ(a.pure, a.zipped_data,
|
||||
cipher=block_cipher)
|
||||
|
||||
pyz = PYZ(a.pure,
|
||||
a.zipped_data,
|
||||
cipher=block_cipher)
|
||||
|
||||
exe = EXE(pyz,
|
||||
a.scripts,
|
||||
@@ -33,9 +55,10 @@ exe = EXE(pyz,
|
||||
upx=True,
|
||||
console=False,
|
||||
disable_windowed_traceback=False,
|
||||
target_arch=None,
|
||||
target_arch="universal2",
|
||||
codesign_identity=None,
|
||||
entitlements_file=None )
|
||||
entitlements_file=None)
|
||||
|
||||
coll = COLLECT(exe,
|
||||
a.binaries,
|
||||
a.zipfiles,
|
||||
@@ -44,17 +67,19 @@ coll = COLLECT(exe,
|
||||
upx=True,
|
||||
upx_exclude=[],
|
||||
name='OpenCore-Patcher')
|
||||
|
||||
app = BUNDLE(coll,
|
||||
name='OpenCore-Patcher.app',
|
||||
icon="payloads/OC-Patcher.icns",
|
||||
bundle_identifier="com.dortania.opencore-legacy-patcher",
|
||||
info_plist={
|
||||
"CFBundleName": "OpenCore Legacy Patcher",
|
||||
"CFBundleShortVersionString": constants.Constants().patcher_version,
|
||||
"NSHumanReadableCopyright": constants.Constants().copyright_date,
|
||||
"LSMinimumSystemVersion": "10.10.0",
|
||||
"NSRequiresAquaSystemAppearance": False,
|
||||
"NSHighResolutionCapable": True,
|
||||
"Build Date": time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()),
|
||||
"BuildMachineOSBuild": subprocess.run("sw_vers -buildVersion".split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.decode().strip(),
|
||||
"BuildMachineOSBuild": subprocess.run(["/usr/bin/sw_vers", "-buildVersion"], stdout=subprocess.PIPE, stderr=subprocess.STDOUT).stdout.decode().strip(),
|
||||
"NSPrincipalClass": "NSApplication",
|
||||
})
|
||||
|
||||
@@ -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()
|
||||
@@ -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
@@ -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.
|
||||
49
README.md
@@ -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, Ventura, and Sonoma
|
||||
* 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 Sonoma 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)
|
||||
|
||||
@@ -44,8 +44,10 @@ To start using the project, please see our in-depth guide:
|
||||
|
||||
## Support
|
||||
|
||||
To get aid with the patcher, we recommend joining the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN). We're actively there and is the quickest way to receive help.
|
||||
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 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
|
||||
@@ -55,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)
|
||||
@@ -73,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)
|
||||
@@ -87,7 +89,28 @@ To run the project from source, see here: [Build and run from source](./SOURCE.m
|
||||
* Endless hours helping architect and troubleshoot many portions of the project
|
||||
* [flagers](https://github.com/flagersgit)
|
||||
* Aid with Nvidia Web Driver research and development
|
||||
* [joevt](https://github.com/joevt)
|
||||
* [FixPCIeLinkrate](https://github.com/joevt/joevtApps)
|
||||
* [Jazzzny](https://github.com/Jazzzny)
|
||||
* Research and various contributions to the project
|
||||
* UEFI Legacy XHCI research and development
|
||||
* NVIDIA OpenCL research and development
|
||||
* `MacBook5,2` research and development
|
||||
* LegacyKeyboardInjector
|
||||
* Pre-Ivy Bridge Aquantia Ethernet Patch
|
||||
* Non-Metal Photo Booth Patch for Monterey+
|
||||
* GUI and Backend Development
|
||||
* Vaulting implementation
|
||||
* 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
|
||||
|
||||
46
SOURCE.md
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -1,24 +1,21 @@
|
||||
import enum
|
||||
|
||||
|
||||
class cpu_data(enum.IntEnum):
|
||||
pentium_4 = 0
|
||||
yonah = 1
|
||||
conroe = 2
|
||||
penryn = 3
|
||||
nehalem = 4 # (Westmere included)
|
||||
sandy_bridge = 5 # 2000
|
||||
ivy_bridge = 6 # 3000
|
||||
haswell = 7 # 4000
|
||||
broadwell = 8 # 5000
|
||||
skylake = 9 # 6000
|
||||
kaby_lake = 10 # 7000
|
||||
coffee_lake = 11 # 8000
|
||||
comet_lake = 12 # 9000
|
||||
ice_lake = 13 # 10000
|
||||
class CPUGen(enum.IntEnum):
|
||||
pentium_4 = 0
|
||||
yonah = 1
|
||||
conroe = 2
|
||||
penryn = 3
|
||||
nehalem = 4 # (Westmere included)
|
||||
sandy_bridge = 5 # 2000
|
||||
ivy_bridge = 6 # 3000
|
||||
haswell = 7 # 4000
|
||||
broadwell = 8 # 5000
|
||||
skylake = 9 # 6000
|
||||
kaby_lake = 10 # 7000
|
||||
coffee_lake = 11 # 8000/9000
|
||||
comet_lake = 12 # 10000
|
||||
ice_lake = 13 # 10000
|
||||
|
||||
apple_dtk = 112 # A12
|
||||
apple_m1 = 114 # A14
|
||||
apple_m1_pro = 115
|
||||
apple_m1_max = 116
|
||||
apple_m1_ultra = 117
|
||||
apple_dtk = 100 # A12
|
||||
apple_silicon = 101 # A14 and newer (not tracked beyond this point)
|
||||
1210
data/css_data.py
Normal 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",
|
||||
]
|
||||
@@ -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,
|
||||
}
|
||||
@@ -2,13 +2,13 @@
|
||||
# Copyright (C) 2020-2022, Dhinak G, Mykola Grymalyuk
|
||||
SupportedSMBIOS = [
|
||||
# MacBook
|
||||
"MacBook4,1",
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBook6,1",
|
||||
"MacBook7,1",
|
||||
"MacBook8,1",
|
||||
"MacBook9,1",
|
||||
"MacBook10,1",
|
||||
# MacBook Air
|
||||
"MacBookAir2,1",
|
||||
"MacBookAir3,1",
|
||||
@@ -47,6 +47,9 @@ SupportedSMBIOS = [
|
||||
"MacBookPro13,1",
|
||||
"MacBookPro13,2",
|
||||
"MacBookPro13,3",
|
||||
"MacBookPro14,1",
|
||||
"MacBookPro14,2",
|
||||
"MacBookPro14,3",
|
||||
# Mac Mini
|
||||
"Macmini3,1",
|
||||
"Macmini4,1",
|
||||
@@ -77,6 +80,9 @@ SupportedSMBIOS = [
|
||||
"iMac16,1",
|
||||
"iMac16,2",
|
||||
"iMac17,1",
|
||||
"iMac18,1",
|
||||
"iMac18,2",
|
||||
"iMac18,3",
|
||||
# Mac Pro
|
||||
"MacPro3,1",
|
||||
"MacPro4,1",
|
||||
@@ -90,7 +96,6 @@ SupportedSMBIOS = [
|
||||
# Audio
|
||||
|
||||
LegacyAudio = [
|
||||
"MacBook4,1",
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBook6,1",
|
||||
@@ -175,7 +180,6 @@ ModernGPU = [
|
||||
]
|
||||
|
||||
LegacyGPU = [
|
||||
"MacBook4,1", # GMA X3100
|
||||
"MacBook5,1", # Nvidia 9000
|
||||
"MacBook5,2", # Nvidia 9000
|
||||
"MacBook6,1", # Nvidia 9000
|
||||
@@ -249,7 +253,10 @@ IntelNvidiaDRM = [
|
||||
# Mac Pro and Xserve
|
||||
MacPro = ["MacPro3,1", "MacPro4,1", "MacPro5,1", "Xserve2,1", "Xserve3,1", "Dortania1,1"]
|
||||
|
||||
NoAGPMSupport = ["MacBook4,1", "MacBookPro4,1", "iMac7,1", "iMac8,1", "MacPro3,1", "Xserve2,1", "Dortania1,1"]
|
||||
# MXM iMac
|
||||
MXMiMac = ["iMac11,1", "iMac11,2", "iMac11,3", "iMac10,1", "iMac12,1", "iMac12,2", "Dortania1,1"]
|
||||
|
||||
NoAGPMSupport = ["MacBookPro4,1", "iMac7,1", "iMac8,1", "MacPro3,1", "Xserve2,1", "Dortania1,1"]
|
||||
|
||||
AGDPSupport = [
|
||||
"MacBookPro9,1",
|
||||
@@ -274,7 +281,6 @@ AGDPSupport = [
|
||||
]
|
||||
|
||||
Missing_USB_Map = [
|
||||
"MacBook4,1",
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBook6,1",
|
||||
@@ -350,4 +356,4 @@ Missing_USB_Map_Ventura = [
|
||||
"iMac16,1",
|
||||
"iMac16,2",
|
||||
"iMac17,1",
|
||||
]
|
||||
]
|
||||
|
||||
@@ -23,27 +23,57 @@ class os_data(enum.IntEnum):
|
||||
big_sur = 20
|
||||
monterey = 21
|
||||
ventura = 22
|
||||
sonoma = 23
|
||||
max_os = 99
|
||||
|
||||
|
||||
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 +82,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 +109,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 +129,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
|
||||
|
||||
249
data/pci_data.py
@@ -411,6 +411,7 @@ class nvidia_ids:
|
||||
kepler_ids = [
|
||||
# GK104
|
||||
0x1180, # GK104 [GTX 680]
|
||||
0x1182, # GK104 [GTX 760 Ti]
|
||||
0x1183, # GK104 [GTX 660 Ti]
|
||||
0x1184, # GK104 [GTX 770]
|
||||
0x1185, # GK104 [GTX 660]
|
||||
@@ -418,88 +419,136 @@ class nvidia_ids:
|
||||
0x1187, # GK104 [GTX 760]
|
||||
0x1188, # GK104 [GTX 690]
|
||||
0x1189, # GK104 [GTX 670]
|
||||
0x118a, # GK104GL [GRID K520]
|
||||
0x118b, # GK104GL [GRID K2 GeForce USM]
|
||||
0x118c, # GK104 [GRID K2 NVS USM]
|
||||
0x118d, # GK104GL [GRID K200 vGPU]
|
||||
0x118E, # GK104 [GTX 760 OEM]
|
||||
0x118F, # GK104GL [Tesla K10]
|
||||
0x1198, # GTX 880M
|
||||
0x1199, # GK104 [GTX 870M]
|
||||
0x119A, # GTX 860M
|
||||
0x1191, # GK104 [GTX 760 Rev. 2]
|
||||
0x1193, # GK104 [GTX 760 Ti OEM]
|
||||
0x1194, # GK104GL [Tesla K8]
|
||||
0x1195, # GK104 [GTX 660 Rev. 2]
|
||||
0x1198, # GK104M [GTX 880M]
|
||||
0x1199, # GK104M [GTX 870M]
|
||||
0x119A, # GK104M [GTX 860M]
|
||||
0x119D, # GK104M [GTX 775M Mac Edition]
|
||||
0x119E, # GTX 780M
|
||||
0x119E, # GK104M [GTX 780M Mac Edition]
|
||||
0x119F, # GK104 [GTX 780M]
|
||||
0x11A0, # GK104 [GTX 680M]
|
||||
0x11A1, # GK104 [GTX 670MX]
|
||||
0x11A2, # GK104 [GTX 675MX]
|
||||
0x11A2, # GK104 [GTX 675MX Mac Edition]
|
||||
0x11A3, # GK104 [GTX 680MX]
|
||||
0x11A7, # GK104 [GTX 675MX]
|
||||
0x11A9, # GTX 870M
|
||||
0x11A8, # GK104GLM [Quadro K5100M]
|
||||
0x11A9, # GK104M [GTX 870M]
|
||||
0x11AF, # GK104GLM [GRID IceCube]
|
||||
0x11B0, # GK104GL [GRID K240Q / K260Q vGPU]
|
||||
0x11B1, # GK104GL [GRID K2 Tesla USM]
|
||||
0x11B4, # GK104GL [Quadro K4200]
|
||||
0x11B6, # Quadro K3100M
|
||||
0x11B7, # Quadro K4100M
|
||||
0x11B8, # Quadro K5100M
|
||||
0x11BA, # GK104 [K5000]
|
||||
0x11BC, # GK104 [K5000M]
|
||||
0x11BD, # GK104 [K4000M]
|
||||
0x11BE, # GK104 [K3000M]
|
||||
0x11B6, # GK104GLM [Quadro K3100M]
|
||||
0x11B7, # GK104GLM [Quadro K4100M]
|
||||
0x11B8, # GK104GLM [Quadro K5100M]
|
||||
0x11B9, # GK104GLM
|
||||
0x11BA, # GK104GL [Quadro K5000]
|
||||
0x11BC, # GK104GLM [Quadro K5000M]
|
||||
0x11BD, # GK104GLM [Quadro K4000M]
|
||||
0x11BE, # GK104GLM [Quadro K3000M]
|
||||
0x11BF, # GK104 [GRID K2]
|
||||
# GK106
|
||||
0x11C0, # GK106 [GTX 660]
|
||||
0x11C2, # GK106 [GTX 650 Ti BOOST]
|
||||
0x11c3, # GK106 [GTX 650 Ti OEM]
|
||||
0x11c4, # GK106 [GTX 645 OEM]
|
||||
0x11c5, # GK106 [GT 740]
|
||||
0x11C6, # GK106 [GTX 650 Ti]
|
||||
0x11C7, # GK106 [GTX 750 Ti]
|
||||
0x11C8, # GK106 [GTX 650 OEM]
|
||||
0x11E0, # GK106 [GTX 770M]
|
||||
0x11E1, # GTX 765M
|
||||
0x11E2, # GTX 765M
|
||||
0x11FA, # GK106 [K4000]
|
||||
0x11FC, # Quadro K2100M
|
||||
0x11CB, # GK106 [GT 740]
|
||||
0x11E0, # GK106M [GTX 770M]
|
||||
0x11E1, # GK106M [GTX 765M]
|
||||
0x11E2, # GK106M [GTX 765M]
|
||||
0x11E3, # GK106M [GTX 760M]
|
||||
0x11E7, # GK106M
|
||||
0x11FA, # GK106GL [Quadro K4000]
|
||||
0x11FC, # GL106GLM [Quadro K2100M]
|
||||
# GK107
|
||||
0x0FC0, # GK107 [GT 640]
|
||||
0x0FC1, # GK107 [GT 640]
|
||||
0x0FC2, # GK107 [GT 630]
|
||||
0x0FC5, # GK107 [GT 1030]
|
||||
0x0FC6, # GK107 [GTX 650]
|
||||
0x0FC8, # GK107 [GT 740]
|
||||
0x0FC9, # GK107 [GT 730]
|
||||
0x0FCD, # GK107M [GT 755M]
|
||||
0x0FCE, # GK107M [GT 640M LE]
|
||||
0x0FD1, # GK107 [GT 650M]
|
||||
0x0FD2, # GK107 [GT 640M]
|
||||
0x0FD3, # GK107 [GT 640M LE]
|
||||
0x0FD4, # GK107 [GTX 660M]
|
||||
0x0FD5, # GK107 [GT 650M]
|
||||
0x0FD6, # GK107M
|
||||
0x0FD8, # GK107 [GT 640M]
|
||||
0x0FD9, # GK107 [GT 645M]
|
||||
0x0FDF, # GK107M [ GT 740M]
|
||||
0x0FDB, # GK107M
|
||||
0x0FDF, # GK107M [GT 740M]
|
||||
0x0FE0, # GK107 [GTX 660M]
|
||||
0x0FE1, # GK107M [GT 730M]
|
||||
0x0FE2, # GK107M [GT 745M]
|
||||
0x0FE3, # GK107M [GT 745M]
|
||||
0x0FE4, # GK107M [GT 750M]
|
||||
0x0FE5, # GK107 [GeForce K340 USM]
|
||||
0x0FE6, # GK107 [GRID K1 NVS USM]
|
||||
0x0FE7, # GK107GL [GRID K100 vGPU]
|
||||
0x0FE8, # GK107M [N14P-GS]
|
||||
0x0FE9, # GK107 [GT 750M Mac Edition]
|
||||
0x0FEA, # GK107M [GT 755M Mac Edition]
|
||||
0x0FEC, # GK107M [710A]
|
||||
0x0FEE, # GK107M [810M]
|
||||
0x0FED, # GK107M [820M]
|
||||
0x0FEF, # GK107GL [GRID K340]
|
||||
0x0FF1, # GK107 [NVS 1000]
|
||||
0x0FF2, # GK107GL [GRID K1]
|
||||
0x0FF3, # GK107GL [Quadro K420]
|
||||
0x0FF6, # Quadro K1100M
|
||||
0x0FF5, # GK107GL [GRID K1 Tesla USM]
|
||||
0x0FF6, # GK107GLM [Quadro K1100M]
|
||||
0x0FF7, # GK107GL [GRID K140Q vGPU]
|
||||
0x0FF8, # GK107GLM [Quadro K500M]
|
||||
0x0FF9, # GK107 [K2000D]
|
||||
0x0FFA, # GK107 [K600]
|
||||
0x0FFB, # GK107 [K2000M]
|
||||
0x0FFC, # GK107 [K1000M]
|
||||
0x0FFD, # GK107 [NVS 510]
|
||||
0x0FFE, # GK107 [K2000]
|
||||
0x0FFF, # GK107 [410]
|
||||
0x0FFE, # GK107 [Quadro K2000]
|
||||
0x0FFF, # GK107 [Quadro 410]
|
||||
# GK110
|
||||
0x1001, # GK110B [GTX TITAN Z]
|
||||
0x1003, # GK110 [GTX Titan LE]
|
||||
0x1004, # GK110 [GTX 780]
|
||||
0x1005, # GK110 [GTX Titan]
|
||||
0x1007, # GK110 [GTX 780 Rev. 2]
|
||||
0x1008, # GK110 [GTX 780 Ti 6GB]
|
||||
0x100A, # GK110B [GTX 780 Ti]
|
||||
0x100C, # GK110B [GTX TITAN Black]
|
||||
0x101F, # GK110 [TEslA K20]
|
||||
0x1020, # GK110 [TEslA K2]
|
||||
0x1021, # GK110 [TEslA K2m]
|
||||
0x1022, # GK110 [TEslA K20C]
|
||||
0x101E, # GK110GL [Tesla K20X]
|
||||
0x101F, # GK110GL [Tesla K20]
|
||||
0x1020, # GK110GL [Tesla K20X]
|
||||
0x1021, # GK110GL [Tesla K20Xm]
|
||||
0x1022, # GK110GL [Tesla K20C]
|
||||
0x1023, # GK110BGL [Tesla K40m]
|
||||
0x1024, # GK180GL [Tesla K40c]
|
||||
0x1026, # GK110 [TEslA K20s]
|
||||
0x1028, # GK110 [TEslA K20m]
|
||||
0x102D, # GK210GL [Tesla K80]
|
||||
0x1026, # GK110GL [Tesla K20s]
|
||||
0x1027, # GK110BGL [Tesla K40st]
|
||||
0x1028, # GK110GL [Tesla K20m]
|
||||
0x1029, # GK110BGL [Tesla K40s]
|
||||
0x102A, # GK110BGL [Tesla K40t]
|
||||
0x102E, # GK110BGL [Tesla K40d]
|
||||
0x102F, # GK110BGL [Tesla Stella Solo]
|
||||
0x103A, # GK110GL [Quadro K6000]
|
||||
0x103C, # GK110GL [Quadro K5200]
|
||||
0x103F, # GK110BGL [Tesla Stella SXM]
|
||||
# GK180
|
||||
0x1024, # GK180GL [Tesla K40c]
|
||||
# GK208
|
||||
0x1280, # GK208 [GT 635]
|
||||
0x1281, # GK208 [GT 710]
|
||||
@@ -509,7 +558,9 @@ class nvidia_ids:
|
||||
0x1287, # GK208B [GT 730]
|
||||
0x1288, # GK208B [GT 720]
|
||||
0x1289, # GK208 [GT 710]
|
||||
0x128A, # GK208B
|
||||
0x128B, # GK208B [GT 710]
|
||||
0x128C, # GK208B
|
||||
0x1290, # GK208 [GT 730M]
|
||||
0x1291, # GK208 [GT 735M]
|
||||
0x1292, # GK208 [GT 740M]
|
||||
@@ -520,8 +571,11 @@ class nvidia_ids:
|
||||
0x1298, # GK208M [GT 720M]
|
||||
0x1299, # GK208BM [920M]
|
||||
0x129A, # GK208BM [910M]
|
||||
0x12A0, # GK208
|
||||
0x12B9, # GK208 [K610M]
|
||||
0x12BA, # GK208 [K510M]
|
||||
# GK210
|
||||
0x102D, # GK210GL [Tesla K80]
|
||||
]
|
||||
|
||||
|
||||
@@ -540,21 +594,23 @@ class nvidia_ids:
|
||||
0x137a, # GM108GLM [Quadro K620M / Quadro M500M]
|
||||
0x137b, # GM108GLM [Quadro M520 Mobile]
|
||||
0x137d, # GM108M [GeForce 940A]
|
||||
0x174d, # GM108M [GeForce MX130]
|
||||
0x174e, # GM108M [GeForce MX110]
|
||||
|
||||
0x1380, # GM107 [GeForce GTX 750 Ti]
|
||||
0x1381, # GM107 [GeForce GTX 750]
|
||||
0x1382, # GM107 [GeForce GTX 745]
|
||||
0x1380, # GM107 [GTX 750 Ti]
|
||||
0x1381, # GM107 [GTX 750]
|
||||
0x1382, # GM107 [GTX 745]
|
||||
0x1389, # GM107GL [GRID M30]
|
||||
0x1390, # GM107M [GeForce 845M]
|
||||
0x1391, # GM107M [GeForce GTX 850M]
|
||||
0x1392, # GM107M [GeForce GTX 860M]
|
||||
0x1391, # GM107M [GTX 850M]
|
||||
0x1392, # GM107M [GTX 860M]
|
||||
0x1393, # GM107M [GeForce 840M]
|
||||
0x1398, # GM107M [GeForce 845M]
|
||||
0x1399, # GM107M [GeForce 945M]
|
||||
0x139a, # GM107M [GeForce GTX 950M]
|
||||
0x139b, # GM107M [GeForce GTX 960M]
|
||||
0x139a, # GM107M [GTX 950M]
|
||||
0x139b, # GM107M [GTX 960M]
|
||||
0x139c, # GM107M [GeForce 940M]
|
||||
0x139d, # GM107M [GeForce GTX 750 Ti]
|
||||
0x139d, # GM107M [GTX 750 Ti]
|
||||
0x13b0, # GM107GLM [Quadro M2000M]
|
||||
0x13b1, # GM107GLM [Quadro M1000M]
|
||||
0x13b2, # GM107GLM [Quadro M600M]
|
||||
@@ -566,16 +622,24 @@ class nvidia_ids:
|
||||
0x13bb, # GM107GL [Quadro K620]
|
||||
0x13bc, # GM107GL [Quadro K1200]
|
||||
0x13bd, # GM107GL [Tesla M10]
|
||||
0x1789, # GM107GL [GRID M3-3020]
|
||||
0x179c, # GM107 [GeForce 940MX]
|
||||
|
||||
0x13c0, # GM204 [GeForce GTX 980]
|
||||
0x17c2, # GM200 [GTX TITAN X]
|
||||
0x17c8, # GM200 [GTX 980 Ti]
|
||||
0x17f0, # GM200GL [Quadro M6000]
|
||||
0x17f1, # GM200GL [Quadro M6000 24GB]
|
||||
0x17fd, # GM200GL [Tesla M40]
|
||||
|
||||
0x13c0, # GM204 [GTX 980]
|
||||
0x13c1, # GM204
|
||||
0x13c2, # GM204 [GeForce GTX 970]
|
||||
0x13c2, # GM204 [GTX 970]
|
||||
0x13c3, # GM204
|
||||
0x13d7, # GM204M [GeForce GTX 980M]
|
||||
0x13d8, # GM204M [GeForce GTX 970M]
|
||||
0x13d9, # GM204M [GeForce GTX 965M]
|
||||
0x13da, # GM204M [GeForce GTX 980 Mobile]
|
||||
0x13e7, # GM204GL [GeForce GTX 980 Engineering Sample]
|
||||
0x13d7, # GM204M [GTX 980M]
|
||||
0x13d8, # GM204M [GTX 970M]
|
||||
0x13d9, # GM204M [GTX 965M]
|
||||
0x13da, # GM204M [GTX 980 Mobile]
|
||||
0x13e7, # GM204GL [GTX 980 Engineering Sample]
|
||||
0x13f0, # GM204GL [Quadro M5000]
|
||||
0x13f1, # GM204GL [Quadro M4000]
|
||||
0x13f2, # GM204GL [Tesla M60]
|
||||
@@ -585,18 +649,21 @@ class nvidia_ids:
|
||||
0x13fa, # GM204GLM [Quadro M3000M]
|
||||
0x13fb, # GM204GLM [Quadro M5500]
|
||||
|
||||
0x1401, # GM206 [GeForce GTX 960]
|
||||
0x1402, # GM206 [GeForce GTX 950]
|
||||
0x1404, # GM206 [GeForce GTX 960 FAKE]
|
||||
0x1406, # GM206 [GeForce GTX 960 OEM]
|
||||
0x1407, # GM206 [GeForce GTX 750 v2]
|
||||
0x1427, # GM206M [GeForce GTX 965M]
|
||||
0x1401, # GM206 [GTX 960]
|
||||
0x1402, # GM206 [GTX 950]
|
||||
0x1404, # GM206 [GTX 960 FAKE]
|
||||
0x1406, # GM206 [GTX 960 OEM]
|
||||
0x1407, # GM206 [GTX 750 v2]
|
||||
0x1427, # GM206M [GTX 965M]
|
||||
0x1430, # GM206GL [Quadro M2000]
|
||||
0x1431, # GM206GL [Tesla M4]
|
||||
0x1436, # GM206GLM [Quadro M2200 Mobile]
|
||||
]
|
||||
|
||||
pascal_ids = [
|
||||
0x1725,
|
||||
0x172e,
|
||||
0x172f,
|
||||
0x15f0, # GP100GL [Quadro GP100]
|
||||
0x15f1, # GP100GL
|
||||
0x15f7, # GP100GL [Tesla P100 PCIe 12GB]
|
||||
@@ -604,10 +671,10 @@ class nvidia_ids:
|
||||
0x15f9, # GP100GL [Tesla P100 SXM2 16GB]
|
||||
|
||||
0x1b00, # GP102 [TITAN X]
|
||||
0x1b01, # GP102 [GeForce GTX 1080 Ti 10GB]
|
||||
0x1b01, # GP102 [GTX 1080 Ti 10GB]
|
||||
0x1b02, # GP102 [TITAN Xp]
|
||||
0x1b04, # GP102
|
||||
0x1b06, # GP102 [GeForce GTX 1080 Ti]
|
||||
0x1b06, # GP102 [GTX 1080 Ti]
|
||||
0x1b07, # GP102 [P102-100]
|
||||
0x1b30, # GP102GL [Quadro P6000]
|
||||
0x1b38, # GP102GL [Tesla P40]
|
||||
@@ -615,18 +682,18 @@ class nvidia_ids:
|
||||
0x1b70, # GP102GL
|
||||
0x1b78, # GP102GL
|
||||
|
||||
0x1b80, # GP104 [GeForce GTX 1080]
|
||||
0x1b81, # GP104 [GeForce GTX 1070]
|
||||
0x1b82, # GP104 [GeForce GTX 1070 Ti]
|
||||
0x1b83, # GP104 [GeForce GTX 1060 6GB]
|
||||
0x1b84, # GP104 [GeForce GTX 1060 3GB]
|
||||
0x1b80, # GP104 [GTX 1080]
|
||||
0x1b81, # GP104 [GTX 1070]
|
||||
0x1b82, # GP104 [GTX 1070 Ti]
|
||||
0x1b83, # GP104 [GTX 1060 6GB]
|
||||
0x1b84, # GP104 [GTX 1060 3GB]
|
||||
0x1b87, # GP104 [P104-100]
|
||||
0x1ba0, # GP104M [GeForce GTX 1080 Mobile]
|
||||
0x1ba1, # GP104M [GeForce GTX 1070 Mobile]
|
||||
0x1ba2, # GP104M [GeForce GTX 1070 Mobile]
|
||||
0x1ba0, # GP104M [GTX 1080 Mobile]
|
||||
0x1ba1, # GP104M [GTX 1070 Mobile]
|
||||
0x1ba2, # GP104M [GTX 1070 Mobile]
|
||||
0x1ba9, # GP104M
|
||||
0x1baa, # GP104M
|
||||
0x1bad, # GP104 [GeForce GTX 1070 Engineering Sample]
|
||||
0x1bad, # GP104 [GTX 1070 Engineering Sample]
|
||||
0x1bb0, # GP104GL [Quadro P5000]
|
||||
0x1bb1, # GP104GL [Quadro P4000]
|
||||
0x1bb3, # GP104GL [Tesla P4]
|
||||
@@ -638,42 +705,42 @@ class nvidia_ids:
|
||||
0x1bb9, # GP104GLM [Quadro P4200 Mobile]
|
||||
0x1bbb, # GP104GLM [Quadro P3200 Mobile]
|
||||
0x1bc7, # GP104 [P104-101]
|
||||
0x1be0, # GP104BM [GeForce GTX 1080 Mobile]
|
||||
0x1be1, # GP104BM [GeForce GTX 1070 Mobile]
|
||||
0x1be0, # GP104BM [GTX 1080 Mobile]
|
||||
0x1be1, # GP104BM [GTX 1070 Mobile]
|
||||
|
||||
0x1c00, # GP106
|
||||
0x1c01, # GP106
|
||||
0x1c02, # GP106 [GeForce GTX 1060 3GB]
|
||||
0x1c03, # GP106 [GeForce GTX 1060 6GB]
|
||||
0x1c04, # GP106 [GeForce GTX 1060 5GB]
|
||||
0x1c06, # GP106 [GeForce GTX 1060 6GB Rev. 2]
|
||||
0x1c02, # GP106 [GTX 1060 3GB]
|
||||
0x1c03, # GP106 [GTX 1060 6GB]
|
||||
0x1c04, # GP106 [GTX 1060 5GB]
|
||||
0x1c06, # GP106 [GTX 1060 6GB Rev. 2]
|
||||
0x1c07, # GP106 [P106-100]
|
||||
0x1c09, # GP106 [P106-090]
|
||||
0x1c20, # GP106M [GeForce GTX 1060 Mobile]
|
||||
0x1c21, # GP106M [GeForce GTX 1050 Ti Mobile]
|
||||
0x1c22, # GP106M [GeForce GTX 1050 Mobile]
|
||||
0x1c23, # GP106M [GeForce GTX 1060 Mobile Rev. 2]
|
||||
0x1c20, # GP106M [GTX 1060 Mobile]
|
||||
0x1c21, # GP106M [GTX 1050 Ti Mobile]
|
||||
0x1c22, # GP106M [GTX 1050 Mobile]
|
||||
0x1c23, # GP106M [GTX 1060 Mobile Rev. 2]
|
||||
0x1c2d, # GP106M
|
||||
0x1c30, # GP106GL [Quadro P2000]
|
||||
0x1c31, # GP106GL [Quadro P2200]
|
||||
0x1c35, # GP106M [Quadro P2000 Mobile]
|
||||
0x1c36, # GP106 [P106M]
|
||||
0x1c60, # GP106BM [GeForce GTX 1060 Mobile 6GB]
|
||||
0x1c61, # GP106BM [GeForce GTX 1050 Ti Mobile]
|
||||
0x1c62, # GP106BM [GeForce GTX 1050 Mobile]
|
||||
0x1c60, # GP106BM [GTX 1060 Mobile 6GB]
|
||||
0x1c61, # GP106BM [GTX 1050 Ti Mobile]
|
||||
0x1c62, # GP106BM [GTX 1050 Mobile]
|
||||
0x1c70, # GP106GL
|
||||
|
||||
0x1c80,
|
||||
0x1c81, # GP107 [GeForce GTX 1050]
|
||||
0x1c82, # GP107 [GeForce GTX 1050 Ti]
|
||||
0x1c83, # GP107 [GeForce GTX 1050 3GB]
|
||||
0x1c8c, # GP107M [GeForce GTX 1050 Ti Mobile]
|
||||
0x1c8d, # GP107M [GeForce GTX 1050 Mobile]
|
||||
0x1c81, # GP107 [GTX 1050]
|
||||
0x1c82, # GP107 [GTX 1050 Ti]
|
||||
0x1c83, # GP107 [GTX 1050 3GB]
|
||||
0x1c8c, # GP107M [GTX 1050 Ti Mobile]
|
||||
0x1c8d, # GP107M [GTX 1050 Mobile]
|
||||
0x1c8e, # GP107M
|
||||
0x1c8f, # GP107M [GeForce GTX 1050 Ti Max-Q]
|
||||
0x1c8f, # GP107M [GTX 1050 Ti Max-Q]
|
||||
0x1c90, # GP107M [GeForce MX150]
|
||||
0x1c91, # GP107M [GeForce GTX 1050 3 GB Max-Q]
|
||||
0x1c92, # GP107M [GeForce GTX 1050 Mobile]
|
||||
0x1c91, # GP107M [GTX 1050 3 GB Max-Q]
|
||||
0x1c92, # GP107M [GTX 1050 Mobile]
|
||||
0x1c94, # GP107M [GeForce MX350]
|
||||
0x1c96, # GP107M [GeForce MX350]
|
||||
0x1ca7, # GP107GL
|
||||
@@ -687,8 +754,8 @@ class nvidia_ids:
|
||||
0x1cbb, # GP107GLM [Quadro P1000 Mobile]
|
||||
0x1cbc, # GP107GLM [Quadro P600 Mobile]
|
||||
0x1cbd, # GP107GLM [Quadro P620]
|
||||
0x1ccc, # GP107BM [GeForce GTX 1050 Ti Mobile]
|
||||
0x1ccd, # GP107BM [GeForce GTX 1050 Mobile]
|
||||
0x1ccc, # GP107BM [GTX 1050 Ti Mobile]
|
||||
0x1ccd, # GP107BM [GTX 1050 Mobile]
|
||||
0x1cfa, # GP107GL [Quadro P2000]
|
||||
0x1cfb, # GP107GL [Quadro P1000]
|
||||
|
||||
@@ -796,6 +863,11 @@ class amd_ids:
|
||||
0x67CF, # Unknown
|
||||
]
|
||||
|
||||
polaris_spoof_ids = [
|
||||
# Polaris 12 (Lexa)
|
||||
0x6981, # Lexa XT [Radeon PRO WX 3200]
|
||||
]
|
||||
|
||||
vega_ids = [
|
||||
# GCN v5
|
||||
# AMDRadeonX5000
|
||||
@@ -1099,6 +1171,13 @@ class broadcom_ids:
|
||||
0x43A0, # BCM4360
|
||||
]
|
||||
|
||||
# Not natively supported, but supported by AirportBrcmFixup
|
||||
AirPortBrcmNICThirdParty = [
|
||||
0x4357, # BCM43225
|
||||
0x43B1, # BCM4352
|
||||
0x43B2, # BCM4352 (2.4 GHz)
|
||||
]
|
||||
|
||||
AirPortBrcm4360 = [
|
||||
# AirPortBrcm4360 IDs (removed duplicates for 4360 class cards)
|
||||
0x4331, # BCM94331
|
||||
@@ -1150,6 +1229,8 @@ class aquantia_ids:
|
||||
0x92B1, # AQC107
|
||||
0x00C0, # AQC113
|
||||
0x04C0, # AQC113
|
||||
0x94C0, # AQC113
|
||||
0x93C0, # AQC113
|
||||
]
|
||||
|
||||
|
||||
|
||||
111
data/usb_data.py
Normal file
@@ -0,0 +1,111 @@
|
||||
class AppleIDs:
|
||||
# All top case devices use Vendor ID 05ac
|
||||
Modern_AppleUSBTCKeyboard = [
|
||||
0x223,
|
||||
0x224,
|
||||
0x225,
|
||||
0x230,
|
||||
0x231,
|
||||
0x232,
|
||||
0x236,
|
||||
0x237,
|
||||
0x238,
|
||||
0x23f,
|
||||
0x240,
|
||||
0x241,
|
||||
0x242,
|
||||
0x243,
|
||||
0x244,
|
||||
0x245,
|
||||
0x246,
|
||||
0x247,
|
||||
0x249,
|
||||
0x24a,
|
||||
0x24b,
|
||||
0x259,
|
||||
0x25a,
|
||||
0x25b,
|
||||
0x262,
|
||||
0x263,
|
||||
0x264,
|
||||
0x24c,
|
||||
0x24d,
|
||||
0x24e,
|
||||
0x252,
|
||||
0x253,
|
||||
0x254
|
||||
]
|
||||
|
||||
Legacy_AppleUSBTCKeyboard = [
|
||||
0x20e,
|
||||
0x20f,
|
||||
0x210,
|
||||
0x214,
|
||||
0x215,
|
||||
0x216,
|
||||
0x20d,
|
||||
0x218,
|
||||
0x219,
|
||||
0x21a,
|
||||
0x21b,
|
||||
0x21c,
|
||||
0x229,
|
||||
0x22a,
|
||||
0x22b
|
||||
]
|
||||
|
||||
AppleUSBTrackpad = [
|
||||
0x20e,
|
||||
0x20f,
|
||||
0x210,
|
||||
0x30a,
|
||||
0x30b,
|
||||
0x214,
|
||||
0x215,
|
||||
0x216,
|
||||
0x217,
|
||||
0x218,
|
||||
0x219,
|
||||
0x21a,
|
||||
0x21b,
|
||||
0x21c,
|
||||
0x229,
|
||||
0x22a,
|
||||
0x22b
|
||||
]
|
||||
|
||||
AppleUSBMultiTouch = [
|
||||
0x223,
|
||||
0x224,
|
||||
0x225,
|
||||
0x230,
|
||||
0x231,
|
||||
0x232,
|
||||
0x236,
|
||||
0x237,
|
||||
0x238,
|
||||
0x23f,
|
||||
0x240,
|
||||
0x241,
|
||||
0x242,
|
||||
0x243,
|
||||
0x244,
|
||||
0x245,
|
||||
0x246,
|
||||
0x247,
|
||||
0x249,
|
||||
0x24a,
|
||||
0x24b,
|
||||
0x259,
|
||||
0x25a,
|
||||
0x25b,
|
||||
0x262,
|
||||
0x263,
|
||||
0x264,
|
||||
0x24c,
|
||||
0x24d,
|
||||
0x24e,
|
||||
0x252,
|
||||
0x253,
|
||||
0x254
|
||||
]
|
||||
11
data/video_bios_data.py
Normal file
@@ -93,6 +93,24 @@ module.exports = {
|
||||
|
||||
},
|
||||
{
|
||||
title: 'macOS Sonoma',
|
||||
collapsable: false,
|
||||
sidebarDepth: 1,
|
||||
children: [
|
||||
['SONOMA-DROP', 'macOS Sonoma Support'],
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
title: 'macOS Ventura',
|
||||
collapsable: false,
|
||||
sidebarDepth: 1,
|
||||
children: [
|
||||
['VENTURA-DROP', 'macOS Ventura Support'],
|
||||
]
|
||||
},
|
||||
|
||||
{
|
||||
title: 'macOS Monterey',
|
||||
collapsable: false,
|
||||
sidebarDepth: 1,
|
||||
@@ -131,7 +149,6 @@ module.exports = {
|
||||
sidebarDepth: 1,
|
||||
children: [
|
||||
'ISSUES-HOLD',
|
||||
'TESTED',
|
||||
'TERMS',
|
||||
'HOW',
|
||||
'PATCHEXPLAIN',
|
||||
|
||||
@@ -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,20 +23,22 @@ 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 |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| ATI | TeraScale 1 | HD2000 - HD4000 | <span style="color:red">No</span> |
|
||||
| ^^ | TeraScale 2 | HD5000 - HD6000 | ^^ |
|
||||
| AMD | GCN (and newer) | HD7000+ | <span style="color:green">Yes</span> |
|
||||
| NVIDIA | Tesla | 8000GT - GT300 | <span style="color:red">No</span> |
|
||||
| ^^ | Fermi | GT400 - GT500 | ^^ |
|
||||
| ^^ | Kepler | GT600 - GT700 | <span style="color:green">Yes</span> |
|
||||
| Intel | GMA | GMA900 - GMA3000 | <span style="color:red">No</span> |
|
||||
| ATI | TeraScale 1 | HD 2XXX - HD 4XXX | <span style="color:red">No</span> |
|
||||
| ^^ | TeraScale 2 | HD 5XXX - HD 6XXX | ^^ |
|
||||
| AMD | GCN (and newer) | HD 7XXX+ | <span style="color:green">Yes</span> |
|
||||
| NVIDIA | Tesla | 8XXX - 3XX | <span style="color:red">No</span> |
|
||||
| ^^ | Fermi | 4XX - 5XX | ^^ |
|
||||
| ^^ | Kepler | 6XX - 7XX | <span style="color:green">Yes</span> |
|
||||
| ^^ | Maxwell | 8XX - 9XX | <span style="color:red">No (on 10.14 and newer)</span> |
|
||||
| ^^ | Pascal | 10XX | ^^ |
|
||||
| Intel | GMA | GMA 900 - GMA X3000 | <span style="color:red">No</span> |
|
||||
| ^^ | Iron Lake | HD series | ^^ |
|
||||
| ^^ | Sandy Bridge | HD3000 | ^^ |
|
||||
| ^^ | Ivy Bridge (and newer) | HD4000 | <span style="color:green">Yes</span> |
|
||||
| ^^ | Sandy Bridge | HD 3000 | ^^ |
|
||||
| ^^ | Ivy Bridge (and newer) | HD 4000 | <span style="color:green">Yes</span> |
|
||||
|
||||
:::
|
||||
|
||||
@@ -61,12 +64,15 @@ Currently Zoom relies partially on Metal and so needs a small binary patch. Dosd
|
||||
* [Zoom Non-Metal Fix](http://dosdude1.com/catalina/zoomnonmetal-new.command.zip)
|
||||
|
||||
## Unable to grant special permissions to apps (ie. Camera Access to Zoom)
|
||||
Currently for Ventura 13.3 and newer, due to new patches required, permissions are yet again broken. Use TCCPlus in the Workaround dropdown to work around the issue.
|
||||
|
||||
With version 0.2.5, this issue should be full resolved
|
||||
This issue is fully resolved for 13.2.1 and lower starting from 0.2.5.
|
||||
|
||||
::: details 0.2.4 and older Work-Around
|
||||
::: details Workaround for 0.2.4, Ventura 13.3+
|
||||
|
||||
Due to the usage of `amfi_get_out_of_my_way=1`, macOS will fail to prompt users for special permissions upon application start as well as omit the entires in System Preferences. To work around this, we recommend users install [tccplus](https://github.com/jslegendre/tccplus) to manage permissions.
|
||||
Due to the usage of amfi_get_out_of_my_way=1, macOS will fail to prompt users for special permissions upon application start as well as omit the entries in System Preferences. To work around this, we recommend users install tccplus to manage permissions.
|
||||
|
||||
[Download TCCPlus](https://github.com/jslegendre/tccplus)
|
||||
|
||||
Example usage with Discord and microphone permissions:
|
||||
|
||||
@@ -101,11 +107,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 +123,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 +164,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 +186,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 |
|
||||
| :--- | :--- |
|
||||
|  |  |
|
||||
|
||||
## 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).
|
||||
|
||||
16
docs/BOOT.md
@@ -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
|
||||

|
||||
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
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
|
||||
::: 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.
|
||||
|
||||
:::
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -10,6 +10,11 @@ Next, run the `OpenCore-Patcher.app`:
|
||||
|
||||

|
||||
|
||||
::: warning
|
||||
OpenCore configurations are hardware specific.
|
||||
If you're building OpenCore for a different model than you're currently running, it is absolutely necessary to select the proper model from Settings.
|
||||
:::
|
||||
|
||||
Here we'll select Build and Install OpenCore and start building:
|
||||
|
||||
| Start Building | Finished Building |
|
||||
|
||||
@@ -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"
|
||||
|
||||

|
||||
|
||||
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):
|
||||
|
||||

|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -1,38 +1,7 @@
|
||||
# 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.
|
||||
We have opened OpenCollective in order to manage donations as well as be transparent about where the donated money is going. If you want to support the patcher with money donation, you can do so below.
|
||||
|
||||
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.
|
||||
[OpenCollective](https://opencollective.com/opencore-legacy-patcher)
|
||||
|
||||
Main sections of help we'd appreciate:
|
||||
|
||||
* Donating any Mac you own
|
||||
* Does require SSE4,1 CPU to test on Sierra and newer however
|
||||
|
||||
Additionally, hardware info dumps are greatly beneficial for us to determine what patches a machine might need:
|
||||
|
||||
* [IORegistryExplorer](https://github.com/khronokernel/IORegistryClone/blob/master/ioreg-210.zip?raw=true)
|
||||
* `File -> SaveAs` and open an issue on Github
|
||||
* Note: We want IOReg dumps of hardware not running on OpenCore, instead running a clean, officially supported OS by the machine
|
||||
|
||||
If you have any legacy hardware you're willing to donate or what to buy us something, please contact us at the following email:
|
||||
|
||||
* khronokernel@icloud.com
|
||||
|
||||
Current hardware we own:
|
||||
|
||||
| Model | CPU | GPU | Owner | Notes |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| MacBook5,1 | Penryn | 9400M | Mykola | N/A |
|
||||
| MacBook7,1 | Penryn | GT320M | Dhinak | N/A |
|
||||
| MacBook7,1 | Penryn | GT320M | Mykola | N/A |
|
||||
| MacBookPro5,3 | Penryn | 9400M + 9600M | Dhinak | Display's partially broken |
|
||||
| MacBookPro8,2 | Sandy Bridge | HD3000 | Mykola | Dead dGPU |
|
||||
| MacPro3,1 | Penryn | GTX 680 | Dhinak | N/A |
|
||||
| Macmini4,1 | Penryn | GT320M | Dhinak | N/A |
|
||||
|
||||
Dead Hardware:
|
||||
| Model | CPU | GPU | Owner | Notes |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| MacPro3,1 | Penryn | HD5770, RX570, GT710 | Mykola | No longer powers on |
|
||||
| MacPro4,1 | Westmere | HD7950 | Mykola | Dead Northbridge on CPU Tray |
|
||||
If you wish, you can also donate legacy hardware you don't need anymore as long as it makes sense logistically. In this case, reach out on the Discord server.
|
||||
|
||||
@@ -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:
|
||||
|
||||

|
||||
|
||||
16
docs/ICNS.md
@@ -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
|
||||
|
||||

|
||||
|
||||
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:
|
||||
|
||||

|
||||
|
||||
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:
|
||||
|
||||

|
||||
|
||||
@@ -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`
|
||||
|
||||

|
||||
|
||||
|
||||
@@ -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,29 +12,23 @@ 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:
|
||||
|
||||

|
||||
|
||||
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:
|
||||
|
||||

|
||||
|
||||
For this example, we'll assume you'll need an installer. Selecting this option will download Apple's Installer Catalogs and build a list for you to choose:
|
||||
|
||||
| Downloading | Listed Installers |
|
||||
| :--- | :--- |
|
||||
|  |  |
|
||||
| Downloading | Listed Installers | Unsupported Installer |
|
||||
| :--- | :--- | :--- |
|
||||
|  |  | 
|
||||
|
||||
Since the patcher officially supports Big Sur and newer for patching, only those entires will be shown. For ourselves, we'll select 12.1 as that's the latest public release at the time of writing. This will download and install the macOS installer to your applications folder.
|
||||
Since the patcher officially supports Big Sur and newer for patching, only those entries will be shown. For ourselves, we'll select macOS 12 as that's the latest public release at the time of writing. This will download and install the macOS installer to your applications folder.
|
||||
|
||||
::: warning
|
||||
|
||||
With the release of the M2 MacBooks, Apple made an Apple Silicon only installer labeled "macOS 12.4 (21F2092 - 11.7GB)". Trying to boot this on Intel will not work.
|
||||
|
||||
Instead, download "macOS 12.4 (21F79 - 12.1GB)" or newer.
|
||||
|
||||
:::
|
||||
* Note that some machines (namely 2012 and older) may not be currently supported on macOS Ventura. If you see this prompt, you'll need to use an older version of macOS.
|
||||
|
||||
| Downloading the Installer | Requesting to install | Finished Installing |
|
||||
| :--- | :--- | :--- |
|
||||
|
||||
@@ -18,6 +18,8 @@ This patcher is made of multiple external applications from different people and
|
||||
* [telemetrap](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/post-28447707) - Syncretic
|
||||
* [SurPlus](https://github.com/reenigneorcim/SurPlus) - Syncretic
|
||||
* [VMM Patch Set](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/4a8f61a01da72b38a4b2250386cc4b497a31a839/payloads/Config/config.plist#L1222-L1281) - parrotgeek1
|
||||
* AMFIPass - Dhinak G
|
||||
* Apple Binaries - Apple Inc.
|
||||
* All other patches - respective authors
|
||||
|
||||
Remaining files within OpenCore Legacy Patcher are copyrighted 2020-2022 Mykola Grymalyuk & Dhinak G. For integration into other projects, please request written permission.
|
||||
The remaining files within the OpenCore Legacy Patcher repository are distributed under the [BSD 4-Clause license](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/main/LICENSE.txt).
|
||||
|
||||
229
docs/MODELS.md
@@ -1,13 +1,10 @@
|
||||
# Supported Models
|
||||
Any Intel-based Mac listed below can install and make use of OpenCore Legacy Patcher. To check your hardware model, open System Information and look for the `Model Identifier` key.
|
||||
* This applies even if Apple supports the model natively.
|
||||
* OpenCore Legacy Patcher does not support PowerPC- or Apple Silicon-based Macs.
|
||||
* If your model is not listed below, it is not supported by this patcher.
|
||||
|
||||
Any hardware supporting SSE4.1 CPU and 64-Bit firmware work on this patcher. To check your hardware model, run the following command on the applicable machine in the terminal:
|
||||
|
||||
```bash
|
||||
system_profiler SPHardwareDataType | grep 'Model Identifier'
|
||||
```
|
||||
|
||||
The below table will list all supported and unsupported functions of the patcher currently:
|
||||
|
||||
The below tables can be used to reference issues with a particular model, and see which OS would work best on your machine.
|
||||
* [MacBook](#macbook)
|
||||
* [MacBook Air](#macbook-air)
|
||||
* [MacBook Pro](#macbook-pro)
|
||||
@@ -16,130 +13,138 @@ The below table will list all supported and unsupported functions of the patcher
|
||||
* [Mac Pro](#mac-pro)
|
||||
* [Xserve](#xserve)
|
||||
|
||||
Regarding OS support, see below:
|
||||
::: details OpenCore Patcher application
|
||||
The patcher application requires **OS X Yosemite 10.10** or later to run.
|
||||
* **OS X El Capitan 10.11** or later is required to make installers for macOS Ventura and later.
|
||||
|
||||
The patcher is designed to target **macOS Big Sur 11.x to macOS Sonoma 14.x**.
|
||||
* Other versions may work, albeit in a broken state. No support is provided for any version outside of the above.
|
||||
:::
|
||||
|
||||
| Support Entry | Supported OSes | Description | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| HostOS | macOS 10.9 - macOS 12 | Refers to OSes where running OpenCore-Patcher.app are supported | Supports 10.7+ if [Python 3.9 or higher](https://www.python.org/downloads/) is manually installed, simply run the `OpenCore-Patcher.command` located in the repo |
|
||||
| TargetOS | macOS 11 - macOS 12 | Refers to OSes that can be patched to run with OpenCore | May support 10.4 and newer (in a potentially broken state). No support provided. |
|
||||
|
||||
### MacBook
|
||||
|
||||
| SMBIOS | Year | Supported | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| MacBook1,1 | Mid-2006 | <span style="color:red"> NO </span> | 32-Bit CPU limitation |
|
||||
| MacBook2,1 | Late 2006 | ^^ | 32-Bit Firmware limitation |
|
||||
| MacBook3,1 | Late 2007 | ^^ | ^^ |
|
||||
| MacBook4,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | - No GPU Acceleration in Mavericks and newer<br/>- No Keyboard and Trackpad<br/>- No USB |
|
||||
| MacBook5,1 | Late 2008 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/> |
|
||||
| MacBook5,2 | Early 2009 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/>- Trackpad is recognized as mouse |
|
||||
| MacBook6,1 | Late 2009 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/> |
|
||||
| MacBook7,1 | Mid-2010 | ^^ | ^^ |
|
||||
| MacBook8,1 | Mid-2015 | ^^ | <span style="color:green"> Everything is supported</span> |
|
||||
| Model Name | Identifier | Tagged Issues |
|
||||
| :--- | :--- | :--- |
|
||||
| MacBook (13-inch, Aluminum, Late 2008) | `MacBook5,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)|
|
||||
| MacBook (13-inch, Early 2009)<br>MacBook (13-inch, Mid 2009) | `MacBook5,2` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)<br>- Trackpad gestures are partially broken |
|
||||
| MacBook (13-inch, Late 2009) | `MacBook6,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021) |
|
||||
| MacBook (13-inch, Mid 2010) | `MacBook7,1` | ^^ |
|
||||
| MacBook (Retina, 12-inch, Early 2015) | `MacBook8,1` | - [Legacy Metal (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008) |
|
||||
| MacBook (Retina, 12-inch, Early 2016) | `MacBook9,1` | ^^ |
|
||||
| MacBook (Retina, 12-inch, 2017) | `MacBook10,1` | - Supported by OpenCore Legacy Patcher |
|
||||
|
||||
### MacBook Air
|
||||
|
||||
| SMBIOS | Year | Supported | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| MacBookAir1,1 | Early 2008 | <span style="color:red"> NO </span> | Requires SSE4.1 CPU |
|
||||
| MacBookAir2,1 | Late 2008 |<span style="color:#30BCD5"> YES </span> | GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)) |
|
||||
| MacBookAir3,1 | Late 2010 | ^^ | ^^ |
|
||||
| MacBookAir3,2 | ^^ | ^^ | ^^ |
|
||||
| MacBookAir4,1 | Mid-2011 | ^^ | ^^ |
|
||||
| MacBookAir4,2 | ^^ | ^^ | ^^ |
|
||||
| MacBookAir5,1 | Mid-2012 |^^ | <span style="color:green"> Everything is supported</span> |
|
||||
| MacBookAir5,2 | ^^ | ^^ | ^^ |
|
||||
| MacBookAir6,1 | Mid-2013, Early 2014 | ^^ | ^^ |
|
||||
| MacBookAir6,2 | ^^ | ^^ | ^^ |
|
||||
| Model Name | Identifier | Tagged Issues |
|
||||
| :--- | :--- | :--- |
|
||||
| MacBook Air (13-inch, Late 2008)<br>MacBook Air (13-inch, Mid 2009) | `MacBookAir2,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)|
|
||||
| MacBook Air (11-inch, Late 2010) | `MacBookAir3,1` | ^^ |
|
||||
| MacBook Air (13-inch, Late 2010) | `MacBookAir3,2` | ^^ |
|
||||
| MacBook Air (11-inch, Mid 2011) | `MacBookAir4,1` | ^^ |
|
||||
| MacBook Air (13-inch, Mid 2011) | `MacBookAir4,2` | ^^ |
|
||||
| MacBook Air (11-inch, Mid 2012) | `MacBookAir5,1` | - [Legacy Metal (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008) |
|
||||
| MacBook Air (13-inch, Mid 2012) | `MacBookAir5,2` | ^^ |
|
||||
| MacBook Air (11-inch, Mid 2013)<br>MacBook Air (11-inch, Early 2014) | `MacBookAir6,1` | ^^ |
|
||||
| MacBook Air (13-inch, Mid 2013)<br>MacBook Air (13-inch, Early 2014) | `MacBookAir6,2` | ^^ |
|
||||
| MacBook Air (11-inch, Early 2015) | `MacBookAir7,1` | ^^ |
|
||||
| MacBook Air (13-inch, Early 2015)<br>MacBook Air (13-inch, 2017) | `MacBookAir7,2` | ^^ |
|
||||
| MacBook Air (Retina, 13-inch, 2018) | `MacBookAir8,1` | - Supported by Apple |
|
||||
| MacBook Air (Retina, 13-inch, 2019) | `MacBookAir9,1` | ^^ |
|
||||
| MacBook Air (Retina, 13-inch, 2020) | `MacBookAir10,1` | ^^ |
|
||||
|
||||
### MacBook Pro
|
||||
|
||||
| SMBIOS | Year | Supported | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| MacBookPro1,1 | Early 2006 | <span style="color:red"> NO </span> | 32-Bit CPU limitation |
|
||||
| MacBookPro1,2 | ^^ | ^^ | ^^ |
|
||||
| MacBookPro2,1 | Late 2006 | ^^ | 32-Bit Firmware limitation |
|
||||
| MacBookPro2,2 | Late 2006 | ^^ | ^^ |
|
||||
| MacBookPro3,1 | Mid-2007 | ^^ | Requires SSE4.1 CPU |
|
||||
| MacBookPro4,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)) |
|
||||
| MacBookPro5,1 | Late 2008 | ^^ | ^^ |
|
||||
| MacBookPro5,2 | Early 2009 | ^^ | ^^ |
|
||||
| MacBookPro5,3 | Mid-2009 | ^^ | ^^ |
|
||||
| MacBookPro5,4 | ^^ | ^^ | ^^ |
|
||||
| MacBookPro5,5 | ^^ | ^^ | ^^ |
|
||||
| MacBookPro6,1 | Mid-2010 | ^^ | ^^ |
|
||||
| MacBookPro6,2 | ^^ | ^^ | ^^ |
|
||||
| MacBookPro7,1 | ^^ | ^^ | ^^ |
|
||||
| MacBookPro8,1 | Early 2011 | ^^ | ^^ |
|
||||
| MacBookPro8,2 | ^^ | ^^ | ^^ |
|
||||
| MacBookPro8,3 | ^^ | ^^ | ^^ |
|
||||
| MacBookPro9,1 | Mid-2012 | ^^ | <span style="color:green"> Everything is supported</span> |
|
||||
| MacBookPro9,2 | ^^ | ^^ | ^^ |
|
||||
| MacBookPro10,1 | Mid-2012, Early 2013 | ^^ | ^^ |
|
||||
| MacBookPro10,2 | Late 2012, Early 2013 | ^^ | ^^ |
|
||||
| MacBookPro11,1 | Late 2013, Mid-2014 | ^^ | ^^ |
|
||||
| MacBookPro11,2 | ^^ | ^^ | ^^ |
|
||||
| MacBookPro11,3 | ^^ | ^^ | ^^ |
|
||||
| Model Name | Identifier | Tagged Issues |
|
||||
| :--- | :--- | :--- |
|
||||
| MacBook Pro (15-inch, Early 2008)<br>MacBook Pro (17-inch, Early 2008) | `MacBookPro4,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)|
|
||||
| MacBook Pro (15-inch, Late 2008) | `MacBookPro5,1` | ^^ |
|
||||
| MacBook Pro (17-inch, Early 2009)<br>MacBook Pro (17-inch, Mid 2009) | `MacBookPro5,2` | ^^ |
|
||||
| MacBook Pro (15-inch, Mid 2009) | `MacBookPro5,3` | ^^ |
|
||||
| MacBook Pro (13-inch, Mid 2009) | `MacBookPro5,5` | ^^ |
|
||||
| MacBook Pro (17-inch, Mid 2010) | `MacBookPro6,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108) |
|
||||
| MacBook Pro (15-inch, Mid 2010) | `MacBookPro6,2` | ^^ |
|
||||
| MacBook Pro (13-inch, Mid 2010) | `MacBookPro7,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021) |
|
||||
| MacBook Pro (13-inch, Early 2011)<br>MacBook Pro (13-inch, Late 2011) | `MacBookPro8,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108) |
|
||||
| MacBook Pro (15-inch, Early 2011)<br>MacBook Pro (15-inch, Late 2011) | `MacBookPro8,2` | ^^ |
|
||||
| MacBook Pro (17-inch, Early 2011)<br> | `MacBookPro8,3` | ^^ |
|
||||
| MacBook Pro (15-inch, Mid 2012) | `MacBookPro9,1` | - [Legacy Metal (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008) |
|
||||
| MacBook Pro (13-inch, Mid 2012) | `MacBookPro9,2` | ^^ |
|
||||
| MacBook Pro (Retina, 15-inch, Mid 2012)<br>MacBook Pro (Retina, 15-inch, Early 2013) | `MacBookPro10,1` | ^^ |
|
||||
| MacBook Pro (Retina, 13-inch, Late 2012)<br>MacBook Pro (Retina, 13-inch, Early 2013) | `MacBookPro10,2` | ^^ |
|
||||
| MacBook Pro (Retina, 13-inch, Late 2013)<br>MacBook Pro (Retina, 13-inch, Mid 2014) | `MacBookPro11,1` | ^^ |
|
||||
| MacBook Pro (Retina, 15-inch, Late 2013)<br>MacBook Pro (Retina, 15-inch, Mid 2014) | `MacBookPro11,2`<br>`MacBookPro11,3` | ^^ |
|
||||
| MacBook Pro (Retina, 15-inch, Mid 2015) | `MacBookPro11,4`<br>`MacBookPro11,5` | ^^ |
|
||||
| MacBook Pro (Retina, 13-inch, Early 2015) | `MacBookPro12,1` | ^^ |
|
||||
| MacBook Pro (13-inch, 2016, 2 Thunderbolt 3 ports) | `MacBookPro13,1` | ^^ |
|
||||
| MacBook Pro (13-inch, 2016, 4 Thunderbolt 3 ports) | `MacBookPro13,2` | ^^ |
|
||||
| MacBook Pro (15-inch, 2016) | `MacBookPro13,3` | ^^ |
|
||||
| MacBook Pro (13-inch, 2017, 2 Thunderbolt 3 ports) | `MacBookPro14,1` | - Supported by OpenCore Legacy Patcher |
|
||||
| MacBook Pro (13-inch, 2017, 4 Thunderbolt 3 ports) | `MacBookPro14,2` | ^^ |
|
||||
| MacBook Pro (15-inch, 2017) | `MacBookPro14,3` | - [Legacy Metal (macOS 14+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008) |
|
||||
| MacBook Pro (13-inch, 2018, 4 Thunderbolt 3 ports)<br>MacBook Pro (13-inch, 2019, 4 Thunderbolt 3 ports) | `MacBookPro15,2` | - Supported by Apple |
|
||||
| MacBook Pro (15-inch, 2018)<br>MacBook Pro (15-inch, 2019) | `MacBookPro15,1` | ^^ |
|
||||
| MacBook Pro (13-inch, 2019, 2 Thunderbolt 3 ports) | `MacBookPro15,4` | ^^ |
|
||||
| MacBook Pro (16-inch, 2019) | `MacBookPro16,1`<br>`MacBookPro16,4` | ^^ |
|
||||
| MacBook Pro (13-inch, 2020, 4 Thunderbolt 3 ports) | `MacBookPro16,2` | ^^ |
|
||||
| MacBook Pro (13-inch, 2020, 2 Thunderbolt 3 ports) | `MacBookPro16,3` | ^^ |
|
||||
|
||||
### Mac mini
|
||||
|
||||
| SMBIOS | Year | Supported | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| Macmini1,1 | Early 2006 | <span style="color:red"> NO </span> | 32-Bit CPU limitation |
|
||||
| Macmini2,1 | Mid-2007 | ^^ | 32-Bit Firmware limitation |
|
||||
| Macmini3,1 | Early 2009 | <span style="color:#30BCD5"> YES </span> | GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)) |
|
||||
| Macmini4,1 | Mid-2010 | ^^ | ^^ |
|
||||
| Macmini5,1 | Mid-2011 | ^^ | ^^ |
|
||||
| Macmini5,2 | ^^ | ^^ | ^^ |
|
||||
| Macmini5,3 | ^^ | ^^ | ^^ |
|
||||
| Macmini6,1 | Late 2012 | ^^ | <span style="color:green"> Everything is supported</span> |
|
||||
| Macmini6,2 | ^^ | ^^ | ^^ |
|
||||
| Model Name | Identifier | Tagged Issues |
|
||||
| :--- | :--- | :--- |
|
||||
| Mac mini (Early 2009) | `Macmini3,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021) |
|
||||
| Mac mini (Mid 2010) | `Macmini4,1` | ^^ |
|
||||
| Mac mini (Mid 2011) | `Macmini5,1`<br>`Macmini5,2`<br>`Macmini5,3` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108) |
|
||||
| Mac mini (Late 2012) | `Macmini6,1`<br>`Macmini6,2` | - [Legacy Metal (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008) |
|
||||
| Mac mini (Late 2014) | `Macmini7,1` | ^^ |
|
||||
| Mac mini (Late 2018) | `Macmini8,1` | - Supported by Apple |
|
||||
|
||||
### iMac
|
||||
|
||||
| SMBIOS | Year | Supported | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| iMac4,1 | Early 2006 | <span style="color:red"> NO </span> | 32-Bit CPU limitation |
|
||||
| iMac4,2 | Mid-2006 | ^^ | ^^ |
|
||||
| iMac5,1 | Late 2006 | ^^ | 32-Bit Firmware limitation |
|
||||
| iMac5,2 | ^^ | ^^ | ^^ |
|
||||
| iMac6,1 | ^^ | ^^ | ^^ |
|
||||
| iMac7,1 | Mid-2007 | <span style="color:#30BCD5"> YES </span> | - Requires an [SSE4.1 CPU Upgrade](https://lowendmac.com/2018/penryn-t9300-9500-cpu-upgrades-for-the-2007-imac/)<br/>- GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))<br/>- Stock Bluetooth 2.0 card non-functional |
|
||||
| iMac8,1 | Early 2008 | ^^ | - GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108))) |
|
||||
| iMac9,1 | Early 2009 | ^^ | ^^ |
|
||||
| iMac10,1 | Late 2009 | ^^ | - GPU is socketed, [recommend upgrading to Metal GPU](https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/?post=17425857#post-17425857) <br/>- GPU Acceleration in Public Beta, see current issues ([#108](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)) |
|
||||
| iMac11,1 | ^^ | ^^ | ^^ |
|
||||
| iMac11,2 | Mid-2010 | ^^ | ^^ |
|
||||
| iMac11,3 | ^^ | ^^ | ^^ |
|
||||
| iMac12,1 | Mid-2011 | ^^ | ^^ |
|
||||
| iMac12,2 | ^^ | ^^ | ^^ |
|
||||
| iMac13,1 | Late 2012 | ^^ | <span style="color:green"> Everything is supported</span> |
|
||||
| iMac13,2 | ^^ | ^^ | ^^ |
|
||||
| iMac13,3 | ^^ | ^^ | ^^ |
|
||||
| iMac14,1 | Late 2013 | ^^ | ^^ |
|
||||
| iMac14,2 | ^^ | ^^ | ^^ |
|
||||
| iMac14,3 | ^^ | ^^ | ^^ |
|
||||
| iMac14,4 | Mid-2014 | ^^ | ^^ |
|
||||
| iMac15,1 | Late 2014, Mid-2015 | ^^ | ^^ |
|
||||
|
||||
* For iMac10,1 through iMac12,x, we highly recommend users upgrade the GPU to a Metal supported model. See here for more information: [iMac late 2009 to mid-2011 Graphics Card Upgrade Guide](https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/?post=17425857#post-17425857)
|
||||
| Model Name | Identifier | Tagged Issues |
|
||||
| :--- | :--- | :--- |
|
||||
| iMac (20-inch, Mid 2007)<br>iMac (24-inch, Mid 2007) | `iMac7,1` | - [Requires SSE4.1 CPU](https://lowendmac.com/2018/penryn-t9300-9500-cpu-upgrades-for-the-2007-imac/)<br>- [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)<br>- Remove stock Bluetooth to prevent panics |
|
||||
| iMac (20-inch, Early 2008)<br>iMac (24-inch, Early 2008) | `iMac8,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021) |
|
||||
| iMac (20-inch, Early 2009)<br>iMac (24-inch, Early 2009)<br>iMac (20-inch, Mid 2009) | `iMac9,1` | - [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)<br>- [Recommend upgrading to Metal GPU](https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/?post=17425857#post-17425857) |
|
||||
| iMac (21.5-inch, Late 2009)<br>iMac (27-inch, Late 2009)| `iMac10,1` | ^^ |
|
||||
| iMac (27-inch, Late 2009) | `iMac11,1` | ^^ |
|
||||
| iMac (21.5-inch, Mid 2010) | `iMac11,2` | ^^ |
|
||||
| iMac (27-inch, Mid 2010) | `iMac11,3` | ^^ |
|
||||
| iMac (21.5-inch, Mid 2011)<br>iMac (21.5-inch, Late 2011) | `iMac12,1` | ^^ |
|
||||
| iMac (27-inch, Mid 2011) | `iMac12,2` | ^^ |
|
||||
| iMac (21.5-inch, Late 2012) | `iMac13,1` | - [Legacy Metal (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008) |
|
||||
| iMac (27-inch, Late 2012) | `iMac13,2` | ^^ |
|
||||
| iMac (21.5-inch, Early 2013) | `iMac13,3` | ^^ |
|
||||
| iMac (21.5-inch, Late 2013) | `iMac14,1` | ^^ |
|
||||
| iMac (27-inch, Late 2013) | `iMac14,2`<br>`iMac14,3` | ^^ |
|
||||
| iMac (21.5-inch, Mid 2014) | `iMac14,4` | ^^ |
|
||||
| iMac (Retina 5K, 27-inch, Late 2014)<br>iMac (Retina 5K, 27-inch, Mid 2015) | `iMac15,1` | ^^ |
|
||||
| iMac (21.5-inch, Late 2015) | `iMac16,1` | ^^ |
|
||||
| iMac (Retina 4K, 21.5-inch, Late 2015) | `iMac16,2` | ^^ |
|
||||
| iMac (Retina 5K, 27-inch, Late 2015) | `iMac17,1` | ^^ |
|
||||
| iMac (21.5-inch, 2017) | `iMac18,1` | - Supported by OpenCore Legacy Patcher |
|
||||
| iMac (Retina 4K, 21.5-inch, 2017) | `iMac18,2` | ^^ |
|
||||
| iMac (Retina 5K, 27-inch, 2017) | `iMac18,3` | ^^ |
|
||||
| iMac (Retina 5K, 27-inch, 2019) | `iMac19,1` | - Supported by Apple |
|
||||
| iMac (Retina 4K, 21.5-inch, 2019) | `iMac19,2` | ^^ |
|
||||
| iMac (Retina 5K, 27-inch, 2020) | `iMac20,1`<br>`iMac20,2` | ^^ |
|
||||
| iMac Pro (2017) | `iMacPro1,1` | ^^ |
|
||||
|
||||
### Mac Pro
|
||||
|
||||
| SMBIOS | Year | Supported | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| MacPro1,1 | Mid-2006 | <span style="color:red"> NO </span> | 32-Bit Firmware limitation |
|
||||
| MacPro2,1 | Mid-2007 | ^^ | ^^ |
|
||||
| MacPro3,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | - Potential boot issues with built-in USB 1.1 ports (recommend using a USB 2.0 hub or dedicated USB PCIe controller)<br/>- Potential boot issues with stock Bluetooth card, recommend removing to avoid kernel panics |
|
||||
| MacPro4,1 | Early 2009 | ^^ | <span style="color:green"> Everything is supported as long as GPU is Metal capable </span> |
|
||||
| MacPro5,1 | Mid-2010, Mid-2012 | ^^ | ^^ |
|
||||
| Model Name | Identifier | Tagged Issues |
|
||||
| :--- | :--- | :--- |
|
||||
| Mac Pro (Early 2008) | `MacPro3,1` | - [Recommend upgrade to Metal GPU](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008)<br>- [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)<br>- Remove stock Bluetooth to prevent panics |
|
||||
| Mac Pro (Early 2009) | `MacPro4,1` | - [Recommend upgrade to Metal GPU](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008)<br>- [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021) |
|
||||
| Mac Pro (Mid 2010)<br>Mac Pro (Mid 2012) | `MacPro5,1` | ^^ |
|
||||
| Mac Pro (Late 2013) | `MacPro6,1` | - [Legacy Metal (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008) |
|
||||
| Mac Pro (2019) | `MacPro7,1` | - Supported by Apple |
|
||||
|
||||
### Xserve
|
||||
|
||||
| SMBIOS | Year | Supported | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| Xserve1,1 | Mid-2006 | <span style="color:red"> NO </span> | 32-Bit Firmware limitation |
|
||||
| Xserve2,1 | Early 2008 | <span style="color:#30BCD5"> YES </span> | <span style="color:green"> Everything is supported as long as GPU is Metal capable </span> |
|
||||
| Xserve3,1 | Early 2009 | ^^ | ^^ |
|
||||
| Model Name | Identifier | Tagged Issues |
|
||||
| :--- | :--- | :--- |
|
||||
| Xserve (Early 2008) | `Xserve2,1` | - Recommend upgrade to Metal GPU<br>- [non-Metal GPU (macOS 11+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)<br>- [USB 1.1 (macOS 13+)](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)
|
||||
| Xserve (Early 2009) | `Xserve3,1` | ^^ |
|
||||
|
||||
# Once you've verified your hardware is supported, head to [Download and build macOS Installers](./INSTALLER.md)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||

|
||||
|
||||
With OpenCore Legacy Patcher v0.1.7 and newer, we've implemented beta macOS Monterey support for users. Please note that Apple has dropped a lot of hardware with this release as well as broken many of our previous patch sets. This page will be used to inform users regarding current issues and will be updated as new patch sets are developed and added to our patcher.
|
||||
|
||||
|
||||
## Newly dropped hardware
|
||||
|
||||
With Monterey, Apple continues their their somewhat ruthless march of dropping Intel hardware. This release saw the removal, and thus addition into OpenCore Legacy Patcher, of the following models:
|
||||
@@ -29,7 +29,7 @@ With Monterey, Apple continues their their somewhat ruthless march of dropping I
|
||||
* MacBook Pro (Retina, 13-inch, Mid 2014)
|
||||
* MacBook Pro (Retina, 15-inch, Mid 2014)
|
||||
|
||||
:::
|
||||
:::
|
||||
|
||||
All of these models now have support in OpenCore Legacy Patcher.
|
||||
|
||||
@@ -43,7 +43,7 @@ Due to the display being routed through the NVIDIA Kepler card and macOS being r
|
||||
|
||||
::: details iMac15,1 5K Display Output Issue (Resolved in 0.3.2 and newer)
|
||||
|
||||
* Documentation:
|
||||
* Documentation:
|
||||
* [5K iMac and UEFI: Fixing the dreaded output limitation](https://khronokernel.github.io/macos/2021/12/08/5K-UEFI.html)
|
||||
* Associated Github Issue:
|
||||
* [5k Output issues on iMac15,1 (27" 5k iMac - 2014) #359](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/359)
|
||||
@@ -79,7 +79,7 @@ The following models lost Wifi support in macOS Monterey due to their legacy Wir
|
||||
* MacBookPro6,x is exempt
|
||||
* MacPro5,1 and older
|
||||
|
||||
Note: BCM943224, BCM94331, BCM94360 and BCM943602 are still fully support by OpenCore Legacy Patcher
|
||||
Note: BCM943224, BCM94331, BCM94360 and BCM943602 are still fully supported by OpenCore Legacy Patcher
|
||||
|
||||
:::
|
||||
|
||||
@@ -96,7 +96,7 @@ The following models lost Bluetooth support in macOS Monterey due to their legac
|
||||
* MacBookPro8,1 and older
|
||||
* MacPro5,1 and older
|
||||
|
||||
Note: Native BRCM20702 and BRCM20703 are still fully support by OpenCore Legacy Patcher
|
||||
Note: Native BRCM20702 and BRCM20703 are still fully supported by OpenCore Legacy Patcher
|
||||
|
||||
::: details Dropped Firmwares
|
||||
|
||||
|
||||
@@ -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,13 +139,17 @@ 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
|
||||
|
||||
* GopPassThrough
|
||||
* Reason: Used for proper output on machines with UGA firmware but GOP GPU
|
||||
* Logic: Provide GOP protocol instances on top of UGA protocol instances
|
||||
* Models: MacPro3,1, MacBook4,1 iMac7,1-8,1
|
||||
* Models: MacPro3,1, iMac7,1-8,1
|
||||
|
||||
:::
|
||||
|
||||
@@ -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 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
|
||||
|
||||
@@ -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,75 +16,82 @@ 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
|
||||
| :--- | :--- |
|
||||
| |  |
|
||||

|
||||
|
||||
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 enabled by default on build. For Intel HD 4000 users, you may have noticed that SIP is partially disabled. This is to ensure full compatibility with macOS Monterey and allow seamless booting between it and older OSes. However for users who do not plan to boot Monterey, you can re-enable under Patcher Settings.
|
||||
For many users, SIP will be lowered by default on build. For Intel HD 4000 users, you may have noticed that SIP is partially disabled. This is to ensure full compatibility with macOS Monterey and allow seamless booting between it and older OSes. However for users who do not plan to boot Monterey, you can re-enable under Patcher Settings.
|
||||
|
||||
Note: Machines with non-Metal GPUs cannot enable SIP in Big Sur either, due to having a patched root volume
|
||||
Note: Machines running macOS Ventura or systems with non-Metal GPUs cannot enable SIP outright, due to having a patched root volume. Enabling it will brick the installation.
|
||||
|
||||
Going forward with 0.6.6, SIP settings can be accessed from the Security tab shown in the images.
|
||||
|
||||
| SIP Enabled | SIP Lowered (Root Patching) | SIP Disabled |
|
||||
| :--- | :--- | :--- |
|
||||
|  |  |  |
|
||||
|
||||
:::warning
|
||||
:::warning
|
||||
|
||||
If you're unsure whether you should enable SIP, leave it as-is. Systems where you have already ran the Post Install Root Patching cannot enable SIP without potentially breaking the current install.
|
||||
If you're unsure whether you should enable SIP, leave it as-is. Systems where you have already ran the Post Install Root Patching cannot enable SIP without potentially breaking the current install.
|
||||
|
||||
:::
|
||||
|
||||
## Applying Post Install Volume Patches
|
||||
|
||||
:::warning
|
||||
|
||||
If you need to use Migration Assistant to bring over data to your new macOS install, it is **highly recommended** to avoid restoring from inside Setup Assistant and waiting to install root patches until after the transfer is complete. If root patches were automatically installed, you can use the options available in the OCLP app to remove them.
|
||||
|
||||
Using Migration Assistant while patches are installed can lead to an unbootable system, requiring a reinstall of macOS.
|
||||
|
||||
:::
|
||||
|
||||
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 |
|
||||
| :--- | :--- |
|
||||
|  |  |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### 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.
|
||||
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.
|
||||
|
||||
There is also an option to remove root patches, which may be required in some situations, such as switching GPUs in Mac Pros or using Migration Assistant.
|
||||
|
||||
| Listing Patches | Patching Finished |
|
||||
| :--- | :--- |
|
||||
|  |  |
|
||||
|
||||
|
||||
:::warning
|
||||
|
||||
With OpenCore Legacy Patcher versions prior to v0.4.4, Root Patching requires a network connection by default to grab associated resources. If your system is having difficulties with Wi-Fi or ethernet, you can grab the newest release :
|
||||
With macOS Ventura and Macs with AMD Legacy GCN GPUs (ie. Metal), Root Patching requires a network connection to grab Apple's Kernel Debug Kit to start root patching. If your system is unable to connect to the internet, you can manually download a KDK from Apple's site:
|
||||
|
||||
* [OpenCore Legacy Patcher releases](https://github.com/dortania/OpenCore-Legacy-Patcher/releases/latest)
|
||||
* [Apple's Developer Download Page](https://developer.apple.com/download/all/?q=Kernel%20Debug%20Kit)
|
||||
|
||||
Grab the Kernel Debug Kit whose version is closest to the OS you installed, and install it to the machine running Ventura.
|
||||
|
||||
Machines that require this are those with AMD Metal dGPUs:
|
||||
* 2008 - 2013 Mac Pros (MacPro3,1 - 6,1)
|
||||
* 2009 - 2016 iMacs (iMac10,1 - 17,1)
|
||||
* 2015 15" MacBook Pro with a dGPU (MacBookPro11,5)
|
||||
|
||||
:::
|
||||
|
||||
:::details Unsupported GPUs in macOS Big Sur
|
||||
Below entries represent GPUs no longer natively supported, ie. requiring root volume patching with OpenCore Legacy Patcher:
|
||||
|
||||
:::details GPUs requiring patching in macOS Big Sur
|
||||
|
||||
* NVIDIA:
|
||||
* Tesla (8000 - 300 series)
|
||||
@@ -96,7 +103,7 @@ With OpenCore Legacy Patcher versions prior to v0.4.4, Root Patching requires a
|
||||
|
||||
:::
|
||||
|
||||
:::details Unsupported GPUs in macOS Monterey
|
||||
:::details GPUs requiring patching in macOS Monterey
|
||||
|
||||
* NVIDIA:
|
||||
* Tesla (8000 - 300 series)
|
||||
@@ -110,7 +117,7 @@ With OpenCore Legacy Patcher versions prior to v0.4.4, Root Patching requires a
|
||||
|
||||
:::
|
||||
|
||||
:::details Unsupported Wireless Cards in macOS Monterey
|
||||
:::details Wireless Cards requiring patching in macOS Monterey
|
||||
|
||||
* Broadcom:
|
||||
* BCM94328
|
||||
@@ -118,3 +125,18 @@ With OpenCore Legacy Patcher versions prior to v0.4.4, Root Patching requires a
|
||||
* Atheros
|
||||
|
||||
:::
|
||||
|
||||
:::details GPUs requiring patching in macOS Ventura
|
||||
|
||||
* NVIDIA:
|
||||
* Kepler (600 - 800 series)
|
||||
* AMD:
|
||||
* GCN 1-3 (7000 - R9 series)
|
||||
* Polaris (RX 4xx/5xx series, if CPU lacks AVX2)
|
||||
* Intel:
|
||||
* Ivy Bridge (4000 series)
|
||||
* Haswell (4400, 4600, 5000 series)
|
||||
* Broadwell (6000 series)
|
||||
* Skylake (500 series)
|
||||
|
||||
:::
|
||||
|
||||
@@ -10,17 +10,17 @@ meta:
|
||||
content: Experience macOS just like before
|
||||
|
||||
features:
|
||||
- title: Built with security in mind
|
||||
details: Supporting System Integrity Protection(SIP), FileVault 2, .im4m Secure Boot and Vaulting. For many machines, you're just as secure as a supported Mac.
|
||||
# - title: Built with security in mind
|
||||
# details: Supporting System Integrity Protection(SIP), FileVault 2, .im4m Secure Boot and Vaulting. We make an effort to ensure your system is as secure as possible.
|
||||
- title: Native OTA updates
|
||||
details: Install updates the moment they come out, with native System Preferences support, just like a supported Mac.
|
||||
- title: Zero firmware patching
|
||||
details: Using the capabilities of the OpenCore boot manager, our protocol upgrades are done in memory and are never permanent.
|
||||
- title: Supporting more hardware
|
||||
details: New life is breathed into your decade-old graphics card or WiFi and bluetooth chipsets.
|
||||
details: New life is breathed into your decade-old graphics card, WiFi, and Bluetooth chipsets. Even your upgraded hardware receives benefits by unlocking exciting features like Hardware Acceleration, AirDrop, Apple Watch Unlock, Sidecar, and much more!
|
||||
- title: The newest features
|
||||
details: Unlock Sidecar, AirPlay to Mac, Night Shift, and Universal Control, even on natively supported models!
|
||||
- title: A helpful community
|
||||
details: Whether it's getting started or learning the specifics, you can always find answers with our amazing community of tinkerers, developers, and dreamers.
|
||||
footer: Copyright © Dortania 2020-2022
|
||||
footer: Copyright © Dortania 2020-2024
|
||||
---
|
||||
93
docs/SONOMA-DROP.md
Normal file
@@ -0,0 +1,93 @@
|
||||

|
||||
|
||||
*Well here we are again, it's always such a pleasure~*
|
||||
|
||||
Apple has yet again dropped a bunch of models, continuing their journey on discontinuing Intel Macs. With the release of OpenCore Legacy Patcher 1.0.0, early support for macOS Sonoma has been implemented.
|
||||
|
||||
## Versioning
|
||||
|
||||
With 1.0.0, we'll be switching to a proper major, minor and bug fix system ([Semantic Versioning](https://semver.org/)). This means the coming release will be version 1.0.0, and future releases plan to follow this scheme:
|
||||
|
||||
- First digit: Major changes, including new OS support, API changes, and significant patch set changes, etc
|
||||
- Second digit: Minor changes, including incoming OS update fixes, minor patch set changes, etc
|
||||
- Third digit: Bug fixes, primarily hot fixes either due to a regression in prior release or resolving issues in already released OS updates
|
||||
|
||||
|
||||
## Newly dropped hardware
|
||||
|
||||
* MacBook10,1: MacBook (Retina, 12-inch, 2017)
|
||||
* MacBookPro14,1: MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)
|
||||
* MacBookPro14,2: MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports)
|
||||
* MacBookPro14,3: MacBook Pro (15-inch, 2017)
|
||||
* iMac18,1: iMac (21.5-inch, 2017)
|
||||
* iMac18,2: iMac (Retina 4K, 21.5-inch, 2017)
|
||||
* iMac18,3: iMac (Retina 5K, 27-inch, 2017)
|
||||
|
||||
## Current status
|
||||
|
||||
OpenCore Legacy Patcher 1.0.0 will support Sonoma for all models normally supported by the Patcher, however some challenges remain. You can find information about them below.
|
||||
|
||||
## Issues
|
||||
|
||||
* [Bluetooth](#bluetooth)
|
||||
* [T1 Security chip](#t1-security-chip)
|
||||
* [USB 1.1 (OHCI/UHCI) Support](#usb-11-ohciuhci-support)
|
||||
* [Graphics support and issues](#graphics-support-and-issues)
|
||||
|
||||
|
||||
### Bluetooth
|
||||
|
||||
Sometimes Bluetooth may not work after boot on pre-2012 models. Running NVRAM reset can alleviate it.
|
||||
|
||||
Dual boots may also bring the issue back even after the reset.
|
||||
|
||||
### T1 Security chip
|
||||
|
||||
::: details Support for the T1 Security chip (Resolved in 1.1.0 and newer)
|
||||
|
||||
Sonoma has removed support for T1 chips found in most 2016 and 2017 Macs. Therefore on these systems, the following will not function:
|
||||
|
||||
* Enable or disable FileVault
|
||||
* Open the Password Settings window
|
||||
* Add fingerprints (if upgrading, existing fingerprints will be deleted)
|
||||
* Add cards to Apple Pay
|
||||
|
||||
[More information here](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1103)
|
||||
|
||||
:::
|
||||
|
||||
::: warning
|
||||
Note that erasing the entire drive will remove the T1 firmware and it won't be reinstalled.
|
||||
:::
|
||||
|
||||
### USB 1.1 (OHCI/UHCI) Support
|
||||
|
||||
For Penryn systems, pre-2013 Mac Pros and Xserve, USB 1.1 support was outright removed in macOS Ventura and naturally this continues in Sonoma.
|
||||
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:
|
||||
|
||||

|
||||
|
||||
::: warning The following systems rely on USB 1.1
|
||||
|
||||
* iMac10,x and older
|
||||
* Macmini4,1 and older
|
||||
* MacBook7,1 and older
|
||||
* MacBookAir3,1 and older
|
||||
* MacPro5,1 and older
|
||||
* Xserve 3,1 and older
|
||||
:::
|
||||
|
||||
[More information here](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1021)
|
||||
|
||||
### Graphics support and issues
|
||||
This build includes both Legacy Metal and non-Metal patches for macOS Sonoma. Refer to the following links for more information about Legacy Metal and non-Metal support and their respective issues.
|
||||
|
||||
* [Legacy Metal](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/1008)
|
||||
* [Non-Metal](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108)
|
||||
|
||||
@@ -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
|
||||
---
|
||||
|
||||
144
docs/TESTED.md
@@ -1,144 +0,0 @@
|
||||
# Tested Models on OpenCore Legacy Patcher
|
||||
|
||||
To aid users in troubleshooting, we've compiled a list of users who've reported success with OpenCore Legacy Patcher as well as the version used. This should aid users in verifying whether issues with the patcher are regression-related with newer versions.
|
||||
|
||||
::: details MacBook
|
||||
|
||||
| SMBIOS | Tested | Tester | Model | Version | Comment |
|
||||
| :--- | :--- | :--- | :--- | :--- | :--- |
|
||||
| MacBook4,1 | <span style="color:#30BCD5"> YES </span> | Mami | Stock | Unknown | Couldn't install due to broke USB support |
|
||||
| MacBook5,1 | ^^ | air.man | ^^ | 0.0.19 | N/A |
|
||||
| MacBook5,2 | ^^ | Finder352 | ^^ | ^^ | ^^ |
|
||||
| MacBook6,1 | ^^ | Finder352 | ^^ | ^^ | ^^ |
|
||||
| MacBook7,1 | ^^ | MykolaG | ^^ | ^^ | ^^ |
|
||||
| ^^ | ^^ | Jazzzny | ^^ | ^^ | ^^ |
|
||||
| ^^ | ^^ | AlexSakha67 | ^^ | 0.0.20 | ^^ |
|
||||
| MacBook8,1 | <span style="color:red"> NO </span> | N/A | N/A | N/A | ^^ |
|
||||
|
||||
:::
|
||||
|
||||
::: details MacBook Air
|
||||
|
||||
| SMBIOS | Tested | Tester | Model | Version | Comment |
|
||||
| :--- | :--- | :--- | :--- | :--- | :--- |
|
||||
| MacBookAir2,1 | <span style="color:#30BCD5"> YES </span> | Bruno | Stock | 0.4.5 | Slow to the point of being unusable. |
|
||||
| MacBookAir3,1 | ^^ | uvesten | Stock | 0.3.3 | N/A |
|
||||
| MacBookAir3,2 | ^^ | houser42 | ^^ | Unknown | ^^ |
|
||||
| MacBookAir4,1 | <span style="color:red"> NO </span> | N/A | N/A | N/A | ^^ |
|
||||
| MacBookAir4,2 | <span style="color:#30BCD5"> YES </span> | bdwilson1907 | Stock | 0.3.1 | Intermittent keyboard backlight |
|
||||
| MacBookAir5,1 | ^^ | Ausdauersportler | ^^ | 0.0.9 | N/A |
|
||||
| ^^ | ^^ | webg3 | ^^ | Unknown | ^^ |
|
||||
| MacBookAir5,2 | ^^ | Bab-droid | ^^ | 0.0.19 | ^^ |
|
||||
| ^^ | ^^ | K-Hobert | ^^ | Unknown | ^^ |
|
||||
| ^^ | ^^ | cboukouv | ^^ | 0.0.21 | ^^ |
|
||||
| MacBookAir6,1 | <span style="color:red"> NO </span> | N/A | N/A | N/A | N/A |
|
||||
| MacBookAir6,2 | ^^ | ^^ | ^^ | ^^ | ^^ |
|
||||
|
||||
:::
|
||||
|
||||
::: details MacBook Pro
|
||||
|
||||
| SMBIOS | Tested | Tester | Model | Version | Comment |
|
||||
| :--- | :--- | :--- | :--- | :--- | :--- |
|
||||
| MacBookPro4,1 | <span style="color:#30BCD5"> YES </span> | cboukouv | Stock | 0.0.19 | N/A |
|
||||
| MacBookPro5,1 | ^^ | GURU_Jasho#5736 | ^^ | 0.0.21 | ^^ |
|
||||
| MacBookPro5,2 | ^^ | hvds | ^^ | ^^ | ^^ |
|
||||
| MacBookPro5,3 | ^^ | kommtzeitkonrad | ^^ | 0.0.22 | ^^ |
|
||||
| MacBookPro5,4 | <span style="color:red"> NO </span> | N/A | N/A | N/A | ^^ |
|
||||
| MacBookPro5,5 | <span style="color:#30BCD5"> YES </span> | ASentientHedgehog | Stock | - | ^^ |
|
||||
| ^^ | ^^ | ParaDoX1994 | Stock | 0.4.5 | Camera/Bluetooth not working (connector broken) |
|
||||
| MacBookPro6,1 | <span style="color:red"> NO </span> | N/A | N/A | N/A | N/A |
|
||||
| MacBookPro6,2 | <span style="color:#30BCD5"> YES </span> | Jakeluke | Stock | Unknown | dGPU broken |
|
||||
| MacBookPro7,1 | ^^ | fussel132 | ^^ | 0.1.2 | N/A
|
||||
| ^^ | ^^ | casey1234 | Upgraded | 0.3.3 | Upgraded SSD |
|
||||
| MacBookPro8,1 | <span style="color:#30BCD5"> YES </span> | AvaQueen | Stock | 0.0.19 | N/A |
|
||||
| MacBookPro8,1 | ^^ | charly-black | Upgraded | 0.3.1 | Upgraded BCM94331PCIEBT4CAX |
|
||||
| MacBookPro8,2 | ^^ | air.man | Stock | 0.0.22 | dGPU disabled |
|
||||
| ^^ | ^^ | cboukouv | ^^ | 0.0.19 | N/A |
|
||||
| MacBookPro8,3 | ^^ | lulujyc | ^^ | 0.1.4 | dGPU disabled |
|
||||
| MacBookPro9,1 | <span style="color:#30BCD5"> YES </span>| jbdamiano | Stock | 0.0.19 | N/A |
|
||||
| ^^ | ^^ | dennes544 | ^^ | ^^ | ^^ |
|
||||
| ^^ | ^^ | cgrazy | ^^ | ^^ | ^^ |
|
||||
| ^^ | ^^ | LIPA85 | ^^ | ^^ | ^^ |
|
||||
| MacBookPro9,2 | <span style="color:#30BCD5"> YES </span> | alexx17xx | ^^ | ^^ | ^^ |
|
||||
| ^^ | ^^ | Arvxistanx | ^^ | ^^ | ^^ |
|
||||
| ^^ | ^^ | CyberDroid1 | ^^ | 0.0.16 | ^^ |
|
||||
| ^^ | ^^ | woefi | Upgraded | 0.0.13 | Upgraded BCM94331CAX |
|
||||
| ^^ | ^^ | whgmkeller | Stock | 0.0.11 | N/A |
|
||||
| ^^ | ^^ | vinaypundith | Unknown | 0.0.7 | ^^ |
|
||||
| ^^ | ^^ | casey1234 | Upgraded | 0.3.3 | Upgraded RAM and SSD |
|
||||
| ^^ | ^^ | crystall1nedev | Upgraded | 0.4.4 | ^^ |
|
||||
| MacBookPro10,1 | <span style="color:#30BCD5"> YES </span> | traviswparker | Stock | 0.0.14 | N/A |
|
||||
| ^^ | ^^ | il-rollino | Upgraded | 0.0.21 | Upgraded BCM94360CSAX |
|
||||
| MacBookPro10,2 | ^^ | akidone | ^^ | 0.3.0 | ^^ |
|
||||
| MacBookPro11,1 | <span style="color:#30BCD5"> YES </span> | ParaDoX1994 | Stock | 0.4.4 | N/A |
|
||||
| MacBookPro11,2 | ^^ | casey1234 | ^^ | 0.3.3 | ^^ |
|
||||
| MacBookPro11,3 | <span style="color:red"> NO </span> | N/A | N/A | N/A | N/A |
|
||||
:::
|
||||
|
||||
::: details Mac mini
|
||||
|
||||
| SMBIOS | Tested | Tester | Model | Version | Comment |
|
||||
| :--- | :--- | :--- | :--- | :--- | :--- |
|
||||
| Macmini3,1 | <span style="color:#30BCD5"> YES </span> | ASentientHedgehog | Stock | N/A | N/A |
|
||||
| Macmini4,1 | <span style="color:#30BCD5"> YES </span> | Towster15#6369 | ^^ | 0.4.4 | Does not have internal SATA cable, booted and installed to SSD over USB 2.0 instead |
|
||||
| ^^ | ^^ | MykolaG | ^^ | 0.4.5 | SD card reader possibly broken. |
|
||||
| Macmini5,1 | <span style="color:#30BCD5"> YES </span> | MykolaG | ^^ | 0.4.5 | N/A |
|
||||
| Macmini5,2 | ^^ | charly-black | ^^ | 0.3.1 | ^^ |
|
||||
| ^^ | ^^ | MykolaG | ^^ | 0.4.5 | SD card reader possibly broken. |
|
||||
| Macmini5,3 | <span style="color:red"> NO </span> | N/A | N/A | N/A | N/A |
|
||||
| Macmini6,1 | <span style="color:#30BCD5"> YES </span> | cicofz | Stock | 0.0.21 | ^^ |
|
||||
| ^^ | ^^ | Stig124 | ^^ | 0.0.19 | ^^ |
|
||||
| ^^ | ^^ | mwidjaya | ^^ |0.0.18 | ^^ |
|
||||
| ^^| ^^ | MykolaG | ^^ | 0.4.5 | ^^ |
|
||||
| Macmini6,2 | ^^ | Shelbs | ^^ | 0.0.16 | ^^ |
|
||||
| Macmini7,1 | <span style="color:#30BCD5"> YES </span> | MykolaG | ^^ | 0.4.5 | ^^ |
|
||||
| Macmini8,1 | ^^ | ^^ | ^^ | 0.4.5 | ^^ |
|
||||
:::
|
||||
|
||||
::: details iMac
|
||||
|
||||
| SMBIOS | Tested | Tester | Model | Version | Comment |
|
||||
| :--- | :--- | :--- | :--- | :--- | :--- |
|
||||
| iMac7,1 | <span style="color:#30BCD5"> YES </span> | lulujyc | Upgraded | 0.3.1 | Upgraded with BCM94352HMB <br><br> The USB 1.1 controller is unstable on Big Sur+, using USB hubs (forcing USB 2.0) can fix unrecognized keyboard/ mouse. |
|
||||
| iMac8,1 | <span style="color:#30BCD5"> YES </span> | EduCovas | Stock | 0.0.21 | N/A |
|
||||
| iMac9,1 | <span style="color:#30BCD5"> YES </span> | Allanrfox | ^^ | ^^ | ^^ |
|
||||
| ^^ | ^^ | Jakeluke | ^^ | ^^ | ^^ |
|
||||
| iMac10,1 | <span style="color:#30BCD5"> YES </span> | Ausdauersportler | Upgraded | Unknown | Upgraded with WX4150 |
|
||||
| iMac11,1 | ^^ | internetzel | ^^ | ^^ | Upgraded RX580 mobile |
|
||||
| iMac11,2 | ^^ | MykolaG | Stock | 0.0.21 | N/A |
|
||||
| ^^ | ^^ | iMac-iPad | ^^ | ^^ | ^^ |
|
||||
| ^^ | ^^ | vinaypundith | Unknown | 0.0.19 | ^^ |
|
||||
| iMac11,3 | ^^ | Ausdauersportler | Upgraded | 0.0.21 | Upgraded with Polaris GPU and BCM943602CDP |
|
||||
| iMac12,1 | <span style="color:#30BCD5"> YES </span> | shnockdu | ^^ | ^^ | Upgraded with Kepler GPU |
|
||||
| ^^ | ^^ | StephN999 | ^^ | ^^ | Upgraded with WX4150 GPU and BCM94360CD |
|
||||
| iMac12,2 | ^^ | Ausdauersportler | ^^ | ^^ | Upgraded with Polaris GPU and BCM943602CDP |
|
||||
| iMac13,1 | <span style="color:#30BCD5"> YES </span> | alexx17xx | Stock | 0.0.19 | N/A |
|
||||
| iMac13,2 | ^^ | Alain13 | ^^ | ^^ | ^^ |
|
||||
| ^^ | ^^ | algernonpule | ^^ | ^^ | ^^ |
|
||||
| iMac13,3 | <span style="color:red"> NO </span> | N/A | N/A | N/A | ^^ |
|
||||
| iMac14,1 | <span style="color:#30BCD5"> YES </span> | woefi | Upgraded | 0.0.21 | Upgraded NVMe |
|
||||
| ^^ | ^^ | mikeboss | Stock | 0.0.19 | N/A |
|
||||
| iMac14,2 | ^^ | OKonnel | ^^ | 0.0.22 | ^^ |
|
||||
| ^^ | ^^ | mibaxx | ^^ | 0.0.21 | ^^ |
|
||||
| iMac14,3 | ^^ | StupeFied | ^^ | 0.4.5 | ^^ |
|
||||
| iMac15,1 | <span style="color:#30BCD5"> YES </span> | JakubMazur | Upgraded | 0.4.1 | Upgraded RAM, Radeon R9 M295X and Quad-Core Intel Core i7 |
|
||||
:::
|
||||
|
||||
::: details Mac Pro
|
||||
|
||||
| SMBIOS | Tested | Tester | Model | Version | Comment |
|
||||
| :--- | :--- | :--- | :--- | :--- | :--- |
|
||||
| MacPro3,1 | <span style="color:#30BCD5"> YES </span> | MykolaG | Upgraded | 0.1.6 | Upgraded RX 470 and BCM94360CD.<br/>Stock Bluetooth card removed. |
|
||||
| ^^ | ^^ | christiann | ^^ | 0.0.21 | Upgraded RX 560 and BCM94322.<br/>Stock Bluetooth card removed. |
|
||||
| ^^ | ^^ | gw463 | ^^ | 0.0.22 | Upgraded GTX 680 and BCM94360 |
|
||||
| ^^ | ^^ | AlexSakha67 | ^^ | 0.0.20 | Upgraded R9 280 |
|
||||
| ^^ | ^^ | nekton1 | ^^ | ^^ | Upgraded GTX 680 |
|
||||
| ^^ | ^^ | Pri-est | Unknown | 0.0.9 | N/A |
|
||||
| ^^ | ^^ | vinaypundith | Upgraded | 0.0.6 | Upgraded with GTX 680 and BCM94360CD. |
|
||||
| ^^ | ^^ | ParaDoX1994 | ^^ | 0.4.4 | Upgraded with HD 7950.<br/>Stock Bluetooth card removed. |
|
||||
| MacPro4,1 | <span style="color:#30BCD5"> YES </span> | vinaypundith | Unknown | 0.0.9 | N/A |
|
||||
| MacPro5,1 | ^^ | woefi | Upgraded | 0.0.21 | Upgraded with RX 580. |
|
||||
| ^^ | ^^ | Mabrouk Oscar | Unknown | ^^ | N/A |
|
||||
| ^^ | ^^ | astuffedtiger | Flashed | 0.0.18 | MacPro4,1 flashed to 5,1 |
|
||||
:::
|
||||
@@ -1,14 +1,14 @@
|
||||
# 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)
|
||||
* [Stuck on `This version of Mac OS X is not supported on this platform` or (🚫) Prohibited Symbol](#stuck-on-this-version-of-mac-os-x-is-not-supported-on-this-platform-or-(🚫)-prohibited-symbol)
|
||||
* [Cannot boot macOS without the USB](#cannot-boot-macos-without-the-usb)
|
||||
* [Infinite Recovery OS Booting](#infinite-recovery-os-reboot)
|
||||
* [Stuck on boot after root patching](#stuck-on-boot-after-root-patching)
|
||||
* [Reboot when entering Hibernation (`Sleep Wake Failure`)](#reboot-when-entering-hibernation-sleep-wake-failure)
|
||||
* [Booting with a non-flashed GPU](#booting-with-a-non-flashed-gpu)
|
||||
* [How to Boot Big Sur Recovery](#how-to-boot-big-sur-recovery)
|
||||
* [How to Boot Recovery through OpenCore Legacy Patcher](#how-to-boot-recovery-through-opencore-legacy-patcher)
|
||||
* [Stuck on "Your Mac needs a firmware update"](#stuck-on-your-mac-needs-a-firmware-update)
|
||||
* [No Brightness Control](#no-brightness-control)
|
||||
* [Cannot connect Wi-Fi on Monterey with legacy cards](#cannot-connect-Wi-Fi-on-Monterey-with-legacy-cards)
|
||||
@@ -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
|
||||
@@ -30,15 +30,19 @@ If the application won't launch (e.g. icon will bounce in the Dock), try launchi
|
||||
/Applications/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher
|
||||
```
|
||||
|
||||
## Stuck on `This version of Mac OS X is not supported on this platform`
|
||||
## Stuck on `This version of Mac OS X is not supported on this platform` or (🚫) Prohibited Symbol
|
||||
|
||||
This means macOS has detected an SMBIOS it does not support. To resolve this, ensure you're booting OpenCore **before** the macOS installer in the boot picker. Reminder that the option will be called `EFI Boot`.
|
||||
|
||||
Once you've booted OpenCore at least once, your hardware should now auto-boot it until either an NVRAM reset occurs, or you remove the drive with OpenCore installed.
|
||||
|
||||
However, if the 🚫 Symbol only appears after the boot process has already started (the bootscreen appears/verbose boot starts), it could mean that your USB drive has failed to pass macOS' integrity checks. To resolve this, create a new installer using a different USB drive (preferably of a different model.)
|
||||
|
||||
## Cannot boot macOS without the USB
|
||||
|
||||
By default, the OpenCore Patcher won't install OpenCore onto the internal drive itself during installs. Instead, you'll need to either [manually transfer](https://dortania.github.io/OpenCore-Post-Install/universal/oc2hdd.html) OpenCore to the internal drive's EFI or run this patcher's Option 2 again and select your internal drive.
|
||||
By default, the OpenCore Patcher won't install OpenCore onto the internal drive itself during installs.
|
||||
|
||||
After installing macOS, OpenCore Legacy Patcher should automatically prompt you to install OpenCore onto the internal drive. However, if it doesn't show the prompt, you'll need to either [manually transfer](https://dortania.github.io/OpenCore-Post-Install/universal/oc2hdd.html) OpenCore to the internal drive's EFI or Build and Install again and select your internal drive.
|
||||
|
||||
Reminder that once this is done, you'll need to select OpenCore in the boot picker again for your hardware to remember this entry and auto boot from then on.
|
||||
|
||||
@@ -46,7 +50,33 @@ 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.
|
||||
|
||||
## Stuck on boot after root patching
|
||||
|
||||
Boot into recovery by pressing space when your disk is selected on the OCLP bootpicker (if you have it hidden, hold ESC while starting up)
|
||||
|
||||
* **Note:** If your disk name is something else than "Macintosh HD", make sure to change the path accordingly. You can figure out your disk name by typing `ls /Volumes`.
|
||||
|
||||
Go into terminal and first mount the disk by typing
|
||||
```sh
|
||||
mount -uw "/Volumes/Macintosh HD"
|
||||
```
|
||||
Then revert the snapshot
|
||||
```sh
|
||||
bless --mount "/Volumes/Macintosh HD" --bootefi --last-sealed-snapshot
|
||||
```
|
||||
Now we're going to clean the /Library/Extensions folder from offending kexts while keeping needed ones.
|
||||
|
||||
Run the following and **make sure to type it carefully**
|
||||
|
||||
```sh
|
||||
cd "/Volumes/Macintosh HD/Library/Extensions" && ls | grep -v "HighPoint*\|SoftRAID*" | xargs rm -rf
|
||||
```
|
||||
|
||||
Then restart and now your system should be restored to the unpatched snapshot and should be able to boot again.
|
||||
|
||||
|
||||
|
||||
## Reboot when entering Hibernation (`Sleep Wake Failure`)
|
||||
|
||||
@@ -56,21 +86,7 @@ With OpenCore Legacy Patcher, we rely on Apple Secure Boot to ensure OS updates
|
||||
sudo pmset -a hibernatemode 0
|
||||
```
|
||||
|
||||
## Booting with a non-flashed GPU
|
||||
|
||||
For Mac Pro, Xserve and iMac users with non-flashed GPUs, you can still easily boot OpenCore and view the entire boot process. To do so, make sure SIP is disabled (to allow NVRAM write access) and run the following:
|
||||
|
||||
```sh
|
||||
sudo bless --verbose --file /Volumes/VOLNAME/EFI/OC/OpenCore.efi --folder /Volumes/VOLNAME/EFI/OC --setBoot
|
||||
```
|
||||
|
||||
* Note 1: You will need to replace `VOLNAME` with the Volume name of your USB or hard drive with OpenCore.
|
||||
* Note 2: Once done, you can re-enable SIP.
|
||||
* Note 3: The EFI partition OpenCore was installed on must be mounted. If it's unmounted, simply rerun "Install OpenCore to drive."
|
||||
|
||||
Once you boot OpenCore for the first time, LauncherOption will install itself as the top boot priority, making OpenCore always launch. Combined with `RequestBootVar`, all boot options must go through OpenCore, ensuring seamless usage even with OS installation and updates.
|
||||
|
||||
## How to Boot Big Sur Recovery
|
||||
## How to Boot Recovery through OpenCore Legacy Patcher
|
||||
|
||||
By default, the patcher will try to hide extra boot options such as recovery from the user. To make them appear, simply press the `Spacebar` key while inside OpenCore's Picker to list all boot options.
|
||||
|
||||
@@ -92,11 +108,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 +167,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 +177,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 | MacBook5,1 - MacBook7,1 | |
|
||||
| MacBook Air | Late 2010 and older | MacBookAir2,1 - MacBookAir3,x | |
|
||||
| MacBook Pro | Mid 2010 and older | MacBookPro4,1 - MacBookPro7,x | Excludes Mid 2010 15" and 17" (MacBookPro6,x) |
|
||||
| iMac | Late 2009 and older | iMac7,1 - iMac10,x | Excludes Core i5/7 27" late 2009 iMac (iMac11,1) |
|
||||
| Mac mini | Mid 2011 and older | Macmini3,1 - Macmini5,x | |
|
||||
| Mac Pro | Mid 2010 and older | MacPro3,1 - MacPro5,1 | |
|
||||
|
||||
|
||||

|
||||
|
||||
@@ -1,14 +1,23 @@
|
||||
# Uninstalling OpenCore
|
||||
|
||||
To remove OpenCore:
|
||||
## Uninstalling the bootloader
|
||||
|
||||
1. Remove OpenCore either from the USB or internal drive
|
||||
|
||||
* You'll need to mount the drive's EFI partition, and delete the `EFI/OC` 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)
|
||||
|
||||
Note that if you are on Big Sur when you remove the EFI folder, your Mac will no longer boot and show the "prohibited" symbol. Be ready to install an older version of macOS before you uninstall OpenCore.
|
||||
:::warning
|
||||
|
||||
Note that after you remove OpenCore, your Mac will no longer boot and show the "prohibited" symbol. Be ready to install a natively-supported version of macOS before you uninstall OpenCore.
|
||||
|
||||
* This does not apply to native Macs just using OpenCore to achieve features like AirPlay to Mac and Sidecar, but it is still recommended to reinstall macOS after removing OpenCore, if using SMBIOS spoofing to enable Universal Control and other features.
|
||||
:::
|
||||
|
||||
## Uninstalling the application
|
||||
|
||||
If you want to remove the application without reinstalling the OS, navigate to `/Library/Application Support/` and delete the Dortania folder.
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
|
||||
# Universal Control on unsupported Macs
|
||||
|
||||
Introduced in macOS 12 Monterey, Universal Control is a feature that allows a Mac to control other Macs and/or iPads, share input devices, and share files across them simultaneously. With OpenCore and FeatureUnlock, Universal Control can be unlocked for most unsupported Macs, as long as they meet the technical requirements listed on this page.
|
||||
@@ -28,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.
|
||||
|
||||
|
||||
|
||||
@@ -50,8 +51,7 @@ Note: For AirPort upgrades, only the best/newest cards are listed.
|
||||
|
||||
| SMBIOS | WiFi/BT version | UC OOB | Comment |
|
||||
|------------|-----------------|------------|---------|
|
||||
| MacBook4,1 | Wi-Fi 4 / BT 2.0 EDR | <span style="color:red"> NO </span> | Replace stock AirPort card with an mPCIE + USB Connector Adapter board with a BCM94360CS2 card |
|
||||
| MacBook5,1 | ^^ | ^^ | <span style="color:red"> Use a Broadcom USB Bluetooth 4.0+ Dongle </span> |
|
||||
| MacBook5,1 | Wi-Fi 4 / BT 2.0 EDR | <span style="color:red"> NO </span> | Use a Broadcom USB Bluetooth 4.0+ Dongle </span> |
|
||||
| MacBook5,2 | WiFi 4 / BT 2.1 EDR | ^^ | Replace stock AirPort card with an mPCIE + USB Connector Adapter board with a BCM94360CS2 card |
|
||||
| MacBook6,1 | ^^ | ^^ | Replace stock AirPort card with a BCM94331PCIEBT4CAX/BCM94331PCIEBT4 card |
|
||||
| MacBook7,1 | ^^ | ^^ | ^^ |
|
||||
@@ -202,37 +202,107 @@ Before we continue, please keep in mind that SMBIOS Spoofing is an advanced feat
|
||||
|
||||
### How to spoof
|
||||
|
||||
Firstly, run the GUI version of OpenCore Legacy Patcher, go to **Settings** and tick **Allow native models**.
|
||||
Ventura has dropped more models which includes all of the blacklisted Macs in question, making the procedure slightly different. It is important to follow the guide for the version you're on, failing to do so is likely to cause boot issues.
|
||||
|
||||
**Note:** Unless you are building OpenCore on a different machine than it's targeted for, **do not** change the model in the main settings view. It is important to understand that OCLP targets this model regardless of what you may have spoofed to, as your Mac is still what the Native SMBIOS shows.
|
||||
::: details macOS Sonoma
|
||||
|
||||
Secondly, 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.**
|
||||
Firstly run OpenCore Legacy Patcher.
|
||||
|
||||
Then go to **Settings** and **SMBIOS** tab, set SMBIOS Spoof Level to **Moderate**. Set SMBIOS Spoof Model **one listed next to your native model in the table for spoofed models below.**
|
||||
|
||||
Notice that "Allow native models" and "Allow Native Spoofs" **are NOT** enabled unlike on Monterey, this is on purpose. They are no longer relevant on Sonoma and enabling them will cause boot issues.
|
||||
|
||||
| Main Settings view | SMBIOS settings |
|
||||
| :--- | :--- |
|
||||
|  |  |
|
||||
|
||||
|
||||
|
||||
::: details Table for spoofed models (click to expand)
|
||||
|
||||
Spoofing to any model with native Sonoma support should work, but these are the earliest Macs natively supported by Sonoma and thus chosen for the sake of simplicity.
|
||||
|
||||
**Reminder:** Macs that are not listed on this table work without spoofing, including systems that do not natively support Ventura as long as the other requirements are met, since they aren't blacklisted.
|
||||
|
||||
|
||||
| Mac by name | Native SMBIOS | Spoof SMBIOS |
|
||||
|-------------|---------------|--------------|
|
||||
| MacBook Air Early 2015 11" / 13" | MacBookAir7,x | MacBookAir8,1 |
|
||||
| MacBook Pro Early 2015 13" | MacBookPro12,x | MacBookPro15,2 |
|
||||
| MacBook Pro Mid 2015 15" | MacBookPro11,4 / 11,5 | MacBookPro15,2 |
|
||||
| iMac Late 2015 21" | iMac16,x | iMac19,2 |
|
||||
| Mac mini Late 2014 | Macmini7,x | MacMini8,1 |
|
||||
| Mac Pro Late 2013 | MacPro6,x | MacPro7,1 |
|
||||
|
||||
:::
|
||||
|
||||
::: details macOS Ventura
|
||||
|
||||
Firstly run OpenCore Legacy Patcher.
|
||||
|
||||
Then go to **Settings** and **SMBIOS** tab, set SMBIOS Spoof Level to **Moderate**. Set SMBIOS Spoof Model **one listed next to your native model in the table for spoofed models below.**
|
||||
|
||||
Notice that "Allow native models" and "Allow Native Spoofs" **are NOT** enabled unlike on Monterey, this is on purpose. They are no longer relevant on Ventura and enabling them will cause boot issues.
|
||||
|
||||
| Main Settings view | SMBIOS settings |
|
||||
| :--- | :--- |
|
||||
|  |  |
|
||||
|
||||
|
||||
|
||||
::: details Table for spoofed models (click to expand)
|
||||
|
||||
Spoofing to any model with native Ventura support should work, but these are the earliest Macs natively supported by Ventura and thus chosen for the sake of simplicity.
|
||||
|
||||
**Reminder:** Macs that are not listed on this table work without spoofing, including systems that do not natively support Ventura as long as the other requirements are met, since they aren't blacklisted.
|
||||
|
||||
|
||||
| Mac by name | Native SMBIOS | Spoof SMBIOS |
|
||||
|-------------|---------------|--------------|
|
||||
| MacBook Air Early 2015 11" / 13" | MacBookAir7,x | MacBookAir8,1 |
|
||||
| MacBook Pro Early 2015 13" | MacBookPro12,x | MacBookPro14,1 |
|
||||
| MacBook Pro Mid 2015 15" | MacBookPro11,4 / 11,5 | MacBookPro14,3 |
|
||||
| iMac Late 2015 21" | iMac16,x | iMac18,2 |
|
||||
| Mac mini Late 2014 | Macmini7,x | MacMini8,1 |
|
||||
| Mac Pro Late 2013 | MacPro6,x | MacPro7,1 |
|
||||
|
||||
:::
|
||||
|
||||
::: details macOS Monterey
|
||||
|
||||
Firstly, run OpenCore Legacy Patcher. Secondly, go to **Settings** then the **App** tab and tick **Allow native models**.
|
||||
|
||||
[](../images/OCLP-App-Allow-Native-Models.png)
|
||||
|
||||
Then, go to **SMBIOS** tab, tick **Allow spoofing native Macs**, set SMBIOS Spoof Level to **Moderate**. Set SMBIOS Spoof Model to **one listed next to your native model in the table for spoofed models below.**
|
||||
|
||||
|
||||
| Main Settings view | SMBIOS settings |
|
||||
| :--- | :--- |
|
||||
|  |  |
|
||||
|
||||
|
||||
::: 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 |
|
||||
|-------------|---------------|--------------|--------|-----------|
|
||||
| MacBook Air Early 2015 11" / 13" | MacBookAir7,x | MacBookAir8,1 | <span style="color:#30BCD5"> YES </span> | Hzlph |
|
||||
| MacBook Pro Early 2015 13" | MacBookPro12,x | MacBookPro13,1 | ^^ | ^^ |
|
||||
| MacBook Pro Mid 2015 15" | MacBookPro11,4 / 11,5 | MacBookPro13,3 | ^^ | ^^
|
||||
| iMac Late 2015 21" | iMac16,x | iMac18,2 | ^^ | ^^
|
||||
| Mac mini Late 2014 | Macmini7,x | MacMini8,1 | <span style="color:red"> NO </span> | N/A |
|
||||
| Mac Pro Late 2013 | MacPro6,x | MacPro7,1 | <span style="color:#30BCD5"> YES </span> | Crystall1nedev |
|
||||
| Mac by name | Native SMBIOS | Spoof SMBIOS |
|
||||
|-------------|---------------|--------------|
|
||||
| MacBook Air Early 2015 11" / 13" | MacBookAir7,x | MacBookAir8,1 |
|
||||
| MacBook Pro Early 2015 13" | MacBookPro12,x | MacBookPro13,1 |
|
||||
| MacBook Pro Mid 2015 15" | MacBookPro11,4 / 11,5 | MacBookPro13,3 |
|
||||
| iMac Late 2015 21" | iMac16,x | iMac18,2 |
|
||||
| Mac mini Late 2014 | Macmini7,x | MacMini8,1 |
|
||||
| Mac Pro Late 2013 | MacPro6,x | MacPro7,1 |
|
||||
|
||||
:::
|
||||
|
||||
| Main Settings view | SMBIOS settings |
|
||||
| :--- | :--- |
|
||||
|  |  |
|
||||
**Note:** Unless you are building OpenCore on a different machine than it's targeted for, **do not** change the model in the main settings view. It is important to understand that OCLP targets this model regardless of what you may have spoofed to, as your Mac is still what the Native SMBIOS shows.
|
||||
|
||||
|
||||
Build and install OpenCore again, and reboot back to the OS. Enable Universal Control as explained in the [Enabling Universal Control section.](#enabling-universal-control)
|
||||
Lastly, Build and install OpenCore again, and reboot back to the OS. Enable Universal Control as explained in the [Enabling Universal Control section.](#enabling-universal-control)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -19,4 +19,4 @@ nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:OCLP-Version
|
||||
|
||||

|
||||
|
||||
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!
|
||||
|
||||
138
docs/VENTURA-DROP.md
Normal file
@@ -0,0 +1,138 @@
|
||||

|
||||
|
||||
With the release of OpenCore Legacy Patcher v0.5.0 and newer, early support for macOS Ventura has been implemented for most Metal-capable Macs. This page will be used to inform users regarding current issues and will be updated as new patch sets are developed and added to our patcher.
|
||||
|
||||
## Newly dropped hardware
|
||||
|
||||
Ventura's release dropped a large amount of Intel hardware, thus requiring the usage of OpenCore Legacy Patcher on the following models (in addition to previously removed models):
|
||||
|
||||
* iMac16,1 (21.5-inch, Late 2015)
|
||||
* iMac16,2 (21.5-inch and 21.5-inch 4K, Late 2015)
|
||||
* iMac17,1 (27-inch 5K, Late 2015)
|
||||
* MacBook9,1 (12-inch, Early 2016)
|
||||
* MacBookAir7,1 (11-inch, Early 2015)
|
||||
* MacBookAir7,2 (13-inch, Early 2015)
|
||||
* MacBookPro11,4 (15-inch, Mid 2015, iGPU)
|
||||
* MacBookPro11,5 (15-inch, Mid 2015, dGPU)
|
||||
* MacBookPro12,1 (13-inch, Early 2015)
|
||||
* MacBookPro13,1 (13-inch, Late 2016)
|
||||
* MacBookPro13,2 (13-inch, Late 2016)
|
||||
* MacBookPro13,3 (15-inch, Late 2016)
|
||||
* Macmini7,1 (Late 2014)
|
||||
* MacPro6,1 (Late 2013)
|
||||
|
||||
|
||||
## Current status
|
||||
|
||||
<img width="625" alt="" src="../images/OCLP-060-Initial-Support.png">
|
||||
|
||||
For older hardware, see below sections:
|
||||
|
||||
* [Currently Unsupported/Broken Hardware in Ventura](#currently-unsupportedbroken-hardware-in-ventura)
|
||||
* [AMD Polaris, Vega and Navi support on pre-2019 Mac Pros and pre-2012 iMacs](#amd-polaris-vega-and-navi-support-on-pre-2019-mac-pros-and-pre-2012-imacs)
|
||||
* [USB 1.1 (OHCI/UHCI) Support](#usb-11-ohciuhci-support)
|
||||
* [Ethernet issue with Early 2008 Mac Pro](#ethernet-issue-with-early-2008-mac-pro)
|
||||
|
||||
The team is doing their best to investigate and fix the aforementioned issues, however no estimated time can be provided.
|
||||
|
||||
## Currently Unsupported/Broken Hardware in Ventura
|
||||
|
||||
### AMD Polaris, Vega and Navi support on pre-2019 Mac Pros and pre-2012 iMacs
|
||||
|
||||
For users with 2008 to 2013 Mac Pros (MacPro3,1-6,1) and 2009 to 2011 iMacs (iMac9,1-12,2), keep in mind that macOS Ventura now requires [AVX2.0 support in the CPU](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#Advanced_Vector_Extensions_2) for native graphics acceleration. Thus while your GPU may be natively supported, you cannot run Ventura officially with these GPUs.
|
||||
|
||||
* CPUs supporting AVX2.0 are Haswell or newer, which no pre-2019 Mac Pros can be upgraded with.
|
||||
|
||||
Currently at this time, OpenCore Legacy Patcher only supports patching the AMD Polaris and Vega Graphics stack to no longer require AVX2.0. We're recently received an AMD RX 6600 donation, so hopefully in the future the project can support AMD Navi with pre-Haswell Macs. However, no time estimates can be given.
|
||||
|
||||
Following GPUs are applicable:
|
||||
|
||||
| GPU Architecture | Model Families | Supported |
|
||||
| :--- | :--- | :--- |
|
||||
| AMD Polaris | RX 4xx/5xx (10/20 series) | <span style="color:#30BCD5"> Supported with patching </span> |
|
||||
| AMD Vega | Vega 56/64/VII (10/20 series) | ^^ |
|
||||
| AMD Navi | RX 5xxx/6xxx (10/20 series) | <span style="color:red"> Unsupported </span> |
|
||||
|
||||
|
||||
### USB 1.1 (OHCI/UHCI) Support
|
||||
|
||||
For Penryn systems and pre-2013 Mac Pros, USB 1.1 support was outright removed in macOS Ventura. While USB 1.1 may seem unimportant, it handles many important devices on your system. These include:
|
||||
|
||||
* Keyboard and Trackpad for laptops
|
||||
* IR Receivers
|
||||
* Bluetooth
|
||||
|
||||
With OpenCore Legacy Patcher v0.6.0, basic support has been implemented via Root Volume patching. However due to this, users will need to use a USB hub for installation and post-OS updates when patches are cleaned:
|
||||
|
||||

|
||||
|
||||
::: warning The following systems rely on USB 1.1
|
||||
|
||||
* iMac10,x and older
|
||||
* Macmini3,1 and older
|
||||
* MacBook7,1 and older
|
||||
* MacBookAir3,1 and older
|
||||
* MacBookPro7,1 and older
|
||||
* MacBookPro6,x is exempt
|
||||
* MacPro5,1 and older
|
||||
|
||||
:::
|
||||
|
||||
::: details Legacy Wireless Support (Resolved in v0.6.0 and newer)
|
||||
|
||||
|
||||
### Legacy Wireless Support
|
||||
|
||||
For systems that required Root Patches in macOS Monterey to achieve Wireless support, unfortunately macOS Ventura has broken the patch set. Currently the following Wifi cards are unsupported:
|
||||
|
||||
* Atheros: All models
|
||||
* Broadcom: BCM94328 and BCM94322
|
||||
|
||||
The following machines shipped stock with these cards:
|
||||
|
||||
* iMac12,x and older
|
||||
* Macmini3,1 and older
|
||||
* MacBook5,x and older
|
||||
* MacBookAir2,1 and older
|
||||
* MacBookPro7,1 and older
|
||||
* MacBookPro6,x is exempt
|
||||
* MacPro5,1 and older
|
||||
|
||||
|
||||
Currently BCM943224, BCM94331, BCM94360 and BCM943602 are still fully supported by OpenCore Legacy Patcher. Consider upgrading to these cards if possible.
|
||||
|
||||
:::
|
||||
|
||||
|
||||
::: details Non-Metal Graphics Acceleration (Resolved in v0.6.0 and newer)
|
||||
|
||||
|
||||
### Non-Metal Graphics Acceleration
|
||||
|
||||
Regarding non-Metal, the team is hard at work to get non-Metal working, however this is our greatest challenge since Big Sur.
|
||||
|
||||
Apple has made significant changes to the graphics stack in order to facilitate fancy effects, and in particularly, Stage Manager. We will update you as we work on development, however, now is not the best time to ask about ETAs.
|
||||
|
||||
The following GPUs are applicable:
|
||||
|
||||
* NVIDIA:
|
||||
* Tesla (8000 - 300 series)
|
||||
* AMD:
|
||||
* TeraScale (2000 - 6000 series)
|
||||
* Intel:
|
||||
* Iron Lake
|
||||
* Sandy Bridge (2000 - 3000 series)
|
||||
|
||||
|
||||
The following machines shipped stock with an unsupported GPU:
|
||||
|
||||
* iMac7,1 - iMac12,x
|
||||
* MacBook5,1 - MacBook7,1
|
||||
* MacBookAir2,1 - MacBookAir4,x
|
||||
* MacBookPro4,1 - MacBookPro8,x
|
||||
* Macmini3,1 - Macmini5,x
|
||||
* MacPro3,1 - MacPro5,1
|
||||
* Xserve2,1 - Xserve3,1
|
||||
|
||||
|
||||
:::
|
||||
216
docs/WINDOWS.md
@@ -1,102 +1,206 @@
|
||||
# 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 modern Windows (10/11) without using Boot Camp Assistant.
|
||||
|
||||
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* Mac Pro or newer (`MacPro4,1`+), upgraded GPU is preferred
|
||||
* 2010 iMac or newer (`iMac11,x`+), upgraded GPU is preferred
|
||||
* 2009* 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/)
|
||||
*`MacPro4,1`, `MacPro5,1`, and `Xserve3,1` systems experience issues with the Windows installer, follow the DISM installation section for instructions.
|
||||
|
||||
## 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:
|
||||
|
||||

|
||||
|
||||
### 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):
|
||||
|
||||

|
||||
|
||||
|
||||
:::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.
|
||||
|
||||

|
||||
|
||||
## 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:
|
||||
|
||||

|
||||
|
||||
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.
|
||||
:::
|
||||
|
||||

|
||||
|
||||
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:
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
## 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" or "Windows". It may or may not have the Boot Camp icon.
|
||||
|
||||

|
||||
:::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).
|
||||
|
||||
::: details Installing Windows 11
|
||||
|
||||
If you are installing Windows 11, you will need to [modify the Windows Setup](https://www.bleepingcomputer.com/news/microsoft/how-to-bypass-the-windows-11-tpm-20-requirement/) to allow installation on unsupported machines.
|
||||
|
||||
:::
|
||||
|
||||
### 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.
|
||||
|
||||

|
||||
|
||||
You will be prompted to confirm the creation of the system partitions, press "OK".
|
||||
|
||||

|
||||
|
||||
Once the partitions are created, select the main (largest) partition and press "Format". This will format the partition using the NFTS file system.
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
Windows is now installed. It should be recognized as "EFI Boot" or "Windows" 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.
|
||||
|
||||

|
||||
|
||||
You can verify that the `Boot` folder is removed by running the `dir` command:
|
||||
|
||||

|
||||
|
||||
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`.
|
||||
|
||||

|
||||
|
||||
Then run `.\brigadier.exe --model=MODEL1,1`, replacing "MODEL1,1" with your machine's SMBIOS model.
|
||||
|
||||

|
||||
|
||||
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`.
|
||||
|
||||

|
||||
|
||||
Then run `.\brigadier.exe --model=MacPro7,1`. This will download the latest BootCamp 6 package.
|
||||
|
||||

|
||||
|
||||
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,12 +220,16 @@ 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.)
|
||||
|
||||
:::
|
||||
|
||||
### iMac12,x Bluescreen after driver installation
|
||||
|
||||
Currently Intel's iGPU drivers for the HD 3000 series do not support UEFI booting in Windows. The recommended solution is to simply disable the iGPU: [iMac 12,1 Windows 10 Boot Loop – Fix Intel Graphics issue](https://zzq.org/?p=39)
|
||||
Intel's iGPU drivers for the HD 3000 series do not support UEFI booting in Windows. The recommended solution is to simply disable the iGPU: [iMac 12,1 Windows 10 Boot Loop – Fix Intel Graphics issue](https://zzq.org/?p=39)
|
||||
|
||||
### NVIDIA Tesla Black Screen after driver installation
|
||||
|
||||
The NVIDIA Tesla GPUs found in 2008-2010 Macs do not support UEFI booting in Windows. You cannot use UEFI Windows without low-level patching on these machines.
|
||||
17636
docs/package-lock.json
generated
@@ -33,19 +33,19 @@
|
||||
},
|
||||
"license": "CC-BY-NC-SA-4.0",
|
||||
"devDependencies": {
|
||||
"@vuepress/plugin-back-to-top": "^1.7.1",
|
||||
"markdown-it-multimd-table": "^4.0.3",
|
||||
"markdown-link-check": "^3.8.5",
|
||||
"markdownlint-cli": "^0.26.0",
|
||||
"run-script-os": "^1.1.4",
|
||||
"spellchecker-cli": "^4.4.0",
|
||||
"vuepress": "^1.7.1",
|
||||
"@vuepress/plugin-back-to-top": "^1.9.10",
|
||||
"markdown-it-multimd-table": "^4.2.3",
|
||||
"markdown-link-check": "^3.11.2",
|
||||
"markdownlint-cli": "^0.37.0",
|
||||
"run-script-os": "^1.1.6",
|
||||
"spellchecker-cli": "^6.1.1",
|
||||
"vuepress": "^1.9.10",
|
||||
"vuepress-plugin-medium-zoom": "^1.1.9",
|
||||
"vuepress-plugin-zooming": "^1.1.8",
|
||||
"vuepress-theme-book": "0.0.5",
|
||||
"vuepress-theme-book": "0.0.9",
|
||||
"vuepress-theme-dark-new": "^0.1.2",
|
||||
"vuepress-theme-succinct": "^1.6.4",
|
||||
"vuepress-theme-yuu": "^2.3.0"
|
||||
"vuepress-theme-succinct": "^1.7.2",
|
||||
"vuepress-theme-yuu": "^3.1.1"
|
||||
},
|
||||
"homepage": "https://dortania.github.io/OpenCore-Legacy-Patcher/"
|
||||
}
|
||||
|
||||
104
gui/gui_help.py
@@ -1,104 +0,0 @@
|
||||
import wx
|
||||
import webbrowser
|
||||
from resources import constants
|
||||
from data import os_data
|
||||
|
||||
class gui_help_menu:
|
||||
def __init__(self, versions, frame, frame_modal):
|
||||
self.constants: constants.Constants = versions
|
||||
self.frame = frame
|
||||
self.frame_modal = frame_modal
|
||||
|
||||
# Define Window Size
|
||||
self.WINDOW_WIDTH_MAIN = 300
|
||||
|
||||
|
||||
def reset_frame_modal(self):
|
||||
if not self.frame_modal:
|
||||
self.frame_modal = wx.Dialog(self.frame)
|
||||
else:
|
||||
self.frame_modal.DestroyChildren()
|
||||
self.frame_modal.Close()
|
||||
if self.constants.detected_os >= os_data.os_data.big_sur:
|
||||
self.frame_modal.ShowWithoutActivating()
|
||||
|
||||
def help_menu(self, event=None):
|
||||
# Define Menu
|
||||
# Header: Get help with OpenCore Legacy Patcher
|
||||
# Subheader: Following resources are available:
|
||||
# Button: Official Guide
|
||||
# Button: Official Discord Server
|
||||
|
||||
self.reset_frame_modal()
|
||||
self.frame_modal.SetSize((self.WINDOW_WIDTH_MAIN, -1))
|
||||
|
||||
# Header
|
||||
self.header = wx.StaticText(self.frame_modal, label="Patcher Resources", pos=(10,10))
|
||||
self.header.SetFont(wx.Font(18, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD))
|
||||
self.header.Centre(wx.HORIZONTAL)
|
||||
|
||||
# Subheader
|
||||
self.subheader = wx.StaticText(self.frame_modal, label="Following resources are available:")
|
||||
self.subheader.SetFont(wx.Font(12, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL))
|
||||
self.subheader.SetPosition(
|
||||
wx.Point(
|
||||
self.header.GetPosition().x,
|
||||
self.header.GetPosition().y + self.header.GetSize().height + 5
|
||||
)
|
||||
)
|
||||
self.subheader.Centre(wx.HORIZONTAL)
|
||||
|
||||
|
||||
# Official Guide
|
||||
self.guide = wx.Button(self.frame_modal, label="Official Guide", size=(200,30))
|
||||
self.guide.SetPosition(
|
||||
wx.Point(
|
||||
self.subheader.GetPosition().x,
|
||||
self.subheader.GetPosition().y + self.subheader.GetSize().height + 5
|
||||
|
||||
)
|
||||
)
|
||||
self.guide.Bind(wx.EVT_BUTTON, lambda event: webbrowser.open(self.constants.guide_link))
|
||||
self.guide.Centre(wx.HORIZONTAL)
|
||||
|
||||
# Official Discord Server
|
||||
self.discord = wx.Button(self.frame_modal, label="Official Discord Server", size=(200,30))
|
||||
self.discord.SetPosition(
|
||||
wx.Point(
|
||||
self.guide.GetPosition().x,
|
||||
self.guide.GetPosition().y + self.guide.GetSize().height
|
||||
)
|
||||
)
|
||||
self.discord.Bind(wx.EVT_BUTTON, lambda event: webbrowser.open(self.constants.discord_link))
|
||||
self.discord.Centre(wx.HORIZONTAL)
|
||||
|
||||
# Overclock Button
|
||||
self.overclock = wx.Button(self.frame_modal, label="Official Support Phone", size=(200,30))
|
||||
self.overclock.SetPosition(
|
||||
wx.Point(
|
||||
self.discord.GetPosition().x,
|
||||
self.discord.GetPosition().y + self.discord.GetSize().height
|
||||
)
|
||||
)
|
||||
self.overclock.Bind(wx.EVT_BUTTON, lambda event: webbrowser.open("https://www.youtube.com/watch?v=dQw4w9WgXcQ"))
|
||||
self.overclock.Centre(wx.HORIZONTAL)
|
||||
|
||||
|
||||
self.return_to_main = wx.Button(self.frame_modal, label="Return to Main Menu", size=(150,30))
|
||||
self.return_to_main.SetPosition(
|
||||
wx.Point(
|
||||
self.overclock.GetPosition().x,
|
||||
self.overclock.GetPosition().y + self.overclock.GetSize().height + 5
|
||||
)
|
||||
)
|
||||
self.return_to_main.Bind(wx.EVT_BUTTON, lambda event: self.frame_modal.Close())
|
||||
self.return_to_main.Centre(wx.HORIZONTAL)
|
||||
|
||||
# Set Window Size to below Copyright Label
|
||||
self.frame_modal.SetSize(
|
||||
(
|
||||
-1,
|
||||
self.return_to_main.GetPosition().y + self.return_to_main.GetSize().height + 40
|
||||
)
|
||||
)
|
||||
self.frame_modal.ShowWindowModal()
|
||||
3513
gui/gui_main.py
@@ -1,43 +0,0 @@
|
||||
import wx
|
||||
import time
|
||||
|
||||
class RedirectText(object):
|
||||
def __init__(self,aWxTextCtrl, sleep):
|
||||
self.out=aWxTextCtrl
|
||||
self.sleep = sleep
|
||||
|
||||
def write(self,string):
|
||||
self.out.WriteText(string)
|
||||
wx.GetApp().Yield()
|
||||
if self.sleep:
|
||||
time.sleep(0.01)
|
||||
|
||||
def fileno(self):
|
||||
return 1
|
||||
|
||||
def flush(self):
|
||||
pass
|
||||
|
||||
class RedirectLabel(object):
|
||||
def __init__(self,aWxTextCtrl):
|
||||
self.out=aWxTextCtrl
|
||||
|
||||
def write(self,string):
|
||||
if string.endswith("MB/s"):
|
||||
self.out.SetLabel(string)
|
||||
self.out.Centre(wx.HORIZONTAL)
|
||||
wx.GetApp().Yield()
|
||||
time.sleep(0.01)
|
||||
|
||||
def flush(self):
|
||||
pass
|
||||
|
||||
class RedirectLabelAll(object):
|
||||
def __init__(self,aWxTextCtrl):
|
||||
self.out=aWxTextCtrl
|
||||
|
||||
def write(self,string):
|
||||
self.out.SetLabel(string)
|
||||
self.out.Centre(wx.HORIZONTAL)
|
||||
wx.GetApp().Yield()
|
||||
time.sleep(0.01)
|
||||
BIN
images/BOOTCAMP-1.png
Normal file
|
After Width: | Height: | Size: 178 KiB |
BIN
images/BOOTCAMP-2.png
Normal file
|
After Width: | Height: | Size: 312 KiB |
BIN
images/DISM-1.png
Executable file
|
After Width: | Height: | Size: 32 KiB |
BIN
images/DISM-2.png
Executable file
|
After Width: | Height: | Size: 41 KiB |
BIN
images/DISM-3.png
Executable file
|
After Width: | Height: | Size: 33 KiB |
BIN
images/DISM-4.png
Executable file
|
After Width: | Height: | Size: 30 KiB |
BIN
images/DISM-5.png
Executable file
|
After Width: | Height: | Size: 48 KiB |
BIN
images/DISM-6.png
Executable file
|
After Width: | Height: | Size: 19 KiB |
BIN
images/DISM-7.png
Executable file
|
After Width: | Height: | Size: 13 KiB |
BIN
images/DISM-8.png
Executable file
|
After Width: | Height: | Size: 15 KiB |
BIN
images/DISM-9.png
Executable file
|
After Width: | Height: | Size: 26 KiB |
BIN
images/OCLP-051-Initial-Support.png
Normal file
|
After Width: | Height: | Size: 782 KiB |
BIN
images/OCLP-060-Initial-Support.png
Normal file
|
After Width: | Height: | Size: 984 KiB |
BIN
images/OCLP-App-Allow-Native-Models.png
Normal file
|
After Width: | Height: | Size: 504 KiB |
|
Before Width: | Height: | Size: 427 KiB After Width: | Height: | Size: 382 KiB |
|
Before Width: | Height: | Size: 307 KiB After Width: | Height: | Size: 446 KiB |
|
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 368 KiB |
|
Before Width: | Height: | Size: 206 KiB After Width: | Height: | Size: 268 KiB |
|
Before Width: | Height: | Size: 240 KiB After Width: | Height: | Size: 201 KiB |
|
Before Width: | Height: | Size: 153 KiB After Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 265 KiB After Width: | Height: | Size: 221 KiB |
BIN
images/OCLP-GUI-Installer-Download-Unsupported.png
Normal file
|
After Width: | Height: | Size: 359 KiB |
|
Before Width: | Height: | Size: 210 KiB After Width: | Height: | Size: 390 KiB |
|
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 384 KiB |
|
Before Width: | Height: | Size: 176 KiB After Width: | Height: | Size: 387 KiB |
|
Before Width: | Height: | Size: 252 KiB After Width: | Height: | Size: 473 KiB |
|
Before Width: | Height: | Size: 238 KiB After Width: | Height: | Size: 492 KiB |
|
Before Width: | Height: | Size: 506 KiB After Width: | Height: | Size: 554 KiB |
|
Before Width: | Height: | Size: 496 KiB After Width: | Height: | Size: 548 KiB |
|
Before Width: | Height: | Size: 499 KiB After Width: | Height: | Size: 551 KiB |
|
Before Width: | Height: | Size: 286 KiB After Width: | Height: | Size: 536 KiB |
|
Before Width: | Height: | Size: 172 KiB After Width: | Height: | Size: 273 KiB |
BIN
images/OCLP-SMBIOS-Allow-Native-Spoof.png
Normal file
|
After Width: | Height: | Size: 476 KiB |
|
Before Width: | Height: | Size: 298 KiB |
|
Before Width: | Height: | Size: 297 KiB |
|
Before Width: | Height: | Size: 309 KiB |
|
Before Width: | Height: | Size: 85 KiB |
|
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 476 KiB |
|
Before Width: | Height: | Size: 370 KiB |
|
Before Width: | Height: | Size: 292 KiB |