Compare commits
1180 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
37769e052a | ||
|
|
d94ffc1472 | ||
|
|
5c9a0c74d4 | ||
|
|
6e20a51d8f | ||
|
|
e0284bffe6 | ||
|
|
2b6d318cfd | ||
|
|
faadb3f740 | ||
|
|
d6a82f08a0 | ||
|
|
3b22a593dd | ||
|
|
56501818a9 | ||
|
|
52225e15b2 | ||
|
|
f75f1aa87a | ||
|
|
e30f8be03d | ||
|
|
fd2662717c | ||
|
|
83cffeb1e5 | ||
|
|
ca734ff055 | ||
|
|
67ddb619c7 | ||
|
|
36b584dc41 | ||
|
|
bf86619e82 | ||
|
|
4acf8b1a67 | ||
|
|
5298c4ecb8 | ||
|
|
be5f9114af | ||
|
|
b1df91cac3 | ||
|
|
60221edb07 | ||
|
|
779d348853 | ||
|
|
fcc0516b6a | ||
|
|
f840e30f36 | ||
|
|
24e645fb07 | ||
|
|
a519d66e90 | ||
|
|
5af6c4ac54 | ||
|
|
57eb61cb9a | ||
|
|
b2b9cc7686 | ||
|
|
5d07311892 | ||
|
|
889b5f3c71 | ||
|
|
eef336ab62 | ||
|
|
c37aa306fd | ||
|
|
48380afdd5 | ||
|
|
1486859d79 | ||
|
|
9a4085ca50 | ||
|
|
936febe2e4 | ||
|
|
3ad2c538be | ||
|
|
f705affcae | ||
|
|
2546e9167f | ||
|
|
f84828483b | ||
|
|
4bfe8b1038 | ||
|
|
89765a6c5f | ||
|
|
4c043ab6dc | ||
|
|
8efc702077 | ||
|
|
90cc87702d | ||
|
|
b27007d55c | ||
|
|
0368ab00b7 | ||
|
|
606dc03b2b | ||
|
|
1799691348 | ||
|
|
fda3a1724d | ||
|
|
b320980aef | ||
|
|
874a0557e3 | ||
|
|
8db9cab06c | ||
|
|
d73f8979eb | ||
|
|
87bdc65e6c | ||
|
|
e325f6a25b | ||
|
|
21b2f86654 | ||
|
|
afb91b8b4f | ||
|
|
2ace124880 | ||
|
|
6b92640b64 | ||
|
|
6689817872 | ||
|
|
15bcfa7b79 | ||
|
|
a5afbc6420 | ||
|
|
da32e3bfcf | ||
|
|
822464a0bf | ||
|
|
b42169f980 | ||
|
|
dd17f5da29 | ||
|
|
9f3d3453df | ||
|
|
95521e2225 | ||
|
|
924cac7577 | ||
|
|
c83e926e7d | ||
|
|
4929715830 | ||
|
|
8fc1bf9572 | ||
|
|
875e77b0d1 | ||
|
|
31bfdc755c | ||
|
|
4424209d3e | ||
|
|
75ca458747 | ||
|
|
7e08d3afc1 | ||
|
|
24a0817890 | ||
|
|
0072cd2988 | ||
|
|
5696dcd934 | ||
|
|
3ac7964fb0 | ||
|
|
dc4238fb09 | ||
|
|
d68d04fd8c | ||
|
|
08852b8f4c | ||
|
|
7463d56ffc | ||
|
|
377b0dd797 | ||
|
|
ec683f21a4 | ||
|
|
dabe66e052 | ||
|
|
91f3b94992 | ||
|
|
699ccd50c5 | ||
|
|
491b5fe078 | ||
|
|
5db6be9828 | ||
|
|
e3871d5c35 | ||
|
|
11a427ef01 | ||
|
|
5c54276a85 | ||
|
|
7f9311c175 | ||
|
|
e4682f6307 | ||
|
|
bc88ed27d1 | ||
|
|
113156c94c | ||
|
|
99879bdcfc | ||
|
|
e1cb78fa0b | ||
|
|
6109d8c92f | ||
|
|
b473d189dd | ||
|
|
3b89fc2950 | ||
|
|
707cc5c45f | ||
|
|
80e5c38ee7 | ||
|
|
1b4fd73673 | ||
|
|
aec3bf4d08 | ||
|
|
1b76b68a1b | ||
|
|
1190e169cb | ||
|
|
ca2fd695b3 | ||
|
|
9669196a07 | ||
|
|
88696c7047 | ||
|
|
8706959f65 | ||
|
|
a63d1953b4 | ||
|
|
6d129505ea | ||
|
|
f12028aa84 | ||
|
|
cf2a58e6bf | ||
|
|
6bc36c737c | ||
|
|
5f07e9ffd9 | ||
|
|
9f4d96d446 | ||
|
|
0ff6a18e83 | ||
|
|
a153b500b9 | ||
|
|
db617db1fd | ||
|
|
69e50aeb6d | ||
|
|
eaa686e045 | ||
|
|
6381910639 | ||
|
|
68d25d30b4 | ||
|
|
16a666e836 | ||
|
|
5e91ea181b | ||
|
|
f4e487c648 | ||
|
|
d1fbeba50f | ||
|
|
8c138658e2 | ||
|
|
729feba2ba | ||
|
|
978d2fda26 | ||
|
|
5e0354531a | ||
|
|
19ed65968d | ||
|
|
b3ad321922 | ||
|
|
5aee1aa60f | ||
|
|
ab22a225c4 | ||
|
|
a97a32730a | ||
|
|
ecde9ce077 | ||
|
|
c3dfc35692 | ||
|
|
cfa5175c72 | ||
|
|
e591f912b9 | ||
|
|
17c130112e | ||
|
|
0b3e45f7ba | ||
|
|
fa89865552 | ||
|
|
f58de2e000 | ||
|
|
f9c1d96aea | ||
|
|
30121d869f | ||
|
|
bb62eded77 | ||
|
|
dd43a0f243 | ||
|
|
ce6195529b | ||
|
|
f26e494450 | ||
|
|
1d336f9dcf | ||
|
|
82fe98a93c | ||
|
|
ee15a55876 | ||
|
|
47a2f71612 | ||
|
|
12e0ffff71 | ||
|
|
d7f3bb7d53 | ||
|
|
06e0e9a2c0 | ||
|
|
12998bc7e1 | ||
|
|
68d13775d9 | ||
|
|
86694de7df | ||
|
|
2d9403c524 | ||
|
|
664b7ddcd4 | ||
|
|
96fd706ead | ||
|
|
a0fa3a8808 | ||
|
|
27383b5bc7 | ||
|
|
4a8f61a01d | ||
|
|
75c6d10089 | ||
|
|
d62e6fda43 | ||
|
|
ee77f76c3a | ||
|
|
ae2a015c67 | ||
|
|
9cbfe5be6a | ||
|
|
3aa6e76c15 | ||
|
|
0484e8e18c | ||
|
|
5a4ee57034 | ||
|
|
e20bc2aca5 | ||
|
|
4d9325b238 | ||
|
|
84bd66fd92 | ||
|
|
b6297d6b63 | ||
|
|
f6ef7583ee | ||
|
|
e8d2b4f63e | ||
|
|
e210c0cbe6 | ||
|
|
9184302c18 | ||
|
|
fdfbbf6ae1 | ||
|
|
4f9abbaa49 | ||
|
|
f524c4441b | ||
|
|
5ca30e8ffe | ||
|
|
5742f745b1 | ||
|
|
91d20b2ad0 | ||
|
|
8272c092ad | ||
|
|
3790555dec | ||
|
|
3537725a13 | ||
|
|
991a089c45 | ||
|
|
8a6faa0836 | ||
|
|
8e1923ee21 | ||
|
|
a2f73a7bdc | ||
|
|
2164463e3b | ||
|
|
a980ba95f9 | ||
|
|
a70b18dd50 | ||
|
|
e33997320b | ||
|
|
b9a5ba7897 | ||
|
|
c0350e036e | ||
|
|
a5f489d48b | ||
|
|
426c572ce2 | ||
|
|
9f4ac80083 | ||
|
|
2e613600de | ||
|
|
3a28ba699f | ||
|
|
fe359f7ea6 | ||
|
|
0e07273c8e | ||
|
|
8b41cc6ff5 | ||
|
|
d563011c72 | ||
|
|
06824e6757 | ||
|
|
cc8bff1e1f | ||
|
|
6102bba478 | ||
|
|
dd40ddc452 | ||
|
|
8d02a7984d | ||
|
|
61281f597a | ||
|
|
11e795026b | ||
|
|
d58e0e3972 | ||
|
|
453703d402 | ||
|
|
dfb84ec72b | ||
|
|
8f98cac918 | ||
|
|
c053fb7244 | ||
|
|
0ccb2c74d2 | ||
|
|
2683b7a7f0 | ||
|
|
86dcf9fb5b | ||
|
|
e31519ac96 | ||
|
|
49fa20ecc3 | ||
|
|
3364ed702a | ||
|
|
32a0289af3 | ||
|
|
a3208acbfe | ||
|
|
983a7bf8d3 | ||
|
|
5d85a98637 | ||
|
|
ba2149407d | ||
|
|
458a2a406a | ||
|
|
374263f926 | ||
|
|
1b5fb1cef6 | ||
|
|
e7897ae857 | ||
|
|
b34239fb8e | ||
|
|
53ea72ed93 | ||
|
|
462e268d0d | ||
|
|
df709afa8d | ||
|
|
7b332e87c4 | ||
|
|
1b2eea6b50 | ||
|
|
0077d6267c | ||
|
|
b18236b237 | ||
|
|
c748b03544 | ||
|
|
81369d1bab | ||
|
|
bf3cc2c9d1 | ||
|
|
159f624060 | ||
|
|
8234738403 | ||
|
|
bf19adef35 | ||
|
|
6c2ed9ad5a | ||
|
|
ac4b796c95 | ||
|
|
afdf49a074 | ||
|
|
48c838d92b | ||
|
|
3e453f4789 | ||
|
|
c7b282b53c | ||
|
|
8c6c723e13 | ||
|
|
9dfe616af8 | ||
|
|
fb9634d29b | ||
|
|
4edbf9df60 | ||
|
|
cd45f7b04c | ||
|
|
6a5ac03c72 | ||
|
|
81ecf14bab | ||
|
|
d84990e91d | ||
|
|
d1726f95fc | ||
|
|
45332d2cf9 | ||
|
|
9e7ad38020 | ||
|
|
18805c8e78 | ||
|
|
98b7824619 | ||
|
|
438ae23ee7 | ||
|
|
0e22a9fb00 | ||
|
|
f78e8edf4e | ||
|
|
986878055f | ||
|
|
1da93b1ca0 | ||
|
|
950f645f02 | ||
|
|
f0c73164d9 | ||
|
|
5b3425d0c4 | ||
|
|
0e1aaf0bbd | ||
|
|
ff685e3504 | ||
|
|
bae1a19cfe | ||
|
|
76aa3bb80f | ||
|
|
ab4089c37b | ||
|
|
a907e05bca | ||
|
|
8944c789b0 | ||
|
|
600e71581c | ||
|
|
15e4650785 | ||
|
|
201bc141bb | ||
|
|
3c69cb6c65 | ||
|
|
9955b76c1e | ||
|
|
d77680f25c | ||
|
|
10354d717e | ||
|
|
0b51a7e9c8 | ||
|
|
372ad31d83 | ||
|
|
d4836514fd | ||
|
|
077af5afb3 | ||
|
|
6ca3e3524e | ||
|
|
8c646b7897 | ||
|
|
90a9ff8bb2 | ||
|
|
1198a37969 | ||
|
|
296978676a | ||
|
|
29fa274096 | ||
|
|
dfdf4529d2 | ||
|
|
28746bbe2b | ||
|
|
60c8cd12cd | ||
|
|
71a045fb13 | ||
|
|
10d11c3b1b | ||
|
|
f0c282cbbc | ||
|
|
7b0b9ea18b | ||
|
|
3f6d8c2283 | ||
|
|
ff5a7f3a35 | ||
|
|
515bd5950f | ||
|
|
b1d5851131 | ||
|
|
3298625351 | ||
|
|
ff4a19b268 | ||
|
|
9b4a1e992b | ||
|
|
fc59cfffa1 | ||
|
|
cf884532d7 | ||
|
|
0b1092d4b9 | ||
|
|
cddd7af701 | ||
|
|
6cb2141654 | ||
|
|
a5fcc35d3c | ||
|
|
8cc22fd88a | ||
|
|
66435c7c08 | ||
|
|
3569a265e6 | ||
|
|
3515d81c26 | ||
|
|
3416a4bbdd | ||
|
|
6a5787abae | ||
|
|
a104316037 | ||
|
|
cabdfe9a27 | ||
|
|
c535609a32 | ||
|
|
a095edc380 | ||
|
|
f1ac88d23b | ||
|
|
4a1918238e | ||
|
|
33653a7108 | ||
|
|
03f65d1766 | ||
|
|
cb7d62f2ee | ||
|
|
4139e555cc | ||
|
|
244d7cfbf9 | ||
|
|
d9dcfc6125 | ||
|
|
c41ffaafc2 | ||
|
|
741eda5fd8 | ||
|
|
1678005ceb | ||
|
|
df029110c7 | ||
|
|
59f43e0ea0 | ||
|
|
9bdc5148c4 | ||
|
|
3283cf514b | ||
|
|
991e449d26 | ||
|
|
f880751539 | ||
|
|
8eade66017 | ||
|
|
bb09b0432f | ||
|
|
eca98c65d3 | ||
|
|
3af8687f42 | ||
|
|
0af93e7936 | ||
|
|
b8904387f3 | ||
|
|
91b2a8b673 | ||
|
|
96748952d3 | ||
|
|
5eddcadaac | ||
|
|
43131150a4 | ||
|
|
5fefc7185e | ||
|
|
ff00e2683e | ||
|
|
e94264f039 | ||
|
|
7fc36ac098 | ||
|
|
8711b4069a | ||
|
|
70cb12413a | ||
|
|
a6dc58a81d | ||
|
|
f8da16bf0a | ||
|
|
e43fecb4bc | ||
|
|
d6ed03eb8a | ||
|
|
49e1fb1ad2 | ||
|
|
ab1dab7fe5 | ||
|
|
6c44472e00 | ||
|
|
d1f545e356 | ||
|
|
e61544dcb9 | ||
|
|
889293ca8a | ||
|
|
a280e22cdb | ||
|
|
bb26a5a5d8 | ||
|
|
ba543ca5cf | ||
|
|
592b0a707f | ||
|
|
8da87aea28 | ||
|
|
4842028516 | ||
|
|
8b6bcd47d2 | ||
|
|
081bb56dd0 | ||
|
|
418de07f84 | ||
|
|
18e3fa37ff | ||
|
|
c36296f2a0 | ||
|
|
8159761833 | ||
|
|
87526226cd | ||
|
|
1cf1e3491d | ||
|
|
9cf19319c5 | ||
|
|
8b47c4fe7b | ||
|
|
3b3f5b3290 | ||
|
|
637981b405 | ||
|
|
20b40f33ce | ||
|
|
9a388009cd | ||
|
|
a4bcefd748 | ||
|
|
7885673363 | ||
|
|
d7aa3889f9 | ||
|
|
4dc76e26fc | ||
|
|
648bb67b73 | ||
|
|
686698272b | ||
|
|
6349b64faf | ||
|
|
09b9194b91 | ||
|
|
827aa96168 | ||
|
|
02ae3c8393 | ||
|
|
8f6bd87721 | ||
|
|
cef684beb9 | ||
|
|
6c7c60fb62 | ||
|
|
1b786e57c3 | ||
|
|
35e6104786 | ||
|
|
ed7c0c6760 | ||
|
|
25522069dc | ||
|
|
cbbbe16031 | ||
|
|
8ed540c7b4 | ||
|
|
467016521f | ||
|
|
33d166a4f8 | ||
|
|
a03623e678 | ||
|
|
bb424e8ab9 | ||
|
|
9e98121e45 | ||
|
|
f7d842a7f4 | ||
|
|
a1981ab56d | ||
|
|
e820a9ecc8 | ||
|
|
b13d47df08 | ||
|
|
e6adcdabac | ||
|
|
3c4795fb47 | ||
|
|
aaf74b2b6a | ||
|
|
2c4b29400e | ||
|
|
98da3a16a8 | ||
|
|
b24ee0e38c | ||
|
|
f557b10c3c | ||
|
|
b876eda144 | ||
|
|
4c8e256e7e | ||
|
|
447afac6eb | ||
|
|
657fc97f4f | ||
|
|
1d8f87fb78 | ||
|
|
c6a34ddeb8 | ||
|
|
694d0397ea | ||
|
|
9cbc243581 | ||
|
|
04a83462c3 | ||
|
|
2e3152f23b | ||
|
|
ba1ac0501b | ||
|
|
3ce8b18ecb | ||
|
|
baaa897d10 | ||
|
|
86ffb83c86 | ||
|
|
db708022e9 | ||
|
|
cc2eebfd42 | ||
|
|
8490893960 | ||
|
|
15a5e54cbb | ||
|
|
1bc9f3d396 | ||
|
|
ca22da4ebb | ||
|
|
e609866c5e | ||
|
|
bb5673e770 | ||
|
|
024d41c946 | ||
|
|
44c4a488f4 | ||
|
|
5c09c10301 | ||
|
|
4f74629e3f | ||
|
|
56194be716 | ||
|
|
8cfa90f352 | ||
|
|
1064be45df | ||
|
|
0428244e60 | ||
|
|
135125bae6 | ||
|
|
120f893d1f | ||
|
|
a33c19448f | ||
|
|
b8e29eca28 | ||
|
|
d4873f8070 | ||
|
|
c42ec31415 | ||
|
|
8f251c1214 | ||
|
|
40aea143cf | ||
|
|
e6fc4f4a6e | ||
|
|
b5ebc7ffd7 | ||
|
|
21482eda88 | ||
|
|
e91148e534 | ||
|
|
c2c2ffc00b | ||
|
|
100c54a82c | ||
|
|
2b81e38ea8 | ||
|
|
db2721354c | ||
|
|
f21856a65b | ||
|
|
c7cd22bf65 | ||
|
|
3d8c523b7a | ||
|
|
11df8195ce | ||
|
|
cdc80ef550 | ||
|
|
85559d4d9e | ||
|
|
88ecd19369 | ||
|
|
22822be944 | ||
|
|
55607c5437 | ||
|
|
0459c0a5dc | ||
|
|
2626f9733d | ||
|
|
128e68d735 | ||
|
|
abc1ca5ec9 | ||
|
|
ed6fee1f94 | ||
|
|
edad35e1f5 | ||
|
|
f8615a8852 | ||
|
|
dec0873a41 | ||
|
|
16e29d3a1e | ||
|
|
fa7e51252d | ||
|
|
84abbb7c11 | ||
|
|
292e09a0d7 | ||
|
|
c5fd4036a7 | ||
|
|
4843ed92c9 | ||
|
|
f75fac14e6 | ||
|
|
ac055a633c | ||
|
|
0dc40318d0 | ||
|
|
84d0272eda | ||
|
|
4b35681b5f | ||
|
|
bbb5c06ddc | ||
|
|
df0c196a94 | ||
|
|
12f9482d3d | ||
|
|
5f7b836330 | ||
|
|
94af2350f4 | ||
|
|
7b758fcf15 | ||
|
|
fecf9502d0 | ||
|
|
4747c2619f | ||
|
|
4b187a045a | ||
|
|
eb9a24eee7 | ||
|
|
b3d2ac190c | ||
|
|
ce6805507d | ||
|
|
ad7d06d4b2 | ||
|
|
04dee1fcff | ||
|
|
3af65423c6 | ||
|
|
af6c98b54d | ||
|
|
eb9b137323 | ||
|
|
178c604507 | ||
|
|
88b660ecf8 | ||
|
|
3feb5a61f6 | ||
|
|
b8708ff193 | ||
|
|
8da945833c | ||
|
|
ee10c104b7 | ||
|
|
803a699658 | ||
|
|
88ee0e813e | ||
|
|
cc44024a8c | ||
|
|
880432970b | ||
|
|
5d6587100e | ||
|
|
df8d95b815 | ||
|
|
f1a868199e | ||
|
|
d0e77cca52 | ||
|
|
eaadaa2d45 | ||
|
|
4a5e3c89b6 | ||
|
|
a0eca53c58 | ||
|
|
8c092494a8 | ||
|
|
5f69a1c917 | ||
|
|
856ac19314 | ||
|
|
6c5aa244af | ||
|
|
f42bdcee03 | ||
|
|
b49db7e739 | ||
|
|
ec20d7b581 | ||
|
|
1c75353f27 | ||
|
|
b14ca8689a | ||
|
|
bd20cf6a1f | ||
|
|
b23e9c2eaa | ||
|
|
e625d9803b | ||
|
|
ae8bba5582 | ||
|
|
f19f08fc06 | ||
|
|
5fd17cc5e8 | ||
|
|
3c6d0de2e3 | ||
|
|
d3de15b594 | ||
|
|
b0db4739ad | ||
|
|
2584c16d41 | ||
|
|
b4caffe0d4 | ||
|
|
46734a7c5a | ||
|
|
484f434a67 | ||
|
|
033b577552 | ||
|
|
f1e2a320dc | ||
|
|
3885bf894a | ||
|
|
04ca447eb7 | ||
|
|
41486c0215 | ||
|
|
69035db2d7 | ||
|
|
c98021b14c | ||
|
|
b576e5a511 | ||
|
|
9b69700733 | ||
|
|
9d731c065e | ||
|
|
93aa69b0b0 | ||
|
|
3679324371 | ||
|
|
ebc6611f5c | ||
|
|
16ac5a6093 | ||
|
|
b1479fbc14 | ||
|
|
375b7c2fd2 | ||
|
|
95afb7d109 | ||
|
|
3956908482 | ||
|
|
e0eda1fa0c | ||
|
|
dc6b14f962 | ||
|
|
dd798c02d1 | ||
|
|
4fc0f4dee7 | ||
|
|
81379dc857 | ||
|
|
1d7eea068a | ||
|
|
0978bcbb87 | ||
|
|
2da88a22d7 | ||
|
|
ccb9aea1e6 | ||
|
|
6b8d1743b3 | ||
|
|
cf0f613a5f | ||
|
|
ba49f45c4c | ||
|
|
3e5ade8047 | ||
|
|
3e47853e75 | ||
|
|
d19f5ba72f | ||
|
|
4918873ad9 | ||
|
|
6ecb8e26c9 | ||
|
|
52ad1f7399 | ||
|
|
f6ee429c8e | ||
|
|
4de79ce633 | ||
|
|
d7c2904868 | ||
|
|
24eec279d8 | ||
|
|
d49575b22b | ||
|
|
3271bcf92f | ||
|
|
41514a35f5 | ||
|
|
8e1809cf3d | ||
|
|
98bc71e46a | ||
|
|
d1dd8a0e2e | ||
|
|
d20d9975c1 | ||
|
|
ecca9f2c72 | ||
|
|
88724c4950 | ||
|
|
fd48419cb2 | ||
|
|
ff5543f9dc | ||
|
|
0130fce0c6 | ||
|
|
d8258a73fd | ||
|
|
939e942f50 | ||
|
|
603aedb6ae | ||
|
|
05a51bf32e | ||
|
|
792a99ce04 | ||
|
|
a6fbbc0c44 | ||
|
|
9b7497946a | ||
|
|
9a68ce67eb | ||
|
|
a6ccd28671 | ||
|
|
f7f66cd732 | ||
|
|
9b316bbbca | ||
|
|
db39757655 | ||
|
|
88903e8edf | ||
|
|
dd968a3244 | ||
|
|
a42811b907 | ||
|
|
15aacddd23 | ||
|
|
f4d3154fd1 | ||
|
|
93e9a8f381 | ||
|
|
69ab0fd17b | ||
|
|
504cdc6214 | ||
|
|
d3b9b6e87a | ||
|
|
0a04c5c156 | ||
|
|
1799625f99 | ||
|
|
8f13906d2c | ||
|
|
771186e6cf | ||
|
|
da32e9d4e3 | ||
|
|
935b3819f0 | ||
|
|
1abe08bcac | ||
|
|
09779f62b3 | ||
|
|
abe865f999 | ||
|
|
f3734f9daa | ||
|
|
7bc993ccc9 | ||
|
|
ab3762e42e | ||
|
|
58ed1634db | ||
|
|
7d579a0942 | ||
|
|
4daa5c4755 | ||
|
|
00c89089c3 | ||
|
|
68f82e1993 | ||
|
|
356646725e | ||
|
|
608decc9de | ||
|
|
9eecbae6da | ||
|
|
3197510b72 | ||
|
|
4830d462aa | ||
|
|
fc1cb53c1d | ||
|
|
7446da8e1f | ||
|
|
04019798e9 | ||
|
|
20a900f052 | ||
|
|
df469be05f | ||
|
|
d42d2d09e9 | ||
|
|
f8c39e957e | ||
|
|
78760b8a08 | ||
|
|
276883059f | ||
|
|
cabb5da981 | ||
|
|
f8afde61fe | ||
|
|
95a802a402 | ||
|
|
e5fd984daf | ||
|
|
0a0a59feea | ||
|
|
75200e9c8d | ||
|
|
83d4cc5a16 | ||
|
|
faecdc3b0c | ||
|
|
0fe230e56b | ||
|
|
6f13247151 | ||
|
|
24a8249a60 | ||
|
|
7df345d286 | ||
|
|
7c0088e0ff | ||
|
|
204cf5beea | ||
|
|
04b69f4288 | ||
|
|
b4ef000fc0 | ||
|
|
78038b9607 | ||
|
|
a458b68f2b | ||
|
|
1509dffa1c | ||
|
|
e274137503 | ||
|
|
97bfb9f730 | ||
|
|
b1f8b80e83 | ||
|
|
f0a339b0f7 | ||
|
|
6bb5c2e74e | ||
|
|
5f1b732e12 | ||
|
|
2a9f94ac99 | ||
|
|
9b89b62219 | ||
|
|
315be87f31 | ||
|
|
0613ad9bc3 | ||
|
|
0ff6977bb7 | ||
|
|
025d03e7e8 | ||
|
|
a4efb1ecd5 | ||
|
|
7340539742 | ||
|
|
377fdc8de1 | ||
|
|
36a68ca147 | ||
|
|
922f207da7 | ||
|
|
ec4d1d4471 | ||
|
|
057b8739d3 | ||
|
|
332376030e | ||
|
|
302cfb3bef | ||
|
|
0cb70d896d | ||
|
|
f5c511366e | ||
|
|
79a2f49739 | ||
|
|
d6b5b65183 | ||
|
|
89444bc4bc | ||
|
|
2435a7e651 | ||
|
|
1957e70cfd | ||
|
|
aba21bca43 | ||
|
|
ccc9549fc4 | ||
|
|
07bd8fa33f | ||
|
|
85e0761460 | ||
|
|
5bca1a0ad6 | ||
|
|
ca4051b10d | ||
|
|
ece4065de3 | ||
|
|
e5aea82b6f | ||
|
|
85fc1d6627 | ||
|
|
a0e9de2cb8 | ||
|
|
c39b719093 | ||
|
|
dd7cc97645 | ||
|
|
76f104ddab | ||
|
|
6f1ed43f4e | ||
|
|
7209aa98d0 | ||
|
|
0ac33532f2 | ||
|
|
d40e9c869d | ||
|
|
d5ff1edc44 | ||
|
|
c3d8d77b07 | ||
|
|
9ae7be59b5 | ||
|
|
e1be0d32ab | ||
|
|
a675771bc6 | ||
|
|
c0a15477c9 | ||
|
|
c2291ab590 | ||
|
|
be9cc0d41b | ||
|
|
01e0f3061c | ||
|
|
8cd7b0b43b | ||
|
|
ef11715e79 | ||
|
|
7a7ff557ea | ||
|
|
cb307d852a | ||
|
|
e943c69c82 | ||
|
|
fa8d3a800e | ||
|
|
f592524054 | ||
|
|
aaa114e753 | ||
|
|
0625bdb3d1 | ||
|
|
7e918c86e2 | ||
|
|
2216bc0212 | ||
|
|
e76ceb7cf4 | ||
|
|
22b9853452 | ||
|
|
8c7e991779 | ||
|
|
b2fcb77c24 | ||
|
|
2ac80fda32 | ||
|
|
31e48c7d96 | ||
|
|
18bbe60088 | ||
|
|
5a0ad4379e | ||
|
|
8971a3c4a9 | ||
|
|
37cd66265b | ||
|
|
faad02a7fa | ||
|
|
06d4c86ad8 | ||
|
|
a5998cb226 | ||
|
|
e86b48e0fc | ||
|
|
53a59c0ce3 | ||
|
|
fe5045edbe | ||
|
|
6a357d8cdf | ||
|
|
5005d1f1eb | ||
|
|
b801afcff0 | ||
|
|
758c1d9649 | ||
|
|
9e6d742c6d | ||
|
|
de1b893049 | ||
|
|
0483b5651a | ||
|
|
7680c20221 | ||
|
|
349bdb2936 | ||
|
|
60dc7c4490 | ||
|
|
7aaaa79571 | ||
|
|
b83495702b | ||
|
|
d482443f0e | ||
|
|
d4b55ad0e4 | ||
|
|
77cff8a6f3 | ||
|
|
2e62f1f65c | ||
|
|
87359ee642 | ||
|
|
0b8c4b20b6 | ||
|
|
3049d1adef | ||
|
|
e3e9be01a2 | ||
|
|
f178b22423 | ||
|
|
797b56b9f9 | ||
|
|
d08807e301 | ||
|
|
c78f7d0bdb | ||
|
|
bd4564f98e | ||
|
|
25a5a3d168 | ||
|
|
4b54711434 | ||
|
|
6eec2e95b8 | ||
|
|
03ed8ed1f0 | ||
|
|
9720d90493 | ||
|
|
d0eada1d85 | ||
|
|
06b3cf2e90 | ||
|
|
bbd379a584 | ||
|
|
2b04a06adc | ||
|
|
703e926b96 | ||
|
|
3d10404da5 | ||
|
|
41a189444b | ||
|
|
6ae572f74f | ||
|
|
fa045e96e7 | ||
|
|
2a12e861ac | ||
|
|
31c0845667 | ||
|
|
a97c6c9baa | ||
|
|
e4c433730f | ||
|
|
30be583a3d | ||
|
|
bbed0b4921 | ||
|
|
3e784c0ae5 | ||
|
|
182b6c4291 | ||
|
|
b1f16fca1d | ||
|
|
9787645542 | ||
|
|
af3d4c4af5 | ||
|
|
bdc8c2a4fc | ||
|
|
be89e2ae11 | ||
|
|
55f3905dd4 | ||
|
|
6f0048814f | ||
|
|
7895413ce2 | ||
|
|
9254e67fc9 | ||
|
|
d815ece3c4 | ||
|
|
14bad15df4 | ||
|
|
d830e72b62 | ||
|
|
70b5399126 | ||
|
|
1d8d3ef757 | ||
|
|
9f3ee178a5 | ||
|
|
91335ab271 | ||
|
|
8320355925 | ||
|
|
0b225fbbbd | ||
|
|
6a18334663 | ||
|
|
af940152a1 | ||
|
|
66f5e8d969 | ||
|
|
b3b7508237 | ||
|
|
361f9767dd | ||
|
|
f20c9808ed | ||
|
|
b6ac9f3a6f | ||
|
|
8365144834 | ||
|
|
85b422b0fb | ||
|
|
6ebc9a08ae | ||
|
|
b04e396351 | ||
|
|
1ec23e9ebb | ||
|
|
44637967bc | ||
|
|
7d93c96343 | ||
|
|
58a9f4dd0e | ||
|
|
d2c673d9e1 | ||
|
|
0048559acb | ||
|
|
88d7bf373b | ||
|
|
28861ca1a8 | ||
|
|
86ae43dc1c | ||
|
|
24d96c1d37 | ||
|
|
f62e9f5d21 | ||
|
|
d23965f1c0 | ||
|
|
e9397b0237 | ||
|
|
8bf7c25f69 | ||
|
|
0a693806d4 | ||
|
|
12e8b8e0a9 | ||
|
|
33d95fc237 | ||
|
|
b0ff0204bd | ||
|
|
7704488e24 | ||
|
|
bf2bd694bc | ||
|
|
200f6d17f9 | ||
|
|
580f35bfce | ||
|
|
a6eda09158 | ||
|
|
a93da6cf9e | ||
|
|
e715970b63 | ||
|
|
1b6d29d19b | ||
|
|
e219ff809e | ||
|
|
a521667e54 | ||
|
|
7a41b0c4a5 | ||
|
|
cc5d522cb9 | ||
|
|
57713ab195 | ||
|
|
548dad7743 | ||
|
|
a5989e88a3 | ||
|
|
f91e7dc10d | ||
|
|
c889f97a6c | ||
|
|
ff8b2eff2c | ||
|
|
23acd5b6cd | ||
|
|
50256b92c8 | ||
|
|
4731c2c346 | ||
|
|
122aec5ec3 | ||
|
|
e62ca075e8 | ||
|
|
e4d5c62ada | ||
|
|
9db76b5cca | ||
|
|
df4f165122 | ||
|
|
8331c23045 | ||
|
|
bb1132301a | ||
|
|
f6dcc35b48 | ||
|
|
9f583eb590 | ||
|
|
5a700c729e | ||
|
|
4e40da79bb | ||
|
|
53582efd02 | ||
|
|
9b4c66f3d3 | ||
|
|
5c6dcc3485 | ||
|
|
898b10f932 | ||
|
|
5bcc6d58c3 | ||
|
|
eb907d17a0 | ||
|
|
5e3f476884 | ||
|
|
21cc355b03 | ||
|
|
a22531e1d9 | ||
|
|
324188c039 | ||
|
|
ef06f096d0 | ||
|
|
afeff753ef | ||
|
|
bf8892878d | ||
|
|
1f6dfbfd30 | ||
|
|
eeeb222896 | ||
|
|
41733124db | ||
|
|
c9d7267280 | ||
|
|
bb3a7eccc7 | ||
|
|
a73d5c70d4 | ||
|
|
c48711c4c3 | ||
|
|
eebb098aed | ||
|
|
06ae5350cb | ||
|
|
69a41b2951 | ||
|
|
19e43d2850 | ||
|
|
c32a3d89e9 | ||
|
|
b227480e6c | ||
|
|
fbae80ec26 | ||
|
|
299bb0be73 | ||
|
|
7e22a0fe46 | ||
|
|
f1d5adff7a | ||
|
|
9b4fbdfb9a | ||
|
|
e1a8cdc1d5 | ||
|
|
d13f96a454 | ||
|
|
b6599a1357 | ||
|
|
ce09ccf115 | ||
|
|
04a039caf3 | ||
|
|
f006ee4569 | ||
|
|
c1b7e62a02 | ||
|
|
cf11a9e7a9 | ||
|
|
ed14fbfff0 | ||
|
|
ebc39a58eb | ||
|
|
6475b3f055 | ||
|
|
bd86a8cc04 | ||
|
|
de2166915a | ||
|
|
bab6faac97 | ||
|
|
16b9cb44c2 | ||
|
|
3d9f3a1147 | ||
|
|
0b5c244a2e | ||
|
|
c94aebc369 | ||
|
|
8fc015a108 | ||
|
|
f5ba7816d9 | ||
|
|
37c0bf1e22 | ||
|
|
e699b6f2cb | ||
|
|
2904ca702c | ||
|
|
8f10f1938e | ||
|
|
b7f7489c5d | ||
|
|
691c462bba | ||
|
|
e51ec8eb8e | ||
|
|
ee7bf05780 | ||
|
|
3223854cdd | ||
|
|
a35384e0b1 | ||
|
|
faa0456ff7 | ||
|
|
5d0d1968f5 | ||
|
|
21277e5738 | ||
|
|
4f8748932d | ||
|
|
1b1ca79374 | ||
|
|
97ae6b587c | ||
|
|
d22588b3cd | ||
|
|
8041dca103 | ||
|
|
6c304402dd | ||
|
|
ec3ecdca38 | ||
|
|
0fe707637a | ||
|
|
77b19688ae | ||
|
|
0d6e159b72 | ||
|
|
1afb953f05 | ||
|
|
ee07dc9936 | ||
|
|
254267f1be | ||
|
|
b78247f9e8 | ||
|
|
5bfee53d99 | ||
|
|
5154492c97 | ||
|
|
5c97527038 | ||
|
|
3fd08803d6 | ||
|
|
de5cf6f93d | ||
|
|
60b9d9d811 | ||
|
|
8405a8162f | ||
|
|
95558ab31e | ||
|
|
256bd8dd71 | ||
|
|
c960153442 | ||
|
|
c712f33cf3 | ||
|
|
4e659ebdbb | ||
|
|
ed55cc3bbd | ||
|
|
df61370b7c | ||
|
|
79ab028b0a | ||
|
|
444819b6a0 | ||
|
|
079a1ac2ff | ||
|
|
9113dab049 | ||
|
|
377b29f317 | ||
|
|
be9bb8bef1 | ||
|
|
51c3921cf8 | ||
|
|
6f5d5922dc | ||
|
|
fa5266b069 | ||
|
|
d619f15d36 | ||
|
|
3e9ec51ef5 | ||
|
|
0ac54c7ec4 | ||
|
|
6220d21a7b | ||
|
|
7661b52a0a | ||
|
|
8c9b47b4d5 | ||
|
|
92c02996ae | ||
|
|
92d7349ec0 | ||
|
|
1e8c00071d | ||
|
|
1bf4cf7dce | ||
|
|
79559943ad | ||
|
|
f5dc3d7939 | ||
|
|
4ed36074e6 | ||
|
|
608053b8e1 | ||
|
|
928d7ed759 | ||
|
|
f68cfbcb69 | ||
|
|
0ad2fb53d2 | ||
|
|
13d1110b7a | ||
|
|
629a1469cb | ||
|
|
231d478ff3 | ||
|
|
b0d1e019f8 | ||
|
|
1b6b6d75c6 | ||
|
|
112e4221b3 | ||
|
|
c18f2b6649 | ||
|
|
f3ed9f4077 | ||
|
|
8e22fc890b | ||
|
|
951c2b3a2a | ||
|
|
d605e33a72 | ||
|
|
0359141f26 | ||
|
|
fef47af891 | ||
|
|
062c93e77b | ||
|
|
8b012bd940 | ||
|
|
7db3508387 | ||
|
|
a2c603d874 | ||
|
|
41091a3967 | ||
|
|
b84f701ff4 | ||
|
|
1563a57c33 | ||
|
|
61e815565a | ||
|
|
04c88ab7af | ||
|
|
fe107d271c | ||
|
|
90274eef33 | ||
|
|
65cb3cf7f0 | ||
|
|
bcf86801db | ||
|
|
8d6ba46c6f | ||
|
|
c556d4dd15 | ||
|
|
90b7ae4898 | ||
|
|
0a8f018332 | ||
|
|
43b55435ba | ||
|
|
690ff19b47 | ||
|
|
00a1e232b4 | ||
|
|
a7ebf72d1b | ||
|
|
1af5182560 | ||
|
|
eb70e4611f | ||
|
|
c1a6a6b156 | ||
|
|
c90fdca19d | ||
|
|
3dcc0d0b0b | ||
|
|
5cff0a8c6c | ||
|
|
b2de538e29 | ||
|
|
6451876f18 | ||
|
|
31d31e1f3e | ||
|
|
7c3557ec46 | ||
|
|
d78e5eaa90 | ||
|
|
66fdbe00b0 | ||
|
|
37c1c30a2a | ||
|
|
2fd02f6794 | ||
|
|
756d9cf248 | ||
|
|
52a323b269 | ||
|
|
7ef1688195 | ||
|
|
4632371437 | ||
|
|
b21b10d00b | ||
|
|
f93b62160a | ||
|
|
bde44fc830 | ||
|
|
08731521ad | ||
|
|
6c74bfd862 | ||
|
|
6750bdf9f1 | ||
|
|
f0d8399610 | ||
|
|
8271db0d26 | ||
|
|
de77968cdb | ||
|
|
7b0321be65 | ||
|
|
39a9c80108 | ||
|
|
b8381a8a30 | ||
|
|
c47e21d02f | ||
|
|
83df3e3e12 | ||
|
|
9ce2e2add1 | ||
|
|
565589ae50 | ||
|
|
e8c397b2a5 | ||
|
|
831878494d | ||
|
|
0cb98121e4 | ||
|
|
5495c480d7 | ||
|
|
2dda8e9167 | ||
|
|
b7f895e940 | ||
|
|
655eac32b1 | ||
|
|
83c678322f | ||
|
|
1fc478feb2 | ||
|
|
5c01aface2 | ||
|
|
a261ae4c83 | ||
|
|
8fe2963e2e | ||
|
|
6b6de4c559 | ||
|
|
9d151921cc | ||
|
|
04905c6f1d | ||
|
|
8bbb24cece | ||
|
|
37a15e2e64 | ||
|
|
7bf36a9689 | ||
|
|
88b80e6354 | ||
|
|
036282a7e9 | ||
|
|
015701d80f | ||
|
|
ae363102d7 | ||
|
|
8917368988 | ||
|
|
ca18f4fa9d | ||
|
|
ec0ecd5567 | ||
|
|
90cd402c76 | ||
|
|
b49ac3ee39 | ||
|
|
0e9d00caf9 | ||
|
|
079d4e0564 | ||
|
|
39e2a16f8f | ||
|
|
75587ab345 | ||
|
|
7d74495435 | ||
|
|
a78b201235 | ||
|
|
74c0e9e717 | ||
|
|
8ed5fd8397 | ||
|
|
5bfa2afc38 | ||
|
|
c9fea1fe6f | ||
|
|
e2d93744f7 | ||
|
|
1e17eb88ed | ||
|
|
328527a663 | ||
|
|
4dcebb4906 | ||
|
|
a7e043bf4f | ||
|
|
e94f68d6e3 | ||
|
|
c655c4a910 | ||
|
|
50e3e08ff0 | ||
|
|
3674ca47fa | ||
|
|
0e7ecc58f8 | ||
|
|
84d5b99b4a | ||
|
|
1c70521fa1 | ||
|
|
9faa8f82e8 | ||
|
|
647cc0a83a | ||
|
|
12347f866a | ||
|
|
c6f84cc036 | ||
|
|
0c8bda59a1 | ||
|
|
9caa39c50d | ||
|
|
48d714db61 | ||
|
|
59ac0c3fec | ||
|
|
dc7560b142 | ||
|
|
0f0ca7d4ec | ||
|
|
6f4bface55 | ||
|
|
ad5004d3e8 | ||
|
|
fff9c4b75d | ||
|
|
d6224db564 | ||
|
|
6b900d7aa8 | ||
|
|
217999a8e7 | ||
|
|
b25fa91962 | ||
|
|
627bc817d0 | ||
|
|
511ea4cf68 | ||
|
|
1a37abbb4b | ||
|
|
e284214dfb | ||
|
|
33df90c399 | ||
|
|
80e65bb6ab | ||
|
|
513fe5cb36 | ||
|
|
eb5280f827 | ||
|
|
bafff66417 | ||
|
|
f71c8925c6 | ||
|
|
9ace5c9624 | ||
|
|
939ee3f188 | ||
|
|
a57fa2d572 | ||
|
|
ce16e87101 | ||
|
|
abc704e6e3 | ||
|
|
8480c1d7c6 | ||
|
|
3b8168644f | ||
|
|
8756a2daa3 | ||
|
|
89d434e708 | ||
|
|
68cf4d1e7d | ||
|
|
847b26bf47 | ||
|
|
c6eb016d85 | ||
|
|
362b3e4065 | ||
|
|
0e02d45fce | ||
|
|
7df675ff42 | ||
|
|
d15d691386 | ||
|
|
a8e2d1ad14 | ||
|
|
2a49219521 |
4
.flake8
Normal file
@@ -0,0 +1,4 @@
|
||||
[flake8]
|
||||
extend-ignore = E501, E203
|
||||
per-file-ignores =
|
||||
Resources/constants.py:E704
|
||||
175
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@@ -0,0 +1,175 @@
|
||||
name: Bug Report
|
||||
description: File a bug report
|
||||
labels: [bug]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Thanks for taking the time to fill out this bug report!
|
||||
- type: dropdown
|
||||
id: machine
|
||||
attributes:
|
||||
label: Machine Model
|
||||
description: What model was being patched?
|
||||
options:
|
||||
- MacBook4,1
|
||||
- MacBook5,1
|
||||
- MacBook5,2
|
||||
- MacBook6,1
|
||||
- MacBook7,1
|
||||
- MacBook8,1
|
||||
- MacBookAir2,1
|
||||
- MacBookAir3,1
|
||||
- MacBookAir3,2
|
||||
- MacBookAir4,1
|
||||
- MacBookAir4,2
|
||||
- MacBookAir5,1
|
||||
- MacBookAir5,2
|
||||
- MacBookAir6,1
|
||||
- MacBookAir6,2
|
||||
- MacBookPro4,1
|
||||
- MacBookPro5,1
|
||||
- MacBookPro5,2
|
||||
- MacBookPro5,3
|
||||
- MacBookPro5,4
|
||||
- MacBookPro5,5
|
||||
- MacBookPro6,1
|
||||
- MacBookPro6,2
|
||||
- MacBookPro7,1
|
||||
- MacBookPro8,1
|
||||
- MacBookPro8,2
|
||||
- MacBookPro8,3
|
||||
- MacBookPro9,1
|
||||
- MacBookPro9,2
|
||||
- MacBookPro10,1
|
||||
- MacBookPro10,2
|
||||
- MacBookPro11,1
|
||||
- MacBookPro11,2
|
||||
- MacBookPro11,3
|
||||
- Macmini3,1
|
||||
- Macmini4,1
|
||||
- Macmini5,1
|
||||
- Macmini5,2
|
||||
- Macmini5,3
|
||||
- Macmini6,1
|
||||
- Macmini6,2
|
||||
- iMac7,1
|
||||
- iMac8,1
|
||||
- iMac9,1
|
||||
- iMac10,1
|
||||
- iMac11,1
|
||||
- iMac11,2
|
||||
- iMac11,3
|
||||
- iMac12,1
|
||||
- iMac12,2
|
||||
- iMac13,1
|
||||
- iMac13,2
|
||||
- iMac13,3
|
||||
- iMac14,1
|
||||
- iMac14,2
|
||||
- iMac14,3
|
||||
- iMac14,4
|
||||
- iMac15,1
|
||||
- MacPro3,1
|
||||
- MacPro4,1
|
||||
- MacPro5,1
|
||||
- Xserve2,1
|
||||
- Xserve3,1
|
||||
- Other/Non-Applicable
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: version
|
||||
attributes:
|
||||
label: Application Version
|
||||
description: What build version of our software are you running?
|
||||
options:
|
||||
- Latest Build (nightly)
|
||||
- Latest Release
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: variant
|
||||
attributes:
|
||||
label: Application Variant
|
||||
description: What variant of our software are you running?
|
||||
options:
|
||||
- GUI (Graphical User Interface)
|
||||
- TUI (Text User Interface)
|
||||
- CLI (Command Line Interface)
|
||||
- Other/Non-Applicable
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: verify-previously-reported
|
||||
attributes:
|
||||
label: Have you verified whether this issue has been opened before? If no, your issue will be closed
|
||||
description: If no, your issue will be closed. We'd appreciate it if users check with Github Issue's search before filing (https://github.com/dortania/OpenCore-Legacy-Patcher/issues?q=is%3Aissue)
|
||||
multiple: true
|
||||
options:
|
||||
- 'true'
|
||||
- 'false'
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: verify-guide
|
||||
attributes:
|
||||
label: Have you verified whether this issue is covered in our guide? ie. Troubleshooting and Legacy Acceleration pages
|
||||
description: If no, your issue will be closed. We'd appreciate it if users check with Guide before filing (https://dortania.github.io/OpenCore-Legacy-Patcher/)
|
||||
multiple: true
|
||||
options:
|
||||
- 'true'
|
||||
- 'false'
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: 3rd-party-application
|
||||
attributes:
|
||||
label: Is this issue with a 3rd party application?
|
||||
description: If yes, please move discussions onto forums. We're unable to dedicate time to working on every single application that may be broken in macOS. Only file issues if you have a fix you'd like to add to our project
|
||||
multiple: true
|
||||
options:
|
||||
- 'true'
|
||||
- 'false'
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os-version
|
||||
attributes:
|
||||
label: What versions of macOS are you seeing the problem on?
|
||||
multiple: true
|
||||
options:
|
||||
- macOS 12, Monterey
|
||||
- macOS 11, Big Sur
|
||||
- macOS 10.15, Catalina
|
||||
- macOS 10.14, Mojave
|
||||
- macOS 10.13, High Sierra
|
||||
- macOS 10.12, Sierra
|
||||
- macOS 10.11, El Capitan
|
||||
- Other/Non-Applicable
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: where-issue
|
||||
attributes:
|
||||
label: Where does this issue happen?
|
||||
multiple: true
|
||||
options:
|
||||
- Between booting macOS and Login Screen
|
||||
- Within macOS (Before Logging in)
|
||||
- Within macOS (After Logging in)
|
||||
- Other/Non-Applicable
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: what-happened
|
||||
attributes:
|
||||
label: What is the Issue?
|
||||
description: Additionally, explain what you expected to happen?
|
||||
value: "Please clearly explain the issue"
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: extra-info
|
||||
attributes:
|
||||
label: Any Additional Information
|
||||
1
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1 @@
|
||||
blank_issues_enabled: false
|
||||
33
.github/workflows/build-app-offline.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
name: CI - Build Offline TUI
|
||||
|
||||
on:
|
||||
push:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build Offline TUI
|
||||
runs-on: x86_64_mojave
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: python3 create_offline_build.py
|
||||
- run: /Library/Frameworks/Python.framework/Versions/3.9/bin/pyinstaller OpenCore-Patcher.spec
|
||||
- run: ./after_pyinstaller.sh
|
||||
- run: 'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "dist/OpenCore-Patcher.app"'
|
||||
- run: cd dist; zip -r ../OpenCore-Patcher-TUI-Offline.app.zip OpenCore-Patcher.app
|
||||
- name: Upload App to Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: OpenCore-Patcher-TUI-Offline.app
|
||||
path: OpenCore-Patcher-TUI-Offline.app.zip
|
||||
|
||||
- name: Upload to Release
|
||||
if: github.event_name == 'release'
|
||||
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: OpenCore-Patcher-TUI-Offline.app.zip
|
||||
tag: ${{ github.ref }}
|
||||
file_glob: true
|
||||
33
.github/workflows/build-app.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
name: CI - Build TUI
|
||||
|
||||
on:
|
||||
push:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build TUI
|
||||
runs-on: x86_64_mojave
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- run: /Library/Frameworks/Python.framework/Versions/3.9/bin/pyinstaller OpenCore-Patcher.spec
|
||||
- run: ./after_pyinstaller.sh
|
||||
- run: 'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "dist/OpenCore-Patcher.app"'
|
||||
- run: cd dist; zip -r ../OpenCore-Patcher-TUI.app.zip OpenCore-Patcher.app
|
||||
- run: ./../sign-tui.sh
|
||||
- name: Upload App to Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: OpenCore-Patcher-TUI.app
|
||||
path: OpenCore-Patcher-TUI.app.zip
|
||||
|
||||
- name: Upload to Release
|
||||
if: github.event_name == 'release'
|
||||
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: OpenCore-Patcher-TUI.app.zip
|
||||
tag: ${{ github.ref }}
|
||||
file_glob: true
|
||||
54
.github/workflows/build-gui.yml
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
name: CI - Build GUI
|
||||
|
||||
on:
|
||||
push:
|
||||
workflow_dispatch:
|
||||
release:
|
||||
types: [published]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build GUI
|
||||
runs-on: x86_64_mojave
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- run: /Library/Frameworks/Python.framework/Versions/3.9/bin/pyinstaller OpenCore-Patcher.spec
|
||||
- run: cd dist; cp OpenCore-Patcher ../; cd ..; mv OpenCore-Patcher OCLP-CLI
|
||||
- name: Download latest nightly OCLP-GUI
|
||||
run: curl -S -L https://nightly.link/dortania/OCLP-GUI/workflows/build-app/master/OpenCore-Patcher-GUI.app.zip --output ./OpenCore-Patcher-GUI.app.zip --insecure
|
||||
- run: unzip -o OpenCore-Patcher-GUI.app.zip
|
||||
- run: unzip OpenCore-Patcher-GUI.app.zip; rm OpenCore-Patcher-GUI.app.zip
|
||||
- name: Merge new GUI
|
||||
run: cp OCLP-CLI OpenCore\ Patcher.app/Contents/Resources/
|
||||
- run: python3 merge_gui.py
|
||||
- name: Code Sign Binaries for release
|
||||
if: github.event_name == 'release'
|
||||
run: |
|
||||
'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "OpenCore Patcher.app/Contents/Resources/OCLP-CLI"'
|
||||
'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "OpenCore Patcher.app/Contents/Resources/oclpd"'
|
||||
'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "OpenCore Patcher.app"'
|
||||
- run: ditto -c -k --sequesterRsrc --keepParent OpenCore\ Patcher.app OpenCore-Patcher-GUI.app.zip
|
||||
- name: Notarize Binaries for release
|
||||
if: github.event_name == 'release'
|
||||
run: ./../sign-gui.sh
|
||||
- name: Upload GUI to Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: OpenCore-Patcher-GUI.app
|
||||
path: OpenCore-Patcher-GUI.app.zip
|
||||
- name: Upload CLI to Artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: OCLP-CLI
|
||||
path: OCLP-CLI
|
||||
- name: Upload to Release
|
||||
if: github.event_name == 'release'
|
||||
uses: svenstaro/upload-release-action@e74ff71f7d8a4c4745b560a485cc5fdb9b5b999d
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: OpenCore-Patcher-GUI.app.zip
|
||||
tag: ${{ github.ref }}
|
||||
file_glob: true
|
||||
- name: Validate OpenCore
|
||||
run: ./OCLP-CLI --validate
|
||||
35
.github/workflows/build-site.yml
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
name: CI - Build Site
|
||||
on:
|
||||
push:
|
||||
branches-ignore:
|
||||
- gh-pages
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
jobs:
|
||||
build:
|
||||
name: Build Site and Deploy
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/setup-node@v2-beta
|
||||
with:
|
||||
node-version: '12'
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
persist-credentials: false
|
||||
submodules: 'recursive'
|
||||
- name: Install
|
||||
run: npm install
|
||||
working-directory: 'docs'
|
||||
- name: Build
|
||||
run: npm run build
|
||||
working-directory: 'docs'
|
||||
- name: Deploy
|
||||
uses: JamesIves/github-pages-deploy-action@3.7.1
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main'}}
|
||||
with:
|
||||
ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
|
||||
BRANCH: gh-pages
|
||||
FOLDER: docs/.vuepress/dist/
|
||||
CLEAN: true
|
||||
19
.gitignore
vendored
@@ -1,6 +1,23 @@
|
||||
.DS_Store
|
||||
OCLP-GUI.command
|
||||
/payloads/Apple
|
||||
/payloads/*.zip
|
||||
/payloads/BuildManifest.plist
|
||||
/payloads/*.sucatalog
|
||||
/payloads/*.pkg
|
||||
/payloads/__MACOSX
|
||||
/App
|
||||
/Build-Folder
|
||||
/build
|
||||
/dist
|
||||
/.vscode
|
||||
__pycache__/
|
||||
*.kext
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
*$py.class
|
||||
/docs/.vuepress/dist
|
||||
/docs/.vuepress/.config.js.swp
|
||||
/docs/yarn.lock
|
||||
/docs/yarn-error.log
|
||||
/docs/node_modules/
|
||||
/payloads/List.txt
|
||||
|
||||
13
.pylintrc
Normal file
@@ -0,0 +1,13 @@
|
||||
[MASTER]
|
||||
|
||||
init-hook="from pylint.config import find_pylintrc; import os, sys; sys.path.append(os.path.dirname(find_pylintrc()))"
|
||||
|
||||
[MESSAGES CONTROL]
|
||||
|
||||
disable=unused-import,
|
||||
subprocess-run-check,
|
||||
line-too-long,
|
||||
too-few-public-methods,
|
||||
missing-module-docstring,
|
||||
missing-class-docstring,
|
||||
missing-function-docstring
|
||||
570
CHANGELOG.md
Normal file
@@ -0,0 +1,570 @@
|
||||
# OpenCore Legacy Patcher changelog
|
||||
|
||||
## 0.3.2
|
||||
- Implement spoofless support (ie. no SMBIOS patching)
|
||||
- Requires macOS 11.3 or newer, for 11.2.3 and older use Minimal or higher spoofing
|
||||
- See additional notes before updating: [VMM usage notes](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/543#issuecomment-953441283)
|
||||
- Adjust SIP setting to better reflect current SIP usage
|
||||
- Resolve Monterey Bluetooth issues on user-upgraded BCM94331 BT4.0 modules
|
||||
- Fix iGPU-only iMac14,x display output when using Minimal/Moderate spoof
|
||||
- Increment Binaries:
|
||||
- OpenCore 0.7.6 - release
|
||||
- Lilu 1.5.8 - release
|
||||
- BrcmPatchRAM 2.6.1 - release
|
||||
- WhateverGreen 1.5.5 - release
|
||||
- PatcherSupportPkg 0.2.8 - release
|
||||
- FeatureUnlock 1.0.5 - rolling (9cf1e81)
|
||||
- Fix AirPlay to Mac on macOS 12.1
|
||||
- Add macOS InstallAssistant downloader to TUI
|
||||
- Resolve rare memory corruption due to FeatureUnlock
|
||||
- Raise SurPlus MaxKernel to 21.99.99
|
||||
- Fix Content Caching with spoofless usage
|
||||
- Allow disabling of ConnectDrivers
|
||||
- Aid with Hibernation on MacBookPro9,1/MacBookPro10,1
|
||||
- Add legacy iSight patch
|
||||
- Applicable for MacBook4,1/5,2
|
||||
- Affected Device IDs: 0x8300, 0x8501, 0x8503
|
||||
- Credit to parrotgeek1 for LegacyUSBVideoSupport
|
||||
- Fix Wifi Password prompt in Monterey on legacy wifi
|
||||
- Applicable for Atheros, BCM94328, BCM94322
|
||||
- Fix OpenCL Acceleration on Ivy Bridge and Kepler
|
||||
- Add Apple RAID Card support
|
||||
- Add Legacy GCN build support off model for MXM iMacs
|
||||
- Resolve 5k Display Output support on 5k iMacs and iMac Pro
|
||||
- Resolve NVMe Patching on 2016-2017 MacBook Pros
|
||||
- Enable Windows VMX support for Haswell and Broadwell MacBooks
|
||||
|
||||
## 0.3.1
|
||||
- Increment Binaries:
|
||||
- OpenCorePkg 0.7.4 release
|
||||
- RestrictEvents 1.0.5 release
|
||||
- WhateverGreen 1.5.4 release
|
||||
- Allow for setting custom SIP values via TUI
|
||||
- Drop `CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE` requirement for root patching
|
||||
- Lowers default SIP Disabled value to 0xA03
|
||||
- Update Legacy GMUX patchset to latest Sierra Secuirty Update
|
||||
- [Source](https://github.com/HackintoshHD/mbp5x-instant-gpu-switching)
|
||||
- Fix non-Metal acceleration crashing on 12.0.1
|
||||
- Yes Apple adding a notch broke our accel patches
|
||||
- Fix non-Metal Control Center crashing on 12.0 Beta 10+
|
||||
- Increment Binaries:
|
||||
- PatcherSupportPkg 0.1.12
|
||||
|
||||
## 0.3.0
|
||||
- Fix Nvidia Tesla Acceleration in Monterey Beta 7+
|
||||
- Add missing NVDAStartup
|
||||
- Allow configuring GMUX usage for Windows
|
||||
- Applicable for iGPU+dGPU MacBook Pros
|
||||
- Allow usage of legacy AppleHDA
|
||||
- Only use for machines that cannot achieve audio support normally
|
||||
- Main usage for Macs without boot screen output
|
||||
- Revert iMacPro1,1 SMBIOS usage on Mac Pros and Xserves
|
||||
- Resolves display output issues on Legacy GCN
|
||||
- Limit SIP bits flipped when disabled
|
||||
- 0xFEF -> 0xE03
|
||||
- `CSR_ALLOW_UNTRUSTED_KEXTS`
|
||||
- `CSR_ALLOW_UNRESTRICTED_FS`
|
||||
- `CSR_ALLOW_UNAPPROVED_KEXTS`
|
||||
- `CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE`
|
||||
- `CSR_ALLOW_UNAUTHENTICATED_ROOT`
|
||||
- Fix Kepler DisplayPort output
|
||||
- Apply `agdpmod=vit9696` patch
|
||||
- Add Syncretic's SurPlus 11.3+ Race Condition Patch
|
||||
- [Source](https://github.com/reenigneorcim/SurPlus)
|
||||
- Downgrade Nvidia Kepler Bundles to 11.0 Beta 3
|
||||
- Resolves crashing at high loads, credit to [Jackluke](https://github.com/jacklukem) for discovery
|
||||
- Add Legacy GMUX patchsets
|
||||
- Applicable for dual GPU MacBookPro5,x and demuxed MacBookPro8,x
|
||||
- Increment Binaries:
|
||||
- PatcherSupportPkg 0.1.7 release
|
||||
- RestrictEvents 1.0.5 rolling (2430ed0)
|
||||
- Limit MacBookPro6,2 G State
|
||||
- Works around crashing when switching GPUs
|
||||
- Fix OTA updates on T2 SMBIOS
|
||||
- Allow iMac13,x iGPU usage always
|
||||
- Due to both Kepler and Ivy needing root patching, no benefit to disable the iGPU
|
||||
- Refactor Hardware Model building
|
||||
- Resolve dGPU output on MacBookPro10,1
|
||||
- Add Panel ID `9cd6` for iMac11,3
|
||||
- Resolves Brightness control
|
||||
- Add AppleGVA patch set for HD3000 machines
|
||||
- Mainly applicable for iMac12,x and iGPU-only MacBooks
|
||||
- Add EFICheckDisabler
|
||||
- Based off stripped RestrictEvents.kext
|
||||
- Add SimpleMSR to disable missing battery throttling on Nehalem+ MacBooks
|
||||
- Implement software demux patch set for 2011 15/17" MacBook Pros
|
||||
- Alternative to hardware demux
|
||||
- Adds [AMDGPUWakeHandler](https://github.com/blackgate/AMDGPUWakeHandler)
|
||||
- Add Legacy GCN support for iMac11,x and iMac12,x with upgraded GPUs
|
||||
- Note: iMac12,x with legacy GCN will fail to wake
|
||||
- Fix Beta 10 Bluetooth
|
||||
- Works around new Broadcom/CSR vendor checks in `bluetoothd`
|
||||
|
||||
## 0.2.5
|
||||
|
||||
- Implement Latebloom configuration via command line tool
|
||||
- Implement Root Volume backups in addition to APFS snapshot reversions
|
||||
- Backups applicable to machines with sealed APFS snapshots
|
||||
- Allow Root Patching on Mojave and Catalina
|
||||
- Currently experimental
|
||||
- Allow disabling of faulty Thunderbolt controllers on 2013-2014 MacBook Pros
|
||||
- Currently limited to MacBookPro11,x
|
||||
- Set iMacPro1,1 SMBIOS for Mac Pro and Xserve models
|
||||
- Allows for wider array of OS support (High Sierra+)
|
||||
- Use plist override for BCM943224 and BCM94331 support in Big Sur+
|
||||
- Allows for older OS support through OpenCore
|
||||
- Increment Binaries:
|
||||
- OpenCore 0.7.2 release
|
||||
- Lilu 1.5.5 release
|
||||
- AppleALC 1.6.3 release
|
||||
- WhateverGreen 1.5.2 release
|
||||
- FeatureUnlock 1.0.3 release
|
||||
- PatcherSupportPkg 0.1.2 release
|
||||
- Allow iGPU/dGPU switching in Windows
|
||||
- Applicable to MacBook Pros with Intel iGPU and Nvidia/AMD dGPU
|
||||
- Clean up Patcher Settings
|
||||
- Allow disabling of TeraScale 2 Acceleration during root volume patch
|
||||
- Use for MacBookPro8,x with heavily degraded dGPUs
|
||||
- Add non-Metal Monterey Acceleration
|
||||
- Currently supports:
|
||||
- Intel Ironlake and Sandy Bridge
|
||||
- Nvidia Tesla
|
||||
- AMD TeraScale 1 and 2
|
||||
- Allow Trackpad gestures on MacBook4,1 and MacBook5,2
|
||||
- System Preferences will not report settings however
|
||||
- Allow Root Volume Patched Systems to use FileVault 2
|
||||
- Requires macOS 11.3 (20E232) or newer
|
||||
- Unsupported on APFS ROM Patched Macs, revert to stock firmware to resolve
|
||||
- Add offline TUI build
|
||||
- Allows for root patching without network connection
|
||||
- Add Legacy Wireless support for Monterey
|
||||
- Applicable for BCM94328, BCM94322 and Atheros chipsets
|
||||
- Add Legacy Bluetooth support for Monterey
|
||||
- Applicable for BRCM2046 and BRCM2070 chipsets
|
||||
- Disable Library Validation allowing for AMFI usage
|
||||
- Remove reliance on amfi_get_out_of_my_way=1
|
||||
- Add Kepler Accleration Patches for Monterey Beta 7 and newer
|
||||
- Add FirmwareFeature upgrading to all Models
|
||||
- Fixes Monterey Beta 7 installation issues
|
||||
- Add iMac7,1 USB map
|
||||
|
||||
## 0.2.4
|
||||
|
||||
- Fix BlessOverride typo
|
||||
- Fix Wake on WLAN typo
|
||||
- Fix Catalyst App crashing in macOS 11.5 (ie. Messages.app)
|
||||
- Increment Binaries
|
||||
- PatcherSupportPkg 0.0.15 release
|
||||
- Implement Latebloom.kext support (v0.19)
|
||||
- Work around macOS 11.3+ race condition on pre-Sandy Bridge Macs
|
||||
- Disable USB Map injection when unneeded
|
||||
|
||||
## 0.2.3
|
||||
|
||||
- Fix more IORegistry issues
|
||||
- Implement OpenCore GUI
|
||||
- Ensure symlinks are preserved
|
||||
- Enable TeraScale 2 patches by default on all models
|
||||
- Fix NightShift support for macOS Monterey
|
||||
- Add UniversalControl support
|
||||
- Currently not enabled by Apple in macOS Monterey Beta 2/iOS 15 Beta 2
|
||||
- Add optional Wake in WLAN setting
|
||||
- Note: enabling may create network instability
|
||||
- Increment Binaries
|
||||
- OpenCore 0.7.1 release (07-05-2021)
|
||||
- FeatureUnlock 1.0.3 rolling (07-07-2021)
|
||||
- Previously known as SidecarFixup
|
||||
- Lilu 1.5.4 release (07-05-2021)
|
||||
- AppleALC 1.6.2 release
|
||||
- WhateverGreen 1.6.2 release
|
||||
- PatcherSupportPkg 0.0.13 release
|
||||
- Fix Intel HD4000 DRM Support in macOS Monterey (thanks EduCovas!)
|
||||
- Support optionally re-enabling iGPU in iMac14,x with dGPUs
|
||||
- Fix Windows scanning in OpenCore menu when Windows and macOS are stored on the same ESP
|
||||
|
||||
## 0.2.2
|
||||
|
||||
- Fix IORegistry issue
|
||||
- Fix Root Patch Failure on Nvidia Tesla GPUs
|
||||
|
||||
## 0.2.1
|
||||
|
||||
- Fix NVMe Crash on build
|
||||
|
||||
## 0.2.0
|
||||
|
||||
- Refactor device probe logic
|
||||
- Implement PatcherSupportPkg v0.0.10
|
||||
- Reduces binary sizes depending on OS
|
||||
- Deprecates Apple-Binaries-OCLP
|
||||
- Fix full screen and Airplay to Mac support for Intel HD4000 iGPUs in Monterey
|
||||
- Automatically set `CMIO_Unit_Input_ASC.DoNotUseOpenCL` on TeraScale 2 GPUs
|
||||
- Fix Country Code detection on Wireless Cards
|
||||
- Add Windows detection and prompt during installation
|
||||
- Fix Google Fonts rendering for Intel HD4000 iGPUs in Monterey
|
||||
- Increment Binaries
|
||||
- Lilu 1.5.4 rolling (f69a972 - 06-20-2021)
|
||||
- RestrictEvents 1.0.3 rolling (3773ce2 - 06-20-2021)
|
||||
- SidecarFixup 1.0.2 rolling (2c29166 - 06-21-2021)
|
||||
- PatcherSupportPkg 0.0.18
|
||||
- Allow AirPlay to Mac support on Skylake - Coffeelake Macs
|
||||
|
||||
## 0.1.9
|
||||
|
||||
- Fix incorrect AMFI and SIP detection
|
||||
|
||||
## 0.1.8
|
||||
|
||||
- Fix Kernel Panic in Big Sur and Monterey
|
||||
- Increment binaries:
|
||||
- Lilu (1.5.4 rolling - 06-15-2021)
|
||||
|
||||
## 0.1.7
|
||||
|
||||
- Add FireWire Boot Support for Catalina and newer
|
||||
- Add NVMe firmware support for older models (ie. MacPro3,1)
|
||||
- OpenCore must be stored on a bootable volume (ie. USB or SATA)
|
||||
- Fix Thunderbolt Ethernet support on MacBookAir4,x
|
||||
- Fix XHCI hangs on pre-2012 Machines
|
||||
- XHCI boot support dropped due to instability
|
||||
- Add beta macOS Monterey Support
|
||||
- Fix iMac13,x sleep support
|
||||
- Add support for following models:
|
||||
- iMac14,4
|
||||
- iMac15,1
|
||||
- MacBook8,1
|
||||
- MacBookAir6,1
|
||||
- MacBookAir6,2
|
||||
- MacBookPro11,1
|
||||
- MacBookPro11,2
|
||||
- MacBookPro11,3
|
||||
- Increment binaries:
|
||||
- OpenCore (0.7.0 release - 06-07-2021)
|
||||
- AirportBrcmFixup (2.1.3 rolling - 06-08-2021)
|
||||
- AppleALC (1.6.2 rolling - 06-08-2021)
|
||||
- CPUFriend (1.2.4 rolling - 06-08-2021)
|
||||
- Lilu (1.5.4 rolling - 06-11-2021)
|
||||
- NVMeFix (1.0.9 rolling - 06-12-2021)
|
||||
- WhateverGreen (1.5.1 rolling - 06-08-2021)
|
||||
- RestrictEvents (1.0.3 rolling - 06-11-2021)
|
||||
- Apple Binaries (0.0.18 release - 06-12-2021)
|
||||
- MouSSE (0.95 release - 06-08-2021)
|
||||
- SidecarFixup (1.0.2 rolling - 06-11-2021)
|
||||
- Fix SSE4,2 Emulation
|
||||
- Fix Sidecar and CPU renaming support in macOS Monterey
|
||||
- Add AirPlay support to older Models
|
||||
- Add Intel HD4000 Acceleration
|
||||
- Big thanks to Jackluke, EduCovas, DhinakG, MykolaG!
|
||||
- Add DebugEnhancer for better macOS Monterey logs
|
||||
- DebugEnhancer (1.0.3 rolling - 06-08-2021)
|
||||
- Add TeraScale 2 Graphics Acceleration to Big Sur
|
||||
- User configurable, those prone to seizures are recommended to avoid or have another setup the machine due to initial colour strobing before forcing Million Colours on the display with SwitchResX or ResXtreme
|
||||
|
||||
## 0.1.6
|
||||
|
||||
- Add XHCI UEFI Driver for 3rd Party USB 3.0 Controllers
|
||||
- Allows for Boot Support from OpenCore' Picker
|
||||
- Fix UEFI output on MacPro3,1 with PC GPUs
|
||||
- Increment binaries:
|
||||
- OpenCore 4e0ff2d (0.7.0 rolling - 05-23-2021)
|
||||
- Apple Binaries 59a52a3 (0.0.8 release - 05-24-2021)
|
||||
- Allow legacy macOS Booting
|
||||
- Fix Photos app distortion on legacy GPUs
|
||||
- Fix device tree renaming on Mac Pros and Xserves
|
||||
- Ensure no Acceleration Patches applied when no compatible GPU found
|
||||
- Allow custom SMBIOS overriding
|
||||
- Fix incorrectly setting CPU override for non-Minimal SMBIOS spoofs
|
||||
- Support Minimal SMBIOS spoofing on El Capitan era Macs
|
||||
- Fix GPU Switching on MacBookPro6,x
|
||||
|
||||
## 0.1.5
|
||||
|
||||
- Fix crashing when Wireless module not present
|
||||
- Add iMac10,1 default dGPU pathing
|
||||
- Add agdpmod=vit9696 to all Nvidia Metal iMacs
|
||||
- Fixes external display support on Nvidia iMac12,x
|
||||
- Remove reliance on AppleBacklightFixup
|
||||
- Support space in path when downloading Root Patches
|
||||
- Enable PanicNoKextDump by default
|
||||
- Expand AppleGraphicsPowerManagement and AppleGraphicsDeviceControl Override support
|
||||
- Fix MacBookPro8,2/3 Brightness Control
|
||||
- dGPU must be disabled via NVRAM or deMUXed
|
||||
- Increment binaries:
|
||||
- Apple Binaries 478f6a6 (0.0.7 release - 05-16-2021)
|
||||
- Add SeedUtil option to Advanced Patcher Settings
|
||||
|
||||
## 0.1.4
|
||||
|
||||
- Fix Device Path formatting on 2012+ iMacs
|
||||
|
||||
## 0.1.3
|
||||
|
||||
- Fix internal PCIe devices reporting as external
|
||||
- Opt for `built-in` when device path is detectable
|
||||
- Innie 0ccd95e (1.3.0 release - 01-16-2021)
|
||||
- Fix MacBookPro5,4 audio support
|
||||
- Increment binaries
|
||||
- AppleALC 58b57ee (1.6.1 rolling - 05-07-2021)
|
||||
- Apple Binaries 74bd80f (0.0.6 release - 05-09-2021)
|
||||
- Support custom CPU names in About This Mac
|
||||
- Fix NightShift accidentally disabling on Minimal SMBIOS configs
|
||||
- Fix iMac9,1 audio support
|
||||
- Heavily expand Graphics ID list
|
||||
- Fix iMac7,1 and iMac8,1 audio support
|
||||
- Work-around Bluetooth Kernel Panic on Apple's Bluetooth 2.0 Controllers (USB 05AC:8206)
|
||||
- Affects iMac7,1 and MacPro3,1
|
||||
- Fix iMac external display support
|
||||
- Fix NVMe properties not applying when OpenCore is installed
|
||||
|
||||
## 0.1.2
|
||||
|
||||
- Fix IDE support on 2008 era MacBooks, iMacs and Xserves
|
||||
- Fix reduced output speeds on BCM94360 series Wifi cards
|
||||
- Fix accidentally disabling non-existent iGPU in iMac11,2
|
||||
- Remove USB ACPI Patching requirement for Minimal SMBIOS setups
|
||||
- Probe hardware for Backlight pathing on iMac10,1, iMac11,x and iMac12,x with Metal GPUs
|
||||
- Add Windows UEFI Audio support to Sandy and Ivy Bridge Macs
|
||||
- Add 3rd Party NVMe Power Management Patches
|
||||
- NVMeFix fafc52d (1.0.7 release - 05-03-2021)
|
||||
- Strip unused ACPI and Kernel entries during build
|
||||
- Allow native Macs to use OpenCore
|
||||
- Better 3rd party NVMe support
|
||||
- Better Wireless networking support
|
||||
- Fix MacBook6,1 audio support
|
||||
- Increment binaries
|
||||
- OpenCore 65cc81b (0.6.9 release - 05-03-2021)
|
||||
- Lilu c77722d (1.5.3 release - 05-03-2021)
|
||||
- AppleALC 84850d0 (1.6.0 rolling - 04-30-2021)
|
||||
- RestrictEvents 9e2bb0f (1.0.1 release - 05-03-2021)
|
||||
- Allow CPUFriend on all El-Capitan Era Macs
|
||||
- Fix UEFI 2.0 Application support on upgraded Nvidia GPUs
|
||||
- Add experimental Sidecar support
|
||||
- Requires Mac with Metal Intel iGPU and the iPad to be directly plugged in, wireless highly unstable
|
||||
- SidecarFixup efdf11c (1.0.0 release - 05-02-2021)
|
||||
|
||||
## 0.1.1
|
||||
|
||||
- Fix iMac11,3 GFX0 pathing
|
||||
- Add MouSSE support to iMac10,1 with Metal AMD GPU
|
||||
- Fix iMac11,1 and iMac11,3 Nvidia boot issues after PRAM reset
|
||||
- Fix DRM support on Nvidia-only configurations
|
||||
- Support optional setting between DRM and QuickSync support on iMacs13,x and iMac14,x
|
||||
- Add public beta support for Legacy GPU Acceleration (v0.0.4)
|
||||
- Note ATI/AMD TeraScale 2 unsupported (HD 5/6000)
|
||||
- Add better kmutil crash handling
|
||||
- Fix build crashing when no wifi card is present
|
||||
- Allow Legacy Acceleration Patches on Mac Pros and Xserves
|
||||
- Fix USB kernel panics on iMac7,1
|
||||
- Fix AppleALC support in Mojave
|
||||
- Fix TeraScale 1 GPU detection
|
||||
- Enable Graphics Acceleration on legacy GPUs by default
|
||||
- Fix incorrectly disabling SIP/SMB on Metal GPUs
|
||||
- Fix error output when rebuilding kernel cache fails
|
||||
- Fix Acceleration Linking for Intel Ironlake iGPUs
|
||||
|
||||
## 0.1.0
|
||||
|
||||
- Fix crash on iMacs with Metal GPUs
|
||||
|
||||
## 0.0.23
|
||||
|
||||
- Fix MacBookPro4,1 15" and 17" audio support
|
||||
- Fix iMac7,1 24" and iMac9,1 24" audio support
|
||||
- Fix Macmini4,1 audio support
|
||||
- Increment binaries
|
||||
- AppleALC 1a3e5cb (1.6.0 rolling - 04-14-2021)
|
||||
- Enhance Wifi model detection
|
||||
- Hide OpenShell.efi by default
|
||||
- Add Brightness Control patches for legacy Nvidia, AMD and Intel GPUs
|
||||
- Models with brightness control issues in Catalina partially supported
|
||||
- Add user configurable Bootstrap setting
|
||||
- Enhance GPU Detection logic
|
||||
- Increment AppleBackLightFixup v1.0.1
|
||||
- Add panel type F10T9cde
|
||||
- Enhance HDMI audio support on Mac Pros and Xserves
|
||||
- Strip unused kext entries during build
|
||||
- Add gfxutil support for better DeviceProperty path detection
|
||||
- Add basic CLI support
|
||||
- Disable SIP and SecureBootModel by default on legacy GPUs
|
||||
|
||||
## 0.0.22
|
||||
|
||||
- Add ExFat support for models missing driver
|
||||
- Aids BootCamp support for EFI based installs on 2010 and older Macs
|
||||
- Fix CPU Boosting on 2011 and older Macs
|
||||
- Add basic support for Xserve2,1
|
||||
- Add AppleALC support(99b3662 - 1.6.0 rolling - 04-09-2021), remove AppleHDA patching requirement
|
||||
- Add BCM94322 and BCM94321 chipset support
|
||||
|
||||
## 0.0.21
|
||||
|
||||
- Fix botched images in OpenCanopy
|
||||
- Add support for 3rd party OpenCore usage detection during building
|
||||
- Mainly for users transitioning from Ausdauersportler's OpenCore configuration
|
||||
|
||||
## 0.0.20
|
||||
|
||||
- Fix CPU Calculation on early MCP79 chipsets (ie. iMac9,1, MacBook5,x)
|
||||
- Increment binaries
|
||||
- OpenCore c528597 (0.6.8 release - 2021-04-05)
|
||||
- Lilu 3ef7ca1 (1.5.2 release - 2021-04-05)
|
||||
- WhateverGreen afcd687 (1.4.9 release - 2021-04-05)
|
||||
- Move Apple binaries to dedicated repo and allow custom repos
|
||||
- Reduces App size 1/5th compared to 0.0.19
|
||||
- Fix OpenCanopy support on iMac7,1 and 8,1
|
||||
- Set iGPU-less iMacs to iMacPro1,1
|
||||
- Additionally fixes Bluetooth on older iMacs with BRCM2046 modules
|
||||
- Add MacBook4,1 support
|
||||
- Create dedicated RestrictEvents build for MacBookPro9,1
|
||||
- Fix Mac Pro and Xserve output issues
|
||||
|
||||
## 0.0.19
|
||||
|
||||
- Add SMC-Spoof.kext to avoid triggering `smcupdater`
|
||||
- Add Root Volume patching for older machines
|
||||
- AppleHDA Patch for 2011 and older (Excluding MacPro4,1+)
|
||||
- Fix CPU Speed reporting
|
||||
- Increment binaries
|
||||
- OpenCore 9cd61bb (0.6.8 rolling - 2021-03-27)
|
||||
- Add Mavericks and newer .app support
|
||||
- Refactor USB map building, fixes USB 3.0 displaying as USB 2.0
|
||||
- Fix blackscreen on MacBookPro9,1
|
||||
- Update RestrictEvents with custom build (1.0.1)
|
||||
- Blocks `/usr/libexec/displaypolicyd` on MacBookPro9,1 to ensure smooth GPU switching
|
||||
- Add custom SD Card icon
|
||||
- Add automatic codesiging and notarization
|
||||
- Fix crashing when CD is present
|
||||
- Add custom SSD icon
|
||||
- Fix Broadcom Ethernet on older 2009-2011 Macs
|
||||
|
||||
## 0.0.18
|
||||
|
||||
- Disable Vault by default due to breaking installations
|
||||
- Move BOOTx64.efi to System/Library/CoreServices/ to support GPT BootCamp installs
|
||||
- Disable verbose by default, still configurable by end-user
|
||||
- Remove `AppleInternal`(0x10) from SIP value
|
||||
- Add Mac Pro DRM patches for Metal GPUs
|
||||
- Force `Moderate` SMBIOS replacement for models without native APFS support
|
||||
- Re-enable legacy BCM94322 networking patches
|
||||
- Add custom drive icons for external drives
|
||||
|
||||
## 0.0.17
|
||||
|
||||
- Fix build detection breaking on older OS
|
||||
|
||||
## 0.0.16
|
||||
|
||||
- Move Serial selection to Patcher Settings
|
||||
- Add new SMBIOS patching options:
|
||||
- Minimal: Only update board ID and BIOSVersion, keep original serials
|
||||
- Moderate: Update entire SMBIOS, keep original serials
|
||||
- Advanced: Update entire SMBIOS, generate new serials
|
||||
- Fix crash on MacBookPro4,1
|
||||
- Fix External Display Support on MacBookPro10,1
|
||||
- Inject Patcher version into NVRAM for easier debugging
|
||||
- Add user-configurable ShowPicker
|
||||
- Add user-configurable Vaulting, enabled by default
|
||||
- Add user-configurable SIP and SecureBootModel
|
||||
- Fix USB Maps not working on "Minimal" SMBIOS
|
||||
- Fix GPU vendor user-configuration
|
||||
- Fix custom EFI Boot icon in Mac Boot Picker
|
||||
- Enable UserInterfaceTheme to ensure DefaultBackgroundColor is respected
|
||||
- Enable `amfi_get_out_of_my_way=1` when SIP is disabled
|
||||
|
||||
## 0.0.15
|
||||
|
||||
- Add user-configurable OpenCore DEBUG builds
|
||||
- Add user-configurable Wifi and GPU patches
|
||||
- Fix ThirdPartyDrives model detection
|
||||
- Add HW_BID injection to fix boot.efi error
|
||||
|
||||
## 0.0.14
|
||||
|
||||
- Enable ThirdPartyDrives to aid with hibernation on 3rd party SATA drives
|
||||
- Increment OpenCore 7bb41aa (0.6.8 rolling, 2021-03-06)
|
||||
- Add ForceBooterSignature to resolve hibernation issues
|
||||
- Add NightShiftEnabler (1.1.0 release e1639f9)
|
||||
- Add user-configurable verbose and debug settings
|
||||
- Add GopPassThrough quirk for UGA-based systems
|
||||
|
||||
## 0.0.13
|
||||
|
||||
- Add CPUFriend support to resolve X86PlatformPlugin clashes
|
||||
- (1.2.3 c388a62 release)
|
||||
- Fix crash with MacBookAir5,x
|
||||
- Fix hibernation support
|
||||
- Remove Wireless patches for BCM4328/4321(14e4:4328) due to boot issues
|
||||
|
||||
## 0.0.12
|
||||
|
||||
- Convert OpenCore-Patcher binary to OpenCore-Patcher.app
|
||||
- Add Backlight patches for modded Nvidia GPUs in iMac10,x-12,x
|
||||
- Fix sleep for iMac12,x with upgraded GPUs
|
||||
|
||||
## 0.0.11
|
||||
|
||||
- Re-add OpenCore GUI
|
||||
- Rewrite in py3
|
||||
- Add OpenCore-Patcher binary for releases avoiding local python requirement
|
||||
- Increment binaries
|
||||
- OpenCore cbd2fa3 (0.6.7 release)
|
||||
- WhateverGreen 2e19d1b (1.4.8 release)
|
||||
- Rework SMBIOS allowing both original and custom serials(Should resolve all iMessage issues)
|
||||
- Support upgraded GPU detection in iMac10,x-12,x
|
||||
- Add Wifi card upgrade detection
|
||||
|
||||
## 0.0.10
|
||||
|
||||
- Increment binaries
|
||||
- OpenCore 43f5339 (0.6.6 release)
|
||||
- Lilu d107554 (1.5.1 release)
|
||||
- WhateverGreen 9e53d8a (1.4.7 release)
|
||||
- Add IDE support to MacPro3,1
|
||||
- Set SecureBootModel to iMac Pro(should aid in booting older OSes with OpenCore)
|
||||
- Update MacBookPro SMBIOS
|
||||
|
||||
## 0.0.9
|
||||
|
||||
- Resolve firmware install issues bricking Macs
|
||||
|
||||
## 0.0.8
|
||||
|
||||
- Fix USB Map
|
||||
- Add HiDPI patch
|
||||
|
||||
## 0.0.7
|
||||
|
||||
- Add MacPro3,1 to HID patch
|
||||
- Fix missing SSDT-CPBG patch
|
||||
- Fix BlacklistAppleUpdate
|
||||
- Add RestrictEvents kext
|
||||
|
||||
## 0.0.6
|
||||
|
||||
- Fix macserial crashing
|
||||
|
||||
## 0.0.5
|
||||
|
||||
- Enable hibernation support
|
||||
- Work around USB Map failing
|
||||
- Add checks whether booting with OpenCore
|
||||
- Fix MouSSE injection
|
||||
|
||||
## 0.0.4
|
||||
|
||||
- Add basic audio support for legacy chipsets
|
||||
- Add patch for dual GPU machines
|
||||
|
||||
## 0.0.3
|
||||
|
||||
- Fix Wireless patch logic
|
||||
|
||||
## 0.0.2
|
||||
|
||||
- Expand IOHIDFamily Patch to all Nvidia chipsets
|
||||
- Fix Airdrop 1.0 support
|
||||
- Add El Capitan era wireless cards
|
||||
|
||||
## 0.0.1
|
||||
|
||||
- Initial developer preview
|
||||
@@ -1,226 +1,92 @@
|
||||
#!/usr/bin/env python
|
||||
#!/usr/bin/env python3
|
||||
# Copyright (C) 2020-2021, Dhinak G, Mykola Grymalyuk
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
from shutil import copy
|
||||
from shutil import rmtree
|
||||
|
||||
import os
|
||||
import json
|
||||
import subprocess
|
||||
import sys
|
||||
import zipfile
|
||||
from pathlib import Path
|
||||
|
||||
from Resources import *
|
||||
from resources import build, cli_menu, constants, utilities, device_probe, os_probe, defaults, arguments, install
|
||||
from data import model_array
|
||||
|
||||
# List build versions
|
||||
patcher_version = "0.0.1"
|
||||
|
||||
CustomSMBIOS=False
|
||||
MainMenu=True
|
||||
MenuWidth = 52
|
||||
header = '#' * MenuWidth
|
||||
subheader = '-' * MenuWidth
|
||||
class OpenCoreLegacyPatcher:
|
||||
def __init__(self):
|
||||
print("- Loading...")
|
||||
self.constants = constants.Constants()
|
||||
self.generate_base_data()
|
||||
if utilities.check_cli_args() is None:
|
||||
self.main_menu()
|
||||
|
||||
while MainMenu:
|
||||
os.system('clear')
|
||||
def generate_base_data(self):
|
||||
self.constants.detected_os = os_probe.detect_kernel_major()
|
||||
self.constants.detected_os_minor = os_probe.detect_kernel_minor()
|
||||
self.constants.detected_os_build = os_probe.detect_kernel_build()
|
||||
self.constants.computer = device_probe.Computer.probe()
|
||||
self.constants.recovery_status = utilities.check_recovery()
|
||||
self.computer = self.constants.computer
|
||||
defaults.generate_defaults.probe(self.computer.real_model, True, self.constants)
|
||||
if utilities.check_cli_args() is not None:
|
||||
print("- Detected arguments, switching to CLI mode")
|
||||
self.constants.gui_mode = True # Assumes no user interaction is required
|
||||
self.constants.current_path = Path.cwd()
|
||||
if getattr(sys, "frozen", False) and hasattr(sys, "_MEIPASS"):
|
||||
print("- Rerouting payloads location")
|
||||
self.constants.payload_path = sys._MEIPASS / Path("payloads")
|
||||
arguments.arguments().parse_arguments(self.constants)
|
||||
else:
|
||||
print("- No arguments present, loading TUI")
|
||||
|
||||
print(header)
|
||||
print(" OpenCore Legacy patcher v%s" % patcher_version)
|
||||
print(" Current Model: %s" % BuildOpenCore.current_model)
|
||||
print(header)
|
||||
print("")
|
||||
if BuildOpenCore.current_model not in ModelArray.SupportedSMBIOS:
|
||||
print(" Your model is not supported by this patcher!")
|
||||
print("")
|
||||
print(" If you plan to create the USB for another machine,")
|
||||
print(" please select option 5")
|
||||
print(subheader)
|
||||
print("")
|
||||
elif BuildOpenCore.current_model in ("MacPro3,1", "iMac7,1"):
|
||||
print(" This model is supported")
|
||||
print(" However please ensure the CPU have been upgraded")
|
||||
print(" to support SSE4.1+")
|
||||
print(subheader)
|
||||
print("")
|
||||
else:
|
||||
print(" This model is supported")
|
||||
print(subheader)
|
||||
print("")
|
||||
print(" 1. Build OpenCore")
|
||||
print(" 2. Install OpenCore to USB/internal drive")
|
||||
print(" 3. Change model")
|
||||
print(" 4. Credits")
|
||||
print(" 5. Exit")
|
||||
print("")
|
||||
def main_menu(self):
|
||||
response = None
|
||||
while not (response and response == -1):
|
||||
title = [
|
||||
f"OpenCore Legacy Patcher v{self.constants.patcher_version}",
|
||||
f"Selected Model: {self.constants.custom_model or self.computer.real_model}",
|
||||
]
|
||||
|
||||
MainMenu = raw_input('Please select an option: ')
|
||||
|
||||
if MainMenu=="1":
|
||||
OpenCoreBuilderMenu=True
|
||||
while OpenCoreBuilderMenu:
|
||||
os.system('clear')
|
||||
|
||||
print(header)
|
||||
print(" Build OpenCore v%s for model: %s" % (Versions.opencore_version, BuildOpenCore.current_model))
|
||||
print(header)
|
||||
print("")
|
||||
print(" 1. Auto build OpenCore")
|
||||
print(" 2. Change OpenCore version")
|
||||
print(" 3. Return to main menu")
|
||||
print("")
|
||||
|
||||
OpenCoreBuilderMenu = raw_input('Please select an option: ')
|
||||
|
||||
if OpenCoreBuilderMenu=="1":
|
||||
AutoBuilderMenu=True
|
||||
while AutoBuilderMenu:
|
||||
os.system('clear')
|
||||
print(header)
|
||||
print(" Building OpenCore for model: %s" % BuildOpenCore.current_model)
|
||||
print(header)
|
||||
print("")
|
||||
print("The current working directory:")
|
||||
print (" %s" % Versions.current_path)
|
||||
print("")
|
||||
BuildOpenCore.BuildEFI()
|
||||
BuildOpenCore.BuildGUI()
|
||||
BuildOpenCore.BuildSMBIOS()
|
||||
BuildOpenCore.SavePlist()
|
||||
BuildOpenCore.CleanBuildFolder()
|
||||
print("")
|
||||
print("Your OpenCore EFI has been built at:")
|
||||
print(" %s" % Versions.opencore_path_done)
|
||||
print("")
|
||||
AutoBuilderMenu = raw_input("Press any key to return to previous menu: ")
|
||||
if AutoBuilderMenu=="1":
|
||||
print("Returning to previous menu...")
|
||||
AutoBuilderMenu=False
|
||||
OpenCoreBuilderMenu=False
|
||||
elif OpenCoreBuilderMenu=="2":
|
||||
ChangeOCversion=True
|
||||
while ChangeOCversion:
|
||||
os.system('clear')
|
||||
print(header)
|
||||
print(" Current OpenCore version: %s" % Versions.opencore_version)
|
||||
print(header)
|
||||
print("")
|
||||
print(" Supported versions: 0.6.3, 0.6.4")
|
||||
print("")
|
||||
OpenCoreOption = raw_input('Please enter the OpenCore you want (Press enter to exit): ')
|
||||
if OpenCoreOption == "":
|
||||
print("Exiting...")
|
||||
ChangeOCversion=False
|
||||
MainMenu=True
|
||||
else:
|
||||
print("")
|
||||
print(" New SMBIOS: %s" % OpenCoreOption)
|
||||
print("")
|
||||
ChangeOCversionYN = raw_input("Is this correcy? (y/n)")
|
||||
if ChangeOCversionYN in {"y", "Y", "yes", "Yes"}:
|
||||
ChangeOCversion=False
|
||||
Versions.opencore_version = OpenCoreOption
|
||||
MainMenu=True
|
||||
elif OpenCoreBuilderMenu=="3":
|
||||
print("\n Returning to main menu...")
|
||||
OpenCoreBuilderMenu=False
|
||||
MainMenu=True
|
||||
if (self.constants.custom_model or self.computer.real_model) not in model_array.SupportedSMBIOS and self.constants.allow_oc_everywhere is False:
|
||||
in_between = [
|
||||
"Your model is not supported by this patcher for running unsupported OSes!",
|
||||
"",
|
||||
'If you plan to create the USB for another machine, please select the \n"Change Model" option in the menu.',
|
||||
"",
|
||||
'If you want to run OCLP on a native Mac, please toggle \n"Allow OpenCore on native Models" in settings',
|
||||
]
|
||||
elif not self.constants.custom_model and self.computer.real_model == "iMac7,1" and "SSE4.1" not in self.computer.cpu.flags:
|
||||
in_between = [
|
||||
"Your model requires a CPU upgrade to a CPU supporting SSE4.1+ to be supported by this patcher!",
|
||||
"",
|
||||
f'If you plan to create the USB for another {self.computer.real_model} with SSE4.1+, please select the "Change Model" option in the menu.',
|
||||
]
|
||||
elif self.constants.custom_model == "iMac7,1":
|
||||
in_between = ["This model is supported", "However please ensure the CPU has been upgraded to support SSE4.1+"]
|
||||
else:
|
||||
print("\n Not Valid Choice Try again")
|
||||
OpenCoreBuilderMenu = True
|
||||
in_between = ["This model is supported"]
|
||||
|
||||
|
||||
elif MainMenu=="2":
|
||||
print("\n Not yet implemented")
|
||||
OpenCoreInstallerMenu=True
|
||||
while OpenCoreInstallerMenu:
|
||||
os.system('clear')
|
||||
menu = utilities.TUIMenu(title, "Please select an option: ", in_between=in_between, auto_number=True, top_level=True)
|
||||
|
||||
print(header)
|
||||
print(" Install OpenCore to drive")
|
||||
print(header)
|
||||
print("")
|
||||
print(" 1. Install to USB/internal drive")
|
||||
print(" 2. Return to main menu")
|
||||
print("")
|
||||
options = (
|
||||
[["Build OpenCore", build.BuildOpenCore(self.constants.custom_model or self.constants.computer.real_model, self.constants).build_opencore]]
|
||||
if ((self.constants.custom_model or self.computer.real_model) in model_array.SupportedSMBIOS) or self.constants.allow_oc_everywhere is True
|
||||
else []
|
||||
) + [
|
||||
["Install OpenCore to USB/internal drive", install.tui_disk_installation(self.constants).copy_efi],
|
||||
["Post-Install Volume Patch", cli_menu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).PatchVolume],
|
||||
["Change Model", cli_menu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).change_model],
|
||||
["Patcher Settings", cli_menu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).patcher_settings],
|
||||
["Installer Creation", cli_menu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).download_macOS],
|
||||
["Credits", cli_menu.MenuOptions(self.constants.custom_model or self.computer.real_model, self.constants).credits],
|
||||
]
|
||||
|
||||
OpenCoreInstallerMenu = raw_input('Please select an option: ')
|
||||
for option in options:
|
||||
menu.add_menu_option(option[0], function=option[1])
|
||||
|
||||
if OpenCoreInstallerMenu=="1":
|
||||
os.system('clear')
|
||||
if os.path.exists(Versions.opencore_path_done):
|
||||
print("Found OpenCore in Build Folder")
|
||||
BuildOpenCore.ListDiskutil()
|
||||
BuildOpenCore.MoveOpenCore()
|
||||
response = menu.start()
|
||||
|
||||
else:
|
||||
print("OpenCore folder missing!")
|
||||
print("Please build OpenCore first")
|
||||
print("")
|
||||
OpenCoreInstallerMenu = raw_input("Press any key to exit: ")
|
||||
if OpenCoreInstallerMenu=="1":
|
||||
print("Returning to main menu...")
|
||||
OpenCoreInstallerMenu=False
|
||||
elif OpenCoreInstallerMenu=="2":
|
||||
print("\n Returning to main menu...")
|
||||
OpenCoreInstallerMenu=False
|
||||
MainMenu=True
|
||||
else:
|
||||
print("\n Not Valid Choice Try again")
|
||||
OpenCoreInstallerMenu = True
|
||||
|
||||
elif MainMenu=="3":
|
||||
SMBIOSMenu=True
|
||||
while SMBIOSMenu:
|
||||
os.system('clear')
|
||||
|
||||
print(header)
|
||||
print(" Enter a new SMBIOS")
|
||||
print(header)
|
||||
print("")
|
||||
print(" Tip: Run this command on the machine to find the SMBIOS")
|
||||
print("")
|
||||
print(" system_profiler SPHardwareDataType | grep 'Model Identifier'")
|
||||
print("")
|
||||
SMBIOSOption = raw_input('Please enter the SMBIOS of your machine (Press enter to exit): ')
|
||||
if SMBIOSOption == "":
|
||||
print("Exiting...")
|
||||
SMBIOSMenu=False
|
||||
MainMenu=True
|
||||
else:
|
||||
print("")
|
||||
print(" New SMBIOS: %s" % SMBIOSOption)
|
||||
print("")
|
||||
SMBIOSMenuYN = raw_input("Is this correcy? (y/n)")
|
||||
if SMBIOSMenuYN in {"y", "Y", "yes", "Yes"}:
|
||||
SMBIOSMenu=False
|
||||
BuildOpenCore.current_model = SMBIOSOption
|
||||
MainMenu=True
|
||||
CustomSMBIOS=True
|
||||
elif MainMenu=="4":
|
||||
CreditMenu=True
|
||||
while CreditMenu:
|
||||
os.system('clear')
|
||||
|
||||
print(header)
|
||||
print(" Credits")
|
||||
print(header)
|
||||
print("")
|
||||
print(" Many thanks to the following:")
|
||||
print("")
|
||||
print(" - Acidanthera: OpenCore, kexts and other tools")
|
||||
print(" - DhinakG: Writing and maintaining this Patcher")
|
||||
print(" - Khronokernel: Writing and maintaining this Patcher")
|
||||
print(" - Syncretic: AAAMouSSE and telemetrap")
|
||||
print("")
|
||||
CreditMenu = raw_input(" Press any key to exit: ")
|
||||
print("Returning to main menu...")
|
||||
CreditMenu=False
|
||||
MainMenu=True
|
||||
|
||||
elif MainMenu=="5":
|
||||
print("\n Closing program...")
|
||||
sys.exit(1)
|
||||
else:
|
||||
print("\n Not Valid Choice Try again")
|
||||
MainMenu=True
|
||||
if getattr(sys, "frozen", False) and self.constants.recovery_status is False:
|
||||
subprocess.run("""osascript -e 'tell application "Terminal" to close first window' & exit""", shell=True)
|
||||
|
||||
if __name__ == '__main__':
|
||||
OpenCoreLegacyPatcher()
|
||||
44
OpenCore-Patcher.spec
Normal file
@@ -0,0 +1,44 @@
|
||||
# -*- 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=[],
|
||||
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.icns",
|
||||
bundle_identifier=None,
|
||||
info_plist={
|
||||
"CFBundleShortVersionString": constants.Constants().patcher_version,
|
||||
"CFBundleExecutable": "MacOS/Launcher",
|
||||
"NSHumanReadableCopyright": "Copyright 2020-2021 Dortania"
|
||||
})
|
||||
147
README.md
@@ -1,104 +1,69 @@
|
||||
# OpenCore Legacy Patcher
|
||||
<div align="center">
|
||||
<img src="images/OC-Patcher.png" alt="OpenCore Patcher Logo" width="256" />
|
||||
<h1>OpenCore Legacy Patcher</h1>
|
||||
</div>
|
||||
|
||||
A python script for building and booting OpenCore on legacy Macs, see [Supported SMBIOS](#supported-smbios) on whether your model is supported.
|
||||
A python program with an [Objective-C GUI](https://github.com/dortania/OCLP-GUI) for building and booting [OpenCore](https://github.com/acidanthera/OpenCorePkg) on both legacy and modern Macs, see our in-depth [Guide](https://dortania.github.io/OpenCore-Legacy-Patcher/) for more information.
|
||||
|
||||
Current TO-DO's with this patcher:
|
||||
Supported features:
|
||||
|
||||
* [ ] Create macOS Installer
|
||||
* [ ] Legacy GPU Patches
|
||||
* ie. 2011 and older
|
||||
* [ ] Legacy Audio Patches
|
||||
* ie. 2011 and older
|
||||
* System Integrity Protection, FileVault 2, .im4m Secure Boot and Vaulting
|
||||
* WPA Wifi and Personal Hotspot support
|
||||
* Native OTA OS DELTA updates on all Macs
|
||||
* Recovery OS, Safe Mode and Single-user Mode booting
|
||||
* Zero firmware patching required (ie. APFS ROM patching)
|
||||
* GPU Switching on MacBook Pro models (2012 and newer)
|
||||
|
||||
## Supported SMBIOS
|
||||
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.
|
||||
|
||||
Any hardware supporting SSE4.1 CPU and 64-Bit firmware work on this patcher. To check your hardware model, run the below command on the applicable machine:
|
||||
* You can however reinstall macOS with this patcher and retain your original data
|
||||
|
||||
```bash
|
||||
system_profiler SPHardwareDataType | grep 'Model Identifier'
|
||||
```
|
||||
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.
|
||||
|
||||
<details>
|
||||
<summary>SMBIOS Support Table</summary>
|
||||
* For macOS Mojave and Catalina support, we recommend the use of [dosdude1's patchers](http://dosdude1.com)
|
||||
|
||||
```
|
||||
MacBook5,1
|
||||
MacBook5,2
|
||||
MacBook6,1
|
||||
MacBook7,1
|
||||
## Running from source
|
||||
|
||||
MacBookAir2,1
|
||||
MacBookAir3,1
|
||||
MacBookAir3,2
|
||||
MacBookAir4,1
|
||||
MacBookAir4,2
|
||||
MacBookAir5,1
|
||||
MacBookAir5,2
|
||||
To run the project from source, see here: [Build and run from source](./SOURCE.md)
|
||||
|
||||
MacBookPro3,1
|
||||
MacBookPro4,1
|
||||
MacBookPro5,1
|
||||
MacBookPro5,2
|
||||
MacBookPro5,3
|
||||
MacBookPro5,4
|
||||
MacBookPro5,5
|
||||
MacBookPro6,1
|
||||
MacBookPro6,2
|
||||
MacBookPro7,1
|
||||
MacBookPro8,1
|
||||
MacBookPro8,2
|
||||
MacBookPro8,3
|
||||
MacBookPro9,1
|
||||
MacBookPro9,2
|
||||
MacBookPro10,1
|
||||
MacBookPro10,2
|
||||
## Support
|
||||
|
||||
Macmini3,1
|
||||
Macmini4,1
|
||||
Macmini5,1
|
||||
Macmini5,2
|
||||
Macmini5,3
|
||||
Macmini6,1
|
||||
Macmini6,2
|
||||
To get aid with the patcher, we recommend joining the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN). We're actively there and is the quickest way to receive help. For bigger issues such as patcher crashing on build and such, we recommend opening an issue right here on GitHub
|
||||
|
||||
* Please review [How to debug with OpenCore](https://dortania.github.io/OpenCore-Legacy-Patcher/DEBUG.html) before opening issues
|
||||
|
||||
iMac7,1
|
||||
iMac8,1
|
||||
iMac9,1
|
||||
iMac10,1
|
||||
iMac11,1
|
||||
iMac11,2
|
||||
iMac11,3
|
||||
iMac12,1
|
||||
iMac12,2
|
||||
iMac13,1
|
||||
iMac13,2
|
||||
iMac14,1
|
||||
iMac14,2
|
||||
iMac14,3
|
||||
## Credits
|
||||
|
||||
MacPro3,1
|
||||
MacPro4,1
|
||||
MacPro5,1
|
||||
|
||||
Xserve3,1
|
||||
```
|
||||
|
||||
</details>
|
||||
<br>
|
||||
|
||||
## How to run
|
||||
|
||||
Prerequists:
|
||||
|
||||
* Supported Mac(see above)
|
||||
* macOS Installer installed to USB
|
||||
* See here on how to download and create an installer: [Creating a macOS Installer](https://dortania.github.io/OpenCore-Install-Guide/installer-guide/mac-install.html)
|
||||
* Blank USB drives formatted as GUID Partition Table are also supported
|
||||
|
||||
1. [Download the release](https://github.com/dortania/Opencore-Legacy-Patcher/releases)
|
||||
2. Run the `OpenCore-Patcher.command` file
|
||||
3. Once opened, select option 1 and build your EFI
|
||||
* if poatching for a different patching, selectect option 3 first
|
||||
4. Once finished, run option 2 a the main menu and install onto your desired drive
|
||||
|
||||
Once you're done making your OpenCore installer, you can simply reboot holding the Option key. In the picker, you should see a new EFI Boot Option. Boot it and from there you'll be in the OpenCore picker.
|
||||
* [Acidanthera](https://github.com/Acidanthera)
|
||||
* OpenCorePkg as well as many of the core kexts and tools
|
||||
* [DhinakG](https://github.com/DhinakG)
|
||||
* Main co-author
|
||||
* [Khronokernel](https://github.com/Khronokernel)
|
||||
* Main co-author
|
||||
* [Ausdauersportler](https://github.com/Ausdauersportler)
|
||||
* iMacs Metal GPUs Upgrade Patch set and documentation
|
||||
* Great amounts of help debugging and code suggestions
|
||||
* [vit9696](https://github.com/vit9696)
|
||||
* Endless amount of help troubleshooting, determining fixes and writing patches
|
||||
* [ASentientBot](https://github.com/ASentientBot)
|
||||
* Legacy Acceleration Patch set and documentation
|
||||
* [cdf](https://github.com/cdf)
|
||||
* Mac Pro on OpenCore Patch set and documentation
|
||||
* [Innie](https://github.com/cdf/Innie) and [NightShiftEnabler](https://github.com/cdf/NightShiftEnabler)
|
||||
* [Syncretic](https://forums.macrumors.com/members/syncretic.1173816/)
|
||||
* [AAAMouSSE](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/), [telemetrap](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/post-28447707) and [SurPlus](https://github.com/reenigneorcim/SurPlus)
|
||||
* [dosdude1](https://github.com/dosdude1)
|
||||
* Main author of GUI
|
||||
* Development of previous patchers, laying out much of what needs to be patched
|
||||
* [parrotgeek1](https://github.com/parrotgeek1)
|
||||
* [VMM Patch Set](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/4a8f61a01da72b38a4b2250386cc4b497a31a839/payloads/Config/config.plist#L1222-L1281)
|
||||
* [BarryKN](https://github.com/BarryKN)
|
||||
* Development of previous patchers, laying out much of what needs to be patched
|
||||
* [mario_bros_tech](https://github.com/mariobrostech) and the rest of the Unsupported Mac Discord
|
||||
* Catalyst that started OpenCore Legacy Patcher
|
||||
* [arter97](https://github.com/arter97/)
|
||||
* [SimpleMSR](https://github.com/arter97/SimpleMSR/) to disable firmware throttling in Nehalem+ MacBooks without batteries
|
||||
* MacRumors and Unsupported Mac Communities
|
||||
* Endless testing, reporting issues
|
||||
* Apple
|
||||
* for macOS and many of the kexts, frameworks and other binaries we reimplemented into newer OSes
|
||||
|
||||
@@ -1,315 +0,0 @@
|
||||
# Commands for building the EFI and SMBIOS
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
from shutil import copy
|
||||
from shutil import rmtree
|
||||
from distutils.dir_util import copy_tree
|
||||
|
||||
import os
|
||||
import json
|
||||
import subprocess
|
||||
import sys
|
||||
import zipfile
|
||||
|
||||
import Versions
|
||||
import ModelArray
|
||||
|
||||
# Find SMBIOS of machine
|
||||
current_model = subprocess.Popen("system_profiler SPHardwareDataType".split(), stdout=subprocess.PIPE)
|
||||
current_model = [line.strip().split(": ", 1)[1] for line in current_model.stdout.read().split("\n") if line.strip().startswith("Model Identifier")][0]
|
||||
|
||||
OCExist = False
|
||||
|
||||
def BuildEFI():
|
||||
|
||||
if not os.path.exists(Versions.build_path):
|
||||
os.makedirs(Versions.build_path)
|
||||
print("Created Build Folder")
|
||||
else:
|
||||
print("Build Folder already present, skipping")
|
||||
# Copy OpenCore into Build Folder
|
||||
|
||||
if os.path.exists(Versions.opencore_path_build):
|
||||
print("Deleting old copy of OpenCore zip")
|
||||
os.remove(Versions.opencore_path_build)
|
||||
if os.path.exists(Versions.opencore_path_done):
|
||||
print("Deleting old copy of OpenCore folder")
|
||||
rmtree(Versions.opencore_path_done)
|
||||
print("")
|
||||
print("- Adding OpenCore v%s" % Versions.opencore_version)
|
||||
copy(Versions.opencore_path, Versions.build_path)
|
||||
zipfile.ZipFile(Versions.opencore_path_build).extractall(Versions.build_path)
|
||||
|
||||
print("- Adding config.plist v%s" % Versions.opencore_version)
|
||||
# Setup config.plist for editing
|
||||
copy(Versions.plist_path, Versions.plist_path_build)
|
||||
with open(Versions.plist_path_build_full, 'r') as file :
|
||||
Versions.plist_data = file.read()
|
||||
|
||||
print("- Adding Lilu %s" % Versions.lilu_version)
|
||||
copy(Versions.lilu_path, Versions.kext_path_build)
|
||||
|
||||
print("- Adding WhateverGreen %s" % Versions.whatevergreen_version)
|
||||
copy(Versions.whatevergreen_path, Versions.kext_path_build)
|
||||
|
||||
# Checks for kexts
|
||||
# CPU Kext Patches
|
||||
if current_model in ModelArray.DualSocket:
|
||||
print("- Adding AppleMCEReporterDisabler v%s" % Versions.mce_version)
|
||||
copy(Versions.mce_path, Versions.kext_path_build)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"<false/><!--AppleMCEReporterDisabler-->",
|
||||
"<true/><!--AppleMCEReporterDisabler-->"
|
||||
)
|
||||
|
||||
if current_model in ModelArray.SSEEmulator:
|
||||
print("- Adding AAAMouSSE v%s" % Versions.mousse_version)
|
||||
copy(Versions.mousse_version, Versions.kext_path_build)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"<false/><!--AAAMouSSE-->",
|
||||
"<true/><!--AAAMouSSE-->"
|
||||
)
|
||||
if current_model in ModelArray.MissingSSE42:
|
||||
print("- Adding telemetrap %s" % Versions.telemetrap_version)
|
||||
copy(Versions.telemetrap_path, Versions.kext_path_build)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"<false/><!--telemetrap-->",
|
||||
"<true/><!--telemetrap-->"
|
||||
)
|
||||
|
||||
# Ethernet Patches
|
||||
|
||||
if current_model in ModelArray.EthernetNvidia:
|
||||
print("- Adding nForceEthernet v%s" % Versions.nforce_version)
|
||||
copy(Versions.nforce_path, Versions.kext_path_build)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"<false/><!--nForceEthernet-->",
|
||||
"<true/><!--nForceEthernet-->"
|
||||
)
|
||||
if current_model in ModelArray.EthernetMarvell:
|
||||
print("- Adding MarvelYukonEthernet v%s" % Versions.marvel_version)
|
||||
copy(Versions.marvel_path, Versions.kext_path_build)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"<false/><!--MarvelYukonEthernet-->",
|
||||
"<true/><!--MarvelYukonEthernet-->"
|
||||
)
|
||||
if current_model in ModelArray.EthernetBroadcom:
|
||||
print("- Adding CatalinaBCM5701Ethernet %s" % Versions.bcm570_version)
|
||||
copy(Versions.bcm570_path, Versions.kext_path_build)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"<false/><!--CatalinaBCM5701Ethernet-->",
|
||||
"<true/><!--CatalinaBCM5701Ethernet-->"
|
||||
)
|
||||
|
||||
# Wifi Patches
|
||||
|
||||
if current_model in ModelArray.WifiAtheros:
|
||||
print("- Adding IO80211HighSierra v%s" % Versions.io80211high_sierra_version)
|
||||
copy(Versions.io80211high_sierra_path, Versions.kext_path_build)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"<false/><!--IO80211HighSierra-->",
|
||||
"<true/><!--IO80211HighSierra-->"
|
||||
)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"<false/><!--AirPortAtheros40-->",
|
||||
"<true/><!--AirPortAtheros40-->"
|
||||
)
|
||||
if current_model in ModelArray.WifiBCM94328:
|
||||
print("- Wifi patches currently unsupported")
|
||||
# TO-DO: Add El Capitan's IO80211
|
||||
if current_model in ModelArray.WifiBCM94322:
|
||||
print("- Adding IO80211Mojave %s" % Versions.io80211mojave_version)
|
||||
copy(Versions.io80211mojave_path, Versions.kext_path_build)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"<false/><!--IO80211Mojave-->",
|
||||
"<true/><!--IO80211Mojave-->"
|
||||
)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"<false/><!--AirPortBrcm4331-->",
|
||||
"<true/><!--AirPortBrcm4331-->"
|
||||
)
|
||||
if current_model in ModelArray.WifiBCM943224:
|
||||
print("- Adding IO80211Mojave %s" % Versions.io80211mojave_version)
|
||||
copy(Versions.io80211mojave_path, Versions.kext_path_build)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"<false/><!--IO80211Mojave-->",
|
||||
"<true/><!--IO80211Mojave-->"
|
||||
)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"<false/><!--AirPortBrcm4331-->",
|
||||
"<true/><!--AirPortBrcm4331-->"
|
||||
)
|
||||
if current_model in ModelArray.WifiBCM94331:
|
||||
print("- Adding AirportBrcmFixup and appling fake ID")
|
||||
copy(Versions.airportbcrmfixup_path, Versions.kext_path_build)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"<false/><!--AirportBrcmFixup-->",
|
||||
"<true/><!--AirportBrcmFixup-->"
|
||||
)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"<false/><!--AirPortBrcmNIC_Injector-->",
|
||||
"<true/><!--AirPortBrcmNIC_Injector-->"
|
||||
)
|
||||
if current_model in ("iMac13,1", "iMac13,2"):
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
|
||||
"PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0)"
|
||||
)
|
||||
else:
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"#PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)",
|
||||
"PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)"
|
||||
)
|
||||
usb_map_path = os.path.join(Versions.current_path, "payloads/Kexts/Maps/Zip/" "USB-Map-%s.zip" % current_model)
|
||||
if os.path.exists(usb_map_path):
|
||||
print("- Adding USB Map for %s" % current_model)
|
||||
copy(usb_map_path, Versions.kext_path_build)
|
||||
map_name = ("USB-Map-%s.kext" % current_model)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"USB-Map-SMBIOS.kext",
|
||||
map_name
|
||||
)
|
||||
|
||||
def BuildGUI():
|
||||
print("- Adding OpenCanopy GUI")
|
||||
rmtree(Versions.gui_path_build)
|
||||
copy(Versions.gui_path, Versions.plist_path_build)
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"#OpenCanopy.efi",
|
||||
"OpenCanopy.efi"
|
||||
)
|
||||
|
||||
def BuildSMBIOS():
|
||||
# Set new SMBIOS
|
||||
new_model = current_model
|
||||
if current_model in ModelArray.MacBookAir61:
|
||||
print("- Spoofing to MacBookAir6,1")
|
||||
new_model = "MacBookAir6,1"
|
||||
|
||||
if current_model in ModelArray.MacBookAir62:
|
||||
print("- Spoofing to MacBookAir6,2")
|
||||
new_model = "MacBookAir6,2"
|
||||
|
||||
if current_model in ModelArray.MacBookPro111:
|
||||
print("- Spoofing to MacBookPro11,1")
|
||||
new_model = "MacBookPro11,1"
|
||||
|
||||
if current_model in ModelArray.MacBookPro112:
|
||||
print("- Spoofing to MacBookPro11,2")
|
||||
new_model = "MacBookPro11,2"
|
||||
|
||||
if current_model in ModelArray.Macmini71:
|
||||
print("- Spoofing to Macmini7,1")
|
||||
new_model = "Macmini7,1"
|
||||
|
||||
if current_model in ModelArray.iMac151:
|
||||
print("- Spoofing to iMac15,1")
|
||||
new_model = "iMac15,1"
|
||||
|
||||
if current_model in ModelArray.iMac144:
|
||||
print("- Spoofing to iMac14,4")
|
||||
new_model = "iMac14,4"
|
||||
|
||||
if current_model in ModelArray.MacPro71:
|
||||
print("- Spoofing to MacPro7,1")
|
||||
new_model = "MacPro7,1"
|
||||
|
||||
# Grab serials from macserial
|
||||
serialData = subprocess.Popen((r"./payloads/tools/macserial -g -m " + new_model + " -n 1").split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
|
||||
serialData = serialData.stdout.read().strip().split(" | ")
|
||||
|
||||
# Patch SMBIOS
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"iMac19,1",
|
||||
new_model
|
||||
)
|
||||
|
||||
# Patch Number Serial
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"W00000000001",
|
||||
serialData[0]
|
||||
)
|
||||
# Patch MLB
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"M0000000000000001",
|
||||
serialData[1]
|
||||
)
|
||||
|
||||
# Patch UUID
|
||||
uuidGen = subprocess.Popen(["uuidgen"], stdout=subprocess.PIPE).communicate()[0]
|
||||
Versions.plist_data = Versions.plist_data.replace(
|
||||
"00000000-0000-0000-0000-000000000000",
|
||||
uuidGen
|
||||
)
|
||||
|
||||
def SavePlist():
|
||||
with open(Versions.plist_path_build_full, 'w') as file:
|
||||
file.write(Versions.plist_data)
|
||||
|
||||
def CleanBuildFolder():
|
||||
# Clean up Build Folder
|
||||
print("")
|
||||
print("Cleaning build folder")
|
||||
os.chdir(Versions.kext_path_build)
|
||||
for item in os.listdir(Versions.kext_path_build):
|
||||
if item.endswith(".zip"):
|
||||
file_name = os.path.abspath(item)
|
||||
zip_ref = zipfile.ZipFile(file_name)
|
||||
zip_ref.extractall(Versions.kext_path_build)
|
||||
zip_ref.close()
|
||||
os.remove(file_name)
|
||||
# Clean up Python's unzip
|
||||
if os.path.exists("__MACOSX"):
|
||||
rmtree("__MACOSX")
|
||||
os.chdir(Versions.plist_path_build)
|
||||
os.chdir(Versions.plist_path_build)
|
||||
for item in os.listdir(Versions.plist_path_build):
|
||||
if item.endswith(".zip"):
|
||||
file_name = os.path.abspath(item)
|
||||
zip_ref = zipfile.ZipFile(file_name)
|
||||
zip_ref.extractall(Versions.plist_path_build)
|
||||
zip_ref.close()
|
||||
os.remove(file_name)
|
||||
if os.path.exists("__MACOSX"):
|
||||
rmtree("__MACOSX")
|
||||
os.chdir(Versions.build_path)
|
||||
if os.path.exists("__MACOSX"):
|
||||
rmtree("__MACOSX")
|
||||
os.remove(Versions.opencore_path_build)
|
||||
os.chdir(Versions.current_path)
|
||||
|
||||
def ListDiskutil():
|
||||
DiskMenu = True
|
||||
while DiskMenu:
|
||||
os.system('clear')
|
||||
print("Loading diskutil...(This may take some time)")
|
||||
diskList = subprocess.Popen(["diskutil", "list"], stdout=subprocess.PIPE).communicate()[0]
|
||||
print(diskList)
|
||||
ChosenDisk = raw_input('Please select the disk you want to install OpenCore to(ie. disk1): ')
|
||||
ChosenDisk = ChosenDisk + "s1"
|
||||
print("Trying to mount %s" % ChosenDisk)
|
||||
diskMount = subprocess.Popen(["sudo", "diskutil", "mount", ChosenDisk], stdout=subprocess.PIPE).communicate()[0]
|
||||
print(diskMount)
|
||||
DiskMenu = raw_input("Press any key to continue: ")
|
||||
|
||||
def MoveOpenCore():
|
||||
print("")
|
||||
efiVol = "/Volumes/EFI"
|
||||
if os.path.exists(efiVol):
|
||||
print("Coping OpenCore onto Volumes/EFI")
|
||||
if os.path.exists("/Volumes/EFI/EFI"):
|
||||
print("Cleaning EFI folder")
|
||||
rmtree("/Volumes/EFI/EFI")
|
||||
if os.path.exists(Versions.opencore_path_done):
|
||||
copy_tree(Versions.opencore_path_done, efiVol)
|
||||
copy(Versions.icon_path, efiVol)
|
||||
print("OpenCore transfer complete")
|
||||
print("")
|
||||
else:
|
||||
print("Couldn't find EFI partition")
|
||||
print("Please ensure your drive is formatted as GUID Partition Table")
|
||||
print("")
|
||||
|
||||
def MountOpenCore():
|
||||
subprocess.Popen((r"sudo diskutil mount $(nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:boot-path | sed 's/.*GPT,\([^,]*\),.*/\1/')").split())
|
||||
@@ -1,431 +0,0 @@
|
||||
# Lists all models and required patches
|
||||
|
||||
SupportedSMBIOS = [
|
||||
# MacBook
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBook6,1",
|
||||
"MacBook7,1",
|
||||
# MacBook Air
|
||||
"MacBookAir2,1",
|
||||
"MacBookAir3,1",
|
||||
"MacBookAir3,2",
|
||||
"MacBookAir4,1",
|
||||
"MacBookAir4,2",
|
||||
"MacBookAir5,1",
|
||||
"MacBookAir5,2",
|
||||
# MacBook Pro
|
||||
"MacBookPro3,1",
|
||||
"MacBookPro4,1",
|
||||
"MacBookPro5,1",
|
||||
"MacBookPro5,2",
|
||||
"MacBookPro5,3",
|
||||
"MacBookPro5,4",
|
||||
"MacBookPro5,5",
|
||||
"MacBookPro6,1",
|
||||
"MacBookPro6,2",
|
||||
"MacBookPro7,1",
|
||||
"MacBookPro8,1",
|
||||
"MacBookPro8,2",
|
||||
"MacBookPro8,3",
|
||||
"MacBookPro9,1",
|
||||
"MacBookPro9,2",
|
||||
"MacBookPro10,1",
|
||||
"MacBookPro10,2",
|
||||
# Mac Mini
|
||||
"Macmini3,1",
|
||||
"Macmini4,1",
|
||||
"Macmini5,1",
|
||||
"Macmini5,2",
|
||||
"Macmini5,3",
|
||||
"Macmini6,1",
|
||||
"Macmini6,2",
|
||||
# iMac
|
||||
"iMac7,1",
|
||||
"iMac8,1",
|
||||
"iMac9,1",
|
||||
"iMac10,1",
|
||||
"iMac11,1",
|
||||
"iMac11,2",
|
||||
"iMac11,3",
|
||||
"iMac12,1",
|
||||
"iMac12,2",
|
||||
"iMac13,1",
|
||||
"iMac13,2",
|
||||
"iMac14,1",
|
||||
"iMac14,2",
|
||||
"iMac14,3",
|
||||
# Mac Pro
|
||||
"MacPro3,1",
|
||||
"MacPro4,1",
|
||||
"MacPro5,1",
|
||||
# Xserve
|
||||
"Xserve3,1"
|
||||
]
|
||||
|
||||
## CPU patches
|
||||
|
||||
MissingSSE42 = [
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBook6,1",
|
||||
"MacBook7,1",
|
||||
"MacBookAir2,1",
|
||||
"MacBookAir3,1",
|
||||
"MacBookAir3,2",
|
||||
"MacBookPro3,1",
|
||||
"MacBookPro4,1",
|
||||
"MacBookPro5,1",
|
||||
"MacBookPro5,2",
|
||||
"MacBookPro5,3",
|
||||
"MacBookPro5,4",
|
||||
"MacBookPro5,5",
|
||||
"MacBookPro7,1",
|
||||
"Macmini3,1",
|
||||
"Macmini4,1",
|
||||
"iMac7,1",
|
||||
"iMac8,1",
|
||||
"iMac9,1",
|
||||
"iMac10,1",
|
||||
"MacPro3,1"
|
||||
]
|
||||
|
||||
SSEEmulator = [
|
||||
"MacPro3,1"
|
||||
]
|
||||
|
||||
DualSocket = [
|
||||
"MacPro3,1",
|
||||
"MacPro4,1",
|
||||
"MacPro5,1",
|
||||
"Xserve3,1"
|
||||
]
|
||||
|
||||
pciSSDT = [
|
||||
"MacBookPro6,1",
|
||||
"MacBookPro6,2",
|
||||
"iMac11,1",
|
||||
"iMac11,2",
|
||||
"iMac11,3"
|
||||
]
|
||||
|
||||
## Ethernet patches
|
||||
|
||||
EthernetNvidia = [
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBook6,1",
|
||||
"MacBook7,1",
|
||||
"MacBookPro5,1",
|
||||
"MacBookPro5,2",
|
||||
"MacBookPro5,3",
|
||||
"MacBookPro5,4",
|
||||
"MacBookPro5,5",
|
||||
"MacBookPro7,1",
|
||||
"Macmini3,1",
|
||||
"Macmini4,1",
|
||||
"iMac9,1",
|
||||
"iMac10,1"
|
||||
]
|
||||
EthernetMarvell = [
|
||||
"MacBookPro3,1",
|
||||
"MacBookPro4,1",
|
||||
"iMac7,1",
|
||||
"iMac8,1"
|
||||
]
|
||||
EthernetBroadcom = [
|
||||
"MacBookPro6,1",
|
||||
"MacBookPro6,2",
|
||||
"MacBookPro8,1",
|
||||
"MacBookPro8,2",
|
||||
"MacBookPro8,3",
|
||||
"Macmini5,1",
|
||||
"Macmini5,2",
|
||||
"Macmini5,3",
|
||||
"iMac11,1",
|
||||
"iMac11,2",
|
||||
"iMac11,3",
|
||||
"iMac12,1",
|
||||
"iMac12,2"
|
||||
]
|
||||
|
||||
## Wifi patches
|
||||
|
||||
WifiAtheros = [
|
||||
"MacBookPro3,1",
|
||||
"iMac10,1",
|
||||
"iMac11,1",
|
||||
"iMac11,2",
|
||||
"iMac11,3",
|
||||
"iMac12,1",
|
||||
"iMac12,2",
|
||||
"MacPro3,1",
|
||||
"MacPro4,1"
|
||||
]
|
||||
|
||||
WifiBCM94328 = [
|
||||
"MacBookAir2,1",
|
||||
"MacBookPro4,1",
|
||||
"iMac7,1",
|
||||
"iMac8,1"
|
||||
|
||||
]
|
||||
|
||||
WifiBCM94322 = [
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBookAir3,1",
|
||||
"MacBookAir3,2",
|
||||
"MacBookAir4,1",
|
||||
"MacBookAir4,2",
|
||||
"MacBookAir5,1",
|
||||
"MacBookAir5,2",
|
||||
"MacBookPro5,1",
|
||||
"MacBookPro5,2",
|
||||
"MacBookPro5,3",
|
||||
"MacBookPro5,4",
|
||||
"MacBookPro5,5",
|
||||
"MacBookPro7,1",
|
||||
]
|
||||
|
||||
WifiBCM943224 = [
|
||||
"MacBook6,1",
|
||||
"MacBook7,1",
|
||||
"MacBookPro6,1",
|
||||
"MacBookPro6,2",
|
||||
"Macmini3,1",
|
||||
"Macmini4,1",
|
||||
]
|
||||
|
||||
WifiBCM94331 = [
|
||||
"MacBookPro8,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
|
||||
"MacBookPro8,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
|
||||
"MacBookPro8,3", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
|
||||
"MacBookPro9,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
|
||||
"MacBookPro9,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
|
||||
"MacBookPro10,1",# PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
|
||||
"MacBookPro10,2",# PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
|
||||
"Macmini5,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
|
||||
"Macmini5,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
|
||||
"Macmini5,3", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
|
||||
"Macmini6,1", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
|
||||
"Macmini6,2", # PciRoot(0x0)/Pci(0x1C,0x1)Pci(0x0,0x0)
|
||||
"iMac13,1", # PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0)
|
||||
"iMac13,2" # PciRoot(0x0)/Pci(0x1C,0x3)Pci(0x0,0x0)
|
||||
]
|
||||
|
||||
## Audio
|
||||
|
||||
LegacyAudio = [
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBook6,1",
|
||||
"MacBook7,1",
|
||||
"MacBookAir2,1",
|
||||
"MacBookAir3,1",
|
||||
"MacBookAir3,2",
|
||||
"MacBookAir4,1",
|
||||
"MacBookAir4,2",
|
||||
"MacBookPro3,1",
|
||||
"MacBookPro4,1",
|
||||
"MacBookPro5,1",
|
||||
"MacBookPro5,2",
|
||||
"MacBookPro5,3",
|
||||
"MacBookPro5,4",
|
||||
"MacBookPro5,5",
|
||||
"MacBookPro6,1",
|
||||
"MacBookPro6,2",
|
||||
"MacBookPro7,1",
|
||||
"MacBookPro8,1",
|
||||
"MacBookPro8,2",
|
||||
"MacBookPro8,3",
|
||||
"Macmini3,1",
|
||||
"Macmini4,1",
|
||||
"Macmini5,1",
|
||||
"Macmini5,2",
|
||||
"Macmini5,3",
|
||||
"iMac7,1",
|
||||
"iMac8,1",
|
||||
"iMac9,1",
|
||||
"iMac10,1",
|
||||
"iMac11,1",
|
||||
"iMac11,2",
|
||||
"iMac11,3",
|
||||
"iMac12,1",
|
||||
"iMac12,2",
|
||||
"MacPro3,1"
|
||||
]
|
||||
|
||||
## GPU
|
||||
|
||||
LegacyGPU = [
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBook6,1",
|
||||
"MacBook7,1",
|
||||
"MacBookAir2,1",
|
||||
"MacBookAir3,1",
|
||||
"MacBookAir3,2",
|
||||
"MacBookAir4,1",
|
||||
"MacBookAir4,2",
|
||||
"MacBookPro3,1",
|
||||
"MacBookPro4,1",
|
||||
"MacBookPro5,1",
|
||||
"MacBookPro5,2",
|
||||
"MacBookPro5,3",
|
||||
"MacBookPro5,4",
|
||||
"MacBookPro5,5",
|
||||
"MacBookPro6,1",
|
||||
"MacBookPro6,2",
|
||||
"MacBookPro7,1",
|
||||
"MacBookPro8,1",
|
||||
"MacBookPro8,2",
|
||||
"MacBookPro8,3",
|
||||
"Macmini3,1",
|
||||
"Macmini4,1",
|
||||
"Macmini5,1",
|
||||
"Macmini5,2",
|
||||
"Macmini5,3",
|
||||
"iMac7,1",
|
||||
"iMac8,1",
|
||||
"iMac9,1",
|
||||
"iMac10,1",
|
||||
"iMac11,1",
|
||||
"iMac11,2",
|
||||
"iMac11,3",
|
||||
"iMac12,1",
|
||||
"iMac12,2"
|
||||
]
|
||||
|
||||
LegacyHID = [
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBook6,1",
|
||||
"MacBook7,1",
|
||||
"MacBookAir2,1",
|
||||
"MacBookAir3,1",
|
||||
"MacBookPro3,1",
|
||||
"MacBookPro4,1",
|
||||
"MacBookPro5,1",
|
||||
"MacBookPro5,2",
|
||||
"MacBookPro5,3",
|
||||
"MacBookPro5,4",
|
||||
"MacBookPro5,5",
|
||||
"MacBookPro7,1",
|
||||
"Macmini3,1",
|
||||
"Macmini4,1",
|
||||
"iMac7,1",
|
||||
"iMac8,1",
|
||||
"iMac9,1",
|
||||
"iMac10,1",
|
||||
]
|
||||
|
||||
NVMePatch = [
|
||||
"MacPro3,1"
|
||||
"MacPro4,1"
|
||||
"Xserve3,1"
|
||||
]
|
||||
|
||||
SidecarPatch = [
|
||||
"MacBookAir5,1",
|
||||
"MacBookAir5,2",
|
||||
"MacBookPro9,1",
|
||||
"MacBookPro9,2",
|
||||
"MacBookPro10,1",
|
||||
"MacBookPro10,2",
|
||||
"Macmini6,1",
|
||||
"Macmini6,2",
|
||||
"iMac13,1",
|
||||
"iMac13,2",
|
||||
"iMac14,1",
|
||||
"iMac14,2",
|
||||
"iMac14,3"
|
||||
]
|
||||
|
||||
# 11" Air
|
||||
MacBookAir61 = [
|
||||
"MacBookAir3,1",
|
||||
"MacBookAir4,1",
|
||||
"MacBookAir5,1"
|
||||
]
|
||||
|
||||
# MacBook and 13" Air
|
||||
MacBookAir62 = [
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBook6,1",
|
||||
"MacBook7,1",
|
||||
"MacBookAir2,1",
|
||||
"MacBookAir3,2",
|
||||
"MacBookAir4,2",
|
||||
"MacBookAir5,2"
|
||||
]
|
||||
|
||||
# MacBook Pro 13"
|
||||
|
||||
MacBookPro111 = [
|
||||
"MacBookPro5,5",
|
||||
"MacBookPro7,1",
|
||||
"MacBookPro8,1",
|
||||
"MacBookPro9,2",
|
||||
"MacBookPro10,2",
|
||||
]
|
||||
|
||||
# MacBook Pro 15" and 17"
|
||||
|
||||
MacBookPro112 = [
|
||||
"MacBookPro3,1",
|
||||
"MacBookPro4,1",
|
||||
"MacBookPro5,1",
|
||||
"MacBookPro5,2",
|
||||
"MacBookPro5,3",
|
||||
"MacBookPro5,4",
|
||||
"MacBookPro6,1",
|
||||
"MacBookPro6,2",
|
||||
"MacBookPro8,2",
|
||||
"MacBookPro8,3",
|
||||
"MacBookPro9,1",
|
||||
"MacBookPro10,1",
|
||||
]
|
||||
|
||||
# Mac Mini
|
||||
|
||||
Macmini71 = [
|
||||
"Macmini3,1",
|
||||
"Macmini4,1",
|
||||
"Macmini5,1",
|
||||
"Macmini5,2",
|
||||
"Macmini5,3",
|
||||
"Macmini6,1",
|
||||
"Macmini6,2"
|
||||
]
|
||||
|
||||
# iMac = AMD and Nvidia GPU
|
||||
iMac151 = [
|
||||
"iMac7,1",
|
||||
"iMac8,1",
|
||||
"iMac9,1",
|
||||
"iMac10,1",
|
||||
"iMac11,1",
|
||||
"iMac11,2",
|
||||
"iMac11,3",
|
||||
"iMac12,1",
|
||||
"iMac12,2",
|
||||
"iMac13,2",
|
||||
"iMac14,2",
|
||||
"iMac14,3"
|
||||
]
|
||||
# iMac = Intel iGPU
|
||||
iMac144 = [
|
||||
"iMac13,1",
|
||||
"iMac14,1"
|
||||
]
|
||||
|
||||
# Mac Pro and Xserve
|
||||
|
||||
MacPro71 = [
|
||||
"MacPro3,1",
|
||||
"MacPro4,1",
|
||||
"MacPro5,1",
|
||||
"Xserve3,1"
|
||||
]
|
||||
@@ -1,72 +0,0 @@
|
||||
# Define Files
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
from shutil import copy
|
||||
from shutil import rmtree
|
||||
|
||||
import os
|
||||
import json
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
# List build versions
|
||||
opencore_version = "0.6.4"
|
||||
lilu_version = "1.4.9"
|
||||
whatevergreen_version = "1.4.4"
|
||||
airportbcrmfixup_version = "2.1.1"
|
||||
bcm570_version = "1.0.0"
|
||||
marvel_version = "1.0.0"
|
||||
nforce_version = "1.0.0"
|
||||
mce_version = "1.0.0"
|
||||
mousse_version = "0.93"
|
||||
telemetrap_version = "1.0.0"
|
||||
io80211high_sierra_version = "1.0.0"
|
||||
io80211mojave_version = "1.0.0"
|
||||
|
||||
# List current location
|
||||
os.chdir(os.path.dirname(os.path.realpath(__file__)))
|
||||
os.chdir("..")
|
||||
current_path = os.getcwd()
|
||||
|
||||
# Payload Location
|
||||
# OpenCore
|
||||
opencore_path = os.path.join(current_path, "payloads/OpenCore/" "OpenCore-v%s.zip" % opencore_version)
|
||||
plist_path = os.path.join(current_path, "payloads/Config/v%s/" "config.plist" % opencore_version)
|
||||
|
||||
# ACPI
|
||||
pci_ssdt_path = os.path.join(current_path, "payloads/ACPI/" "SSDT-CPBG.aml")
|
||||
|
||||
# Drivers
|
||||
nvme_driver_path = os.path.join(current_path, "payloads/Drivers/" "NvmExpressDxe.efi")
|
||||
|
||||
# Kexts
|
||||
lilu_path = os.path.join(current_path, "payloads/Kexts/Acidanthera/" "Lilu-v%s.zip" % lilu_version)
|
||||
whatevergreen_path = os.path.join(current_path, "payloads/Kexts/Acidanthera/" "WhateverGreen-v%s.zip" % whatevergreen_version)
|
||||
airportbcrmfixup_path = os.path.join(current_path, "payloads/Kexts/Acidanthera/" "AirportBrcmFixup-v%s.zip" % airportbcrmfixup_version)
|
||||
bcm570_path = os.path.join(current_path, "payloads/Kexts/Ethernet/" "CatalinaBCM5701Ethernet-v%s.zip" % bcm570_version)
|
||||
marvel_path = os.path.join(current_path, "payloads/Kexts/Ethernet/" "MarvelYukonEthernet-v%s.zip" % marvel_version)
|
||||
nforce_path = os.path.join(current_path, "payloads/Kexts/Ethernet/" "nForceEthernet-v%s.zip" % nforce_version)
|
||||
mce_path = os.path.join(current_path, "payloads/Kexts/Misc/" "AppleMCEReporterDisabler-v%s.zip" % mce_version)
|
||||
mousse_path = os.path.join(current_path, "payloads/Kexts/SSE/" "AAAMouSSE-v%s.zip" % mousse_version)
|
||||
telemetrap_path = os.path.join(current_path, "payloads/Kexts/SSE/" "telemetrap-v%s.zip" % telemetrap_version)
|
||||
io80211high_sierra_path = os.path.join(current_path, "payloads/Kexts/Wifi/" "IO80211HighSierra-v%s.zip" % io80211high_sierra_version)
|
||||
io80211mojave_path = os.path.join(current_path, "payloads/Kexts/Wifi/" "IO80211Mojave-v%s.zip" % io80211mojave_version)
|
||||
|
||||
# Build Location
|
||||
opencore_path_build = os.path.join(current_path, "Build-Folder/" "OpenCore-v%s.zip" % opencore_version)
|
||||
plist_path_build = os.path.join(current_path, "Build-Folder/" "OpenCore-v%s/EFI/OC/" % opencore_version)
|
||||
plist_path_build_full = os.path.join(current_path, "Build-Folder/" "OpenCore-v%s/EFI/OC/config.plist" % opencore_version)
|
||||
acpi_path_build = os.path.join(current_path, "Build-Folder/" "OpenCore-v%s/EFI/OC/ACPI" % opencore_version)
|
||||
drivers_path_build = os.path.join(current_path, "Build-Folder/" "OpenCore-v%s/EFI/OC/Drivers" % opencore_version)
|
||||
kext_path_build = os.path.join(current_path, "Build-Folder/" "OpenCore-v%s/EFI/OC/Kexts" % opencore_version)
|
||||
opencore_path_done = os.path.join(current_path, "Build-Folder/" "OpenCore-v%s" % opencore_version)
|
||||
build_path = os.path.join(current_path, r'Build-Folder/')
|
||||
gui_path_build = os.path.join(current_path, "Build-Folder/" "OpenCore-v%s/EFI/OC/Resources" % opencore_version)
|
||||
|
||||
# Tools
|
||||
macserial_path = os.path.join(current_path, "payloads/" "Tools")
|
||||
|
||||
# Icons
|
||||
icon_path = os.path.join(current_path, "payloads/Icon/" ".VolumeIcon.icns")
|
||||
gui_path = os.path.join(current_path, "payloads/Icon/" "Resources.zip")
|
||||
@@ -1,303 +0,0 @@
|
||||
[
|
||||
{
|
||||
"models": [
|
||||
"MacBook5,1",
|
||||
"MacBook5,2"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94322",
|
||||
"LegacyAudio",
|
||||
"MissingSSE42",
|
||||
"EthernetNvidia",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacBook6,1",
|
||||
"MacBook7,1"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM943224",
|
||||
"LegacyAudio",
|
||||
"MissingSSE42",
|
||||
"EthernetNvidia",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacBookAir2,1",
|
||||
"MacBookAir3,1",
|
||||
"MacBookAir3,2"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94322",
|
||||
"LegacyAudio",
|
||||
"MissingSSE42",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacBookAir4,1",
|
||||
"MacBookAir4,2"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94322",
|
||||
"LegacyAudio",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacBookAir5,1",
|
||||
"MacBookAir5,2"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94322"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacBookPro3,1"
|
||||
],
|
||||
"patches": [
|
||||
"WifiAtheros",
|
||||
"EthernetMarvell",
|
||||
"LegacyAudio",
|
||||
"MissingSSE42",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacBookPro4,1"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94328",
|
||||
"EthernetMarvell",
|
||||
"LegacyAudio",
|
||||
"MissingSSE42",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacBookPro5,1",
|
||||
"MacBookPro5,2",
|
||||
"MacBookPro5,3",
|
||||
"MacBookPro5,4",
|
||||
"MacBookPro5,5"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94322",
|
||||
"EthernetNvidia",
|
||||
"LegacyAudio",
|
||||
"MissingSSE42",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacBookPro6,1",
|
||||
"MacBookPro6,2"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM943224",
|
||||
"EthernetBroadcom",
|
||||
"LegacyAudio",
|
||||
"LegacyGPU",
|
||||
"PCIBridge"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacBookPro7,1"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94322",
|
||||
"EthernetNvidia",
|
||||
"LegacyAudio",
|
||||
"MissingSSE42",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacBookPro8,1",
|
||||
"MacBookPro8,2",
|
||||
"MacBookPro8,3"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94331",
|
||||
"EthernetBroadcom",
|
||||
"LegacyAudio",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacBookPro9,1",
|
||||
"MacBookPro9,2",
|
||||
"MacBookPro10,1",
|
||||
"MacBookPro10,2"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94331"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacMini3,1",
|
||||
"MacMini4,1"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM943224",
|
||||
"EthernetNvidia",
|
||||
"LegacyAudio",
|
||||
"MissingSSE42",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Macmini5,1",
|
||||
"Macmini5,2",
|
||||
"Macmini5,3"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94331",
|
||||
"EthernetBroadcom",
|
||||
"LegacyAudio",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacMini6,1",
|
||||
"MacMini6,2"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94331"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"iMac7,1",
|
||||
"iMac8,1"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94328",
|
||||
"EthernetNvidia",
|
||||
"LegacyAudio",
|
||||
"MissingSSE42",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"iMac9,1"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94322",
|
||||
"EthernetNvidia",
|
||||
"LegacyAudio",
|
||||
"MissingSSE42",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"iMac10,1"
|
||||
],
|
||||
"patches": [
|
||||
"WifiAtheros",
|
||||
"EthernetNvidia",
|
||||
"LegacyAudio",
|
||||
"MissingSSE42",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"iMac11,1",
|
||||
"iMac11,2",
|
||||
"iMac11,3"
|
||||
],
|
||||
"patches": [
|
||||
"WifiAtheros",
|
||||
"EthernetBroadcom",
|
||||
"LegacyAudio",
|
||||
"LegacyGPU",
|
||||
"PCIBridge"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"iMac12,1",
|
||||
"iMac12,2"
|
||||
],
|
||||
"patches": [
|
||||
"WifiAtheros",
|
||||
"EthernetBroadcom",
|
||||
"LegacyAudio",
|
||||
"LegacyGPU"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"iMac13,1",
|
||||
"iMac13,2"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94331"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"iMac14,1",
|
||||
"iMac14,2",
|
||||
"iMac14,3"
|
||||
],
|
||||
"patches": []
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacPro3,1"
|
||||
],
|
||||
"patches": [
|
||||
"WifiAtheros",
|
||||
"LegacyAudio",
|
||||
"MissingSSE42",
|
||||
"SSEEmulator",
|
||||
"DualSocket"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacPro4,1"
|
||||
],
|
||||
"patches": [
|
||||
"WifiAtheros",
|
||||
"DualSocket"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"MacPro5,1"
|
||||
],
|
||||
"patches": [
|
||||
"WifiBCM94322",
|
||||
"DualSocket"
|
||||
]
|
||||
},
|
||||
{
|
||||
"models": [
|
||||
"Xserve3,1"
|
||||
],
|
||||
"patches": [
|
||||
"DualSocket"
|
||||
]
|
||||
}
|
||||
]
|
||||
94
SOURCE.md
Normal file
@@ -0,0 +1,94 @@
|
||||
# Build and run from source
|
||||
|
||||
OpenCore Legacy Patcher at its core is a python-based TUI/CLI based application. This means that to run the project from source, you simply need to invoke the OpenCore-Patcher.command file via Python.
|
||||
|
||||
For developers wishing to validate mainline changes, you may use these nightly links:
|
||||
|
||||
* [GUI (Graphical Based App)](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-gui/main/OpenCore-Patcher-GUI.app.zip)
|
||||
* [TUI (Text Based App)](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-app/main/OpenCore-Patcher-TUI.app.zip)
|
||||
* [TUI (Text Based App) - Offline Variant](https://nightly.link/dortania/OpenCore-Legacy-Patcher/workflows/build-app/main/OpenCore-Patcher-TUI-Offline.app.zip)
|
||||
|
||||
**Warning**: These binaries should not be used without first consulting the [CHANGELOG](./CHANGELOG.md). Do not distribute these links in forums, instead direct to this file.
|
||||
|
||||
* Users running new builds of the project without understanding what has changed are at higher of bricking their installation as they do not read any warnings provided in the CHANGELOG. We wish to minimize these situations as much as possible.
|
||||
|
||||
## Getting Started
|
||||
|
||||
To start, ensure you have python 3.6 or newer installed. Additionally ensure that they were downloaded from the offical source, [python.org](https://www.python.org/downloads/macos/).
|
||||
|
||||
* Python installations either preinstalled or provided with Xcode/Xcode Tools are unsupported due to reliablility issues
|
||||
|
||||
Once Python is installed, open Terminal and run the following:
|
||||
|
||||
```sh
|
||||
# Move into a directory to store the project
|
||||
cd ~/Developer
|
||||
# Clone project
|
||||
git clone https://github.com/dortania/OpenCore-Legacy-Patcher
|
||||
# Move into Project directory
|
||||
cd ./OpenCore-Legacy-Patcher
|
||||
# Install Python dependacies used by the project
|
||||
pip3 install -r requirements.txt
|
||||
```
|
||||
|
||||
## Running OpenCore Legacy Patcher
|
||||
|
||||
To run the project from source, simply invoke via python3:
|
||||
|
||||
```sh
|
||||
python3 OpenCore-Patcher.command
|
||||
```
|
||||
|
||||
Note that the OpenCore-Patcher.command file can be run as both a TUI and a CLI utility for other programs to call. If no core arguments are passed, the TUI is initialized. Otherwise the CLI will start:
|
||||
|
||||
```sh
|
||||
python3 OpenCore-Patcher.command --build --model iMac12,2 --verbose
|
||||
```
|
||||
|
||||
See `-h`/`--help` for more information on supported CLI arguments.
|
||||
|
||||
## Generating prebuilt binaries
|
||||
|
||||
The main goal of generating prebuilt binaries is to strip the requirement of a local python installation for users. For developers, there's very little benefit besides for usage with the project's GUI ([Generating the GUI](#generating-the-gui)). For development, simply use the OpenCore-Patcher.command file with a python3 installation.
|
||||
|
||||
* Note that due to PyInstaller's linking mechanism, binaries generated on Catalina and newer are not compatible with High Sierra and older
|
||||
* To ensure the largest compatibility, generate binaries on macOS Mojave. These binaries will be compatible with macOS 10.9 to macOS 12.
|
||||
* Currently our build system is a [Macmini8,1 provided by MacStadium](https://www.macstadium.com/opensource) running macOS Mojave (10.14.6).
|
||||
|
||||
```sh
|
||||
# Install PyInstaller
|
||||
pip3 install pyinstaller
|
||||
# Move into project directory
|
||||
cd ~/Developer/OpenCore-Legacy-Patcher/
|
||||
# Create the pyinstaller based Application
|
||||
pyinstaller OpenCore-Patcher.spec
|
||||
# Post PyInstaller clean up
|
||||
./after_pyinstaller.sh
|
||||
# Open build folder
|
||||
open ./dist/
|
||||
```
|
||||
|
||||
Once done, you'll find the application generated at `./dist/OpenCore-Patcher.app`:
|
||||
|
||||

|
||||
|
||||
## Generating the GUI
|
||||
|
||||
To generate a GUI, you will have need a core `OpenCore-Patcher` binary generated during the above stage([Generating prebuilt binaries](#generating-prebuilt-binaries)).
|
||||
|
||||
Once conditions are met, you'll be able to work with the GUI portion. The source of which is found at [dortania/OCLP-GUI](https://github.com/dortania/OCLP-GUI).
|
||||
|
||||
```sh
|
||||
# Move into a directory to store the project
|
||||
cd ~/Developer
|
||||
# Clone project
|
||||
git clone https://github.com/dortania/OCLP-GUI
|
||||
# Update the OpenCore-Patcher binary from the core project
|
||||
cp ./OpenCore-Legacy-Patcher/dist/OpenCore-Patcher ./OCLP-GUI/OpenCore\ Patcher/OpenCore\ Patcher/
|
||||
# Rename binary to OCLP-CLI
|
||||
mv ./OCLP-GUI/OpenCore\ Patcher/OpenCore\ Patcher/OCLP-GUI/OpenCore-Patcher ./OCLP-GUI/OpenCore\ Patcher/OpenCore\ Patcher/OCLP-GUI/OCLP-CLI
|
||||
# Build project
|
||||
cd ./OCLP-GUI/OpenCore\ Patcher; xcodebuild; cd ../../
|
||||
# Open build folder
|
||||
open ./OCLP-GUI/OpenCore\ Patcher/build/Release/
|
||||
```
|
||||
2
after_pyinstaller.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
cp payloads/launcher.sh dist/OpenCore-Patcher.app/Contents/MacOS/Launcher
|
||||
14
create_offline_build.py
Normal file
@@ -0,0 +1,14 @@
|
||||
import subprocess
|
||||
from resources import constants
|
||||
|
||||
patcher_support_pkg_version = constants.Constants().patcher_support_pkg_version
|
||||
binary_packages = ["10.14-Mojave", "10.15-Catalina", "11-Big-Sur", "12-Monterey"]
|
||||
|
||||
for binary_package in binary_packages:
|
||||
print(f"- Downloading {binary_package}...")
|
||||
download_cmd = f"curl -LO https://github.com/dortania/PatcherSupportPkg/releases/download/{patcher_support_pkg_version}/{binary_package}.zip"
|
||||
subprocess.run(download_cmd, shell=True)
|
||||
print("- Moving into payloads")
|
||||
move_cmd = f"mv {binary_package}.zip ./payloads/"
|
||||
subprocess.run(move_cmd, shell=True)
|
||||
print("- Download complete")
|
||||
15
data/bluetooth_data.py
Normal file
@@ -0,0 +1,15 @@
|
||||
import enum
|
||||
|
||||
|
||||
class bluetooth_data(enum.IntEnum):
|
||||
# Bluetooth Chipsets
|
||||
NonApplicable = 0
|
||||
BRCM2045 = 1 # TODO: Rename chipset, currently guessing MacPro1,1-3,1 name
|
||||
BRCM2046 = 2 # BT 2.1
|
||||
BRCM2070 = 3 # BT 2.1
|
||||
BRCM20702_v1 = 4 # BT 4.0 - 2012
|
||||
BRCM20702_v2 = 5 # BT 4.0 - 2013+
|
||||
BRCM20703 = 6 # BT 4.2
|
||||
BRCM20703_UART = 9 # BRCM20703 over UART, BT 4.2
|
||||
UART = 10 # T2
|
||||
PCIe = 20 # Apple Silicon
|
||||
23
data/cpu_data.py
Normal file
@@ -0,0 +1,23 @@
|
||||
import enum
|
||||
|
||||
|
||||
class cpu_data(enum.IntEnum):
|
||||
pentium_4 = 0
|
||||
yonah = 1
|
||||
conroe = 2
|
||||
penryn = 3
|
||||
nehalem = 4 # (Westmere included)
|
||||
sandy_bridge = 5 # 2000
|
||||
ivy_bridge = 6 # 3000
|
||||
haswell = 7 # 4000
|
||||
broadwell = 8 # 5000
|
||||
skylake = 9 # 6000
|
||||
kaby_lake = 10 # 7000
|
||||
coffee_lake = 11 # 8000
|
||||
comet_lake = 12 # 9000
|
||||
ice_lake = 13 # 10000
|
||||
|
||||
apple_dtk = 112 # A12
|
||||
apple_m1 = 114 # A14
|
||||
apple_m1_pro = 115
|
||||
apple_m1_max = 116
|
||||
14
data/dylib_data.py
Normal file
@@ -0,0 +1,14 @@
|
||||
# Data for SkyLightShim Plugin systems
|
||||
class shim_list:
|
||||
shim_pathing = {
|
||||
"CoreWLAN.dylib": "/Systen/Library/CoreServices/WiFiAgent.app/Contents/MacOS/WiFiAgent",
|
||||
"BacklightFixup.dylib": "/System/Library/CoreServices/loginwindow.app/Contents/Mac0S/loginwindow",
|
||||
}
|
||||
|
||||
shim_legacy_accel = [
|
||||
"CoreWLAN.dylib",
|
||||
]
|
||||
|
||||
shim_legacy_accel_keyboard = [
|
||||
"BacklightFixup.dylib",
|
||||
]
|
||||
343
data/example_data.py
Normal file
@@ -0,0 +1,343 @@
|
||||
# Example Hardware probe of multiple models
|
||||
# To be used when running validation tests
|
||||
from resources import device_probe
|
||||
|
||||
class MacBook:
|
||||
|
||||
MacBook71 = device_probe.Computer(
|
||||
real_model="MacBook7,1",
|
||||
real_board_id="Mac-F22C89C8",
|
||||
reported_model="MacBook7,1",
|
||||
reported_board_id="Mac-F22C89C8",
|
||||
gpus=[
|
||||
device_probe.NVIDIA(vendor_id=4318, device_id=2208, class_code=196608, name="IGPU", model="NVIDIA GeForce 320M", pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
|
||||
],
|
||||
igpu=device_probe.NVIDIA(vendor_id=4318, device_id=2208, class_code=196608, name="IGPU", model="NVIDIA GeForce 320M", pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
|
||||
dgpu=None,
|
||||
storage=[
|
||||
device_probe.SATAController(vendor_id=4318, device_id=3464, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0xa,0x0)"),
|
||||
],
|
||||
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17235, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)"),
|
||||
cpu=device_probe.CPU(
|
||||
name="Intel(R) Core(TM)2 Duo CPU P8600 @ 2.40GHz",
|
||||
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "SMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None,
|
||||
)
|
||||
|
||||
class MacBookPro:
|
||||
|
||||
MacBookPro92_Stock = device_probe.Computer(
|
||||
real_model="MacBookPro9,2",
|
||||
real_board_id="Mac-6F01561E16C75D06",
|
||||
reported_model="MacBookPro9,2",
|
||||
reported_board_id="Mac-6F01561E16C75D06",
|
||||
gpus=[
|
||||
device_probe.Intel(vendor_id=32902, device_id=358, class_code=196608, name="IGPU", model="Intel HD Graphics 4000", pci_path="PciRoot(0x0)/Pci(0x2,0x0)")
|
||||
],
|
||||
igpu=device_probe.Intel(vendor_id=32902, device_id=358, class_code=196608, name="IGPU", model="Intel HD Graphics 4000", pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
|
||||
dgpu=None,
|
||||
storage=[device_probe.SATAController(vendor_id=32902, device_id=7683, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")],
|
||||
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17201, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x1)/Pci(0x0,0x0)"),
|
||||
cpu=device_probe.CPU(
|
||||
name='Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz',
|
||||
flags=['FPU', 'VME', 'DE', 'PSE', 'TSC', 'MSR', 'PAE', 'MCE', 'CX8', 'APIC', 'SEP', 'MTRR', 'PGE', 'MCA', 'CMOV', 'PAT', 'PSE36', 'CLFSH', 'DS', 'ACPI', 'MMX', 'FXSR', 'SSE', 'SSE2', 'SS', 'HTT', 'TM', 'PBE', 'SSE3', 'PCLMULQDQ', 'DTES64', 'MON', 'DSCPL', 'VMX', 'EST', 'TM2', 'SSSE3', 'CX16', 'TPR', 'PDCM', 'SSE4.1', 'SSE4.2', 'x2APIC', 'POPCNT', 'AES', 'PCID', 'XSAVE', 'OSXSAVE', 'TSCTMR', 'AVX1.0', 'RDRAND', 'F16C']
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None,
|
||||
)
|
||||
|
||||
MacBookPro171_Stock = device_probe.Computer(
|
||||
# Run under Rosetta
|
||||
real_model="MacBookPro17,1",
|
||||
real_board_id="J293",
|
||||
reported_model="MacBookPro17,1",
|
||||
reported_board_id="J293",
|
||||
gpus=[device_probe.AMD(vendor_id=4098, device_id=26640, class_code=196608, name="display", model="Unknown Unknown", pci_path="")],
|
||||
igpu=None,
|
||||
dgpu=None,
|
||||
storage=[],
|
||||
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17445, class_code=163840, name="wlan", model=None, pci_path=""),
|
||||
cpu=device_probe.CPU(
|
||||
name="Apple M1",
|
||||
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "PCLMULQDQ", "DTSE64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "AES", "SEGLIM64"],
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None,
|
||||
)
|
||||
|
||||
class Macmini:
|
||||
|
||||
Macmini81_Stock = device_probe.Computer(
|
||||
real_model="Macmini8,1",
|
||||
real_board_id="Mac-7BA5B2DFE22DDD8C",
|
||||
reported_model="Macmini8,1",
|
||||
reported_board_id="Mac-7BA5B2DFE22DDD8C",
|
||||
gpus=[device_probe.Intel(vendor_id=32902, device_id=16027, class_code=196608, name="IGPU", model="Intel UHD Graphics 630", pci_path="PciRoot(0x0)/Pci(0x2,0x0)")],
|
||||
igpu=device_probe.Intel(vendor_id=32902, device_id=16027, class_code=196608, name="IGPU", model="Intel UHD Graphics 630", pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
|
||||
dgpu=None,
|
||||
storage=[],
|
||||
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17508, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)"),
|
||||
cpu=device_probe.CPU(
|
||||
name="Intel(R) Core(TM) i7-8700B CPU @ 3.20GHz",
|
||||
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "PCLMULQDQ", "DTES64", "MON", "DSCPL", "VMX", "SMX", "EST", "TM2", "SSSE3", "FMA", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "x2APIC", "MOVBE", "POPCNT", "AES", "PCID", "XSAVE", "OSXSAVE", "SEGLIM64", "TSCTMR", "AVX1.0", "RDRAND", "F16C"]
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None
|
||||
)
|
||||
|
||||
Macmini91_Stock = device_probe.Computer(
|
||||
# Run under Rosetta
|
||||
real_model="Macmini9,1",
|
||||
real_board_id="J274",
|
||||
reported_model="Macmini9,1",
|
||||
reported_board_id="J274",
|
||||
gpus=[
|
||||
device_probe.AMD(vendor_id=4098, device_id=26640, class_code=196608, name="display", model="Unknown Unknown", pci_path="", )
|
||||
],
|
||||
igpu=None,
|
||||
dgpu=None,
|
||||
storage=[],
|
||||
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17445, class_code=163840, name="wlan", model=None, pci_path=""),
|
||||
cpu=device_probe.CPU(
|
||||
name="Apple M1",
|
||||
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "PCLMULQDQ", "DTSE64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "AES", "SEGLIM64"]
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None
|
||||
)
|
||||
|
||||
class iMac:
|
||||
|
||||
iMac81_Stock = device_probe.Computer(
|
||||
# Stock Model
|
||||
real_model="iMac8,1",
|
||||
real_board_id="Mac-F226BEC8",
|
||||
reported_model="iMac8,1",
|
||||
reported_board_id="Mac-F226BEC8",
|
||||
gpus=[
|
||||
device_probe.AMD(vendor_id=4098, device_id=38088, class_code=196608, name="GFX0", model="ATI Radeon HD 2400", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)")
|
||||
],
|
||||
igpu=None,
|
||||
dgpu=device_probe.AMD(vendor_id=4098, device_id=38088, class_code=196608, name="GFX0", model="ATI Radeon HD 2400", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)"),
|
||||
storage=[
|
||||
device_probe.SATAController(vendor_id=32902, device_id=10281, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
|
||||
],
|
||||
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17192, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x4)/Pci(0x0,0x0)"),
|
||||
cpu=device_probe.CPU(
|
||||
name="Intel(R) Core(TM)2 Duo CPU E8135 @ 2.40GHz",
|
||||
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"]
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None,
|
||||
)
|
||||
|
||||
iMac112_Stock = device_probe.Computer(
|
||||
# Stock Model
|
||||
real_model="iMac11,2",
|
||||
real_board_id="Mac-F2238AC8",
|
||||
reported_model="iMac11,2",
|
||||
reported_board_id="Mac-F2238AC8",
|
||||
gpus=[
|
||||
device_probe.AMD(vendor_id=4098, device_id=38024, class_code=196608, name="GFX0", model="ATI Radeon HD 4670", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)")
|
||||
],
|
||||
igpu=None,
|
||||
dgpu=device_probe.AMD(vendor_id=4098, device_id=38024, class_code=196608, name="GFX0", model="ATI Radeon HD 4670", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)"),
|
||||
storage=[
|
||||
device_probe.SATAController(vendor_id=32902, device_id=15138, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
|
||||
],
|
||||
wifi=device_probe.Atheros(vendor_id=5772, device_id=42, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x1)/Pci(0x0,0x0)"),
|
||||
cpu=device_probe.CPU(
|
||||
name="Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz",
|
||||
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "POPCNT", "PCID"]
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None,
|
||||
)
|
||||
|
||||
iMac122_Upgraded = device_probe.Computer(
|
||||
real_model="iMac12,2",
|
||||
real_board_id="Mac-942B59F58194171B",
|
||||
reported_model="iMac12,2",
|
||||
reported_board_id="Mac-942B59F58194171B",
|
||||
gpus=[
|
||||
device_probe.Intel(vendor_id=32902, device_id=258, class_code=196608, name="HD Graphics 3000", model=None, pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
|
||||
device_probe.AMD(vendor_id=4098, device_id=26600, class_code=196608, name="GFX0", model="Radeon Pro WX4130", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)"),
|
||||
],
|
||||
igpu=device_probe.Intel(vendor_id=32902, device_id=258, class_code=196608, name="HD Graphics 3000", model=None, pci_path="PciRoot(0x0)/Pci(0x2,0x0)"),
|
||||
dgpu=device_probe.AMD(vendor_id=4098, device_id=26600, class_code=196608, name="GFX0", model="Radeon Pro WX4130", pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)"),
|
||||
storage=[
|
||||
device_probe.SATAController(vendor_id=32902, device_id=7170, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
|
||||
],
|
||||
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17338, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x1)/Pci(0x0,0x0)"),
|
||||
cpu=device_probe.CPU(
|
||||
name="Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz",
|
||||
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "PCLMULQDQ", "DTES64", "MON", "DSCPL", "VMX", "SMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "xAPIC", "POPCNT", "AES", "PCID", "XSAVE", "OSXSAVE", "TSCTMR", "AVX1.0"]
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None,
|
||||
)
|
||||
|
||||
class MacPro:
|
||||
|
||||
MacPro31_Stock = device_probe.Computer(
|
||||
# Stock Model, stock TS1 GPU and no Wifi card
|
||||
real_model="MacPro3,1",
|
||||
real_board_id="Mac-F42C88C8",
|
||||
reported_model="MacPro3,1",
|
||||
reported_board_id="Mac-F42C88C8",
|
||||
gpus=[
|
||||
device_probe.AMD(vendor_id=4098, device_id=38272, class_code=196608, name="GFX0", model="ATI Radeon HD 2600", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)")
|
||||
],
|
||||
igpu=None,
|
||||
dgpu=device_probe.AMD(vendor_id=4098, device_id=38272, class_code=196608, name="GFX0", model="ATI Radeon HD 2600", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)"),
|
||||
storage=[
|
||||
device_probe.SATAController(vendor_id=32902, device_id=9857, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
|
||||
],
|
||||
wifi=None,
|
||||
cpu=device_probe.CPU(
|
||||
name="Intel(R) Xeon(R) CPU X5482 @ 3.20GHz",
|
||||
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None,
|
||||
)
|
||||
|
||||
MacPro31_Upgrade = device_probe.Computer(
|
||||
# Upgraded Model, TS2 GPU and El-Capitan era Wifi card
|
||||
real_model="MacPro3,1",
|
||||
real_board_id="Mac-F42C88C8",
|
||||
reported_model="MacPro3,1",
|
||||
reported_board_id="Mac-F42C88C8",
|
||||
gpus=[
|
||||
device_probe.AMD(vendor_id=4098, device_id=26808, class_code=196608, name="GFX0", model="ATI Radeon HD 5770", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)")
|
||||
],
|
||||
igpu=None,
|
||||
dgpu=device_probe.AMD(vendor_id=4098, device_id=26808, class_code=196608, name="GFX0", model="ATI Radeon HD 5770", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)"),
|
||||
storage=[
|
||||
device_probe.SATAController(vendor_id=32902, device_id=9857, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
|
||||
],
|
||||
wifi=device_probe.Broadcom(
|
||||
vendor_id=5348, device_id=17192, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)"
|
||||
),
|
||||
cpu=device_probe.CPU(
|
||||
name="Intel(R) Xeon(R) CPU X5482 @ 3.20GHz",
|
||||
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None,
|
||||
)
|
||||
|
||||
MacPro31_Modern_AMD = device_probe.Computer(
|
||||
# Upgraded Model, Polaris GPU and BCM94360CD
|
||||
real_model="MacPro3,1",
|
||||
real_board_id="Mac-F42C88C8",
|
||||
reported_model="MacPro3,1",
|
||||
reported_board_id="Mac-F42C88C8",
|
||||
gpus=[
|
||||
device_probe.AMD(vendor_id=4098, device_id=26591, class_code=196608, name="GFX0", model="Radeon RX 470/570", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)")
|
||||
],
|
||||
igpu=None,
|
||||
dgpu=device_probe.AMD(vendor_id=4098, device_id=26591, class_code=196608, name="GFX0", model="Radeon RX 470/570", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)"),
|
||||
storage=[
|
||||
device_probe.SATAController(vendor_id=32902, device_id=9857, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
|
||||
],
|
||||
wifi=device_probe.Broadcom(
|
||||
vendor_id=5348, device_id=17312, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)"
|
||||
),
|
||||
cpu=device_probe.CPU(
|
||||
name="Intel(R) Xeon(R) CPU X5482 @ 3.20GHz",
|
||||
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None,
|
||||
)
|
||||
|
||||
MacPro31_Modern_Kepler = device_probe.Computer(
|
||||
# Upgraded Model, Kepler GPU and BCM94360CD
|
||||
real_model="MacPro3,1",
|
||||
real_board_id="Mac-F42C88C8",
|
||||
reported_model="MacPro3,1",
|
||||
reported_board_id="Mac-F42C88C8",
|
||||
gpus=[device_probe.NVIDIA(vendor_id=4318, device_id=4737, class_code=196608, name="GFX0", model="NVIDIA GeForce GT 710", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)")],
|
||||
igpu=None,
|
||||
dgpu=device_probe.NVIDIA(vendor_id=4318, device_id=4737, class_code=196608, name="GFX0", model="NVIDIA GeForce GT 710", pci_path="PciRoot(0x0)/Pci(0x5,0x0)/Pci(0x0,0x0)"),
|
||||
storage=[
|
||||
device_probe.SATAController(vendor_id=32902, device_id=9857, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")
|
||||
],
|
||||
wifi=device_probe.Broadcom(
|
||||
vendor_id=5348, device_id=17312, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1c,0x3)/Pci(0x0,0x0)"
|
||||
),
|
||||
cpu=device_probe.CPU(
|
||||
name="Intel(R) Xeon(R) CPU X5482 @ 3.20GHz",
|
||||
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1"],
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None,
|
||||
)
|
||||
|
||||
MacPro41_Upgrade = device_probe.Computer(
|
||||
# Upgraded model with AMD HD7950, Atheros PCIe card
|
||||
real_model="MacPro4,1",
|
||||
real_board_id="Mac-F221BEC8",
|
||||
reported_model="MacPro4,1",
|
||||
reported_board_id="Mac-F221BEC8",
|
||||
gpus=[device_probe.AMD(vendor_id=4098, device_id=26522, class_code=196608, name="PXS1", model="AMD Radeon HD 7950", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)")],
|
||||
igpu=None,
|
||||
dgpu=None,
|
||||
storage=[device_probe.SATAController(vendor_id=32902, device_id=14882, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)")],
|
||||
wifi=device_probe.Atheros(vendor_id=5772, device_id=48, class_code=163840, name="PXS4", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x4,0x0)/Pci(0x0,0x0)"),
|
||||
cpu=device_probe.CPU(
|
||||
name="Intel(R) Xeon(R) CPU W3520 @ 2.67GHz",
|
||||
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "POPCNT"]
|
||||
),
|
||||
oclp_version=None,
|
||||
opencore_version=None
|
||||
)
|
||||
|
||||
MacPro41_Modern_AMD = device_probe.Computer(
|
||||
# Upgraded model with AMD RX470, BCM94360CD, Intel 660p
|
||||
# Booted through OpenCore
|
||||
real_model="MacPro4,1",
|
||||
real_board_id="Mac-F221BEC8",
|
||||
reported_model="MacPro4,1",
|
||||
reported_board_id="Mac-27AD2F918AE68F61",
|
||||
gpus=[device_probe.AMD(vendor_id=4098, device_id=26591, class_code=196608, name="GFX0", model="Radeon RX 470/570", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)")],
|
||||
igpu=None,
|
||||
dgpu=device_probe.AMD(vendor_id=4098, device_id=26591, class_code=196608, name="GFX0", model="Radeon RX 470/570", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)"),
|
||||
storage=[
|
||||
device_probe.SATAController(vendor_id=32902, device_id=14882, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)"),
|
||||
device_probe.NVMeController(vendor_id=32902, device_id=61864, class_code=67586, name="PXS3", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)", aspm=2)
|
||||
],
|
||||
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17312, class_code=163840, name="ARPT", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x4,0x0)/Pci(0x0,0x0)"),
|
||||
cpu=device_probe.CPU(
|
||||
name="Intel(R) Xeon(R) CPU W3520 @ 2.67GHz",
|
||||
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "DTES64", "MON", "DSCPL", "VMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "POPCNT"]
|
||||
),
|
||||
oclp_version="0.2.5",
|
||||
opencore_version="REL-071-2021-07-02"
|
||||
)
|
||||
|
||||
MacPro41_51__Flashed_Modern_AMD = device_probe.Computer(
|
||||
# 4,1 flashed to 5,1, RX5700XT, BCM94360CD, WD SN750 NVMe
|
||||
real_model="MacPro5,1",
|
||||
real_board_id="Mac-F221BEC8",
|
||||
reported_model="MacPro5,1",
|
||||
reported_board_id="Mac-F221BEC8",
|
||||
gpus=[device_probe.AMD(vendor_id=4098, device_id=29471, class_code=196608, name="GFX0", model="AMD Radeon RX 5700 XT", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)")],
|
||||
igpu=None,
|
||||
dgpu=device_probe.AMD(vendor_id=4098, device_id=29471, class_code=196608, name="GFX0", model="AMD Radeon RX 5700 XT", pci_path="PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)"),
|
||||
storage=[
|
||||
device_probe.SATAController(vendor_id=32902, device_id=14882, class_code=67073, name="SATA", model=None, pci_path="PciRoot(0x0)/Pci(0x1f,0x2)"),
|
||||
device_probe.NVMeController(vendor_id=5559, device_id=20482, class_code=67586, name="PXS3", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x2,0x0)/Pci(0x0,0x0)", aspm=2)
|
||||
],
|
||||
|
||||
wifi=device_probe.Broadcom(vendor_id=5348, device_id=17312, class_code=163840, name="PXS4", model=None, pci_path="PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x4,0x0)/Pci(0x0,0x0)"),
|
||||
cpu=device_probe.CPU(
|
||||
name="Intel(R) Xeon(R) CPU X5670 @ 2.93GHz",
|
||||
flags=["FPU", "VME", "DE", "PSE", "TSC", "MSR", "PAE", "MCE", "CX8", "APIC", "SEP", "MTRR", "PGE", "MCA", "CMOV", "PAT", "PSE36", "CLFSH", "DS", "ACPI", "MMX", "FXSR", "SSE", "SSE2", "SS", "HTT", "TM", "PBE", "SSE3", "PCLMULQDQ", "DTES64", "MON", "DSCPL", "VMX", "SMX", "EST", "TM2", "SSSE3", "CX16", "TPR", "PDCM", "SSE4.1", "SSE4.2", "POPCNT", "AES", "PCID"]
|
||||
),
|
||||
oclp_version="0.2.5",
|
||||
opencore_version="REL-071-2021-07-02"
|
||||
)
|
||||
11
data/mirror_data.py
Normal file
@@ -0,0 +1,11 @@
|
||||
# Mirrors of Apple's InstallAssistant.ppkg
|
||||
# Currently only listing important Installers no longer on Apple's servers
|
||||
|
||||
Install_macOS_Big_Sur_11_2_3 = {
|
||||
"Version": "11.2.3",
|
||||
"Build": "20D91",
|
||||
"Link": "https://archive.org/download/install-assistant-20D91/InstallAssistant.pkg",
|
||||
"Size": 12211077798,
|
||||
"Source": "Archive.org",
|
||||
"integrity": None,
|
||||
}
|
||||
395
data/model_array.py
Normal file
@@ -0,0 +1,395 @@
|
||||
# Lists all models and required patches
|
||||
# Copyright (C) 2020-2021, Dhinak G, Mykola Grymalyuk
|
||||
SupportedSMBIOS = [
|
||||
# MacBook
|
||||
"MacBook4,1",
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBook6,1",
|
||||
"MacBook7,1",
|
||||
"MacBook8,1",
|
||||
# MacBook Air
|
||||
"MacBookAir2,1",
|
||||
"MacBookAir3,1",
|
||||
"MacBookAir3,2",
|
||||
"MacBookAir4,1",
|
||||
"MacBookAir4,2",
|
||||
"MacBookAir5,1",
|
||||
"MacBookAir5,2",
|
||||
"MacBookAir6,1",
|
||||
"MacBookAir6,2",
|
||||
# MacBook Pro
|
||||
"MacBookPro4,1",
|
||||
"MacBookPro5,1",
|
||||
"MacBookPro5,2",
|
||||
"MacBookPro5,3",
|
||||
"MacBookPro5,4",
|
||||
"MacBookPro5,5",
|
||||
"MacBookPro6,1",
|
||||
"MacBookPro6,2",
|
||||
"MacBookPro7,1",
|
||||
"MacBookPro8,1",
|
||||
"MacBookPro8,2",
|
||||
"MacBookPro8,3",
|
||||
"MacBookPro9,1",
|
||||
"MacBookPro9,2",
|
||||
"MacBookPro10,1",
|
||||
"MacBookPro10,2",
|
||||
"MacBookPro11,1",
|
||||
"MacBookPro11,2",
|
||||
"MacBookPro11,3",
|
||||
# Mac Mini
|
||||
"Macmini3,1",
|
||||
"Macmini4,1",
|
||||
"Macmini5,1",
|
||||
"Macmini5,2",
|
||||
"Macmini5,3",
|
||||
"Macmini6,1",
|
||||
"Macmini6,2",
|
||||
# iMac
|
||||
"iMac7,1",
|
||||
"iMac8,1",
|
||||
"iMac9,1",
|
||||
"iMac10,1",
|
||||
"iMac11,1",
|
||||
"iMac11,2",
|
||||
"iMac11,3",
|
||||
"iMac12,1",
|
||||
"iMac12,2",
|
||||
"iMac13,1",
|
||||
"iMac13,2",
|
||||
"iMac13,3",
|
||||
"iMac14,1",
|
||||
"iMac14,2",
|
||||
"iMac14,3",
|
||||
"iMac14,4",
|
||||
"iMac15,1",
|
||||
# Mac Pro
|
||||
"MacPro3,1",
|
||||
"MacPro4,1",
|
||||
"MacPro5,1",
|
||||
# Xserve
|
||||
"Xserve2,1",
|
||||
"Xserve3,1",
|
||||
]
|
||||
|
||||
# Audio
|
||||
|
||||
LegacyAudio = [
|
||||
"MacBook4,1",
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBook6,1",
|
||||
"MacBook7,1",
|
||||
"MacBookAir2,1",
|
||||
"MacBookAir3,1",
|
||||
"MacBookAir3,2",
|
||||
"MacBookAir4,1",
|
||||
"MacBookAir4,2",
|
||||
"MacBookPro4,1",
|
||||
"MacBookPro5,1",
|
||||
"MacBookPro5,2",
|
||||
"MacBookPro5,3",
|
||||
"MacBookPro5,4",
|
||||
"MacBookPro5,5",
|
||||
"MacBookPro6,1",
|
||||
"MacBookPro6,2",
|
||||
"MacBookPro7,1",
|
||||
"MacBookPro8,1",
|
||||
"MacBookPro8,2",
|
||||
"MacBookPro8,3",
|
||||
"Macmini3,1",
|
||||
"Macmini4,1",
|
||||
"Macmini5,1",
|
||||
"Macmini5,2",
|
||||
"Macmini5,3",
|
||||
# "iMac7,1",
|
||||
# "iMac8,1",
|
||||
"iMac9,1",
|
||||
"iMac10,1",
|
||||
"iMac11,1",
|
||||
"iMac11,2",
|
||||
"iMac11,3",
|
||||
"iMac12,1",
|
||||
"iMac12,2",
|
||||
"MacPro3,1",
|
||||
"Dortania1,1",
|
||||
]
|
||||
|
||||
# GPU
|
||||
|
||||
ModernGPU = [
|
||||
"MacBookAir5,1", # Intel 4000
|
||||
"MacBookAir5,2", # Intel 4000
|
||||
"MacBookPro9,1", # Intel 4000 + Nvidia 650M
|
||||
"MacBookPro9,2", # Intel 4000
|
||||
"MacBookPro10,1", # Intel 4000 + Nvidia 650M
|
||||
"MacBookPro10,2", # Intel 4000
|
||||
"MacBookPro11,3", # Intel 5000 + Nvidia Kepler
|
||||
"Macmini6,1", # Intel 4000
|
||||
"Macmini6,2", # Intel 4000
|
||||
"iMac13,1", # Intel 4000
|
||||
"iMac13,2", # Intel 4000 + Nvidia Kepler
|
||||
"iMac13,3", # Intel 4000
|
||||
"iMac14,1", # Intel 5000 + Nvidia Kepler
|
||||
"iMac14,2", # Intel 5000 + Nvidia Kepler
|
||||
"iMac14,3", # Intel 5000 + Nvidia Kepler
|
||||
]
|
||||
|
||||
LegacyGPU = [
|
||||
"MacBook4,1", # GMA X3100
|
||||
"MacBook5,1", # Nvidia 9000
|
||||
"MacBook5,2", # Nvidia 9000
|
||||
"MacBook6,1", # Nvidia 9000
|
||||
"MacBook7,1", # Nvidia 300
|
||||
"MacBookAir2,1", # Nvidia 9000
|
||||
"MacBookAir3,1", # Nvidia 300
|
||||
"MacBookAir3,2", # Nvidia 300
|
||||
"MacBookAir4,1", # Intel 3000
|
||||
"MacBookAir4,2", # Intel 3000
|
||||
"MacBookPro4,1", # Nvidia 8000
|
||||
"MacBookPro5,1", # Nvidia 9000
|
||||
"MacBookPro5,2", # Nvidia 9000
|
||||
"MacBookPro5,3", # Nvidia 9000
|
||||
"MacBookPro5,4", # Nvidia 9000
|
||||
"MacBookPro5,5", # Nvidia 9000
|
||||
"MacBookPro6,1", # Intel 100 + Nvidia 300
|
||||
"MacBookPro6,2", # Intel 100 + Nvidia 300
|
||||
"MacBookPro7,1", # Nvidia 300
|
||||
"MacBookPro8,1", # Intel 3000
|
||||
"MacBookPro8,2", # Intel 3000 + AMD 6000
|
||||
"MacBookPro8,3", # Intel 3000 + AMD 6000
|
||||
"Macmini3,1", # Nvidia 9000
|
||||
"Macmini4,1", # Nvidia 300
|
||||
"Macmini5,1", # Intel 3000
|
||||
"Macmini5,2", # AMD 6000
|
||||
"Macmini5,3", # Intel 3000
|
||||
"iMac7,1", # AMD 2000
|
||||
"iMac8,1", # Nvidia and AMD 2400
|
||||
"iMac9,1", # Nvidia 9000
|
||||
"iMac10,1", # Nvidia 9000 and AMD 4000
|
||||
"iMac11,1", # AMD 4000
|
||||
"iMac11,2", # AMD 4000 and 5000
|
||||
"iMac11,3", # AMD 5000
|
||||
"iMac12,1", # AMD 6000
|
||||
"iMac12,2", # AMD 6000
|
||||
"Dortania1,1", # RTX 3080
|
||||
]
|
||||
|
||||
LegacyGPUNvidia = [
|
||||
"MacBook5,1", # Nvidia 9000
|
||||
"MacBook5,2", # Nvidia 9000
|
||||
"MacBook6,1", # Nvidia 9000
|
||||
"MacBook7,1", # Nvidia 300
|
||||
"MacBookAir2,1", # Nvidia 9000
|
||||
"MacBookAir3,1", # Nvidia 300
|
||||
"MacBookAir3,2", # Nvidia 300
|
||||
"MacBookPro4,1", # Nvidia 8000
|
||||
"MacBookPro5,1", # Nvidia 9000
|
||||
"MacBookPro5,2", # Nvidia 9000
|
||||
"MacBookPro5,3", # Nvidia 9000
|
||||
"MacBookPro5,4", # Nvidia 9000
|
||||
"MacBookPro5,5", # Nvidia 9000
|
||||
"MacBookPro6,1", # Intel 100 + Nvidia 300
|
||||
"MacBookPro6,2", # Intel 100 + Nvidia 300
|
||||
"MacBookPro7,1", # Nvidia 300
|
||||
"Macmini3,1", # Nvidia 9000
|
||||
"Macmini4,1", # Nvidia 300
|
||||
"iMac9,1", # Nvidia 9000
|
||||
# "iMac10,1", # Nvidia 9000 and AMD 4000
|
||||
]
|
||||
|
||||
LegacyGPUAMD = [
|
||||
"MacBookPro8,2", # Intel 3000 + AMD 6000
|
||||
"MacBookPro8,3", # Intel 3000 + AMD 6000
|
||||
"Macmini5,2", # AMD 6000
|
||||
"iMac7,1", # AMD 2000
|
||||
# "iMac8,1", # Nvidia and AMD 2000
|
||||
# "iMac10,1", # Nvidia 9000 and AMD 4000
|
||||
"iMac11,1", # AMD 4000
|
||||
"iMac11,2", # AMD 4000 and 5000
|
||||
"iMac11,3", # AMD 5000
|
||||
"iMac12,1", # AMD 6000
|
||||
"iMac12,2", # AMD 6000
|
||||
]
|
||||
|
||||
LegacyGPUAMDIntelGen2 = [
|
||||
"MacBookPro8,2", # Intel 3000 + AMD 6000
|
||||
"MacBookPro8,3", # Intel 3000 + AMD 6000
|
||||
"Macmini5,2", # AMD 6000
|
||||
"iMac12,1", # AMD 6000
|
||||
"iMac12,2", # AMD 6000
|
||||
]
|
||||
|
||||
LegacyGPUIntelGen1 = [
|
||||
"MacBookPro6,1", # Intel 100 + Nvidia 300
|
||||
"MacBookPro6,2", # Intel 100 + Nvidia 300
|
||||
]
|
||||
|
||||
LegacyGPUIntelGen2 = [
|
||||
"MacBookAir4,1", # Intel 3000
|
||||
"MacBookAir4,2", # Intel 3000
|
||||
"MacBookPro8,1", # Intel 3000
|
||||
"MacBookPro8,2", # Intel 3000 + AMD 6000
|
||||
"MacBookPro8,3", # Intel 3000 + AMD 6000
|
||||
"Macmini5,1", # Intel 3000
|
||||
"Macmini5,3", # Intel 3000
|
||||
]
|
||||
|
||||
LegacyBrightness = [
|
||||
"MacBook5,2",
|
||||
"iMac7,1",
|
||||
"iMac8,1",
|
||||
"iMac9,1",
|
||||
]
|
||||
|
||||
NVMePatch = ["MacPro3,1", "MacPro4,1", "Xserve3,1", "Dortania1,1"]
|
||||
|
||||
DualGPUPatch = [
|
||||
"MacBookPro5,1",
|
||||
"MacBookPro5,2",
|
||||
"MacBookPro5,3",
|
||||
"MacBookPro6,1",
|
||||
"MacBookPro6,2",
|
||||
"MacBookPro8,2",
|
||||
"MacBookPro8,3",
|
||||
"Macmini5,2",
|
||||
"iMac12,1",
|
||||
"iMac12,2",
|
||||
"iMac13,1",
|
||||
"iMac13,2",
|
||||
"iMac14,2",
|
||||
"iMac14,3",
|
||||
"Dortania1,1",
|
||||
]
|
||||
|
||||
DualGPUPatchRetina = [
|
||||
"MacBookPro10,1",
|
||||
"MacBookPro11,3",
|
||||
]
|
||||
|
||||
IntelNvidiaDRM = [
|
||||
"iMac13,1",
|
||||
"iMac13,2",
|
||||
"iMac14,2",
|
||||
"iMac14,3",
|
||||
]
|
||||
|
||||
IDEPatch = ["MacBook4,1", "MacBookPro4,1", "iMac7,1", "iMac8,1", "MacPro3,1", "Xserve2,1", "Dortania1,1"]
|
||||
|
||||
# Mac Pro and Xserve
|
||||
MacPro = ["MacPro3,1", "MacPro4,1", "MacPro5,1", "Xserve2,1", "Xserve3,1", "Dortania1,1"]
|
||||
|
||||
SATAPatch = [
|
||||
"MacBook4,1",
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBook6,1",
|
||||
"MacBook7,1",
|
||||
"MacBookAir2,1",
|
||||
"MacBookAir3,1",
|
||||
"MacBookAir3,2",
|
||||
"MacBookAir4,1",
|
||||
"MacBookAir4,2",
|
||||
"MacBookPro4,1",
|
||||
"MacBookPro5,1",
|
||||
"MacBookPro5,2",
|
||||
"MacBookPro5,3",
|
||||
"MacBookPro5,4",
|
||||
"MacBookPro5,5",
|
||||
"MacBookPro6,1",
|
||||
"MacBookPro6,2",
|
||||
"MacBookPro7,1",
|
||||
"MacBookPro8,1",
|
||||
"MacBookPro8,2",
|
||||
"MacBookPro8,3",
|
||||
"MacBookPro9,1",
|
||||
"MacBookPro9,2",
|
||||
"Macmini3,1",
|
||||
"Macmini4,1",
|
||||
"Macmini5,1",
|
||||
"Macmini5,2",
|
||||
"Macmini5,3",
|
||||
"iMac7,1",
|
||||
"iMac8,1",
|
||||
"iMac9,1",
|
||||
"iMac10,1",
|
||||
"iMac11,1",
|
||||
"iMac11,2",
|
||||
"iMac11,3",
|
||||
"iMac12,1",
|
||||
"iMac12,2",
|
||||
"MacPro3,1",
|
||||
"MacPro4,1",
|
||||
"MacPro5,1",
|
||||
"Xserve2,1",
|
||||
"Xserve3,1",
|
||||
"Dortania1,1",
|
||||
]
|
||||
|
||||
NoAGPMSupport = ["MacBook4,1", "MacBookPro4,1", "iMac7,1", "iMac8,1", "MacPro3,1", "Xserve2,1", "Dortania1,1"]
|
||||
|
||||
AGDPSupport = [
|
||||
"MacBookPro9,1",
|
||||
"MacBookPro10,1",
|
||||
"iMac13,1",
|
||||
"iMac13,2",
|
||||
"iMac14,1",
|
||||
"iMac14,2",
|
||||
"iMac14,3",
|
||||
"iMac14,4",
|
||||
"iMac15,1",
|
||||
# TODO: Uncomment when dropped from macOS
|
||||
# "iMac17,1",
|
||||
# "iMac18,2",
|
||||
# "iMac18,3",
|
||||
# "iMac19,1",
|
||||
# "iMac19,2",
|
||||
# "iMac20,1",
|
||||
# "iMac20,2",
|
||||
# "iMacPro1,1",
|
||||
# "MacPro6,1",
|
||||
]
|
||||
|
||||
Missing_USB_Map = [
|
||||
"MacBook4,1",
|
||||
"MacBook5,1",
|
||||
"MacBook5,2",
|
||||
"MacBook6,1",
|
||||
"MacBook7,1",
|
||||
"MacBookAir2,1",
|
||||
"MacBookAir3,1",
|
||||
"MacBookAir3,2",
|
||||
"MacBookAir4,1",
|
||||
"MacBookAir4,2",
|
||||
"MacBookPro4,1",
|
||||
"MacBookPro5,1",
|
||||
"MacBookPro5,2",
|
||||
"MacBookPro5,3",
|
||||
"MacBookPro5,4",
|
||||
"MacBookPro5,5",
|
||||
"MacBookPro6,1",
|
||||
"MacBookPro6,2",
|
||||
"MacBookPro7,1",
|
||||
"MacBookPro8,1",
|
||||
"MacBookPro8,2",
|
||||
"MacBookPro8,3",
|
||||
"Macmini3,1",
|
||||
"Macmini4,1",
|
||||
"Macmini5,1",
|
||||
"Macmini5,2",
|
||||
"Macmini5,3",
|
||||
"iMac7,1",
|
||||
"iMac8,1",
|
||||
"iMac9,1",
|
||||
"iMac10,1",
|
||||
"iMac11,1",
|
||||
"iMac11,2",
|
||||
"iMac11,3",
|
||||
"iMac12,1",
|
||||
"iMac12,2",
|
||||
"MacPro3,1",
|
||||
"MacPro4,1",
|
||||
"Xserve2,1",
|
||||
"Xserve3,1",
|
||||
]
|
||||
20
data/os_data.py
Normal file
@@ -0,0 +1,20 @@
|
||||
import enum
|
||||
|
||||
|
||||
class os_data(enum.IntEnum):
|
||||
# OS Versions, Based off Major Kernel Version
|
||||
tiger = 8
|
||||
leopard = 9
|
||||
snow_leopard = 10
|
||||
lion = 11
|
||||
mountain_lion = 12
|
||||
mavericks = 13
|
||||
yosemite = 14
|
||||
el_capitan = 15
|
||||
sierra = 16
|
||||
high_sierra = 17
|
||||
mojave = 18
|
||||
catalina = 19
|
||||
big_sur = 20
|
||||
monterey = 21
|
||||
max_os = 99
|
||||
1029
data/pci_data.py
Normal file
38
data/sip_data.py
Normal file
@@ -0,0 +1,38 @@
|
||||
class system_integrity_protection:
|
||||
csr_values = {
|
||||
# Source: macOS 11.4 (XNU's csr.h)
|
||||
# https://opensource.apple.com/source/xnu/xnu-7195.121.3/bsd/sys/csr.h.auto.html
|
||||
"CSR_ALLOW_UNTRUSTED_KEXTS": False, # 0x1 - Allows Unsigned Kexts - Introduced in El Capitan # noqa: E241
|
||||
"CSR_ALLOW_UNRESTRICTED_FS": False, # 0x2 - File System Access - Introduced in El Capitan # noqa: E241
|
||||
"CSR_ALLOW_TASK_FOR_PID": False, # 0x4 - Unrestricted task_for_pid() - Introduced in El Capitan # noqa: E241
|
||||
"CSR_ALLOW_KERNEL_DEBUGGER": False, # 0x8 - Allow Kernel Debugger - Introduced in El Capitan # noqa: E241
|
||||
"CSR_ALLOW_APPLE_INTERNAL": False, # 0x10 - Set AppleInternal Features - Introduced in El Capitan # noqa: E241
|
||||
# "CSR_ALLOW_DESTRUCTIVE_DTRACE": False, # 0x20 - Allow destructive DTrace - Deprecated # noqa: E241
|
||||
"CSR_ALLOW_UNRESTRICTED_DTRACE": False, # 0x20 - Unrestricted DTrace usage - Introduced in El Capitan # noqa: E241
|
||||
"CSR_ALLOW_UNRESTRICTED_NVRAM": False, # 0x40 - Unrestricted NVRAM write - Introduced in El Capitan # noqa: E241
|
||||
"CSR_ALLOW_DEVICE_CONFIGURATION": False, # 0x80 - Allow custom DeviceTree (iOS) - Introduced in El Capitan # noqa: E241
|
||||
"CSR_ALLOW_ANY_RECOVERY_OS": False, # 0x100 - Skip BaseSystem Verification - Introduced in Sierra # noqa: E241
|
||||
"CSR_ALLOW_UNAPPROVED_KEXTS": False, # 0x200 - Allow Unnotarized Kexts - Introduced in High Sierra # noqa: E241
|
||||
"CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE": False, # 0x400 - Override Executable Policy - Introduced in Mojave # noqa: E241
|
||||
"CSR_ALLOW_UNAUTHENTICATED_ROOT": False, # 0x800 - Allow Root Volume Mounting - Introduced in Big Sur # noqa: E241
|
||||
}
|
||||
|
||||
root_patch_sip_mojave = [
|
||||
# Variables required to root patch in Mojave and Catalina
|
||||
"CSR_ALLOW_UNTRUSTED_KEXTS", # 0x1
|
||||
"CSR_ALLOW_UNRESTRICTED_FS", # 0x2
|
||||
"CSR_ALLOW_UNAPPROVED_KEXTS", # 0x200
|
||||
]
|
||||
|
||||
root_patch_sip_big_sur = [
|
||||
# Variables required to root patch in Big Sur and Monterey
|
||||
"CSR_ALLOW_UNTRUSTED_KEXTS", # 0x1
|
||||
"CSR_ALLOW_UNRESTRICTED_FS", # 0x2 - Required to mount and edit root volume, as well as load modded platform binaries
|
||||
"CSR_ALLOW_UNAPPROVED_KEXTS", # 0x200
|
||||
"CSR_ALLOW_UNAUTHENTICATED_ROOT", # 0x800 - Required to avoid KC mismatch kernel panic
|
||||
]
|
||||
|
||||
# CSR_ALLOW_EXECUTABLE_POLICY_OVERRIDE (introduced with Mojave):
|
||||
# This bit is quite strange and was originally assumed to be required for modded platform binaries
|
||||
# However after extensive testing, this doesn't seem true. In addition, this bit is never flipped via
|
||||
# 'csrutil disable'. Usage within the kernel is not present.
|
||||
2830
data/smbios_data.py
Normal file
287
data/sys_patch_data.py
Normal file
@@ -0,0 +1,287 @@
|
||||
# Lists Root patches used by sys_patch.py
|
||||
# Copyright (C) 2020-2021, Dhinak G, Mykola Grymalyuk
|
||||
DeleteNvidiaAccel11 = [
|
||||
"AMDRadeonX4000.kext",
|
||||
"AMDRadeonX4000HWServices.kext",
|
||||
"AMDRadeonX5000.kext",
|
||||
"AMDRadeonX5000HWServices.kext",
|
||||
"AMDRadeonX6000.kext",
|
||||
"AMDRadeonX6000Framebuffer.kext",
|
||||
"AMDRadeonX6000HWServices.kext",
|
||||
"AppleIntelBDWGraphics.kext",
|
||||
"AppleIntelBDWGraphicsFramebuffer.kext",
|
||||
"AppleIntelCFLGraphicsFramebuffer.kext",
|
||||
"AppleIntelHD4000Graphics.kext",
|
||||
"AppleIntelHD5000Graphics.kext",
|
||||
"AppleIntelICLGraphics.kext",
|
||||
"AppleIntelICLLPGraphicsFramebuffer.kext",
|
||||
"AppleIntelKBLGraphics.kext",
|
||||
"AppleIntelKBLGraphicsFramebuffer.kext",
|
||||
"AppleIntelSKLGraphics.kext",
|
||||
"AppleIntelSKLGraphicsFramebuffer.kext",
|
||||
"AppleIntelFramebufferAzul.kext",
|
||||
"AppleIntelFramebufferCapri.kext",
|
||||
"AppleParavirtGPU.kext",
|
||||
"GeForce.kext",
|
||||
"IOAcceleratorFamily2.kext",
|
||||
"IOGPUFamily.kext",
|
||||
]
|
||||
|
||||
DeleteAMDAccel11 = [
|
||||
"AMDRadeonX4000.kext",
|
||||
"AMDRadeonX4000HWServices.kext",
|
||||
"AMDRadeonX5000.kext",
|
||||
"AMDRadeonX5000HWServices.kext",
|
||||
"AMDRadeonX6000.kext",
|
||||
"AMDRadeonX6000Framebuffer.kext",
|
||||
"AMDRadeonX6000HWServices.kext",
|
||||
"AMD7000Controller.kext", # AMDSupport Dependency
|
||||
"AMD8000Controller.kext", # AMDSupport Dependency
|
||||
"AMD9000Controller.kext", # AMDSupport Dependency
|
||||
"AMD9500Controller.kext", # AMDSupport Dependency
|
||||
"AMD10000Controller.kext", # AMDSupport Dependency
|
||||
"AppleIntelBDWGraphics.kext",
|
||||
"AppleIntelBDWGraphicsFramebuffer.kext",
|
||||
"AppleIntelCFLGraphicsFramebuffer.kext",
|
||||
"AppleIntelHD4000Graphics.kext",
|
||||
"AppleIntelHD5000Graphics.kext",
|
||||
"AppleIntelICLGraphics.kext",
|
||||
"AppleIntelICLLPGraphicsFramebuffer.kext",
|
||||
"AppleIntelKBLGraphics.kext",
|
||||
"AppleIntelKBLGraphicsFramebuffer.kext",
|
||||
"AppleIntelSKLGraphics.kext",
|
||||
"AppleIntelSKLGraphicsFramebuffer.kext",
|
||||
"AppleIntelFramebufferAzul.kext",
|
||||
"AppleIntelFramebufferCapri.kext",
|
||||
"AppleParavirtGPU.kext",
|
||||
"GeForce.kext",
|
||||
"IOGPUFamily.kext",
|
||||
]
|
||||
|
||||
DeleteAMDAccel11TS2 = [
|
||||
"AppleCameraInterface.kext",
|
||||
]
|
||||
|
||||
AddNvidiaAccel11 = [
|
||||
"GeForceGA.bundle",
|
||||
"GeForceTesla.kext",
|
||||
"GeForceTeslaGLDriver.bundle",
|
||||
"GeForceTeslaVADriver.bundle",
|
||||
"NVDANV50HalTesla.kext",
|
||||
"NVDAResmanTesla.kext",
|
||||
"IOSurface.kext",
|
||||
]
|
||||
|
||||
AddNvidiaBrightness = [
|
||||
"GeForceGA.bundle",
|
||||
"GeForceTesla.kext",
|
||||
"GeForceTeslaGLDriver.bundle",
|
||||
"GeForceTeslaVADriver.bundle",
|
||||
"NVDANV50HalTesla.kext",
|
||||
"NVDAResmanTesla.kext",
|
||||
]
|
||||
|
||||
AddNvidiaKeplerAccel11 = [
|
||||
"GeForce.kext",
|
||||
"GeForceAIRPlugin.bundle",
|
||||
"GeForceGLDriver.bundle",
|
||||
"GeForceMTLDriver.bundle",
|
||||
"GeForceVADriver.bundle",
|
||||
"NVDAGF100Hal.kext",
|
||||
"NVDAGK100Hal.kext",
|
||||
"NVDAResman.kext",
|
||||
"NVDAStartup.kext",
|
||||
]
|
||||
|
||||
AddNvidiaTeslaAccel12 = [
|
||||
"NVDAStartup.kext",
|
||||
]
|
||||
|
||||
AddAMDAccel11 = [
|
||||
"AMD2400Controller.kext",
|
||||
"AMD2600Controller.kext",
|
||||
"AMD3800Controller.kext",
|
||||
"AMD4600Controller.kext",
|
||||
"AMD4800Controller.kext",
|
||||
"AMD5000Controller.kext",
|
||||
"AMD6000Controller.kext",
|
||||
"AMDFramebuffer.kext",
|
||||
"AMDLegacyFramebuffer.kext",
|
||||
"AMDLegacySupport.kext",
|
||||
"AMDRadeonVADriver.bundle",
|
||||
"AMDRadeonVADriver2.bundle",
|
||||
"AMDRadeonX3000.kext",
|
||||
"AMDRadeonX3000GLDriver.bundle",
|
||||
"AMDShared.bundle",
|
||||
"AMDSupport.kext",
|
||||
"ATIRadeonX2000.kext",
|
||||
"ATIRadeonX2000GA.plugin",
|
||||
"ATIRadeonX2000GLDriver.bundle",
|
||||
"ATIRadeonX2000VADriver.bundle",
|
||||
]
|
||||
|
||||
AddAMDBrightness = [
|
||||
"AMD2400Controller.kext",
|
||||
"AMD2600Controller.kext",
|
||||
"AMD3800Controller.kext",
|
||||
"AMD4600Controller.kext",
|
||||
"AMD4800Controller.kext",
|
||||
"AMD5000Controller.kext",
|
||||
"AMD6000Controller.kext",
|
||||
"AMDLegacyFramebuffer.kext",
|
||||
"AMDLegacySupport.kext",
|
||||
"AMDRadeonVADriver.bundle",
|
||||
"AMDRadeonVADriver2.bundle",
|
||||
# "AMDRadeonX3000.kext",
|
||||
# "AMDRadeonX3000GLDriver.bundle",
|
||||
"AMDShared.bundle",
|
||||
"ATIRadeonX2000.kext",
|
||||
"ATIRadeonX2000GA.plugin",
|
||||
"ATIRadeonX2000GLDriver.bundle",
|
||||
"ATIRadeonX2000VADriver.bundle",
|
||||
]
|
||||
|
||||
AddAMDAccel11TS2 = [
|
||||
"IOSurface.kext",
|
||||
"IOAcceleratorFamily2.kext",
|
||||
]
|
||||
|
||||
AddIntelGen1Accel = [
|
||||
"AppleIntelHDGraphics.kext",
|
||||
"AppleIntelHDGraphicsFB.kext",
|
||||
"AppleIntelHDGraphicsGA.plugin",
|
||||
"AppleIntelHDGraphicsGLDriver.bundle",
|
||||
"AppleIntelHDGraphicsVADriver.bundle",
|
||||
]
|
||||
|
||||
AddIntelGen2Accel = [
|
||||
"AppleIntelHD3000Graphics.kext",
|
||||
"AppleIntelHD3000GraphicsGA.plugin",
|
||||
"AppleIntelHD3000GraphicsGLDriver.bundle",
|
||||
"AppleIntelHD3000GraphicsVADriver.bundle",
|
||||
# "AppleIntelSNBGraphicsFB.kext",
|
||||
"AppleIntelSNBVA.bundle",
|
||||
]
|
||||
|
||||
AddIntelGen2AccelStock = [
|
||||
"AppleIntelSNBGraphicsFB-Clean.kext",
|
||||
]
|
||||
|
||||
AddIntelGen2AccelPatched = [
|
||||
"AppleIntelSNBGraphicsFB.kext",
|
||||
]
|
||||
|
||||
AddIntelGen3Accel = [
|
||||
"AppleIntelFramebufferCapri.kext",
|
||||
"AppleIntelHD4000Graphics.kext",
|
||||
"AppleIntelHD4000GraphicsGLDriver.bundle",
|
||||
"AppleIntelHD4000GraphicsMTLDriver.bundle",
|
||||
"AppleIntelHD4000GraphicsVADriver.bundle",
|
||||
"AppleIntelIVBVA.bundle",
|
||||
"AppleIntelGraphicsShared.bundle",
|
||||
]
|
||||
|
||||
AddGeneralAccel = ["IOAcceleratorFamily2.kext", "IOSurface.kext"]
|
||||
|
||||
DeleteBrightness = ["AppleGraphicsControl.kext/Contents/PlugIns/AGDCBacklightControl.kext"]
|
||||
|
||||
DeleteDemux = [
|
||||
"AppleGraphicsControl.kext/Contents/PlugIns/AGDCBacklightControl.kext",
|
||||
"AppleGraphicsControl.kext/Contents/PlugIns/AppleMuxControl.kext",
|
||||
"AppleBacklight.kext",
|
||||
]
|
||||
|
||||
AddDemux = [
|
||||
"AppleMuxControl.kext",
|
||||
]
|
||||
|
||||
AddBrightness = [
|
||||
"AppleBacklight.kext",
|
||||
"AppleBacklightExpert.kext",
|
||||
]
|
||||
|
||||
AddVolumeControl = [
|
||||
"AppleHDA.kext",
|
||||
"IOAudioFamily.kext",
|
||||
]
|
||||
|
||||
AddVolumeControlv2 = [
|
||||
"AppleHDA.kext",
|
||||
]
|
||||
|
||||
DeleteVolumeControl = [
|
||||
"AppleVirtIO.kext",
|
||||
"AppleVirtualGraphics.kext",
|
||||
"AppleVirtualPlatform.kext",
|
||||
"ApplePVPanic.kext",
|
||||
"AppleVirtIOStorage.kext",
|
||||
]
|
||||
|
||||
AddNvidiaAccelLegacy = [
|
||||
# "GeForceGA.bundle",
|
||||
"GeForceTesla.kext",
|
||||
"GeForceTeslaGLDriver.bundle",
|
||||
"GeForceTeslaVADriver.bundle",
|
||||
"NVDANV50HalTesla.kext",
|
||||
"NVDAResmanTesla.kext",
|
||||
]
|
||||
|
||||
AddAMDAccelLegacy = [
|
||||
"AMD2400Controller.kext",
|
||||
"AMD2600Controller.kext",
|
||||
"AMD3800Controller.kext",
|
||||
"AMD4600Controller.kext",
|
||||
"AMD4800Controller.kext",
|
||||
"AMD5000Controller.kext",
|
||||
"AMD6000Controller.kext",
|
||||
"AMDFramebuffer.kext",
|
||||
"AMDLegacyFramebuffer.kext",
|
||||
"AMDLegacySupport.kext",
|
||||
"AMDRadeonVADriver.bundle",
|
||||
"AMDRadeonVADriver2.bundle",
|
||||
"AMDRadeonX3000.kext",
|
||||
"AMDRadeonX3000GLDriver.bundle",
|
||||
"AMDRadeonX4000HWServices.kext",
|
||||
"AMDRadeonX4000.kext",
|
||||
"AMDRadeonX4000GLDriver.bundle",
|
||||
"AMDShared.bundle",
|
||||
"AMDSupport.kext",
|
||||
"ATIRadeonX2000.kext",
|
||||
"ATIRadeonX2000GA.plugin",
|
||||
"ATIRadeonX2000GLDriver.bundle",
|
||||
"ATIRadeonX2000VADriver.bundle",
|
||||
]
|
||||
|
||||
AddGeneralAccelCatalina = [
|
||||
"AppleGraphicsControl.kext",
|
||||
"AppleGraphicsPowerManagement.kext",
|
||||
"AppleMCCSControl.kext",
|
||||
"IOGraphicsFamily.kext",
|
||||
"IONDRVSupport.kext",
|
||||
"IOSurface.kext",
|
||||
]
|
||||
|
||||
AddGeneralAccelMojave = [
|
||||
"IONDRVSupport.kext",
|
||||
"AppleGraphicsControl.kext",
|
||||
"AppleGraphicsPowerManagement.kext",
|
||||
"AppleMCCSControl.kext",
|
||||
"IOAccelerator2D.plugin",
|
||||
"IOAcceleratorFamily2.kext",
|
||||
"IOGraphicsFamily.kext",
|
||||
]
|
||||
|
||||
BackupLocations = [
|
||||
"System/Library/Extensions",
|
||||
"System/Library/Frameworks/CoreDisplay.framework",
|
||||
"System/Library/Frameworks/IOSurface.framework",
|
||||
"System/Library/Frameworks/OpenGL.framework",
|
||||
"System/Library/Frameworks/WebKit.framework",
|
||||
"System/Library/LaunchDaemons",
|
||||
"System/Library/PrivateFrameworks/DisplayServices.framework",
|
||||
"System/Library/PrivateFrameworks/GPUSupport.framework",
|
||||
"System/Library/PrivateFrameworks/SkyLight.framework",
|
||||
"System/Library/PrivateFrameworks/IOAccelerator.framework",
|
||||
"System/Library/PrivateFrameworks/AppleGVA.framework",
|
||||
"System/Library/PrivateFrameworks/AppleGVACore.framework",
|
||||
]
|
||||
14
docs/.markdownlint.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"default": true,
|
||||
"line_length": false,
|
||||
"no-alt-text": false,
|
||||
"no-inline-html": false,
|
||||
"header-increment": false,
|
||||
"no-duplicate-header": false,
|
||||
"fenced-code-language": false,
|
||||
"no-emphasis-as-heading": false,
|
||||
"single-title": false,
|
||||
"ul-style": {
|
||||
"style": "asterisk"
|
||||
}
|
||||
}
|
||||
10
docs/.markdownlintignore
Normal file
@@ -0,0 +1,10 @@
|
||||
/node_modules/
|
||||
/_book/
|
||||
*.json
|
||||
/extra-files/
|
||||
/.git/
|
||||
/icons/
|
||||
/images/
|
||||
/styles/
|
||||
/.github/
|
||||
/.vuepress/
|
||||
153
docs/.vuepress/config.js
Executable file
@@ -0,0 +1,153 @@
|
||||
const {
|
||||
description
|
||||
} = require('../package')
|
||||
|
||||
module.exports = {
|
||||
title: 'OpenCore Legacy Patcher',
|
||||
head: [
|
||||
['meta', {
|
||||
name: 'theme-color',
|
||||
content: '#3eaf7c'
|
||||
}],
|
||||
['meta', {
|
||||
name: 'apple-mobile-web-app-capable',
|
||||
content: 'yes'
|
||||
}],
|
||||
['meta', {
|
||||
name: 'apple-mobile-web-app-status-bar-style',
|
||||
content: 'black'
|
||||
}],
|
||||
["link", {
|
||||
rel: "'stylesheet",
|
||||
href: "/styles/website.css"
|
||||
},]
|
||||
],
|
||||
base: '/OpenCore-Legacy-Patcher/',
|
||||
|
||||
watch: {
|
||||
$page(newPage, oldPage) {
|
||||
if (newPage.key !== oldPage.key) {
|
||||
requestAnimationFrame(() => {
|
||||
if (this.$route.hash) {
|
||||
const element = document.getElementById(this.$route.hash.slice(1));
|
||||
|
||||
if (element && element.scrollIntoView) {
|
||||
element.scrollIntoView();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
markdown: {
|
||||
extendMarkdown: md => {
|
||||
md.use(require('markdown-it-multimd-table'), {
|
||||
rowspan: true,
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
theme: 'vuepress-theme-succinct',
|
||||
globalUIComponents: [
|
||||
'ThemeManager'
|
||||
],
|
||||
|
||||
themeConfig: {
|
||||
lastUpdated: true,
|
||||
repo: 'https://github.com/dortania/OpenCore-Legacy-Patcher/',
|
||||
docsDir: 'docs',
|
||||
docsBranch: 'main',
|
||||
editLinks: true,
|
||||
editLinkText: 'Help us improve this page!',
|
||||
logo: 'homepage.png',
|
||||
|
||||
sidebar: [{
|
||||
title: 'Introduction',
|
||||
collapsable: false,
|
||||
sidebarDepth: 1,
|
||||
children: [
|
||||
'START',
|
||||
'MODELS',
|
||||
['BENIFITS', 'Benefits and drawbacks'],
|
||||
]
|
||||
|
||||
},
|
||||
{
|
||||
title: 'Setting up',
|
||||
collapsable: false,
|
||||
sidebarDepth: 1,
|
||||
children: [
|
||||
'INSTALLER',
|
||||
'BUILD',
|
||||
]
|
||||
|
||||
},
|
||||
{
|
||||
title: 'Installation',
|
||||
collapsable: false,
|
||||
sidebarDepth: 1,
|
||||
children: [
|
||||
'BOOT',
|
||||
'POST-INSTALL',
|
||||
]
|
||||
|
||||
},
|
||||
{
|
||||
title: 'macOS Monterey',
|
||||
collapsable: false,
|
||||
sidebarDepth: 1,
|
||||
children: [
|
||||
'MONTEREY-DROP',
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'Misc',
|
||||
collapsable: false,
|
||||
sidebarDepth: 1,
|
||||
children: [
|
||||
'ACCEL',
|
||||
'TROUBLESHOOTING',
|
||||
'DEBUG',
|
||||
'UPDATE',
|
||||
'UNINSTALL',
|
||||
'ICNS',
|
||||
'WINDOWS',
|
||||
]
|
||||
},
|
||||
{
|
||||
title: 'Credit',
|
||||
collapsable: false,
|
||||
sidebarDepth: 1,
|
||||
children: [
|
||||
'DONATE',
|
||||
'LICENSE',
|
||||
]
|
||||
|
||||
},
|
||||
{
|
||||
title: 'Documentation',
|
||||
collapsable: false,
|
||||
sidebarDepth: 1,
|
||||
children: [
|
||||
'TESTED',
|
||||
'TERMS',
|
||||
'HOW',
|
||||
'PATCHEXPLAIN',
|
||||
]
|
||||
|
||||
},
|
||||
],
|
||||
},
|
||||
plugins: [
|
||||
'@vuepress/plugin-back-to-top',
|
||||
'vuepress-plugin-smooth-scroll',
|
||||
['vuepress-plugin-medium-zoom',
|
||||
{
|
||||
selector: "img",
|
||||
options: {
|
||||
background: 'var(--bodyBgColor)'
|
||||
}
|
||||
}],
|
||||
]
|
||||
}
|
||||
BIN
docs/.vuepress/public/favicon.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
docs/.vuepress/public/homepage.png
Normal file
|
After Width: | Height: | Size: 270 KiB |
49
docs/.vuepress/styles/index.styl
Executable file
@@ -0,0 +1,49 @@
|
||||
/**
|
||||
* Custom Styles here.
|
||||
*
|
||||
* ref:https://v1.vuepress.vuejs.org/config/#index-styl
|
||||
*/
|
||||
|
||||
[data-theme='light']
|
||||
--sideBgColor $sideBgColor
|
||||
|
||||
[data-theme='dark']
|
||||
--sideBgColor $sideBgColorDark
|
||||
--dropShadowColor $dropShadowColor
|
||||
|
||||
.home .hero img
|
||||
max-width 450px!important
|
||||
|
||||
.navbar
|
||||
filter drop-shadow(0px 1px 1px var(--dropShadowColor))
|
||||
|
||||
.sidebar
|
||||
background-color var(--sideBgColor)
|
||||
|
||||
div[class*="language-"]
|
||||
pre, pre[class*="language-"]
|
||||
margin-top 0
|
||||
|
||||
html {
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
background-color: unset;
|
||||
}
|
||||
::-webkit-scrollbar {
|
||||
width 0px
|
||||
background transparent /* make scrollbar transparent */
|
||||
}
|
||||
|
||||
tr
|
||||
&:nth-child(1n)
|
||||
background-color var(--bodyBgColor)
|
||||
&:nth-child(2n)
|
||||
background-color var(--sideBgColor)
|
||||
|
||||
|
||||
|
||||
.dropdown-wrapper .nav-dropdown
|
||||
border 1px solid var(--sideBgColor)!important
|
||||
background-color var(--sideBgColor)!important
|
||||
box-shadow 0px 0px 2px var(--bodyBgColor)
|
||||
right -12%!important
|
||||
23
docs/.vuepress/styles/palette.styl
Executable file
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* Custom palette here.
|
||||
*
|
||||
* ref:https://v1.vuepress.vuejs.org/zh/config/#palette-styl
|
||||
*/
|
||||
|
||||
$bodyFontSize = 16px
|
||||
$fallbackTheme = 'dark'
|
||||
$dropShadowColor = #111112
|
||||
|
||||
// Light Theme
|
||||
$accentColor = #19b3e7
|
||||
$textColor = #2c3e50
|
||||
$bodyBgColor = #fff
|
||||
$sideBgColor = #fff
|
||||
$badgeTipColor = #caf2ff
|
||||
|
||||
// Dark Theme
|
||||
$accentColorDark = #30BCD5
|
||||
$textColorDark = #ccc
|
||||
$bodyBgColorDark = #2d3033
|
||||
$sideBgColorDark = #363b40
|
||||
$badgeTipColorDark = #023e52
|
||||
153
docs/ACCEL.md
Normal file
@@ -0,0 +1,153 @@
|
||||
# Working Around Legacy Acceleration Issues
|
||||
|
||||
* [Downloading older non-Metal Apps](#downloading-older-non-metal-apps)
|
||||
* [Unable to run Zoom](#unable-to-run-zoom)
|
||||
* [Unable to grant special permissions to apps (ie. Camera Access to Zoom)](#unable-to-grant-special-permissions-to-apps-ie-camera-access-to-zoom)
|
||||
* [Keyboard Backlight broken](#keyboard-backlight-broken)
|
||||
* [Photos and Maps Apps Heavily Distorted](#photos-and-maps-apps-heavily-distorted)
|
||||
* [Cannot press "Done" when editing a Sidebar Widget](#cannot-press-done-when-editing-a-sidebar-widget)
|
||||
* [Wake from sleep heavily distorted on AMD/ATI in macOS 11.3 and newer](#wake-from-sleep-heavily-distorted-on-amd-ati-in-macos-11-3-and-newer)
|
||||
* [Unable to switch GPUs on 2011 15" and 17" MacBook Pros](#unable-to-switch-gpus-on-2011-15-and-17-macbook-pros)
|
||||
* [Erratic Colours on ATI TeraScale 2 GPUs (HD5000/HD6000)](#erratic-colours-on-ati-terascale-2-gpus-hd5000-hd6000)
|
||||
* [Unable to allow Safari Extensions](#unable-to-allow-Safari-Extensions)
|
||||
* [Cannot Login on 2011 15" and 17" MacBook Pros](#cannot-login-on-2011-15-and-17-macbook-pros)
|
||||
|
||||
The below page is for users experiencing issues with their overall usage of macOS Big Sur / macOS Monterey and the Legacy Graphics Acceleration patches. Note that the following GPUs currently do not have acceleration support in Big Sur / Monterey:
|
||||
|
||||
* Intel 3rd and 4th Gen - GMA series
|
||||
|
||||
For those unfamiliar with what is considered a non-Metal GPU, see below chart:
|
||||
|
||||
::: details macOS GPU Chart
|
||||
|
||||
| Graphics Vendor | Architecture | Series | Supports Metal |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| ATI | TeraScale 1 | HD2000 - HD4000 | <span style="color:red">No</span> |
|
||||
| ^^ | TeraScale 2 | HD5000 - HD6000 | ^^ |
|
||||
| AMD | GCN (and newer) | HD7000+ | <span style="color:green">Yes</span> |
|
||||
| Nvidia | Tesla | 8000GT - GT300 | <span style="color:red">No</span> |
|
||||
| ^^ | Fermi | GT400 - GT500 | ^^ |
|
||||
| ^^ | Kepler | GT600 - GT700 | <span style="color:green">Yes</span> |
|
||||
| Intel | GMA | GMA900 - GMA3000 | <span style="color:red">No</span> |
|
||||
| ^^ | Iron Lake | HD series | ^^ |
|
||||
| ^^ | Sandy Bridge | HD3000 | ^^ |
|
||||
| ^^ | Ivy Bridge (and newer) | HD4000 | <span style="color:green">Yes</span> |
|
||||
|
||||
:::
|
||||
|
||||
## Downloading older non-Metal Apps
|
||||
|
||||
Many Apple apps now have direct reliance on Metal for proper functioning, however legacy builds of these apps still do work in Big Sur. See below for archive of many apps such as Pages, iMovie, GarageBand.
|
||||
|
||||
* [Apple Apps for Non-Metal Macs](https://archive.org/details/apple-apps-for-non-metal-macs)
|
||||
|
||||
Note: This archive assumes that you own these copies of these apps through the Mac App Store, Dortania does not condone piracy
|
||||
|
||||
## Unable to run Zoom
|
||||
|
||||
Currently Zoom relies partially on Metal and so needs a small binary patch. Dosdude1 has provided a nice script for this:
|
||||
|
||||
* [Zoom Non-Metal Fix](http://dosdude1.com/catalina/zoomnonmetal-new.command.zip)
|
||||
|
||||
## Unable to grant special permissions to apps (ie. Camera Access to Zoom)
|
||||
|
||||
With version 0.2.5, this issue should be full resolved
|
||||
|
||||
::: details 0.2.4 and older Work-Around
|
||||
|
||||
Due to the usage of `amfi_get_out_of_my_way=1`, macOS will fail to prompt users for special permissions upon application start as well as omit the entires in System Preferences. To work around this, we recommend users install [tccplus](https://github.com/jslegendre/tccplus) to manage permissions.
|
||||
|
||||
Example usage with Discord and microphone permissions:
|
||||
|
||||
```sh
|
||||
# Open Terminal and run the following commands
|
||||
cd ~/Downloads/
|
||||
chmod +x tccplus
|
||||
./tccplus add Microphone com.hnc.Discord
|
||||
```
|
||||
|
||||
For those who may experience issues with `tccplus`, you can manually patch `com.apple.TCC` to add permissions:
|
||||
|
||||
```sh
|
||||
# get app id (Zoom.us used in example):
|
||||
$ osascript -e 'id of app "zoom.us"'
|
||||
# output: us.zoom.xos
|
||||
|
||||
$ sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceMicrophone','us.zoom.xos',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109);"
|
||||
|
||||
$ sudo sqlite3 ~/Library/Application\ Support/com.apple.TCC/TCC.db "INSERT or REPLACE INTO access VALUES('kTCCServiceCamera','us.zoom.xos',0,2,0,1,NULL,NULL,NULL,'UNUSED',NULL,0,1541440109);"
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
## Keyboard Backlight broken
|
||||
|
||||
Due to forcing `hidd` into spinning up with the fallback mode enabled, this can break the OS's recognition of backlight keyboards. Thankfully the drivers themselves still do operate so applications such as [LabTick](https://www.macupdate.com/app/mac/22151/lab-tick) are able to set the brightness manually.
|
||||
|
||||
## Photos and Maps Apps Heavily Distorted
|
||||
|
||||
Due to the Metal Backend, the enhanced color output of these apps seems to heavily break overall UI usage. To work around this, [users reported](https://forums.macrumors.com/threads/macos-11-big-sur-on-unsupported-macs-thread.2242172/post-29870324) forcing the color output of their monitor from Billions to Millions of colors helped greatly. Apps easily allowing this customization are [SwitchResX](https://www.madrau.com), [ResXreme](https://macdownload.informer.com/resxtreme/) and [EasyRes](http://easyresapp.com).
|
||||
|
||||
## Cannot press "Done" when editing a Sidebar Widget
|
||||
|
||||
Workaround: Press some combination of Tab, or Tab and then Shift-Tab, or just Shift-Tab until the "Done" button is highlighted. Then press spacebar to activate the button, the same as in any other dialog with a highlighted button halo.
|
||||
|
||||
## Wake from sleep heavily distorted on AMD/ATI in macOS 11.3 and newer
|
||||
|
||||
Unfortunately a very well known issue the community is investigating, current known solution is to simply downgrade to 11.2.3 or older until a proper fix can be found. Additionally logging out and logging in can resolve the issue without requiring a reboot
|
||||
|
||||
* Note, this issue should be exclusive to TeraScale 1 GPUs (ie. HD2000-4000). TeraScale 2 GPUs should not exhibit this issue
|
||||
|
||||
In the event Apple removes 11.2.3 from their catalogue, we've provided a mirror below:
|
||||
|
||||
* [Install macOS 11.2.3 20D91](https://archive.org/details/install-mac-os-11.2.3-20-d-91)
|
||||
|
||||
## Unable to switch GPUs on 2011 15" and 17" MacBook Pros
|
||||
|
||||
Currently OpenCore Legacy Patcher, GPU switching between the iGPU and dGPU is broken. The simplest way to set a specific GPU is to disable the dGPU when you wish to remain on the more power efficient iGPU.
|
||||
|
||||
The best way to achieve this is to boot Recovery (or Single User Mode if the dGPU refuses to function at all) and run the following command:
|
||||
|
||||
```sh
|
||||
nvram FA4CE28D-B62F-4C99-9CC3-6815686E30F9:gpu-power-prefs=%01%00%00%00
|
||||
```
|
||||
|
||||
This will disable the dGPU and allow the iGPU to function in Big Sur. Note that external display outputs are directly routed to the dGPU and therefore can no longer be used. Solutions such as a [DisplayLink Adapters](https://www.displaylink.com/products/usb-adapters) can work around this limitation in theory. However, currently the proprietary DisplayLink driver refuses to function on legacy-patched systems, either resulting in a windowserver crash loop or no output at all.
|
||||
|
||||
## Erratic Colours on ATI TeraScale 2 GPUs (HD5000/HD6000)
|
||||
|
||||
Due to an odd bug with ATI's TeraScale 2 GPUs, many users will experience erratic/strobing colours once finished installing and rebooting into the accelerated patches. The issue stems from an incorrect assumption in the GPU drivers where it will enforce the Billion Colour space on your display. To fix, simply force your Display into a lower color depth such as a Million Colours.
|
||||
|
||||
Applications that can set color depth are:
|
||||
|
||||
* [SwitchResX](https://www.madrau.com)
|
||||
* [ResXtreme](https://macdownload.informer.com/resxtreme/)
|
||||
|
||||
## Unable to allow Safari Extensions
|
||||
|
||||
Due to an bug on the legacy acceleration patches, users won't be able to enable Safari Extensions
|
||||
|
||||
This tool can be used to work-around this issue:
|
||||
|
||||
* [Non-Metal Safari Extensions](https://github.com/moosethegoose2213/Non-Metal-Safari-Extensions/)
|
||||
|
||||
## Cannot Login on 2011 15" and 17" MacBook Pros
|
||||
|
||||
By default OpenCore Legacy Patcher will assume MacBookPro8,2/3 have a faulty dGPU and disable acceleration. This is the safest option for most users as enabling dGPU acceleration on faulty Macs will result in failed booting.
|
||||
|
||||
However if your machine does not have the dGPU disabled via NVRAM, you'll expereince a login loop. To work around this is quite simple:
|
||||
|
||||
1. Boot macOS in Single User Mode
|
||||
* Press Cmd+S in OpenCore's menu when you turn the Mac on
|
||||
2. When command line prompt appears, enter the dGPU disabler argument (at the bottom)
|
||||
3. Reboot and patched macOS should work normally
|
||||
4. If you still want to use the dGPU, run OCLP's TUI app and enable TS2 Acceleration. Then root patch your Mac again
|
||||
* `Patcher Settings -> Misc Settings -> TeraScale 2 Accel`
|
||||
5. Either Reset NVRAM or set `gpu-power-prefs` to zeros to re-enable the dGPU
|
||||
|
||||
```sh
|
||||
# Forces GMUX to use iGPU only (ie. disable dGPU)
|
||||
nvram FA4CE28D-B62F-4C99-9CC3-6815686E30F9:gpu-power-prefs=%01%00%00%00
|
||||
# To reset, simply write zeros or NVRAM Reset your Mac
|
||||
nvram FA4CE28D-B62F-4C99-9CC3-6815686E30F9:gpu-power-prefs=%00%00%00%00
|
||||
```
|
||||
24
docs/BENIFITS.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Benefits and Drawbacks between OpenCore Legacy Patcher and other patchers
|
||||
|
||||
With OpenCore Legacy Patcher we recommend users go through the below table to understand what the benefits and drawbacks are compared to other patchers. There are positive and negatives to each and we feel transparency is most important when patching another users machine. There should be no grey areas where users may be mislead.
|
||||
|
||||
* Note: [Patched Sur](https://github.com/BenSova/Patched-Sur) and [MicropatcherAutomator](https://github.com/moosethegoose2213/automator-for-barrykn-micropatcher) are iterations of [BarryKN's micropatcher](https://github.com/barrykn/big-sur-micropatcher) and therefore share many of the same benefits and limitations. Patched Sur is used for this comparison as it's the most common form of BarryKN's patcher users will find.
|
||||
|
||||
| Features | [OpenCore Legacy Patcher](https://github.com/dortania/OpenCore-Legacy-Patcher/) | [Patched Sur](https://github.com/BenSova/Patched-Sur) |
|
||||
| :--- | :--- | :--- |
|
||||
| Over The Air Updates | <span style="color:#30BCD5">Native System Preferences, additionally supports Deltas (~2GB) for Metal GPUs</span> | <span style="color:red">Inside Patcher Sur app (~12GB), only available when InstallAssistants release.</span> InstallAssistants generally available same day as System Preference updates, however developer betas will lag behind by 1 day compared to OTAs |
|
||||
| FileVault | <span style="color:#30BCD5">Fully supported on all machines</span>. Note unsupported on APFS ROM Patched Macs, revert to stock firmware to resolve | <span style="color:red">Not supported</span> |
|
||||
| System Integrity Protection | <span style="color:#30BCD5">Fully enabled on Metal GPUs</span> | <span style="color:red">Disabled for early 2013 and older during the patching process and first boot afterwards, otherwise enabled</span> |
|
||||
| APFS Snapshots | <span style="color:#30BCD5">Fully enabled</span> | <span style="color:red">Disabled</span> |
|
||||
| User facing | <span style="color:red">TUI interface</span> | <span style="color:#30BCD5">SwiftUI interface, more user friendly</span> |
|
||||
| Supported OSes | <span style="color:#30BCD5">10.7-12</span> | <span style="color:red">10.15-11</span> |
|
||||
| Firmware Patching | <span style="color:#30BCD5">None required</span> | <span style="color:red">Required for models without native APFS support</span> |
|
||||
| BootCamp Switching | <span style="color:red">Requires EFI Conversion for Start Disk support, otherwise still supported</span> | <span style="color:#30BCD5">Native</span> |
|
||||
| Non-Metal GPU Acceleration | <span style="color:#30BCD5">In active development</span>, see Acceleration Progress Tracker: [Link](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/108) | <span style="color:red">Currently not researching</span> |
|
||||
| El Capitan-era Wifi cards | <span style="color:#30BCD5">Supported</span> | <span style="colorred">Not supported</span> |
|
||||
| WPA Wireless Support | <span style="color:#30BCD5">Supported</span> | <span style="color:red">Minority may experience issues on early 2013 and older Models</span> |
|
||||
| Personal Hotspot Support | <span style="color:#30BCD5">Native</span> | <span style="color:red">Often requires extra steps to achieve on early 2013 and older Models</span> |
|
||||
| HEVC/H.265 Support for Mac Pros and iMacs with Polaris+ GPUs | <span style="color:#30BCD5">Supported</span> | <span style="color:red">Not supported</span> |
|
||||
| Big Sur-styled Boot Picker | <span style="color:#30BCD5">Available</span>, though as a shim to the original boot picker | <span style="color:red">Not available</span> |
|
||||
| Hibernation Support | <span style="color:#30BCD5">Supports 3rd party SATA SSDs on 2011 and older models in addition to stock drives</span> | <span style="color:red">Only supports stock drives on 2011 and older models</span> |
|
||||
| Sidecar Support | <span style="color:#30BCD5">Supports any Mac with Metal Intel iGPU</span>, artifacting way exhibited on high movement screen content | <span style="color:red">Not supported at all</span> |
|
||||
21
docs/BOOT.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Booting OpenCore and macOS
|
||||
|
||||
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):
|
||||
|
||||
* This will be the Mac Boot Picker
|
||||
|
||||

|
||||
|
||||
Now that you've loaded OpenCore, now select Install macOS!:
|
||||
|
||||
* This will be the OpenCore Picker
|
||||
|
||||

|
||||
|
||||
After plenty of verbose booting, you will reach the installer screen! From there it's just like any normal macOS install. For an example of how the boot process looks, see the following video:
|
||||
|
||||
* [OpenCore Legacy Patcher Boot Process](https://www.youtube.com/watch?v=AN3zsbQV_n4)
|
||||
|
||||
# Once installed and booting, head to [Post-Installation](./POST-INSTALL.md)
|
||||
36
docs/BUILD.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Building and installing OpenCore
|
||||
|
||||
Now that we have a macOS installer, lets now build our OpenCore configuration!
|
||||
|
||||
First Download the latest release:
|
||||
|
||||
* [OpenCore Legacy Patcher Releases](https://github.com/dortania/Opencore-Legacy-Patcher/releases)
|
||||
|
||||
Next, run the `OpenCore-Patcher.app`:
|
||||
|
||||

|
||||
|
||||
From here you have a couple important options:
|
||||
|
||||
* Build OpenCore
|
||||
* Install OpenCore to USB/internal drive
|
||||
* Change Model
|
||||
* Patcher Settings
|
||||
|
||||
If you're patching for a different machine than you're running, please select "Change Model" and enter the updated SMBIOS. For more advanced users, you may also tweak the patcher's build settings via "Patcher Settings"
|
||||
|
||||
Now lets enter "Build OpenCore":
|
||||
|
||||

|
||||
|
||||
The process should be quite quick to build, once finished you'll be plopped back to the main menu.
|
||||
|
||||
Next lets run `Install OpenCore to USB/internal drive`:
|
||||
|
||||
| Select Drive | Select EFI/FAT32 Partition |
|
||||
| :--- | :--- |
|
||||
|  |  |
|
||||
|
||||
* If you have issues, please ensure you install OpenCore onto a FAT32 partition to ensure your Mac is able to boot it. You will need to format your drive as GUID/GPT in Disk Utility
|
||||
|
||||
# Once finished, head to [Booting OpenCore and macOS](./BOOT.md)
|
||||
48
docs/DEBUG.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# How to debug with OpenCore
|
||||
|
||||
For those who've hit an odd bug and unsure if it's user error or patcher, the below will tell you how to get more verbose debug information as well as logs to help [file issues with us](https://github.com/dortania/OpenCore-Legacy-Patcher/issues)
|
||||
|
||||
* For users who are less experienced, we recommend asking on the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN) for help.
|
||||
|
||||
## Debugging yourself
|
||||
|
||||
The easiest way to debug yourself is via Patcher Settings. Here there are many different settings however the 3 main options that will help are:
|
||||
|
||||
* "Enable Verbose Mode"
|
||||
* "Enable OpenCore DEBUG"
|
||||
* "Enable Kext DEBUG"
|
||||
|
||||
When you've enabled these 3 options, rebuild OpenCore and install to your drive. This will provide much greater debug information as well as write logs to the EFI Partition.
|
||||
|
||||
## Obtaining OpenCore logs from disk
|
||||
|
||||
With "Enable OpenCore DEBUG" set, every boot there will be a .txt file generated in your disk. To grab these logs, [download and run MountEFI](https://github.com/corpnewt/MountEFI):
|
||||
|
||||

|
||||
|
||||
Once you've mounted the EFI Partition of the drive you have macOS on, you should see some nice logs:
|
||||
|
||||

|
||||
|
||||
## Obtaining Kernel logs from macOS
|
||||
|
||||
With "Enable Kext DEBUG" set, every boot will now have much more detailed logs stored in the OS. To get these logs, simply run the below command:
|
||||
|
||||
```sh
|
||||
sudo dmesg > ~/Desktop/DMESG.txt
|
||||
```
|
||||
|
||||
From there, you'll have a log on your desktop.
|
||||
|
||||
## Filing an issue with us
|
||||
|
||||
Now that you have proper logs, you can now [file issues with us](https://github.com/dortania/OpenCore-Legacy-Patcher/issues). Reminder we want the following info:
|
||||
|
||||
* Model patching for (ie. MacBookPro10,1)
|
||||
* Target OS (ie. macOS 11.2.3)
|
||||
* Host OS (ie. macOS 10.15.7)
|
||||
* Upload of your OpenCore Build Folder
|
||||
* Upload of your OpenCore log (if applicable)
|
||||
* Upload of your Kernel log (if applicable)
|
||||
|
||||
Additionally, please search whether the issue has been reported before. This avoids having duplicate issues.
|
||||
35
docs/DONATE.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Supporting the patcher
|
||||
|
||||
OpenCore Legacy Patcher is a hobby project for us developers, and while we love helping out the community it's very difficult for us to troubleshoot issues remotely. The best way for us to get to work on the patcher, fix issues and add enhancements is having the hardware in-hand. As a hobby project, neither of the main developers can afford to buy every legacy Mac to test on.
|
||||
|
||||
The best way to support us in all honesty is to donate any old hardware you no longer need, as this allows us to have machines to test locally and push fixes much faster. While we appreciate cash donations, this makes it much more difficult for us to handle as an organization.
|
||||
|
||||
Main sections of help we'd appreciate:
|
||||
|
||||
* Donating any Mac you own
|
||||
* Does require SSE4,1 CPU to test on Sierra and newer however
|
||||
* Donating any spare SATA SSDs
|
||||
* Having extra SSDs on hand allows us to quickly and easily test specific builds of macOS without having to wipe drives and reinstall as much
|
||||
* Aiding by buying items in our Amazon Wishlist
|
||||
* Currently we have a few members within Dortania testing so we recommend messaging the email listed below to see which member at the time would require something purchased the most
|
||||
|
||||
Additionally, hardware info dumps are greatly beneficial for us to determine what patches a machine might need:
|
||||
|
||||
* [IORegistryExplorer](https://github.com/khronokernel/IORegistryClone/blob/master/ioreg-210.zip?raw=true)
|
||||
* `File -> SaveAs` and open an issue on Github
|
||||
* Note: We want IOReg dumps of hardware not running on OpenCore, instead running a clean, officially supported OS by the machine
|
||||
|
||||
If you have any legacy hardware you're willing to donate or what to buy us something, please contact us at the following email:
|
||||
|
||||
* khronokernel@icloud.com
|
||||
|
||||
Current hardware we own:
|
||||
|
||||
| Model | CPU | GPU | Owner | Notes |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| MacBook7,1 | Penryn | GT320M | Dhinak | N/A |
|
||||
| MacBook7,1 | Penryn | GT320M | Mykola | N/A |
|
||||
| MacBookPro5,3 | Penryn | 9400M + 9600M | Dhinak | Display's partially broken |
|
||||
| Macmini4,1 | Penryn | GT320M | Dhinak | N/A |
|
||||
| iMac11,2 | Clarksdale | HD4670 | Mykola | N/A |
|
||||
| MacPro3,1 | Penryn | HD5770, RX570, GT710 | Mykola | N/A |
|
||||
9
docs/HOW.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Boot Process with OpenCore Legacy Patcher
|
||||
|
||||
OpenCore Legacy Patcher itself is actually quite a "dumb" program, and essentially edits a config.plist file and moves files around, it actually has little logic regarding the boot process. The real magic of OCLP is [OpenCorePkg](https://github.com/acidanthera/OpenCorePkg), our back-end and what makes this patcher so powerful.
|
||||
|
||||
## Boot Process with OpenCore
|
||||
|
||||
To understand a bit more of how OpenCore is able revive older Macs in such a native-like way, we need to go over *how* OpenCore works with your Mac:
|
||||
|
||||

|
||||
103
docs/ICNS.md
Normal file
@@ -0,0 +1,103 @@
|
||||
# Creating custom icons for OpenCore and Mac Boot Picker
|
||||
|
||||
For users who want to customize your setup to be more personal, OpenCore does allow for custom icons and images in the boot picker.
|
||||
|
||||
* [Custom OpenCore icons](#custom-opencore-icons)
|
||||
* [Custom Mac Boot Picker icons](#custom-mac-boot-picker-icons)
|
||||
* [Installing updated icons](#installing-updated-icons)
|
||||
|
||||
# Custom OpenCore icons
|
||||
|
||||
To generate custom OpenCore icons, you'll need the following:
|
||||
|
||||
* Images in PNG format
|
||||
* Each image, with the following res:
|
||||
* Cursor — Mouse cursor (mandatory, up to 144x144).
|
||||
* Selected — Selected item (mandatory, 144x144).
|
||||
* Selector — Selecting item (mandatory, up to 144x40).
|
||||
* Left — Scrolling left (mandatory, 40x40).
|
||||
* Right — Scrolling right (mandatory, 40x40).
|
||||
* HardDrive — Generic OS (mandatory, 128x128).
|
||||
* Background — Centred background image. (Recommended max size 1920x1080)
|
||||
* Apple — Apple OS (128x128).
|
||||
* AppleRecv — Apple Recovery OS (128x128).
|
||||
* AppleTM — Apple Time Machine (128x128).
|
||||
* Windows — Windows (128x128).
|
||||
* Other — Custom entry (see [Entries](https://dortania.github.io/docs/latest/Configuration.html), 128x128).
|
||||
* ResetNVRAM — Reset NVRAM system action or tool (128x128).
|
||||
* Shell — Entry with UEFI Shell name for e.g. OpenShell (128x128).
|
||||
* Tool — Any other tool (128x128).
|
||||
|
||||
Note, for each image we recommend having one of double the size. This ensures that icons are scaled correctly since .icns support dedicated images depending on HiDPI or not.
|
||||
|
||||
Once you have a custom image you want to use(for example, as a background), download the [latest release of OpenCorePkg](https://github.com/acidanthera/OpenCorePkg/releases) and enter the `Utilities/icnspack/` folder:
|
||||
|
||||

|
||||
|
||||
Now `cd` this folder in terminal and run the following:
|
||||
|
||||
```sh
|
||||
./icnspack Background.icns <insert_x1_image> <insert_x2_image>
|
||||
```
|
||||
|
||||
Once done, you'll see your custom icon generated in `icnspack`'s folder:
|
||||
|
||||

|
||||
|
||||
# Custom Mac Boot Picker icons
|
||||
|
||||
Custom boot picker icons is much more complicated on Legacy Macs, on late 2013+ Macs the [Custom OpenCore icons](#custom-opencore-icons) method will work just fine. However on many 2012 and older Macs, the icons generated will be incompatible with the firmware.
|
||||
|
||||
To generate legacy icons, you'll need the following:
|
||||
|
||||
* A machine running macOS 10.4 through 10.11
|
||||
* Icon Composer.app (Requires Apple Developer Account for official download)
|
||||
* Users without the developer account can find a mirrors here:
|
||||
* [Icon Composer 10.6](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/main/docs/Icon-Composer-10.6.zip)
|
||||
* [Icon Composer 10.11](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/main/docs/Icon-Composer-10.11.zip)
|
||||
* PNG Image you wish to convert
|
||||
|
||||
Head to [developer.apple's More Downloads page](https://developer.apple.com/download/more/) and search for `Graphics Tools` that is supported by your OS(note for 10.6 and older, the app is hidden inside `Developer Tools`):
|
||||
|
||||

|
||||
|
||||
Once downloaded, open the disk image and you'll find Icon Composer.app:
|
||||
|
||||

|
||||
|
||||
Now run the app and simply drag the images to each section as so:
|
||||
|
||||

|
||||
|
||||
Now save and export the new icns
|
||||
|
||||
# Installing updated icons
|
||||
|
||||
To install, please ensure that Vault is disabled when you built OpenCore. If you're unsure, simply rebuild OpenCore with the Patcher setting "Vault" set to false.
|
||||
|
||||
* <span style="color:red"> Warning</span>: Editing your OpenCore EFI incorrectly can result in a bricked install. Please ensure you have a natively supported version of macOS installed to boot into in case of issues.
|
||||
|
||||
Now that you've verified you can edit OpenCore safely, you'll need to mount the drive that OpenCore is stored on. To do this, download [MountEFI](https://github.com/corpnewt/MountEFI) and run it:
|
||||
|
||||

|
||||
|
||||
Select the drive you installed OpenCore to and mount it.
|
||||
|
||||
* [Updating OpenCore icons](#updating-opencore-icons)
|
||||
* [Updating Mac Boot Picker icons](#updating-mac-boot-picker-icons)
|
||||
|
||||
### Updating OpenCore icons
|
||||
|
||||
Head to `EFI/OC/Resources/Image/` on your drive and you'll see all the custom icons. For Background.icns, we need to ensure the file matches the theme OpenCore has set so we add the prefix `Modern` to it:
|
||||
|
||||

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

|
||||
|
||||
Now reboot and you'll see the new icon!
|
||||
59
docs/INSTALLER.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# Download and build macOS Installers
|
||||
|
||||
* [Downloading](#downloading)
|
||||
* [Building](#building)
|
||||
|
||||
This doc is centered around downloading and writing the macOS installer to a USB. If you're already familiar with how to do this, you can skip.
|
||||
|
||||
* Note: 16GB+ USB will be required for the installer
|
||||
|
||||
## Downloading
|
||||
|
||||
The simplest way to download macOS installs would be to use installinstallmacos:
|
||||
|
||||
```sh
|
||||
[ ! -d ~/macOS-installer/ ] && mkdir ~/macOS-installer; cd ~/macOS-installer; [ ! -f ~/macOS-installer/installinstallmacos.py ] && curl -O https://raw.githubusercontent.com/munki/macadmin-scripts/main/installinstallmacos.py ; sudo python installinstallmacos.py
|
||||
```
|
||||
|
||||
* Note: On El Capitan (10.11) and older, you'll need to specify a catalog at the end of the command:
|
||||
|
||||
```
|
||||
--catalogurl https://swscan.apple.com/content/catalogs/others/index-11-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog
|
||||
```
|
||||
|
||||

|
||||
|
||||
As you can see, we get a nice list of macOS installers. If you need a particular versions of macOS, you can select it by typing the number next to it. For this example we'll choose 10:
|
||||
|
||||

|
||||
|
||||
This is going to take a while as we're downloading the entire 12GB+ macOS installer.
|
||||
|
||||
Once finished, you'll find in your `~/macOS-Installer/` folder a DMG containing the macOS Installer, called `Install_macOS_11.1-20C69.dmg` for example. Mount it and you'll find the installer application.
|
||||
|
||||
* Note: We recommend to move the Install macOS.app into the `/Applications` folder, as we'll be executing commands from there.
|
||||
* Note 2: Running Cmd+Shift+G in Finder will allow you to easily jump to `~/macOS-installer`
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## Building
|
||||
|
||||
Now we'll be formatting the USB to prep for both the macOS installer and OpenCore. We'll want to use macOS Extended (HFS+) with a GUID partition map(Using GUID is important for the patcher). This will create two partitions: the main `MyVolume` and a second called `EFI` which is used as a boot partition where your Mac's firmware will check for boot files. `EFI` partitions will be hidden by default, so don't worry if you don't immediately see them.
|
||||
|
||||
* Note: By default, Disk Utility only shows partitions – press Cmd/Win+2 to show all devices (alternatively you can press the View button)
|
||||
|
||||

|
||||
|
||||
Next run the `createinstallmedia` command provided by [Apple](https://support.apple.com/en-us/HT201372). Note that the command is made for USB's formatted with the name `MyVolume`:
|
||||
|
||||
```sh
|
||||
sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume
|
||||
```
|
||||
|
||||
* Note: You can also replace the `createinstallmedia` path with that of where your installer's located (same idea with the drive name).
|
||||
|
||||

|
||||
|
||||
# Once finished, head to [Building and installing OpenCore](./BUILD.md)
|
||||
BIN
docs/Icon-Composer-10.11.zip
Normal file
BIN
docs/Icon-Composer-10.6.zip
Normal file
23
docs/LICENSE.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# OpenCore Legacy Patcher Licence
|
||||
|
||||
This patcher is made of multiple external applications from different people and organizations. See each program for their licensing:
|
||||
|
||||
* BSD 3-Clause "New" or "Revised" License
|
||||
* [OpenCorePkg](https://github.com/acidanthera/OpenCorePkg/blob/master/LICENSE.txt)
|
||||
* [Lilu](https://github.com/acidanthera/Lilu/blob/master/LICENSE.txt)
|
||||
* [WhateverGreen](https://github.com/acidanthera/WhateverGreen/blob/master/LICENSE.txt)
|
||||
* [AirportBrcmFixup](https://github.com/acidanthera/AirportBrcmFixup/blob/master/LICENSE.txt)
|
||||
* [CPUFriend](https://github.com/acidanthera/CPUFriend/blob/master/LICENSE)
|
||||
* [RestrictEvents](https://github.com/acidanthera/RestrictEvents/blob/master/LICENSE.txt)
|
||||
* [FeatureUnlock](https://github.com/acidanthera/FeatureUnlock/blob/master/LICENSE.txt)
|
||||
* [Innie](https://github.com/cdf/Innie/blob/master/LICENSE.txt)
|
||||
* GPL 2.0
|
||||
* [NVMeFix](https://github.com/acidanthera/NVMeFix/blob/master/LICENSE.txt)
|
||||
* All rights reserved to respective authors
|
||||
* [AAAMouSSE](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/) - Syncretic
|
||||
* [telemetrap](https://forums.macrumors.com/threads/mp3-1-others-sse-4-2-emulation-to-enable-amd-metal-driver.2206682/post-28447707) - Syncretic
|
||||
* [SurPlus](https://github.com/reenigneorcim/SurPlus) - Syncretic
|
||||
* [VMM Patch Set](https://github.com/dortania/OpenCore-Legacy-Patcher/blob/4a8f61a01da72b38a4b2250386cc4b497a31a839/payloads/Config/config.plist#L1222-L1281) - parrotgeek1
|
||||
* Apple Binaries - Apple Inc.
|
||||
|
||||
Remaining files within OpenCore Legacy Patcher are copyrighted 2020-2021 Mykola Grymalyuk & Dhinak G. For integration into other projects, please request written permission.
|
||||
148
docs/MODELS.md
Normal file
@@ -0,0 +1,148 @@
|
||||
# Supported Models
|
||||
|
||||
Any hardware supporting SSE4.1 CPU and 64-Bit firmware work on this patcher. To check your hardware model, run the below command on the applicable machine in terminal:
|
||||
|
||||
```bash
|
||||
system_profiler SPHardwareDataType | grep 'Model Identifier'
|
||||
```
|
||||
|
||||
The below table will list all supported and unsupported functions of the patcher currently:
|
||||
|
||||
* [MacBook](#macbook)
|
||||
* [MacBook Air](#macbook-air)
|
||||
* [MacBook Pro](#macbook-pro)
|
||||
* [Mac mini](#mac-mini)
|
||||
* [iMac](#imac)
|
||||
* [Mac Pro](#mac-pro)
|
||||
* [Xserve](#xserve)
|
||||
|
||||
Regarding OS support, see below:
|
||||
|
||||
| Support Entry | Supported OSes | Description | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| HostOS | macOS 10.9 - macOS 12 | Refers to OSes where running OpenCore-Patcher.app are supported | Supports 10.7+ if [Python 3.9 or higher](https://www.python.org/downloads/) is manually installed, simply run the `OpenCore-Patcher.command` located in the repo |
|
||||
| TargetOS | macOS 11 - macOS 12 | Refers to OSes that can be patched to run with OpenCore | May support 10.4 and newer (in a potentially broken state). No support provided. |
|
||||
|
||||
* macOS Monterey support is currently in beta and is not recommended for everyday users.
|
||||
* Recommend looking at the [macOS Monterey Support page](./MONTEREY-DROP.md) for a better idea of Monterey's current status
|
||||
|
||||
### MacBook
|
||||
|
||||
| SMBIOS | Year | Supported | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| 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> |
|
||||
|
||||
### 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 | ^^ | ^^ | ^^ |
|
||||
|
||||
### 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 | ^^ | ^^ | ^^ |
|
||||
|
||||
### 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 | ^^ | ^^ | ^^ |
|
||||
|
||||
### 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 | ^^ | [Display will output to 4k instead of 5k](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/359) |
|
||||
|
||||
* For iMac10,1 through iMac12,x, we highly recommend users upgrade the GPU to a Metal supported model. See here for more information: [iMac late 2009 to mid-2011 Graphics Card Upgrade Guide](https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/?post=17425857#post-17425857)
|
||||
|
||||
### Mac Pro
|
||||
|
||||
| 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 | ^^ | ^^ |
|
||||
|
||||
### 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 | ^^ | ^^ |
|
||||
|
||||
# Once you've verified your hardware is supported, head to [Download and build macOS Installers](./INSTALLER.md)
|
||||
135
docs/MONTEREY-DROP.md
Normal file
@@ -0,0 +1,135 @@
|
||||
# macOS Monterey Support
|
||||
|
||||
With OpenCore Legacy Patcher v0.1.7 and newer, we've implemented beta macOS Monterey support for users. Please note that Apple has dropped a lot of hardware with this release as well as broken many of our previous patch sets. This page will be used to inform users regarding current issues and will be updated as new patch sets are developed and added to our patcher.
|
||||
|
||||
## Newly dropped hardware
|
||||
|
||||
With Monterey, Apple continues their their somewhat ruthless march of dropping Intel hardware. This release saw the removal, and thus addition into OpenCore Legacy Patcher, of the following models:
|
||||
|
||||
* iMac14,4
|
||||
* iMac15,1
|
||||
* MacBook8,1
|
||||
* MacBookAir6,1
|
||||
* MacBookAir6,2
|
||||
* MacBookPro11,1
|
||||
* MacBookPro11,2
|
||||
* MacBookPro11,3
|
||||
|
||||
All of these models now have support in OpenCore Legacy Patcher. Note iMac15,1 does have [an unfortunate firmware bug preventing resolutions above 4k](https://github.com/dortania/OpenCore-Legacy-Patcher/issues/359) with OpenCore Legacy Patcher
|
||||
|
||||
## Previously Broken Hardware
|
||||
|
||||
::: details macOS 12.0 Beta 4 issue on 2012 to early 2013 machines (Resolved in 0.2.5 and newer)
|
||||
|
||||
Currently in macOS 12.0 Beta 4, many Ivy Bridge Macs have experienced Bluetooth issues relating to their BCM20702 chipset. Currently the exact issue is unknown however is assumed to be a bug on Apple's end. Recommend downgrading to macOS 12.0 Beta 3 till resolved:
|
||||
|
||||
* [12.0 Beta 3 (21A5284e) InstallAssistant (Direct)](http://swcdn.apple.com/content/downloads/02/08/071-63739-A_G5RYVW5JHT/dfz5gp3s0jm9vl7m30oewq141zkpv8edr8/InstallAssistant.pkg)
|
||||
* [12.0 Beta 3 (21A5284e) InstallAssistant (archive.org)](https://archive.org/details/12.0-21a5284e-beta-3)
|
||||
|
||||
A temporary fix is to restart the BlueTool and bluetoothd process with each boot, note it may not work for all users:
|
||||
|
||||
```sh
|
||||
sudo killall -9 BlueTool bluetoothd
|
||||
```
|
||||
|
||||
:::
|
||||
|
||||
::: details Wireless Support Dropped (Resolved in 0.2.5 and newer)
|
||||
|
||||
* Broadcom BCM94328, BCM94322 and Atheros Wireless Chipsets lost support
|
||||
|
||||
The following models lost Bluetooth support in macOS Monterey due to their legacy Wireless chipset:
|
||||
|
||||
* iMac12,x and older
|
||||
* Macmini3,1 and older
|
||||
* MacBook5,x and older
|
||||
* MacBookAir2,1 and older
|
||||
* MacBookPro7,1 and older
|
||||
* MacPro5,1 and older
|
||||
|
||||
Note: BCM943224, BCM94331, BCM94360 and BCM943602 are still fully support by OpenCore Legacy Patcher
|
||||
|
||||
:::
|
||||
|
||||
::: details Bluetooth Support Dropped (Resolved in 0.2.5 and newer)
|
||||
|
||||
* BRCM2046 and BRCM2070 Bluetooth Chipsets lost support
|
||||
|
||||
The following models lost Bluetooth support in macOS Monterey due to their legacy Bluetooth chipset:
|
||||
|
||||
* iMac12,x and older
|
||||
* Macmini5,1 and older
|
||||
* MacBook7,1 and older
|
||||
* MacBookAir4,1 and older
|
||||
* MacBookPro8,1 and older
|
||||
* MacPro5,1 and older
|
||||
|
||||
Note: Native BRCM20702 and BRCM20703 are still fully support by OpenCore Legacy Patcher
|
||||
|
||||
::: details Dropped Firmwares
|
||||
|
||||
Here are the firmwares macOS Monterey Dropped (previously located within IOBluetoothUSBDFU.kext):
|
||||
|
||||
* 2046_820F.dfu
|
||||
* 2046_8210.dfu
|
||||
* 2046_8213.dfu
|
||||
* 2046_8215.dfu
|
||||
* 2046_8216.dfu
|
||||
* 2046_8217.dfu
|
||||
* 2070_821A.dfu
|
||||
* 2070_821B.dfu
|
||||
* 2070_8218.dfu
|
||||
* 20702_821D.dfu
|
||||
* 20702_821F.dfu
|
||||
* 20702_828A.dfu
|
||||
* 20702_828B.dfu
|
||||
* 20702_828C.dfu
|
||||
* 20702_8281.dfu
|
||||
* 20702_8286.dfu
|
||||
|
||||
:::
|
||||
|
||||
::: details Ivy Bridge iGPU Acceleration (Resolved in 0.1.7 and newer)
|
||||
|
||||
* Intel HD4000 iGPUs lost support
|
||||
|
||||
By default these machines require root volume patches to gain graphics acceleration in Monterey. OpenCore Legacy Patcher supports readding support however SIP can no longer be enabled due to root patching:
|
||||
|
||||
* Macmini6,x
|
||||
* MacBookAir5,x
|
||||
* MacBookPro9,x
|
||||
* MacBookPro10,x
|
||||
|
||||
:::
|
||||
|
||||
::: details NVIDIA Kepler dGPU Acceleration (Resolved in 0.2.5 and newer)
|
||||
|
||||
* NVIDIA Kepler dGPUs lost support
|
||||
|
||||
By default these machines require root volume patches to gain graphics acceleration in Monterey. OpenCore Legacy Patcher supports readding support however SIP can no longer be enabled due to root patching:
|
||||
|
||||
* MacBookPro9,1
|
||||
* MacBookPro10,1
|
||||
* iMac13,x
|
||||
* iMac14,x
|
||||
|
||||
:::
|
||||
|
||||
::: details Non-Metal Acceleration (Resolved in 0.2.5 and newer)
|
||||
|
||||
* Non-Metal GPUs no longer have working acceleration patches:
|
||||
* Intel Ironlake and Sandy Bridge iGPUs
|
||||
* Nvidia Tesla and Fermi GPUs
|
||||
* AMD TeraScale 1 and 2 GPUs
|
||||
|
||||
The following machines cannot gain graphics acceleration at all in Monterey, only basic framebuffer and brightness control (iMac8,1/9,1 and MacBook5,2 excluded):
|
||||
|
||||
* iMac12,x and older
|
||||
* Macmini5,x and older
|
||||
* MacBook7,1 and older
|
||||
* MacBookAir4,x and older
|
||||
* MacBookPro8,x and older
|
||||
|
||||
Note: iMac10,1 through iMac12,x can be upgraded with Metal GPUs, [see here for more info](https://forums.macrumors.com/threads/2011-imac-graphics-card-upgrade.1596614/)
|
||||
|
||||
:::
|
||||
299
docs/PATCHEXPLAIN.md
Normal file
@@ -0,0 +1,299 @@
|
||||
# Explaining the patches in OpenCore Legacy Patcher
|
||||
|
||||
In our patcher, there are numerous patches used to ensure a stable system. Here we're going to go over what patches are used and why we recommend or even require them.
|
||||
|
||||
* [OpenCore Settings](#opencore-settings)
|
||||
* [Injected Kexts](#injected-kexts)
|
||||
* [On-Disk Patches](#on-disk-patches)
|
||||
|
||||
## OpenCore Settings
|
||||
|
||||
Below is a run down of the main logic OpenCore Legacy Patcher uses to gain native support in macOS. Note OpenCore's configuration is documented within [OpenCorePkg](https://github.com/acidanthera/OpenCorePkg) as well as an online version provided by us:
|
||||
|
||||
* [OpenCorePkg Online Docs](https://dortania.github.io/docs/latest/Configuration.html)
|
||||
|
||||
::: details Configuration Explanation
|
||||
|
||||
### ACPI -> Patch
|
||||
|
||||
* EHCx and XHC1 Patches
|
||||
* Reason: Required for proper USB operation
|
||||
* Logic: Avoids USB maps of newer models attaching and breaking USB port functionality
|
||||
* Models: All models require when spoofing with Moderate or Advanced SMBIOS
|
||||
|
||||
### Booter -> Quirks
|
||||
|
||||
* ForceBooterSignature
|
||||
* Reason: Required to ensure Hibernation support
|
||||
* Logic: Tricks boot.efi into thinking OpenCore is Apple's firmware
|
||||
* Models: All models require
|
||||
|
||||
### DeviceProperties -> Add
|
||||
|
||||
* `PciRoot(0x0)/Pci(0x15,0x0)/Pci(0x0,0x0)`
|
||||
* `PciRoot(0x0)/Pci(0x1C,0x4)/Pci(0x0,0x0)`
|
||||
* `PciRoot(0x0)/Pci(0x1C,0x3)/Pci(0x0,0x0)`
|
||||
* `PciRoot(0x0)/Pci(0x1C,0x5)/Pci(0x0,0x0)`
|
||||
* `PciRoot(0x0)/Pci(0x1C,0x1)/Pci(0x0,0x0)`
|
||||
* Reason: Required to ensure Wifi works with full, native support
|
||||
* Logic: Tricks AirPortBrcmNIC.kext into thinking our device is a BCM94360 (`14e4,43ba`)
|
||||
* Models: Machines with BCM943224 and BCM94331 chipsets
|
||||
* `PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)`
|
||||
* `PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)`
|
||||
* Reason: Required to ensure Brightness Control works on upgraded iMacs
|
||||
* Logic: Sets AppleBackLight properties
|
||||
* Models: iMac11,x and iMac12,x with upgraded Nvidia Metal GPUs
|
||||
* `PciRoot(0x0)/Pci(0x2,0x0)`
|
||||
* Reason: Disables internal GPU to fix sleep issues on upgrades iMacs
|
||||
* Logic: Tricks macOS into thinking iGPU is a generic PCI device
|
||||
* Models: iMac12,x with upgraded Metal GPUs
|
||||
|
||||
### Kernel -> Patch
|
||||
|
||||
* SMC Patch
|
||||
* Reason: Required to avoid SMC Firmware updates
|
||||
* Logic: Patches out `smc-version` in AppleSMC.kext, requires SMC-Spoof.kext for full functionality
|
||||
* Models: All models require when spoofing SMBIOS
|
||||
* IOHIDFamily Patch
|
||||
* Reason: Required for HID peripheral support in macOS on older hardware
|
||||
* Logic: Tricks IOHIDFamily into thinking it's always booting recovery
|
||||
* Models: Penryn CPUs (Core2 series)
|
||||
|
||||
### Kernel -> Quirks
|
||||
|
||||
* ThridPartyDrives
|
||||
* Reason: Required to avoid Hibernation wake issues on 3rd party drives
|
||||
* Logic: Patches AppleAHCIPort.kext into support
|
||||
* Models: All models with standard SATA ports
|
||||
* PanicNoKextDump
|
||||
* Reason: Avoids kext dump on kernel panics, easier kernel debugging
|
||||
* Logic: Patches Kernel to not dump dump unnecessary info
|
||||
* Models: Only set when Verbose Boot is enabled by the user
|
||||
|
||||
### Misc -> Security
|
||||
|
||||
* SecureBootModel
|
||||
* Reason: Required to ensure seamless OS updates with Big Sur
|
||||
* Logic: Sets iMacPro1,1's Secure Enclave Identifier (j137)
|
||||
* Models: All models require
|
||||
|
||||
### NVRAM -> Add
|
||||
|
||||
* `-v debug=0x100`
|
||||
* Reason: Used to see debug info of macOS's kernel and kexts, and avoids reboots on panic
|
||||
* Logic: Adds args to NVRAM
|
||||
* Models: Only set when Verbose Boot is enabled by the user
|
||||
* `-liludbgall`
|
||||
* Reason: Enables Lilu and plugin debug logging
|
||||
* Logic: Adds args to NVRAM
|
||||
* Models: Only set when Kext DEBUG is enabled by the user
|
||||
* `msgbuf=1048576`
|
||||
* Reason: Sets message buffer size to 1MB, ensures boot logs are retained
|
||||
* Logic: Adds args to NVRAM
|
||||
* Models: Only set when Kext DEBUG is enabled by the user
|
||||
* `agdpmod=pikera`
|
||||
* Reason: Fixes GPU switching on MacBookPro9,x
|
||||
* Logic: Adds args to NVRAM
|
||||
* Models: MacBookPro9,x
|
||||
* `shikigva=80 unfairgva=1`
|
||||
* `shikigva=128 unfairgva=1 -wegtree`
|
||||
* Reason: Fixes DRM support on models with upgraded AMD Metal GPUs
|
||||
* Logic: Adds args to NVRAM
|
||||
* Models: Models with upgraded AMD Metal GPUs
|
||||
|
||||
### UEFI -> ProtocolOverrides
|
||||
|
||||
* GopPassThrough
|
||||
* Reason: Used for proper output on machines with UGA firmware but GOP GPU
|
||||
* Logic: Provide GOP protocol instances on top of UGA protocol instances
|
||||
* Models: MacPro3,1, MacBook4,1 iMac7,1-8,1
|
||||
|
||||
:::
|
||||
|
||||
## Injected Kext
|
||||
|
||||
Below is an explanation of what Kexts OpenCore Legacy Patcher will inject into memory on boot-up.
|
||||
|
||||
::: details Injected Kext Explanation
|
||||
|
||||
### Acidanthera
|
||||
|
||||
* Lilu
|
||||
* Reason: Patching engine for other kexts
|
||||
* Models: All models require
|
||||
* WhateverGreen
|
||||
* Reason: Patches GPU Frameworks and kext to ensure proper support
|
||||
* Models: All models require
|
||||
* CPUFriend
|
||||
* Reason: Patches IOx86PlatformPlugin to restore previous CPU profiles
|
||||
* Models: 2012 and newer models
|
||||
* AirportBrcmFixup
|
||||
* Reason: Patches IO80211 and co to fix networking support for unsupported cards
|
||||
* Models: BCM943224 and BCM94331
|
||||
* RestrictEvents
|
||||
* Reason: Disables memory errors on MacPro7,1
|
||||
* Models: Mac Pros and Xserves
|
||||
|
||||
### Ethernet
|
||||
|
||||
* nForceEthernet
|
||||
* Reason: Inject old Nvidia Ethernet kext to resolve networking in Catalina and newer
|
||||
* Models: 2010 and older Nvidia Ethernet require
|
||||
* MarvelYukonEthernet
|
||||
* Reason: Inject old Marvel Ethernet kext to resolve networking in Catalina and newer
|
||||
* Models: 2008 and older Marvel Ethernet require
|
||||
* CatalinaBCM5701Ethernet
|
||||
* Reason: Inject old Broadcom Ethernet kext to resolve networking in Big Sur
|
||||
* Logic: Patch out conflicting symbols to not colide existing BCM5701Ethernet
|
||||
* Models: 2011 and older Broadcom Ethernet require
|
||||
|
||||
### Maps
|
||||
|
||||
* USBMap
|
||||
* Reason: Inject old USB map profiles to fix USB
|
||||
* Models: All models require
|
||||
|
||||
### SSE
|
||||
|
||||
* AAMouSSE
|
||||
* Reason: Translates SSE4.2 instructions to compatible code for SSE4,1 CPUs, required for AMD Metal drives
|
||||
* Models: MacPro3,1
|
||||
* telemetrap
|
||||
* Reason: Ensures temelemtry.plugin doesn't run, required for SSE4,1 CPUs
|
||||
* Models: Penryn CPUs
|
||||
|
||||
### Wifi
|
||||
|
||||
* IO80211HighSierra
|
||||
* Reason: Re-inject Atheros wifi drivers from High Sierra
|
||||
* Logic: Patch out conflicting symbols to not colide existing IO80211Family
|
||||
* Models: Atheros cards
|
||||
* IO80211Mojave
|
||||
* Reason: Re-inject Broadcom wifi drivers from Mojave
|
||||
* Logic: Patch out conflicting symbols to not colide existing IO80211Family
|
||||
* Models: BCM94322
|
||||
|
||||
### Misc
|
||||
|
||||
* AppleBackLightFixup
|
||||
* Reason: Patch AppleBacklight for iMacs with Nvidia Metal GPU upgrades
|
||||
* Models: iMac11,x, iMac12,x with upgraded Nvidia Metal GPUs
|
||||
* AppleIntelPIIXATA
|
||||
* Reason: Fix IDE support on MacPro3,1
|
||||
* Models: MacPro3,1
|
||||
* AppleIntelMCEDisabler
|
||||
* Reason: Fix dual socket support in Catalina and newer
|
||||
* Models: Mac Pros and Xserves
|
||||
* NightShiftEnabler
|
||||
* Reason: Enables NightShift support on unsupported models
|
||||
* Models: 2011 and older, MacBookPro9,x included
|
||||
* SMC-Spoof
|
||||
* Reason: Spoofs SMC version to 9.9999
|
||||
* Models: All models require
|
||||
:::
|
||||
|
||||
## On-Disk Patches
|
||||
|
||||
Unfortunately certain on-disk patches are required to achieve full functionality. Below is a breakdown of patches supported
|
||||
|
||||
::: details Audio Patches
|
||||
|
||||
### Extensions
|
||||
|
||||
* AppleHDA
|
||||
* Reason: Re-add El Capitan's AppleHDA to achieve audio support
|
||||
* Models: iMac7,1 and iMac8,1
|
||||
|
||||
:::
|
||||
|
||||
::: details Acceleration Patches
|
||||
|
||||
### Extensions
|
||||
|
||||
#### General Patches
|
||||
|
||||
* IOSurface.kext
|
||||
* Reason: Fixes immediate logout on login
|
||||
* Logic: Downgrade to Catalina IOSurface
|
||||
* Note: For AMD and Intel, additional `addMemoryRegion/removeMemoryRegion` patch added changing the first conditional jump to non conditional jump
|
||||
* At Offset `0xdb52` and `0xdbc6`, replace following bytes with `0xeb`
|
||||
|
||||
#### Dropped Acceleration Binaries
|
||||
|
||||
* Nvidia Binaries
|
||||
* GeForceGA.bundle
|
||||
* GeForceTesla.kext
|
||||
* Skip IOFree Panic - Mojave+
|
||||
* At Offset `0x5CF9A` replace following bytes with `0xEB`
|
||||
* Avoids `addMemoryRegion/removeMemoryRegion` calls
|
||||
* At Offset `0x5527` and `0x77993`, replace following bytes with `0x909090909090`
|
||||
* GeForceTeslaGLDriver.bundle
|
||||
* GeForceTeslaVADriver.bundle
|
||||
* NVDANV50HalTesla.kext
|
||||
* NVDAResmanTesla.kext
|
||||
* 0x1ea59a - 0x1ea5b3: nop
|
||||
* Replace VSLGestalt to IOLockLock or any other known symbol of the same length.
|
||||
|
||||
* AMD/ATI Binaries
|
||||
* AMD2400Controller.kext
|
||||
* AMD2600Controller.kext
|
||||
* AMD3800Controller.kext
|
||||
* AMD4600Controller.kext
|
||||
* AMD4800Controller.kext
|
||||
* AMD5000Controller.kext
|
||||
* AMD6000Controller.kext
|
||||
* AMDFramebuffer.kext
|
||||
* AMDLegacyFramebuffer.kext
|
||||
* AMDLegacySupport.kext
|
||||
* AMDRadeonVADriver.bundle
|
||||
* AMDRadeonVADriver2.bundle
|
||||
* AMDRadeonX3000.kext
|
||||
* AMDRadeonX3000GLDriver.bundle
|
||||
* AMDShared.bundle
|
||||
* AMDSupport.kext
|
||||
* ATIRadeonX2000.kext
|
||||
* ATIRadeonX2000GA.plugin
|
||||
* ATIRadeonX2000GLDriver.bundle
|
||||
* ATIRadeonX2000VADriver.bundle
|
||||
|
||||
* Intel 5th Gen Binaries
|
||||
* AppleIntelFramebufferAzul.kext
|
||||
* AppleIntelFramebufferCapri.kext
|
||||
* AppleIntelHDGraphics.kext
|
||||
* AppleIntelHDGraphicsFB.kext
|
||||
* AppleIntelHDGraphicsGA.plugin
|
||||
* AppleIntelHDGraphicsGLDriver.bundle
|
||||
* AppleIntelHDGraphicsVADriver.bundle
|
||||
|
||||
* Intel 6th Gen Binaries
|
||||
* AppleIntelHD3000Graphics.kext
|
||||
* AppleIntelHD3000GraphicsGA.plugin
|
||||
* AppleIntelHD3000GraphicsGLDriver.bundle
|
||||
* AppleIntelHD3000GraphicsVADriver.bundle
|
||||
* AppleIntelSNBGraphicsFB.kext
|
||||
* Board ID Patch
|
||||
* Replace original Board ID with updated model
|
||||
* AppleIntelSNBVA.bundle
|
||||
|
||||
### Frameworks
|
||||
|
||||
* CoreDisplay.framework
|
||||
* Logic: Copied from Mojave, heavy modifications/shims
|
||||
* IOSurface.framework
|
||||
* OpenGL.framework
|
||||
* Logic: Copied from Mojave
|
||||
|
||||
### PrivateFrameworks
|
||||
|
||||
* GPUSupport.framework
|
||||
* Logic: Copied from Mojave
|
||||
* SkyLight.framework
|
||||
* Logic: Copied from Mojave, heavy modifications/shims
|
||||
|
||||
### LaunchDaemons
|
||||
|
||||
* HiddHack.plist
|
||||
* Reason: Fixes unresponsive input when patching Skylight
|
||||
* Logic: Forces `hidd` to register events, as Skylight handles them by default in Big Sur
|
||||
|
||||
:::
|
||||
88
docs/POST-INSTALL.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# Post-Installation
|
||||
|
||||
* [Booting without USB drive](#booting-without-usb-drive)
|
||||
* [Booting seamlessly without Verbose or OpenCore Picker](#booting-seamlessly-without-verbose-or-opencore-picker)
|
||||
* [Applying Post Install Volume Patches](#applying-post-install-volume-patches)
|
||||
|
||||
## Booting without USB drive
|
||||
|
||||
Once you've installed macOS through OpenCore, you can boot up and go through the regular install process. To boot without the USB drive plugged in is quite simple:
|
||||
|
||||
* Download OpenCore Legacy Patcher
|
||||
* Change Patcher settings as you'd like
|
||||
* Build OpenCore again
|
||||
* Install OpenCore to internal drive
|
||||
* Reboot holding Option, and select the internal EFI
|
||||
|
||||
And voila! No more USB drive required
|
||||
|
||||
## Booting seamlessly without Verbose or OpenCore Picker
|
||||
|
||||
To do this, run the OpenCore Patcher and head to Patcher Settings:
|
||||
|
||||

|
||||
|
||||
Here you can change different patcher settings, however the main interest is:
|
||||
|
||||
* Set ShowPicker Mode
|
||||
|
||||
Once you've toggled them both off, build your OpenCore EFI once again and install to your desired drive. Now to show the OpenCore selector, you can simply hold down the "ESC" key while clicking on EFI boot, then you can release the "ESC" key when you see the cursor arrow at the top left.
|
||||
|
||||
## Enabling SIP
|
||||
|
||||
For many users, SIP will be enabled by default on build. For Intel HD 4000 users, you may have noticed that SIP is disabled. This is to ensure full compatibility with macOS Monterey and allow seamless booting between it and older OSes. However for users who do not plan to boot Monterey, you can re-enable under Patcher Settings.
|
||||
|
||||
Note: Machines with non-Metal GPUs cannot enable SIP in Big Sur either due to patched root volume
|
||||
|
||||
Note 2: NVRAM may need to be reset to ensure SIP is correctly re-enabled
|
||||
|
||||
## Applying Post Install Volume Patches
|
||||
|
||||
For users with unsupported GPUs/wifi cards, you'll need to run the Post Install Root Volume patches to regain functionality. See below on whether your hardware needs root volume patching.
|
||||
|
||||
* Hint: Try running the root volume patch option, the Patcher will determine and install patches only when required. So there is no harm in applying them
|
||||
|
||||
::: details Unsupported GPUs in macOS Big Sur
|
||||
|
||||
* Nvidia:
|
||||
* Tesla (8000 - 300 series)
|
||||
* AMD:
|
||||
* TeraScale (2000 - 6000 series)
|
||||
* Intel:
|
||||
* Iron Lake
|
||||
* Sandy Bridge (2000 - 3000 series)
|
||||
|
||||
:::
|
||||
|
||||
::: details Unsupported GPUs in macOS Monterey
|
||||
|
||||
* Nvidia:
|
||||
* Tesla (8000 - 300 series)
|
||||
* Kepler (600 - 800 series)
|
||||
* AMD:
|
||||
* TeraScale (2000 - 6000 series)
|
||||
* Intel:
|
||||
* Iron Lake
|
||||
* Sandy Bridge (2000 - 3000 series)
|
||||
* Ivy Bridge (4000 series)
|
||||
|
||||
:::
|
||||
|
||||
::: details Unsupported Wireless Cards in macOS Monterey
|
||||
|
||||
* Broadcom:
|
||||
* BCM94328
|
||||
* BCM94322
|
||||
* Atheros
|
||||
|
||||
:::
|
||||
|
||||
To apply the Post-Install Volume patches, select option #3 as shown below:
|
||||
|
||||

|
||||
|
||||
And go ahead to option #1 and let the OCLP patcher apply the needed legacy video patches.
|
||||
|
||||

|
||||
|
||||
Reboot your system and check out the now working graphics acceleration on your legacy system. This is still Beta software.
|
||||
20
docs/README.md
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
home: true
|
||||
heroImage: /homepage.png
|
||||
heroText: OpenCore Legacy Patcher
|
||||
actionText: Getting Started→
|
||||
actionLink: START.md
|
||||
|
||||
meta:
|
||||
- name: description
|
||||
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. You're just as secure as a supported Mac
|
||||
- title: Native OTA updates
|
||||
details: Install updates the moment they come out just like on a supported Mac, and no more 12GB+ updates.
|
||||
- title: Zero firmware patching
|
||||
details: No need to patch APFS ROM support, all protocol upgrades are done in memory and never permanent.
|
||||
footer: Copyright © Dortania 2020-2021
|
||||
---
|
||||
BIN
docs/ResXtreme.zip
Normal file
31
docs/START.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# What is OpenCore?
|
||||
|
||||
This is a sophisticated boot loader used to inject and patch data in memory, instead of on disk. This means we're able to get near-native experience on many unsupported Macs with Metal GPUs. This includes many of the long desired features of other patchers such as:
|
||||
|
||||
* System Integrity Protection, FileVault 2, .im4m Secure Boot and Vaulting
|
||||
* Native OTA OS DELTA updates on all Macs
|
||||
* Recovery OS, Safe Mode and Single-user Mode booting
|
||||
* WPA Wifi and Personal Hotspot support
|
||||
|
||||
While many PC users from the Hackintosh community are familiar with OpenCore, OpenCore was designed as Mac and PC agnostic ensuring both platforms can use it easily. And with OpenCore Legacy Patcher, we help automate the process making running with OpenCore that much easier.
|
||||
|
||||
For advanced troubleshooting, we highly recommend users check out the [OpenCore Patcher Paradise Discord Server](https://discord.gg/rqdPgH8xSN) as this is generally the quickest way to get a hold of us developers and get help from the community.
|
||||
|
||||
For those who wish to support this patcher, please see the [Supporting the Patcher page](./DONATE.md)
|
||||
|
||||
## Patcher Warnings
|
||||
|
||||
Since this patcher tricks macOS into thinking you're running a newer Mac, certain functionality may be broken:
|
||||
|
||||
* Boot Camp Assistant.app
|
||||
* We recommend following our [guide on getting a UEFI Windows Install working](./WINDOWS.md). Legacy MBR Based installs won't show up in OpenCore
|
||||
|
||||
## How do I get started?
|
||||
|
||||
1. The first step of ensuring whether your model is support is checking here:
|
||||
|
||||
* [Supported Models](./MODELS.md)
|
||||
|
||||
2. [Download and build macOS Installer](./INSTALLER.md)
|
||||
3. [Run the `OpenCore-Patcher.app`](./BUILD.md)
|
||||
4. [Reboot and boot OpenCore](./BOOT.md)
|
||||
39
docs/TERMS.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# OpenCore Patcher Terminology
|
||||
|
||||
With OpenCore Legacy Patcher, we use a lot of different terms to refer to hardware including `SSE4.1`, `32-Bit Firmware`, etc. This page is to help users understand what all these confusing words mean.
|
||||
|
||||
# Terminology
|
||||
|
||||
Term | Description
|
||||
--- | ---
|
||||
**macOS** | Apple's own UNIX based OS used for Mac machines and "What makes a Mac a Mac".
|
||||
**Windows** | Microsoft's proprietary OS that is used and supported on a wide range of devices
|
||||
**Linux** | Family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged in a Linux distribution. Note that while macOS and Linux may be UNIX-based, they're vastly different.
|
||||
**Bootloader** | Piece of software that loads an OS, usually made by the OS creators. OpenCore is technically not a bootloader per se (see boot manager explanation down below). Apple's Boot.efi would be the actual boot loader in a Mac.
|
||||
**Boot Manager** | Piece of software that manages bootloaders – we have many of these: Clover, systemd-boot, OpenCore, rEFInd, rEFIt... These are generally seen as prepping the system for the actual boot loader.
|
||||
---
|
||||
Term | Description
|
||||
--- | ---
|
||||
**OpenCore** | The new hotness on the scene, made with security in mind by the [Acidanthera team](https://github.com/acidanthera), has faster booting and lighter weight than previous boot managers. Supports many native Mac features such as SIP, FileVault, Secure Boot, etc
|
||||
**ACPI** | Tables defined in your firmware defining your hardware and different methods, tied directly to how IOKit/IOService handles device setup
|
||||
**NVRAM** | Non-volitile storage, where many variables are stored including default boot options, Hibernation keys, Secure Boot information, etc
|
||||
---
|
||||
Term | Description
|
||||
--- | ---
|
||||
**XNU** | Also known as **X** is **N**ot **U**nix, XNU is referred to as macOS's "kernel" and the heart of what makes macOS tick
|
||||
**Kexts** | Also known as **K**ernel **Ext**ensions, are macOS's drivers. They're used to perform different tasks like device drivers or for a different purpose (in this patcher) like patching the OS, injecting information or running tasks.
|
||||
**KernelCollection** | Also known as the ImmutableKernel and PrelinkedKernel, this is a bundle of the kernel(XNU) and kernel extensions(Kexts) that we use to boot macOS. This is also what OpenCore patches in memory to allow us to have a seamless experience <br/>- PrelinkedKernel: Default caching system since 10.7 <br/>- ImmutableKernel: Secure Boot based caching system since 10.13 <br/>- KernelCollection: Merge of both Prelinked and ImmutableKernel's since macOS 11, Big Sur
|
||||
**IOKit** | Backbone of how Kernel Extentions (Kexts) probe and attach onto hardware, starts quickly after kernel initates
|
||||
**WindowServer** | Backbone of the GUI interface in macOS, one of the first userfacing userspace programs to kick-in
|
||||
**OTA** | Short for **O**ver **T**he **A**ir, refers to native OS updates via System Preferences like a supported Mac
|
||||
**DELTA** | Often used with OTA, refers to OS updates that much smaller than full installers (generally ~3GB), note Deltas require the root volume to be unmodified otherwise ~12GB updates will occur.
|
||||
---
|
||||
Term | Description
|
||||
--- | ---
|
||||
**EFI** | It can denote two things: <br/>- Mac's firmware, which is the same as UEFI, but pretty modified for Macs only, so not so "Universal" <br/>- The partition on your hard drive that stores software read by the UEFI to load OSes (like the Windows bootloader) or UEFI Applications (like OpenCore), it's FAT32 formatted and has an ID type of EF00 (in hex). It can be named ESP or SYSTEM, and it's usually from 100MB to 400MB in size but the size doesn't reflect upon anything.
|
||||
**HFS+** | Also known as MacOS Journaled, this was the default macOS drive format up until macOS 10.13, format was designed around spinning disks
|
||||
**APFS** | This was the default macOS drive from macOS 10.13 and onwards for SSDs, and standard for all drives in Mojave. Format was designed around SSDs primarily.
|
||||
**32 and 64-Bit CPU** | The bit number of a CPU determines how much data a CPU can address. <br/>- 32-Bit CPUs were only supported up-to Mac OS X 10.6, Snow Leopard.
|
||||
**32-Bit Firmware** | The bit number of a Firmware determines how much data the firmware can address. In some older Macs, it's common to have a 64-Bit CPU can have a 32-Bit firmware<br/>- 32-Bit Firmwares were only supported up-to Mac OS X 10.7, Lion.
|
||||
**SSE Instructions** | Also known as **S**IMD **S**ingle-Precision Floating-Point **I**nstructions, these are defined as instruction sets supported by your CPU. In macOS, there are a certain number of instruction sets required for normal operation: <br/>- SSE3: Required for all Intel CPUs since Mac OS X 10.4, Tiger <br/>- SSSE3: Required for all Intel 64-Bit CPUs since Mac OS X 10.6, Snow Leopard <br/>- SSE4.1: Required for all Intel CPUs since macOS 10.12, Sierra
|
||||
---
|
||||
118
docs/TESTED.md
Normal file
@@ -0,0 +1,118 @@
|
||||
# Tested Models on OpenCore Legacy Patcher
|
||||
|
||||
To aid users in troubleshooting, we've compiled a list of users who've reported success with OpenCore Legacy patcher as well as the version used. This should aid users in verifying whether issues with the patcher are regression-related with newer versions.
|
||||
|
||||
### MacBook
|
||||
|
||||
| SMBIOS | Tested | Tester | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| MacBook4,1 | <span style="color:#30BCD5"> YES </span> | Mami | - Stock Model<br/>- Couldn't install due to broke USB support |
|
||||
| MacBook5,1 | ^^ | air.man | - Stock Model<br/>- Patcher version 0.0.19 |
|
||||
| MacBook5,2 | ^^ | Finder352 | ^^ |
|
||||
| MacBook6,1 | ^^ | Finder352 | ^^ |
|
||||
| MacBook7,1 | ^^ | MykolaG | ^^ |
|
||||
| ^^ | ^^ | Jazzzny | ^^ |
|
||||
| ^^ | ^^ | AlexSakha67 | - Stock Model<br/>- Patcher version 0.0.20 |
|
||||
|
||||
### MacBook Air
|
||||
|
||||
| SMBIOS | Tested | Tester | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| MacBookAir2,1 | No reports | N/A | N/A |
|
||||
| MacBookAir3,1 | ^^ | ^^ | ^^ |
|
||||
| MacBookAir3,2 | <span style="color:#30BCD5"> YES </span> | houser42 | - Stock model <br/>- Patcher version unknown |
|
||||
| MacBookAir4,1 | No reports | N/A | N/A |
|
||||
| MacBookAir4,2 | ^^ | ^^ | ^^ |
|
||||
| MacBookAir5,1 | <span style="color:#30BCD5"> YES </span> | Ausdauersportler | - Stock Model<br/>- Patcher version 0.0.9 |
|
||||
| ^^ | ^^ | webg3 | Stock Model |
|
||||
| MacBookAir5,2 | ^^ | Bab-droid | - Stock Model<br/>- Patcher version 0.0.19 |
|
||||
| ^^ | ^^ | K-Hobert | - Stock model <br/>- Patcher version unknown |
|
||||
| ^^ | ^^ | cboukouv | - Stock model <br/>- Patcher version 0.0.21 |
|
||||
|
||||
### MacBook Pro
|
||||
|
||||
| SMBIOS | Tested | Tester | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| MacBookPro4,1 | <span style="color:#30BCD5"> YES </span> | cboukouv | - Stock model <br/>- Patcher version 0.0.19 |
|
||||
| MacBookPro5,1 | ^^ | GURU_Jasho#5736 | - Stock model <br/>- Patcher version 0.0.21 |
|
||||
| MacBookPro5,2 | ^^ | hvds | ^^ |
|
||||
| MacBookPro5,3 | ^^ | kommtzeitkonrad | - Stock model <br/>- Patcher version 0.0.22 |
|
||||
| MacBookPro5,4 | No reports | N/A | N/A |
|
||||
| MacBookPro5,5 | ^^ | ^^ | ^^ |
|
||||
| MacBookPro6,1 | ^^ | ^^ | ^^ |
|
||||
| MacBookPro6,2 | <span style="color:#30BCD5"> YES </span> | Jakeluke | - Stock model, dGPU broken <br/>- Patcher version unknown |
|
||||
| MacBookPro7,1 | ^^ | fussel132 | - Stock model <br/>-Patcher version v0.1.2 |
|
||||
| MacBookPro8,1 | ^^ | AvaQueen | - Stock model <br/>- Patcher version 0.0.19 |
|
||||
| MacBookPro8,2 | ^^ | air.man | - Stock model, dGPU disabled <br/>- Patcher version 0.0.22 |
|
||||
| ^^ | ^^ | cboukouv | - Stock model <br/>- Patcher version 0.0.19 |
|
||||
| MacBookPro8,3 | ^^ | lulujyc | - Stock model, dGPU disabled <br/>- Patcher version 0.1.4 |
|
||||
| MacBookPro9,1 | <span style="color:#30BCD5"> YES </span> | jbdamiano | - Stock model <br/>- Patcher version 0.0.19 |
|
||||
| ^^ | ^^ | dennes544 | ^^|
|
||||
| ^^ | ^^ | cgrazy | ^^ |
|
||||
| ^^ | ^^ | LIPA85 | ^^ |
|
||||
| MacBookPro9,2 | ^^ | alexx17xx | - Stock model <br/>- Patcher version 0.0.19 |
|
||||
| ^^ | ^^ | Arvxistanx | ^^ |
|
||||
| ^^ | ^^ | CyberDroid1 | - Stock model<br/>- Patcher version 0.0.16 |
|
||||
| ^^ | ^^ | woefi | - BCM94331CAX upgrade<br/>- Patcher version 0.0.13 |
|
||||
| ^^ | ^^ | whgmkeller | - Stock model<br/>- Patcher version 0.0.11 |
|
||||
| ^^ | ^^ | vinaypundith | - Patcher version 0.0.7 |
|
||||
| MacBookPro10,1 | ^^ | traviswparker | - Stock model <br/>- Patcher version 0.0.14 |
|
||||
| ^^ | ^^ | il-rollino | - Upgraded BCM94360CSAX <br/>- Patcher version 0.0.21 |
|
||||
| MacBookPro10,2 | ^^ | akidone | - Upgraded BCM94360CSAX <br/>- Patcher version 0.3.0 |
|
||||
|
||||
### Mac mini
|
||||
|
||||
| SMBIOS | Tested | Tester | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| Macmini3,1 | No reports | N/A | N/A |
|
||||
| Macmini4,1 | ^^ | ^^ | ^^ |
|
||||
| Macmini5,1 | ^^ | ^^ | ^^ |
|
||||
| Macmini5,2 | ^^ | ^^ | ^^ |
|
||||
| Macmini5,3 | ^^ | ^^ | ^^ |
|
||||
| Macmini6,1 | <span style="color:#30BCD5"> YES </span> | cicofz | - Stock model <br/>- Patcher version 0.0.21 |
|
||||
| ^^ | ^^ | Stig124 | - Stock model <br/>- Patcher version 0.0.19 |
|
||||
| ^^ | ^^ | mwidjaya | - Stock model <br/>- Patcher version 0.0.18 |
|
||||
| Macmini6,2 | ^^ | Shelbs | - Stock model <br/>- Patcher version 0.0.16 |
|
||||
|
||||
### iMac
|
||||
|
||||
| SMBIOS | Tested | Tester | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| iMac7,1 | <span style="color:#30BCD5"> YES </span> | lulujyc | iMac 20-inch 2007. Patcher version 0.3.1. The USB 1.1 controller is rather unstable on Big Sur+, using USB hubs (forcing USB 2.0) can fix unrecognized keyboard/ mouse. Otherwise runs great, including brightness control. Upgraded BCM94352HMB, manually added 3rd-party drivers. Tested: Big Sur, Monterey. |
|
||||
| iMac8,1 | ^^ | EduCovas | - Stock Model<br/>- Patcher version 0.0.21 |
|
||||
| iMac9,1 | ^^ | Allanrfox | ^^ |
|
||||
| ^^ | ^^ | Jakeluke | ^^ |
|
||||
| iMac10,1 | ^^ | Ausdauersportler | - Upgraded with WX4150 |
|
||||
| iMac11,1 | ^^ | internetzel | - Upgraded with RX580 mobile |
|
||||
| iMac11,2 | ^^ | MykolaG | - Stock Model<br/>- Patcher version 0.0.21 |
|
||||
| ^^ | ^^ | iMac-iPad | - Stock Model<br/>- Patcher version 0.0.21 |
|
||||
| ^^ | ^^ | vinaypundith | - Patcher version 0.0.19 |
|
||||
| iMac11,3 | ^^ | Ausdauersportler | - Upgraded with Polaris GPU<br/>- Upgraded BCM943602CDP<br/>- Patcher version 0.0.21 |
|
||||
| iMac12,1 | ^^ | shnockdu | - Upgraded with Kepler GPU<br/>- Patcher version 0.0.21 |
|
||||
| ^^ | ^^ | StephN999 | - Upgraded WX4150 GPU<br/>- Upgraded BCM94360CD<br/>- Patcher version 0.0.21 |
|
||||
| iMac12,2 | ^^ | Ausdauersportler | - Upgraded with Polaris GPU<br/>- Upgraded BCM943602CDP<br/>- Patcher version 0.0.21 |
|
||||
| iMac13,1 | ^^ | alexx17xx | - Stock Model<br/>- Patcher version 0.0.19 |
|
||||
| iMac13,2 | ^^ | Alain13 | ^^ |
|
||||
| ^^ | ^^ | algernonpule | - Stock Model<br/>- Patcher version 0.0.19 |
|
||||
| iMac13,3 | No reports | N/A | N/A |
|
||||
| iMac14,1 | <span style="color:#30BCD5"> YES </span> | woefi | - Upgraded NVMe<br/>- Patcher version 0.0.21 |
|
||||
| ^^ | ^^ | mikeboss | - Stock Model<br/>- Patcher version 0.0.19 |
|
||||
| iMac14,2 | ^^ | OKonnel | - Stock Model<br/>- Patcher version 0.0.22 |
|
||||
| ^^ | ^^ | mibaxx | - Stock Model<br/>- Patcher version 0.0.21 |
|
||||
| iMac14,3 | No reports | N/A | N/A |
|
||||
|
||||
### Mac Pro
|
||||
|
||||
| SMBIOS | Tested | Tester | Comment |
|
||||
| :--- | :--- | :--- | :--- |
|
||||
| MacPro3,1 | <span style="color:#30BCD5"> YES </span> | MykolaG | - Upgraded with RX 470 and BCM94360CD<br/>- Stock Bluetooth card removed<br/>- Patcher version 0.1.6 |
|
||||
| ^^ | ^^ | christiann | - Upgraded with RX 560 and BCM94322<br/>- Stock Bluetooth card removed<br/>- Patcher version 0.0.21 |
|
||||
| ^^ | ^^ | gw463 | - Upgraded GTX 680<br/>- Upgraded BCM94360<br/>- Patcher version 0.0.22 |
|
||||
| ^^ | ^^ | AlexSakha67 | - Upgraded R9 280<br/>- Patcher version 0.0.20 |
|
||||
| ^^ | ^^ | nekton1 | - Upgraded GTX 680<br/>- Patcher version 0.0.20 |
|
||||
| ^^ | ^^ | Pri-est | - Patcher version 0.0.9 |
|
||||
| ^^ | ^^ | vinaypundith | - Upgraded GTX 680<br/>- Upgraded BCM94360CD<br/>- Patcher version 0.0.6 |
|
||||
| MacPro4,1 | ^^ | ^^ | - Patcher version 0.0.9 |
|
||||
| MacPro5,1 | ^^ | woefi | - Upgraded with RX 580<br/>- Patcher version 0.0.21 |
|
||||
| ^^ | ^^ | Mabrouk Oscar | - Patcher version 0.0.21 |
|
||||
| ^^ | ^^ | astuffedtiger | - MacPro4,1 flashed to 5,1<br/>- Patcher version 0.0.18 |
|
||||
84
docs/TROUBLESHOOTING.md
Normal file
@@ -0,0 +1,84 @@
|
||||
# Troubleshooting
|
||||
|
||||
Here are some common errors users may experience while using this patcher:
|
||||
|
||||
* [Stuck on `This version of Mac OS X is not supported on this platform`](#stuck-on-this-version-of-mac-os-x-is-not-supported-on-this-platform)
|
||||
* [Cannot boot macOS without the USB](#cannot-boot-macos-without-the-usb)
|
||||
* [Infinite Recovery OS Booting](#infinite-recovery-os-reboot)
|
||||
* [Reboot when entering Hibernation (`Sleep Wake Failure`)](#reboot-when-entering-hibernation-sleep-wake-failure)
|
||||
* [Booting with a non-flashed GPU](#booting-with-a-non-flashed-gpu)
|
||||
* [How to Boot Big Sur Recovery](#how-to-boot-big-sur-recovery)
|
||||
* [Stuck on "Your Mac needs a firmware update"](#stuck-on-your-mac-needs-a-firmware-update)
|
||||
* [No Brightness Control](#no-brightness-control)
|
||||
* [Cannot connect Wi-Fi on Monterey with legacy cards](#cannot-connect-Wi-Fi-on-Monterey-with-legacy-cards)
|
||||
* [No Graphics Acceleration on Intel Ivy Bridge and Nvidia Kepler GPUs](#no-graphics-acceleration-on-intel-ivy-bridge-and-nvidia-kepler-gpus)
|
||||
|
||||
## Stuck on `This version of Mac OS X is not supported on this platform`
|
||||
|
||||
This means macOS has detected a SMBIOS it does not support, to resolve this ensure you're booting OpenCore **before** the macOS installer in the boot picker. Reminder the option will be called `EFI Boot`
|
||||
|
||||
Once you've booted OpenCore at least once, your hardware should now auto boot it until either NVRAM reset or you remove the drive with OpenCore installed.
|
||||
|
||||
## Cannot boot macOS without the USB
|
||||
|
||||
By default, the OpenCore Patcher won't install OpenCore onto the internal drive itself during installs. Instead, you'll need to either [manually transfer](https://dortania.github.io/OpenCore-Post-Install/universal/oc2hdd.html) OpenCore to the internal drive's EFI or run this patcher's Option 2 again but select your internal drive.
|
||||
|
||||
Reminder that once this is done, you'll need to select OpenCore in the boot picker again for your hardware to remember this entry and auto boot from then on.
|
||||
|
||||
## Infinite Recovery OS Booting
|
||||
|
||||
With OpenCore Legacy Patcher, we rely on Apple Secure Boot to ensure OS updates work correctly and reliably with Big Sur. However this installs NVRAM variables that will confuse your Mac if not running with OpenCore. To resolve, simply uninstall OpenCore and [reset NVRAM](https://support.apple.com/en-mide/HT201255).
|
||||
|
||||
* Note: Machines with modded root volumes will also result in infinite recovery until integrity is restored
|
||||
|
||||
## Reboot when entering Hibernation (`Sleep Wake Failure`)
|
||||
|
||||
[Known issue on some models](https://github.com/dortania/Opencore-Legacy-Patcher/issues/72), temporary fix is to disable Hibernation:
|
||||
|
||||
```
|
||||
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 you will need to replace `VOLNAME` with the Volume name of your USB or hard drive with OpenCore
|
||||
* Note 2: Once done, you can re-enable SIP
|
||||
* Note 3: The EFI partition OpenCore was installed on must be mounted, if it's unmounted simply rerun "Install OpenCore to drive"
|
||||
|
||||
Once you boot OpenCore for the first time, LauncherOption will install itself as the top boot priority making OpenCore always launch. Combined with `RequestBootVar`, all boot options must go through OpenCore ensuring seamless usage even with OS installation and updates.
|
||||
|
||||
## How to Boot Big Sur Recovery
|
||||
|
||||
By default, the patcher will try to hide extra boot options such as recovery from the user. To make them appear, simply press the "Spacebar" inside OpenCore's Picker to list all boot options.
|
||||
|
||||
## Stuck on "Your Mac needs a firmware update"
|
||||
|
||||
Full error: "Your Mac needs a firmware update in order to install to this Volume. Please select a Mac OS Extended (Journaled) volume instead."
|
||||
|
||||
This error occurs when macOS determines the firmware to not have full APFS support. To resolve is quite simple, when building OpenCore head to "Patcher Settings" and enable "Moderate SMBIOS Patching" or higher. This will ensure that the firmware reported will show as supporting full APFS capabilities.
|
||||
|
||||
## No Brightness Control
|
||||
|
||||
With OCLP v0.0.22, we've added support for brightness control on many models. However some users may have noticed that their brightness keys do not work.
|
||||
|
||||
To work-around, we recommend user try out the below app:
|
||||
|
||||
* [Brightness Slider](https://actproductions.net/free-apps/brightness-slider/)
|
||||
|
||||
## Cannot connect Wi-Fi on Monterey with legacy cards
|
||||
|
||||
With OCLP v0.2.5, we've added support for legacy Wi-Fi on Monterey. However some users may have noticed that they can't connect to wireless networks.
|
||||
|
||||
To work-around, we recommend users to manually connect using the "other" option on the Wi-Fi menu bar or manually adding the network on the "Network" preference pane.
|
||||
|
||||
## No Graphics Acceleration on Intel Ivy Bridge and Nvidia Kepler GPUs
|
||||
|
||||
With macOS Monterey, Apple removed Graphics Drivers for both Intel Ivy Bride and Nvidia Kepler. To re-enable acceleration, simply run the Post Install Root Volume patches.
|
||||
|
||||
Once rebooted, acceleration will be re-enabled as well as brightness control for laptops.
|
||||
15
docs/UNINSTALL.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Uninstalling OpenCore
|
||||
|
||||
To remove OpenCore is actually quite simply:
|
||||
|
||||
1. Remove OpenCore either from the USB or internal drive
|
||||
|
||||
* You'll need to mount the drive's EFI partition, and delete the EFI/OC folder as well as the System folder
|
||||
* Note **do not** delete the entire EFI folder, this will likely break any existing Windows and Linux installations
|
||||
* [See here for example how to mount](https://dortania.github.io/OpenCore-Post-Install/universal/oc2hdd.html)
|
||||
|
||||
2. Reset NVRAM
|
||||
|
||||
* [Reset NVRAM or PRAM on your Mac](https://support.apple.com/HT204063)
|
||||
|
||||
Know that if you are on Big Sur when you remove the EFI folder, your Mac will no longer boot and show the prohibited symbol. Be ready to install an older version of macOS before you uninstall OpenCore.
|
||||
22
docs/UPDATE.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Updating OpenCore and Co
|
||||
|
||||
With OpenCore Legacy Patcher, generally there's very little reason for users to update the OpenCore installed on their machine unless you feel there's a benefit with new versions for your setup.
|
||||
|
||||
For those who do wish to update, it's actually quite easy. Simply [download the latest release](https://github.com/dortania/OpenCore-Legacy-Patcher/releases) and rerun the patcher:
|
||||
|
||||

|
||||
|
||||
Then simply rebuild your OpenCore build and install again. Then voila, OpenCore is updated!
|
||||
|
||||
To check what version of OpenCore and Patcher version you're currently running, you can run the following in terminal:
|
||||
|
||||
```bash
|
||||
# OpenCore Version
|
||||
nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:opencore-version
|
||||
# Patcher Version
|
||||
nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:OCLP-Version
|
||||
```
|
||||
|
||||

|
||||
|
||||
From this, we can see we're running a RELEASE version of OpenCore 0.6.8 built on March 27th, 2021 with Patcher Version 0.0.20!
|
||||
88
docs/WINDOWS.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# Installing UEFI Windows 10
|
||||
|
||||
* Guide based off of [cdf's Mac Pro Thread](https://forums.macrumors.com/threads/opencore-on-the-mac-pro.2207814/)
|
||||
|
||||
To install UEFI is actually super simple! All it requires is to boot Windows' Installer through OpenCore to force a UEFI setup. Here we'll be going a bit more step by step in the process including partitioning and such.
|
||||
|
||||
* Note: UEFI Windows is generally quite usable for Arrendale and newer models, however machines with Penryn CPUs may experience issues
|
||||
* Recommended Models:
|
||||
* MacBookAir4,x and newer
|
||||
* MacBookPro8,x and newer
|
||||
* Macmini5,x and newer
|
||||
* iMac11,x and newer
|
||||
* MacPro4,1 and newer
|
||||
* Xserve3,1 and newer
|
||||
|
||||
Once you know your model is supported, you're good to go with the rest of this guide
|
||||
|
||||
## Disk Formatting
|
||||
|
||||
To start off, we'll need the following:
|
||||
|
||||
* An 8GB USB drive for the Windows Installer
|
||||
* Minimum of 30GB of free space on whatever drive you want to install Windows too
|
||||
|
||||
First, lets format out drives as follows:
|
||||
|
||||
### USB Drive Formatting
|
||||
|
||||
Open Disk Utility in macOS and format the USB Drive as ExFat with MBR Scheme:
|
||||
|
||||

|
||||
|
||||
### Disk Formatting
|
||||
|
||||
Next, grab the drive you wish to install Windows on and partition it as ExFat (If formatting entire drive, ensure it's GUID Partition Table):
|
||||
|
||||

|
||||
|
||||
If you plan to use the same hard drive for macOS and Windows, we recommend creating a dedicated partition just for OpenCore. This lets Windows have the ESP to itself and OpenCore can stay within it's own bubble.
|
||||
|
||||
Recommended size is 200MB and the partition format **must** be FAT32 for OpenCore to operate correctly. You will next want to install OpenCore onto the new partition, either moving from the ESP with [MountEFI](https://github.com/corpnewt/MountEFI) or rerunning the OpenCore-Patcher.app
|
||||
|
||||
* Note: For machines with dedicated drives for Windows, having different partitions for OpenCore is not required
|
||||
* Note 2: We recommend uninstalling OpenCore from the ESP/EFI Partition when you create this new OpenCore partition to avoid confusion when selecting OpenCore builds in the Mac's boot picker
|
||||
|
||||

|
||||
|
||||
## Creating the Installer
|
||||
|
||||
First up, lets grab Windows's Installer at the below link:
|
||||
|
||||
* [Download Windows 10 Disc Image (ISO File)](https://www.microsoft.com/en-ca/software-download/windows10ISO)
|
||||
|
||||
Next, mount the Windows 10 ISO:
|
||||
|
||||

|
||||
|
||||
The open terminal and run `rsync` on the USB drive (replace CCCOMA_X64 with the mounted ISO's name, as well as replacing W10USB with your USB drive's name):
|
||||
|
||||
```
|
||||
rsync -r -P /Volumes/CCCOMA_X64/ /Volumes/W10USB
|
||||
```
|
||||
|
||||

|
||||
|
||||
Command will take some time, so sit back and get some coffee. Once finished, the root of the USB drive should look as follows:
|
||||
|
||||
* Ensure that these folders and files are on the root, otherwise the USB will not boot
|
||||
|
||||

|
||||
|
||||
Once done, lets reboot into OpenCore's Menu and you'll see a new Windows' entry:
|
||||
|
||||
* Note: Do not boot the installer outside of OpenCore as this will default back to the old MBR BIOS setup. Booting through OpenCore ensures Windows uses UEFI
|
||||
|
||||

|
||||
|
||||
From there, install Windows as normal and you'll get a new BootCamp entry in OpenCore's picker when done!
|
||||
|
||||
* Don't forget to run BootCamp's utilities installer as well to ensure Wifi and such are functioning correctly. This can be downloaded from the BootCamp Assistant app in macOS
|
||||
|
||||

|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### iMac12,x Bluescreen after driver installation
|
||||
|
||||
Currently Intel's iGPU drivers for the HD 3000 series do not support UEFI booting in Windows. Recommended solution is to simply disable: [iMac 12,1 Windows 10 Boot Loop – Fix Intel Graphics issue](https://zzq.org/?p=39)
|
||||
12795
docs/package-lock.json
generated
Normal file
51
docs/package.json
Normal file
@@ -0,0 +1,51 @@
|
||||
{
|
||||
"name": "OpenCore-Legacy-Patcher",
|
||||
"version": "0.0.1",
|
||||
"description": "Guide to put macOS on unsupported devices",
|
||||
"main": "",
|
||||
"author": {
|
||||
"name": "Dortania",
|
||||
"url": "https://github.com/dortania"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/dortania/OpenCore-Legacy-Patcher.git"
|
||||
},
|
||||
"scripts": {
|
||||
"dev": "vuepress dev",
|
||||
"build": "vuepress build",
|
||||
"fix-lint": "run-script-os",
|
||||
"fix-lint:default": "(echo Attempting to fix lint... && markdownlint -c .markdownlint.json -p .markdownlintignore '**/*.md' -f && echo Fixed successfully, please commit.) || (echo Fix failed! && exit 1)",
|
||||
"fix-lint:win32": "(echo Attempting to fix lint... && markdownlint -c .markdownlint.json -p .markdownlintignore **/*.md -f && echo Fixed successfully, please commit.) || (echo Fix failed! && exit 1)",
|
||||
"lint": "run-script-os",
|
||||
"lint:default": "(echo Linting... && markdownlint -c .markdownlint.json -p .markdownlintignore '**/*.md' && echo Lint passed.) || (echo Lint failed! Please review and fix errors. && exit 1)",
|
||||
"lint:win32": "(echo Linting... && markdownlint -c .markdownlint.json -p .markdownlintignore **/*.md && echo Lint passed.) || (echo Lint failed! Please review and fix errors. && exit 1)",
|
||||
"lint-ci": "run-script-os",
|
||||
"lint-ci:default": "(echo Linting... && markdownlint -c .markdownlint.json -p .markdownlintignore '**/*.md' && echo Lint passed.) || ((echo Lint failed, attempting fix... && markdownlint -c .markdownlint.json -p .markdownlintignore '**/*.md' -f && echo Fix generated successfully. Please apply the following diff using git apply && git diff) || echo Fix failed! && exit 1)",
|
||||
"lint-ci:win32": "(echo Linting... && markdownlint -c .markdownlint.json -p .markdownlintignore **/*.md && echo Lint passed.) || ((echo Lint failed, attempting fix... && markdownlint -c .markdownlint.json -p .markdownlintignore **/*.md -f && echo Fix generated successfully. Please apply the following diff using git apply && git diff) || echo Fix failed! && exit 1)",
|
||||
"sort-dict": "node ./scripts/sortDict.js",
|
||||
"spellcheck": "run-script-os",
|
||||
"spellcheck:default": "(spellchecker --plugins spell indefinite-article repeated-words syntax-urls --dictionaries dictionary/dictionary.txt dictionary/opencorekeys.txt --files '**/*.md' && echo Spellcheck passed.) || (echo Spellcheck failed! Please review and fix errors/add words to dictionary as needed. && exit 1)",
|
||||
"spellcheck:win32": "(spellchecker --plugins spell indefinite-article repeated-words syntax-urls --dictionaries dictionary/dictionary.txt dictionary/opencorekeys.txt --files **/*.md && echo Spellcheck passed.) || (echo Spellcheck failed! Please review and fix errors/add words to dictionary as needed. && exit 1)",
|
||||
"test": "run-script-os",
|
||||
"test:default": "npm run lint --silent; npm run spellcheck --silent",
|
||||
"test:win32": "npm run lint --silent & npm run spellcheck --silent"
|
||||
},
|
||||
"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-medium-zoom": "^1.1.9",
|
||||
"vuepress-plugin-zooming": "^1.1.8",
|
||||
"vuepress-theme-book": "0.0.5",
|
||||
"vuepress-theme-dark-new": "^0.1.2",
|
||||
"vuepress-theme-succinct": "^1.6.4",
|
||||
"vuepress-theme-yuu": "^2.3.0"
|
||||
},
|
||||
"homepage": "https://dortania.github.io/OpenCore-Legacy-Patcher/"
|
||||
}
|
||||
9
docs/scripts/linkcheck.py
Normal file
@@ -0,0 +1,9 @@
|
||||
from pathlib import Path
|
||||
import subprocess
|
||||
|
||||
for i in [i for i in list(Path().resolve().glob("**/*.md")) if "node_modules" not in str(i.parent) and "_book" not in str(i.parent)]:
|
||||
#bert = subprocess.run(['npx', 'markdown-link-check', '"' + str(i) + '"', '-c', '.markdownlinkcheck.json'], capture_output=True, shell=True, cwd=Path().resolve())
|
||||
bert = subprocess.run('npx markdown-link-check "' + str(i) + '"', stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True, cwd=Path().resolve())
|
||||
outpot = bert.stdout.decode().replace("\r", "").split("\n")
|
||||
outpot = [i for i in outpot if ("FILE: " in i or " → Status: " in i) and " → Status: 429" not in i]
|
||||
[print(i) for i in outpot]
|
||||
26
docs/scripts/sortDict.js
Normal file
@@ -0,0 +1,26 @@
|
||||
const fs = require("fs");
|
||||
|
||||
process.chdir(__dirname);
|
||||
|
||||
console.log("Reading dictionary.txt");
|
||||
let dictionary = fs.readFileSync("../dictionary/dictionary.txt", { encoding: "UTF8" })
|
||||
.replace("\r", "").split("\n");
|
||||
|
||||
let ocDictionary = fs.readFileSync("../dictionary/opencorekeys.txt", { encoding: "UTF8" })
|
||||
.replace("\r", "").split("\n");
|
||||
|
||||
dictionary = dictionary.filter(string => string != "");
|
||||
ocDictionary = ocDictionary.filter(string => string != "");
|
||||
|
||||
dictionary = dictionary.filter((string, index) => dictionary.indexOf(string) == index);
|
||||
ocDictionary = ocDictionary.filter((string, index) => ocDictionary.indexOf(string) == index);
|
||||
|
||||
dictionary = dictionary.filter(string => !ocDictionary.includes(string));
|
||||
|
||||
console.log("Sorting...");
|
||||
dictionary.sort();
|
||||
ocDictionary.sort();
|
||||
|
||||
console.log("Writing dictionary.txt");
|
||||
fs.writeFileSync("../dictionary/dictionary.txt", dictionary.join("\n"));
|
||||
fs.writeFileSync("../dictionary/opencorekeys.txt", ocDictionary.join("\n"));
|
||||
BIN
images/OC-Build.png
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
images/OC-Patcher.png
Normal file
|
After Width: | Height: | Size: 270 KiB |
BIN
images/OC-Picker-External.png
Normal file
|
After Width: | Height: | Size: 129 KiB |
BIN
images/OC-Picker-Internal.png
Normal file
|
After Width: | Height: | Size: 141 KiB |
BIN
images/OC-Picker-SD.png
Normal file
|
After Width: | Height: | Size: 79 KiB |
BIN
images/OC-Picker-SSD.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
images/background-moved.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
images/build-dist.png
Normal file
|
After Width: | Height: | Size: 240 KiB |
BIN
images/build-efi.png
Normal file
|
After Width: | Height: | Size: 370 KiB |
BIN
images/createinstallmedia.png
Normal file
|
After Width: | Height: | Size: 292 KiB |
BIN
images/disk-efi.png
Normal file
|
After Width: | Height: | Size: 435 KiB |
BIN
images/disk-start.png
Normal file
|
After Width: | Height: | Size: 404 KiB |
BIN
images/efi-boot.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
images/first-run.png
Normal file
|
After Width: | Height: | Size: 304 KiB |
BIN
images/format-usb.png
Normal file
|
After Width: | Height: | Size: 706 KiB |
BIN
images/graphics-download.png
Normal file
|
After Width: | Height: | Size: 374 KiB |
BIN
images/graphics-open.png
Normal file
|
After Width: | Height: | Size: 514 KiB |
BIN
images/icns-sl-save.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
images/icnspack-done.png
Normal file
|
After Width: | Height: | Size: 505 KiB |
BIN
images/icnspack-folder.png
Normal file
|
After Width: | Height: | Size: 493 KiB |
BIN
images/icon-SL.png
Normal file
|
After Width: | Height: | Size: 232 KiB |
BIN
images/logs-efi.png
Normal file
|
After Width: | Height: | Size: 453 KiB |
BIN
images/mac-icns-drive.png
Normal file
|
After Width: | Height: | Size: 394 KiB |
BIN
images/mountefi.png
Normal file
|
After Width: | Height: | Size: 99 KiB |
BIN
images/munki-dmg.png
Normal file
|
After Width: | Height: | Size: 349 KiB |
BIN
images/munki-done-2.png
Normal file
|
After Width: | Height: | Size: 392 KiB |
BIN
images/munki-process.png
Normal file
|
After Width: | Height: | Size: 791 KiB |
BIN
images/munki.png
Normal file
|
After Width: | Height: | Size: 291 KiB |
BIN
images/oc-boot.png
Normal file
|
After Width: | Height: | Size: 77 KiB |
BIN
images/oc-explained.png
Normal file
|
After Width: | Height: | Size: 544 KiB |
BIN
images/oc-windows-done.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
images/oc-windows.png
Normal file
|
After Width: | Height: | Size: 62 KiB |
BIN
images/oclp-version.png
Normal file
|
After Width: | Height: | Size: 47 KiB |