From 6504442d4fcec80727744179c881aeb04d740e52 Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk Date: Mon, 9 Jan 2023 21:35:33 -0700 Subject: [PATCH] build: Implement NVGOP_GK.efi Thanks @jazzzny --- CHANGELOG.md | 2 ++ payloads/Config/config.plist | 12 ++++++++ payloads/Drivers/NVGOP_GK.efi | Bin 0 -> 136480 bytes resources/build/graphics_audio.py | 9 +++++- resources/constants.py | 7 ++++- resources/gui/gui_main.py | 44 +++++++++++++++++++++--------- 6 files changed, 59 insertions(+), 15 deletions(-) create mode 100644 payloads/Drivers/NVGOP_GK.efi diff --git a/CHANGELOG.md b/CHANGELOG.md index 05805e942..c874843bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,8 @@ - Fixed full screen animation - Fixed split screen - Improved menubar blur +- Add Nvidia Kepler GOP Driver injection + - Primarily for GPUs lacking GOPs and can't have a newer VBIOS flashed - Increment Binaries: - OpenCorePkg 0.8.8 - release - PatcherSupportPkg 0.8.0 - release diff --git a/payloads/Config/config.plist b/payloads/Config/config.plist index ff0ede776..2cb5d5964 100644 --- a/payloads/Config/config.plist +++ b/payloads/Config/config.plist @@ -2539,6 +2539,18 @@ LoadEarly + + Comment + + Path + NVGOP_GK.efi + Enabled + + Arguments + + LoadEarly + + Comment diff --git a/payloads/Drivers/NVGOP_GK.efi b/payloads/Drivers/NVGOP_GK.efi new file mode 100644 index 0000000000000000000000000000000000000000..f853b30a7464faaaa0284483261af69140ecf17a GIT binary patch literal 136480 zcmb?^3w%`7wfC7!0s{ojhyXS4fuPQT8FL0^$nes%f`sxg7Ssqc5GvGx zNhBwmsj0%nwzQ_VwxyMps1zblO#qXqJR&MYQHhE=aj?V}#A=!EzxLiInV{bO?!Dh= z&f4$C+H0@1_S)+l0zXv#*T4GzbszQ{!0717A11E$Z}n) zC?#n<#T*FI-}%3W%rsu^-TE|T!1~D@#$if9YR_}Mg{Pc+Q^3z948A4eB@%9t&@A62<8`)Dr5=BEIe_@PC$B+NbeI9V z8TiQonKi-;Twn%tXQQZ9Xa=#+(3!WE&>8oVmM^!Q~qgDoHZk2&c%vwXt z!dYhZi_BU>&053C4vLnYX5lN%!dIJxuQChY@Me=JJh#4C1VUAEgtwW2B@vl&pBY%X zM5g3t%E0%{ELTXT6y&`w8k}GT=9}1FoU>14-CiLBKYmpP?yYGNSz*TuBCxzp2F4A0 zQKXFbydna3Y?WR7a@89m<<_mT%tPy65-ID}9}t1x1dodVGl#L>48+X9&t|_S%4{(M ze=-AqR*s6SX~QJOYBoze|J+>M{~Wbfl-c;T%*r(bmzse<-62uNzx}WXOtrl%0{3Sh z5rI`^V6_?e>DMyr0W&3H2G*E?QQ30vn@kdYbks4?;4fykiGVp#r`#7+5}N5{yF|HD z^#X3#DPXINw@GN0H(||oQEsz@DciDFaEr{ZldxXGRteiB?3B>?H_>j1gdqtZm#|*K z775qy5alOG__>6-oJW;}qtYAZxt05Q;rsC9QALUH!CKOi1S#`YCAoAJU_^0Hk#ou9 z1C(~3Bd2j*NkgRboZ`qt$cl{g`>4_&TL!V+JZfH1ILmfhGB!{<_Dm$6NG6jgxKZh& z!iN zfK?Knlq0=ue%TK5i<(y9nxLv~Hr$pTLw1BH5JSCw+uCr)O z>7IZ0Jbx+bW&c`0r-XSDW=j0z)}$*D_kDcLs4Y_jn-be9J1|9}TgEjBCrTKRaE*j( zC5%d#;}!ui8bxu)xY?gg#?5{e88`dSlW}t#_PD}-GFi!%adTWw8J{SMDT+3ahazU& zC*o^l+m)SCJ4?>jjF%X4 zoD!~=uuH;6C0xKnIkTP#yXK4ZhD8Eq-znfp3F8t@C>7~>KNfJTgf(}G_y!5%5|%w6 z(nApew}%DXx?DipLIK-kyjaFpNf?oEi-dI&zAE9H5-M`sHVNA+MZ2dYOyzsE^W2eS z@@CHW7W_z*Tjdk5R>BFBMZA2vfWu}8=$5cd!jm&ax?B#W^oJrIxm~~ovju!yLU)Nw zmvH}i&{iW_+B`*++wK=IJ0ReMsRFv^2^g34IfJ0RMH{yRf3#r_OZYONLKKswYz%>~ z%)fW(!rW0AN@V6nl#5Vqt_=ZCZjhq6#dxOY&cxG}TY_h1ZYiGj+$DGp%Pqsxkz0pn zac(`H*&FxZ$s1`vU`XzM{%qmTA$U4-v+>Ny9fs$qTnC zL?f1sx*70@fU?mq1G#nt{2NE%nS7NzAd^G{}obTd9y=DQ@EAmOQ7M7hr;{8~b@o(VGx zd$(637uQy@dNEbWRZYx`d`YFOzYzuLU=Xa$6-lAmJ$q&3YBG-}CoRgG}#~>tVM0U9d%# z&y83h+U`>{v*3Ah$|2(snQzLaHD+AOrEWPS<&r6f+&`GdOPcL-T?r`@W&P0-MkM5l z7Q$xx7szz8{lPMBwtu0FoAhJC`1dV5$0^srFJVx^nG%*sSSQQN=9IkeiTcB?5wKRm zylX}L@sR>fkZ|TG5#OFGV3&lsU`&MHu{pB*FaiA%Rt*>NQxXolRKy>baM)!cKExrQ zGD1M7gqfF%`1&gZ%)DB_u@cUf@RWq+{63d)6E9}E3Co9yb{wjJT@vaSig-jq+Yk}2 zl5nepEfR*ZME(%jUWtU}I+=8B#>=?Iu7J^rk(^XS{UsIwO@4Dej7z#V>HqWd;-mVA z`U}p3X8(`M@)K;LoQVg&j0Yv$EXQGv_w&z0$&iG>&qaKTgq|-%yhcLX84)j)(0NwG zBNE!XM7%;m_m?7Wj`Qn(iFolj0nKsjMO2JDgb|huw25p5<{17Pl}>!?{s$;Ra)L*J zW{T5~1ftuG0A=F0F+zL+KN-)Zd@gz1{Cs5g+nJz3isC*cp!qcO&G`Qmjy)}E?2$0u zDdHv`O#c5rZTJ6Id2@a>{}3&j@m}XoWNpO$=R8m1(JU8#N7UQ%Uhn#5{>)cpx(Tlr ztNUH&$v0&?=6SNqZ1=aKo{2a2N!jn8MY?&O49fJ)66U=x%2h~c%2o3`DRO(B=btC{ ze<1SmNGHQD?;`=vKTn>L>ECspj7a)2@sg~c=$nbAN+kXkyeZoK`fUM+oDgt>gzXZ> zCG3>&a|yd7RN6(obO}v9QY+&_WPdIRkM@hyI@+(Z+e`jSRLrhb9m?q9VUC>05Rr1} zf{PWmrd*YmUG;rgX3tpV(P_%HZhMWCTbG*iYLN8NdLEq&c}-N+B`khj#Jk=QFi+0^ z(W4?hR>BREZfc~ReyfB-azr_^--;(he6xi6&G=T4{^lV8Lw^x)tAt$=dj2ZX>mZuyfae^SC>e-`nX5>`prCSi`G zhfxxW(mnQ_uWLohkj(TTnO`CE&3LDbZ}^QUAD3|EVZ5Hvg`Cha87Fo|%uIUsA-ge=ne4LUTNwGT!nB zk^i*`YejtX9|bg@Z*CN!vZVr+OBj*xXG5dkNx5wL8nfOSy;7gP!uS|{Kh zLqPMH&SbuXX8PkY?piNWmPlAGVO30|2j#eCOIRx5t1`drXQJFH3Ez}3_>f39?F052 z5g#VuC<(_(I6*?cgfk_aEupz@9{-7GXNgQNmr$fCN|lV)NZ9qTnIqtYM|#IUv?>by zMbdDWW>FLe!o>(fZBi73>AtI#;((M#kn(B)D-bUSyaaJ~A4P$QL8$?xc%-k0D>jrz znxZ7l|7C;#%3W}?vij%giiPx3{7+qpAMWgA$em_almTwa=J^C^DCkCMQ2&qh|BwAE zcJ%-7|94CFN#OSlnfV-n_y!`9Ht<$=j`wX+KWR{>hJDkCzqg zdL#Tq-j#=j{C4zz-2S7DD1WnPFPI~+<(4oNcN8}B^ZreK_BH3%6mhe@{omx<{!RYZ z-_gIRCsln%eKX(j9r@;{@1dRc9PWxJ0lFQJKX6|BIovu?{wTgJMHM8uu|auK`Y1)W zD>hOMMg4Dn>1~Y+m_){&+c()@~_KCZMK;a|8>xdGD08l$11%b@0}V)-+K| zq`+3&*Og8w7L*X;pf*FaL+#RkeIOIe6e?p;`XZ%M>FM19VbGHz%Jfs*1I${~N*c7p zo)juW{weMOsqLh}I?$6M$_(u8UCh*?3`$86eW~5EAUQ&_uw(A-v@yzFLX&T$GX`%4B0+sqLgGIErP7&%(sUWjy5~PHa?0Q5-zwVvNEpGlHiKS1#>N zxg5QxQj|rxA|*xi?YL4>L^}|Z7!Q>( z+ZmsdBHAh7GfiE0@C)EMb=_~|DXHszQ#Zy;{M_8VUS^70QPeVuv19W_E4OOM==~duW*6RrbD?sVvJ4v05@nvU zQdquthd%7`NlFmf(o!Xal-}j2?wtix-~0s?zv9KM#0)$gs8^)ihR}3`Jv=-WAx)Wz zm;>z=Av6{Fla!f=&s20-Ym(wq79u6J{v_0!$Xm}r>(?On7SyMfHKh6h3lY;$M@Q{R zC__DHNb?{}KM(TEpC5T1o^}gQorH2T5ub`%Rv&VFs7Wm@1wP8)PIs3wANZkJq~eKs zxEHcLgmU)+cS|tpr6`rdHOk!Yc#`UIem_CncRKLr#jJe1pQY$&Id6}~{O?<&QqY6( z-*@#(`LodaOl2;|w1(Nx+N7p?Fz=c8qaW$R9mj2oa^S!L-I(pP-KIxRIoABdM#_oK z-q6{X%QE$PVvhJl64U)`a*56+7VAb<#V(8Dk9nLfJ(l(87s;gG7`PHix{>h{4hG&1 zpe29)C~E2q<@~YXHBc0E_KMC9`;Fq__}|g9&SpFF^yq%a+pfLY>XZL!G$J4(V*jKjT*p z6h-`g=8a9UIpnuq|M;p@g=-xDSr)^Q? z3*iKyx-+eyB{WD+HtPke+m{XOn9MQi#i)mM=`8DPJ)td-mz=KaEaWWL**-#W8Sog? zX3w2NIAi;DqZn8#v+G8A_AG6tHcPuzyG>xP#Ls*=-h8amr#{x@XYY7p_u4&1X{~Mq z9|dau6CGfBZ5XK)D8VfK#_G039%FSYJ#>i^)`mH$Rr?4(F>k9Dd%yyO%k}WKdDvl{ zwXkE!AO&U!>!1(UR_Ghc!6#(hBgk^|rBNXeyPiVXMwg=#|ISsx&m< zQFn%Qt@=cK$9QU_CI5(@b;W-%iAVelt7}hAn#4f8Qx^fKF%a6!F*y9ps>f!%s!2Ll^W?LF#Dn~ zFplmZ0(l7?2H2%Oc1R4P0jY=}HUGGG{ApeFoWKHK{z)>~F$c~0o*ja*;TOSTxBCj3 z)XIUBj9u-}$7TGaGnrH?TaoW$Go3l0iTHd_v7cp?qTK-VJ99uXwD;;z67w*35h0S6 zQA<9YjrM38WMR_nI`cW=o3EpJs1<8@yI7i}TH!~j$juLg`$QhFBtwfMH>ZVXBWMlZ zx+wZUnk`%usQlQcdcVL#KgPb|`!JUEXWr`}pax9|dMh6)@@94VSqs=veAfVxRX+%2 z@QdgLZQ=es1n7^=c9vi_`Pl7wKDNx|WB0p#>^*I+c84}cn>`2HEaNBWGIh3lPxB4p zF_r)+DGY;CeEA6Aqn4M*(0E0#7C$i!4Ag;nCe{Pd;dO)$iD-*jxtMQvVCSc>iV$`d zAi+n3n+%O1%=9PBs1*Su13PNvcnSbRYGocm97}5Dl?ZmU;auutZ+Bddh~Np}2c_BI z3l5S3dCl%lQcAGzLG2m8*-muxhL3d+g8*wF_8QAN@sDJZHZ~}#n;G7uv#B{4Q227x zTZDRk@bOsIb`d$oV>Vn4b-8x$i!pk^IVk5f1>E@!zjcx(P=n z45!3_8epej|8DHsFa7KVZ4c*R?2yMOX$6WwgBb;)|IHs`K{zt8fv!dx3E6TCY#B1Z z{xArSv4FN&8z-vn&2xO^Lc$CLN=u8fc#N zJqT@6EB=BcZ~hB>agWjtY5Nz5W)o5)tCa`B10$;~$#CEN;~f=L7yaI>v)j<;q4=F$ zL{Obb3oXVJ7Cc21Py`krrm^)DWw(eqr0jk_Ti`7Bfmt}>zlHt;7Iq!6lWbsS1e)Lj z8O(Qw9n?b;^fPd_qw&O5Vj@_NQYr6Buq1BCyE`E7+%t%pi70Zgycv}zfyLOsqcjSs z9_)oDtv{CWNCHW*to6uA)&zMU9C2WqSmLr?@H=g@Xw9`* zLWq_@MJmZZ10`uL)iW|m2taL8cfO6-4|!u5zj`m3G_DULVq72P<*qLSSY*uk0EK2D z7*{A6g0zAYBFnHNPAno=s#hKf{Zwb}GC#|hh=KdrzW+yP-P)QMBDeCkq7ZoDbBUp!qpacCH&uGs)OpN0ZD50RX{a8ci(YrjIyM zZ{WBMxQJrG3+K4}V2ap;I-%JZ?xIq}Q=ml|8Dl7h&0dwo7a`+vYB)ChSA6BJJiuEF zK*a+yeibCzoUsNuq_N8O&=4sfbWa8DnTIj8Z=*4J-B{j_Q5_qwhZ*!Ja=c#oT_|6N z^1B_Vk4moCl#@_djj$^jbfe+&8_=j*A9tSvdKk;7L{XAgkex^;Rq_4~>S15Jc?;#B zD4&()0K@X3ZHy6k!PKD&19jtRh_MVS+Cg()Q**T8CCUV4fK#Nvi7i^v?5-1vU2u!eJ|gWi=B`H^4saBjq>ukHT7U1u&uwfrVw|o-;;%c^f(x~*9-|2#?nYPFa zW_g95qP~$YW89&kP=GCHF-=dlphS9qDiVHQw?eb?RE^e?jmQXpq0<4($Br)Yi~|AT zj6_F<dFDbIL_s4GTYS+5 zJNgXy(OjmJ2w^Dr-km3i6fvy$`@ktsf>qv4tAt;~7u|2?bFFlc4pDi0VEX~o=~9nNj~k1IzZA3oH*mNy|m<{o@F?ALv1~q zcBa!o@&sqStOFmI@{%@ZrVa@b)Y-Hy-MCP4>FzTRn6!`uCD}@|yIoRS8-z1REgSvR zKS7g(ibJHf3=MO6!*x?hXFtQlNnt2K>1rw+%bLQ=6+x3c1c@Y+H$gn*^HFMnD0L-D zaV-Mso#5sqTvlF>5)*l^MV&P7Qm`Bk5URj4F|-$BN={l}?cu zmN?=CX|luw{OnDial6fDEVlcMWt<1NX~gBe==`|ii%p8_(W@1oF{vHudzlb{pJLMS zxw1Xtoe!f&KQKwm^LKDa!gv;7JU);(7sQ8?H4%;pE+OY&KhWUIm7dY^(^_hg<#zI5R!*D=+ z4;*EQGh2vZ?N+Qa2$1BJnY!PzWVXv&FaKZ24zHq2?39$=P+KA5cGg`Y9cOFjeTDjRgw_X%qLfbXG$ zV3xjuGhwH?voKA!c2PK+blwZ0z^j$BLC#!>ubfW13bVwNm(Y}(h>wcx0?o!fYX;Xd zxzWRo*1sZo6J6-StUkrT9bBEH7tlEw;+f}ccDUV!g)dzefQIzTE%95<< zLV{Me@+r_CSX~RaVK$vLxP>I`4}<*U?lDPN zSoGz0Kp1vnoHJ0K3uBh~I_i!3Z%0>t8Hr7P`la(LNzkmHkTOAMew%xzMNjV23+Cuc z{|haD$r*c~69{%!BtsYI&0d-c5aK13AaoXGUPBolJCF>PA=1Jt(7BfgiG=9wWFq18 zlr2>{(>Ai^R0K`=*}P(i9UsVned%Ezd1JQ>(PM#=`A0lPxII1tI=aWTa|3l+&z%Cm zCpGrA?>Tr2&@ZCHE)f0cC`XFAt-_o_!r|}8_px**A6{NXgO85kl<~OCfSl3TYhv^% z*_EmFT-_PvWz-lj-7YKDRH0x`_O!`t{pkpjh}q-Zov{nD3#gcCY!}JI@{X5Zi=0~I zuvw>Q)wqZxO^7o@;uF_319q*tZl(limmqK~?yApqw;15Mi>Dxiu@i|gh5*Km{S0eK{%1dN$OOl7J zcXlE=Iacup1JD;+KbEhJQQ?eGI;;4AAe~;yX@SbBA0+JSvGq=pPgNv^*ez}kj_1fN zVHHj~wfnI)#l&fYd`&By#6@UPk#9#3dJtkR#B3rX4?#r)a}cEchysrIC&STLY_pTl z1*3}NJG6rC^BdEkMlNu=f!jC04xp2`Y3L45Y_iQ0n>d6sggor>a+Op7x4z~bwEVSh z3?RWM&uYTHt+UsOQc_v^ASFA~HF73@oz`evsV*2&BP)}BW!eXhyN$q*|}ka;@053COCj(zFP zKgnh8A#ZGn)55u~mmS2`N#2TL*rN^Q^H6l6H|BAsi5$pSUaqIa%_!la5~IGW#Bh|j zg-YapdkOHN_kmHERwug0oQY>~^Fa|7p|C7ob0yJyQ5hmSjFg^ncez5D(Uq>WP#-+4 zVXIdCh0YXr^-*qR#M$lMGW{7?Qs@^ETg>ZP*e`S=m`(nF(fKkw(LZ9LzAGCAh=ar? zpOVKfsHI*VQeen2NCCsX$SAYv9G^Ceh93y(MiB_&_(}-9!|?-jP7^16Q|5BvkYeZQIl~BbqYdX4 zlDyqUL^?G8)Q3}g{u#HcY{K&I`C|1E%!t$+P#~Qjy%;d3wyTjksVoU0-)vKN=o1P) zS&H^vihF1rSmW>O(fi#>XgKOzK$DDRtv${)L`;Hn5!#+q5EmsGr)vof;*3UA1_i<; zj$+URN!U5G*xTI)ZamU#AN~YiL}vo!4o}XSsZ_%qE<}KYauE#qGss>I2?aiP_-Ta(H5sXL#Jw>}|F7&sIFf z90)m>6XOpOTEu3w>dC&zCLE4z1>vB&c8WY3VX-d?&_VHVyb`9@loJsdl-)QD>Aelg zXxGMdTCVyF^Aapsv_23ilGG}Xs1;;2#TuzqzvMFyy@knUeEb_w02pR5c7X>hJC>Et zX9t@9u3N0>bWFg)WIRcAV_9ja(Cf$oI>?2^4GKv7&z}mayp$LoIBv#js>2y)FGB!n zXK$%%=SWo+h~}zn2*L$ynHw%Zhf$Z0B&*#qvZBgG7bU zNDRn;3TF$oHe#*|oDp0_PQbX=?l&HA_>C1g#)>>-Wz(_Rv{R7wbTu$K^4EM7RuP}0 zBRFiokOQd)ua$!d`?TMan@#M4enI^Qh>hJ7Psa_84s!z-fQh>ed`Mt3K%ihV>e>UK zN2+jHic(t87P1rGK$r*OWtrmjc@CZ}G^^CCV^IwLMTO2l~(7@>0w zsX@{{CXY4cgF(8ufu?E)1qR4w)PNT>}@UHgM#hfC`b~v2(AOf7t5hz_uh=nAK+GV6rio(h_C5B^{*V!d-)+G zv1ptIP&(fFC3U}{l~rIK4?ltvZUD zbkmZDjgt?C$QeFpMa3cC(Q``eJ|&97r!I8fAa1;U=Am>wjX|W>loGF%y6z(pM0OK; zp}bfhCQED!amtAhy-mOqoxrffx&g9iu))rqPnV!L6Xamk9ykK$j2U1TI3i$5IhfKj zFzjPp%Ft?n9fSnsPx!EKp6)e_h# z@fp|IKcyw`ubjnyA}~1)qXHRpn@q~53gZ*YSVzTTS=lH6lRqy*1cv$I+>Gg+BPD4afioCQvx25UN!jA%GpO zhPdd9=~lnet$k(7BGYYXbO;)ab``qS4bARIvlaX5SyJ}#i)hi4eKpq9>}^T2+7zwv zKV}PR(CXOYYxDvwF?Q2?KWhkBi&;xgupwaR?(|sP%MGPSvs(Q@qn~nBEbOr z0txyPba}*0d1_TP3Ugy%bRk(?1EpTl&W`CuAQ-=wpKdy7sYn#pZX_}ekXiP+RFi#}sEox_lZ!Xv+hmBGhDN}XdugEHz`dBRmv#VEA0;{- zjykY=p_*w8ZlhJfO~ax1uVF(V1*5zB1gUmor7K9z6jA_s6cEafnX| z2SC1-rrz*lIsC0uEoJz8+$h{5md_tLt~|uh??Y9T{FY(k7(7g1-zh!ff!F~g`8IZrYX0!<_v2^i@ZK)zv zZ_OzeI37^b!rAk?+)DlpeZzW?B(AqUAJhU(W_5kfI)OcxVHMP>Vwg4kY<0bE;7SC4 zo&Z|`X0^Hwe_MR4kH&5TGbSIgTE7vlp<+RI)!)I^X^2fJzb>JPE#b(I%T#@UNxJ&;C+_#<0w8 zKl?pzz7i7A`#K$@%iw$zDgaiO{#;yo5WC1dK%4D=IM-62pxujv9uu3j1)>pW*Z7Se z^6_Z+Y7Nji&hIQyEBa%FFhM>uI>Zv|#Gp!v#ZK3?T^34p@ed(uO)wb#U~g5 zyv4X(_9bl(z5BvByI}5J$>~9yV!^Ulr^)97RXQ72-3oK9m>o$vDxI8eLxP93Q-_S& zITTufzZ;T=#Nb0$bBB|HPQqrW4-Fx)T8n;NsIf-)U&7L~v0;(5F)t!ved-s)rC z@h6tw2AqG6wKxJH;!=06IEM?{tKkRu`SPoMOzZNoej3AFoJC{quNN6NXa;WId|kL~ zz4M$_y;n1WUwhMz;cCqW(@$E!+TOd58_d78+exrFg2*WJb-;_!UkS2z>YpU{O%sNQEMmf^4!q zi~`gSH%BjMM7J?A{CcPWh$tfCi9OZYuuQMAR@Jj?pdEvkl;u8QV$;G z@g3{P4d?~h2F2J%z3%pZK@1IIrkGAZplk9qLOBOIuj2}1OVTddh9OO;^-$Cy@XEb0 z&4SiK*;++cs4rpJ6NY4dy?d}PpVlt#N3p=* z70JJm7*;L~i+2kD%_cM&3$%2rT(ppUzA%7LnRrO$ltZ)v_4;`E3XPFV^dNY}Mo4wW zVPF=p6^H~_AO|8KFF-<)yCMY|h)m+oX3?T>)q*a(wlV5H5CMU27QHuoOYe5c}^pw?vsAM7;Rv3l!YCvVV4xZ(NJA`6P;Jc+CmrKCB4OzKNcea7gzaVb00K8 zlGHudTChO(oUtL_%lQ4iIAAxsJMFak++h>$hHcRQ92m!Y)xflQD9nAHSXsC7*G2MZ z5=Ijm5Gf$P+WX;Go6nCj(CuM2;U`rpwUP|ak5W^ytd9Nsq)iqEYRbV0njc=45S7p} zf)~*thHT6XMxbeST*2Y2cQYZAwRGe^XrXrwdf%f7zf&J;fT;l1ADz93OR{X(gmC2( zF4Ng{7o%T{VlYNw9^qjsjAKMA_=u!i5Y6ctl>5lwqrIKyy~IZgpH4p7ZePblf!=*t z4^Noz`xxXd;3xsgYK@n^MN8EHZ(%GI%+-+0I=dCiemH&~XkMP!a|4K55{tZ#!22AeDfWIhK^TE?!Y%i(yK%D$4YL-vtGGiT8+Z+R zO}-eq4S#vb7uCuo=#N!KklO4OJlmL4XLw&Vyq(M&G`tPWTWomu^LtiSS%q@QOwAFM zQM`i=mEYDBm0sO0n(`aoHZ*6p)Y(C%2`_W7zeNxLE#3jy1+5C2LM^|HQnwuycTs9p zBTC@qkXqJ+i#NS7p5`0bq&K#wQP2yOaun_tFM6Zy%a zSbAN+y3dRELrzd5aCvAzdx{Z$)d+WDSand`o4xHo2ROr=wt7 zOAK$Ec}qdBhWC^>;Cqa_TW}+P0QVfE>+shr0=3*)$2|nIeufQ9FPT&(%hT&DiL@~d zWE+g2?00&|_ncuphK@r5?uATm9lU)KD{aKNq#X@-^N(xfUhy(`{vW;I0ABX8-J zlTb_-t^gg~8@e|6Lg*&^+59Zou?6K>;0Z0}8LkxUU16IPOHVIoT;30~_E5sgbJ8!7 z8GVp30+kXDYKPi0t9`_)d7oIWCa@-}AHu;-tqP!Ny0`Wo!(3ow;JQiWA2FidH`pXC zx^%<)5Hy!#I__2J4%>@6c<(XZ4z4XQ#nszbqtE~& zmGA(z4-{lnQUui3UI9BASOpdmGC#J7r(S?IKTJMMDhtvcL)tFEb}k63(Q{U97g7`) zZuTau-uxqM*3%yLYr-t;?73R>EBn$P&|@a!U3yqxCkU_zBDk0Z=0fNOaVCPs0l7fF z-f;L>;>_c&9w_2~5P;&42~mi)p%qoCI7!M5(3O9FV5dHRFGjeD&JUl02$P4@3i{^( z2;Kqh7H0{*W^aHJbXNHs4K~^Whl`}A$_`zae38^`tLJL!w&z)=7uxuR9(KgTUNizl zUTi=79Y_oSs3#VOL`1%kw@Kj1b;7jtj9c7y!7K4clX@o(_otMuuqJ@bJ2E~ zr4H+7VHRuveT4?)ABj!0A+C*V@G#g@J?yxLz2_a-hQ?25jR_p2_F*eqQN%N{-8-_~ zZ!CN)Q9`35t6V4gd`{iA&tq*xcjyKk@YdTg@yEQCCqsjKdf1P%6jhhK?DLL%^V@o9 z@Q&P{f5f$M8}Jbx2*(o-+vj0#P)+xkv+9l)IX85lX~IX0)Z1Px}WrN{Y zLEEs|Eqn}&{yAU|w{|*v8>~qVM{j(`>bJhETR-s|vrfY+`-GP^{>K;$2H|Ia=iEBH zt}zbW9}LX@hq}#MrL*8 zGok574PWbJpHZa%_yzXNE8^y&gkzmhLo@Icbkd6K{TlX(uR$$p#fx<6^F9s3{`|MG8akwgZ{(+tA6SVw zScx-U_Pm!J^38u4D>2k-eF>NsEAcR`#48@_hv7Fn=&LuV@Hb)}%sUs%fi{;nHugaf zF8kC|bph=u{C)1J{tMBWwG$_ukOu0_KVoi>mfriL(Suh$*gj}QBO5`s%^F{z2Dv## zwrL|@PxSM!m%MB*=n~u%%w%;l=nJo?F(BuJZk<)+vmWqS4@1_4E`m&8^m1f6_mWP> zh7F$vCn0Ja?PaYr9(d|d3D|PTks1g3W8sez7kpbSsJ|C^*em+TmsxuMo(4ZfgB~kK zgEjm#(OKm^Se1?iP|5xCId3HjCk}%<@lKERpMm)>wY==N&T7US+aU(FVg~yBR`Bv7 ze=I!>`XHtPVgeDwG9T5ko2gg-^KO@5sIE02edbM5A>L^#`1HMqKOl?4^6G(6L)w6sJYl=Dv8cV4o&P{ zUT_F7DOk~g>r9hBjcft}*n2?O$PX~m54FZq*ns=H*LURG2^;&&%ih=6TbxLM7{NQy z3LLOz6@hTrVC-(+EARLRyl8C>pTUXhFxZoC{?Wkv{odH9KG>j-0e>EY%OPw`+$jZ$ z*sOK14@0Qrq)JujQr>EuJm4mpZ3-?n>oFYaaPjGV2rZf@IT^Z2pYPoXLQ}UL)~)c$ z+mBadbZek_a%>3RK>o;Ph3&9^_zRGU#tyMpPykI+Y0Y}b3b7Z z!i51p&aBzrPGlipM&z%82!DD9>c6)N^|>K?my1RQof+qSS8OtzVBK`O!PNz~&kxj| z#BnEDVn=a!$m8Ll2VR>pu!)Lo&F(xRB2hZJAFhzX$5Q&!;n?o8nRi|Hpi>-vsd+j$ z&ZRNHhmvaP$r8QCjgcquyE$kIuv+`OueiG3rAp&Y&C!LeXyOeVpWxSxw!EwzS6U#_ zWKAnZg~J8RBvvTcF78$--`>M(AbvIgsd14CckWu0_OLlFj^}3(VS#w`OKTXf9D-zD zMbpWeEl9@L>2j)rylTL5`bEFQ`;>iv0nF#2`w6ED+h97OccBMfy`#s3g?eh$+tfgG zVY?Dt*g%06VaYJaWD?FqoD>#ztrNaJfa*s;jf<_UEQv@)s0y1 zjG@#q3xKL&HK8(gyJ8iWF1jIgLMFXW_V110Y6@uZ)div}OrQu42P#}ivTkbQ<%@nhEopQ3A-q0lF>O5U$E+?$t?WiN;m4p(mT*`Q=gV=x+~I8>Zq!1{)yg1tD)o|0 z2OyeMj~4~5p>yahm&!9xFWQXJ^wvwa>xB8@i?HW#TMpr;$5$>^`dgfcI;lmbWy71; z&sO4w_g!*+`Vx%dPEUaYIp8>Y9^TCDHfi|ONp0hXJQ=b@Cp?)3{T-$SIM58^gj-kw zmF1*AHma&VL=DFRJF6}*U6%q3Vl`m%GA}ND!FS0;1o&p_A}C7O)>$F9s^)>Y)gaEZWNfso%+SFc*xpp?o<`ps28k z{LFCWUPa})y|hK+(bbz2U=&`w$IAqruO@%O8 zkCX6dATXr*cVbKbh1ODzrg#Zq6*#6|s+wD|;wcofK$hoZq z8?FfJ1+5LDs5<`E9vG%lUce$B5?$Kcy6q?q=~M@o)KZn z9bVQFVEeHDvcU;Td&`Fa12Zgz4?Vi~W7>2elQ;axu&MfdHZ32>VX){d`17w6!RSg1AtPAPrJ zVoltSA_21Af&q%yCZ46)b#@^P@h;t%jI)Au*Cl8Yw3TgKfEW)<1Ih7_9-Rl#+8uUK z*l(2NP*SvnoWQJj4Ie9K#p0G3rDX_3OF}$7T0(fTMr$KzUsNo0@CtP_IlOHc0f1g~ zF%WhNESvshaZLi=<-k>S{GxjZ!?>CL-5r)KRPS zjR}^q35`Cx1>DpZZ75;fgvC9$%5g}h>6J904f60g1P>qJOVA$?UcpDpZ1Gd@A>&4* zWH}!oWldz0*u zXgTBbGK>Q{k6WpJgS_d02luW#C0#7E(0kOXHRydD$J8XzPae{TUEl9q=<>C7Z zHV+vtEuQL^us66zI;5Dft^u`C0`7kee%8;=+Tm>H>bTf!y}rA3(GmtvQXfUxQ83wZ za?N9Hjfr$E`Y%iP5*%R^Oz%=LqJxx+ZnegL^ox9DSw1uJRa!`od}R$yhJ!S2eAPFU8TrZ<9=*H$k#r^Tz1<}rVWZ{jcE6LaBu4C3ew?i&F4?VIpNTh$ zc1JGhqa-qSy9ZkFM$ztCn0pBm5?|T!#YxQDPQrV-9__M(!B5Da>0okt@q~e)D<%vI zT}F8ERO9lNkORzMLj2jQ6Eh(LP#5+h~?ZOAFMN20bm!@$`gqODTN!*M7j_vb+9kMmp$e5CGNExK{4W12mEYe7Q>IX?XK#TAE*keeut~i3?Mv=kG%hC$M}({=pC&eYIR43O`q@8NPg1f6CmeO6@eqH))X;Xn$=;iON-0qIh7zbl8PII?AtVW(lJJBL^n z!I1!=125MhkNAEm@G=5nPxV_IFK?jD zMcSS`Jf6Kl(RTLdE`71A*PzVv*W%)dMRb?jNte)xt-s(oJA)b!@;6sx+ z1P&laz2ln~ss5L>$UCa0KKlavK?ZBF^h{(O@{T`@tQOpNNB8zY#^kS)hvCNxFNE!$ z>RZya>ehyj(qUaS%WLD0QF$%WuA+2*G}mHgiC$W$ku>exKFr(qCqD0en72Q+q|xRZ zcQ<@G^7+JPLqbC?q*9l7ZwDs^yzeaD4Z%5~fs;=MXsZ}X80gAR%z73+T9Hj|Bx*%2 zSR^IrvGrVigLRD94FpD+RzHH*ZpDEyUJk@*)sv6|!KkTrEB>ZnmmdVjEm5z5uu`vq z3r9SgZrxQQOcy_B~vnh<*GgH+rxDwm7shqRtXO`*j=krxv~6rG&s# zs5Iq!-53=$Alyrk(Nn1$F&7C{yz*SkM;EZ|a$ZEc9925eY&J^RcIAj9)BjgqeisH^e=j>U}X#UzLaMgh3<6q?9%rioU08(Y%CWA!!7By=ISZx_X9 z%HjphYV_B3HG4~1=oK2x?g;l(u&`I;@YpM`{-KN(ZLx6qA(teN&`$nnGENSA zA-ohpZZP0&bc)0qQPZ&s99OO$TGpNYsFlRFktmjx>uMI2GYQ`yMGN0T&FW zwBTI+{)p3Rz)d1K>Iz#N>xFO?Jez0q))91Q z<{)IXgBYU#fwu7-POj*jqF?|C!ev>l zyp^XwyM$e*4%5-b?^i1|k+_QlE#(AlXsnnlB$mdH(g^{uR*^8b!qP(hp!+=D6Fv*~ z>Nh=_fto-u@oE}O8GO@86v2SsuHhf{3ys2vyw%N5aaX`#w)Uh2u_{rBL=(?wf*cbw zfh!{3Nw<%Kqe=)3!{`DEr3SHNw2DxRfnA6%(14rvb1m|KW^_v-5HC!nWDi9ao!=

*2Rm*7b$ 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 literal 0 HcmV?d00001 diff --git a/resources/build/graphics_audio.py b/resources/build/graphics_audio.py index a5582ed89..2f5c0d96e 100644 --- a/resources/build/graphics_audio.py +++ b/resources/build/graphics_audio.py @@ -282,11 +282,18 @@ class build_graphics_audio: self.config["UEFI"]["Quirks"]["ReloadOptionRoms"] = True # AMD GOP VBIOS injection for AMD GCN 1-4 GPUs - if self.constants.gop_injection is True: + if self.constants.amd_gop_injection is True: print("- Adding AMDGOP.efi") shutil.copy(self.constants.amd_gop_driver_path, self.constants.drivers_path) support.build_support(self.model, self.constants, self.config).get_efi_binary_by_path("AMDGOP.efi", "UEFI", "Drivers")["Enabled"] = True + # Nvidia Kepler GOP VBIOS injection + if self.constants.nvidia_kepler_gop_injection is True: + print("- Adding NVGOP_GK.efi") + shutil.copy(self.constants.nvidia_kepler_gop_driver_path, self.constants.drivers_path) + support.build_support(self.model, self.constants, self.config).get_efi_binary_by_path("NVGOP_GK.efi", "UEFI", "Drivers")["Enabled"] = True + + def spoof_handling(self): if self.constants.serial_settings == "None": return diff --git a/resources/constants.py b/resources/constants.py index 520342e6d..d589070f5 100644 --- a/resources/constants.py +++ b/resources/constants.py @@ -181,7 +181,8 @@ class Constants: self.allow_ts2_accel = True # Set TeraScale 2 Acceleration support self.force_nv_web = False # Force Nvidia Web Drivers on Tesla and Kepler self.force_output_support = False # Force Output support for Mac Pros with PC VBIOS - self.gop_injection = False # Set GOP Injection support + self.amd_gop_injection = False # Set GOP Injection support + self.nvidia_kepler_gop_injection = False # Set Kepler GOP Injection support ## Miscellaneous self.disallow_cpufriend = False # Disable CPUFriend @@ -258,6 +259,10 @@ class Constants: def amd_gop_driver_path(self): return self.payload_path / Path("Drivers/AMDGOP.efi") + @property + def nvidia_kepler_gop_driver_path(self): + return self.payload_path / Path("Drivers/NVGOP_GK.efi") + @property def xhci_driver_path(self): return self.payload_path / Path("Drivers/XhciDxe.efi") diff --git a/resources/gui/gui_main.py b/resources/gui/gui_main.py index f3a842280..45b19cc17 100644 --- a/resources/gui/gui_main.py +++ b/resources/gui/gui_main.py @@ -2581,23 +2581,33 @@ class wx_python_gui: self.timeout_spinner.Centre(wx.HORIZONTAL) # AMD GOP Injection - self.set_gop_injection = wx.CheckBox(self.frame_modal, label="AMD GOP Injection") - self.set_gop_injection.SetPosition(wx.Point( + self.set_amd_gop_injection = wx.CheckBox(self.frame_modal, label="AMD GOP Injection") + self.set_amd_gop_injection.SetPosition(wx.Point( 30, self.timeout_spinner.GetPosition().y + self.timeout_spinner.GetSize().height + 5)) - self.set_gop_injection.SetValue(self.constants.gop_injection) - self.set_gop_injection.Bind(wx.EVT_CHECKBOX, self.gop_injection_checkbox_click) + self.set_amd_gop_injection.SetValue(self.constants.amd_gop_injection) + self.set_amd_gop_injection.Bind(wx.EVT_CHECKBOX, self.amd_gop_injection_checkbox_click) models = ["iMac10,1", "iMac11,1", "iMac11,2", "iMac11,3", "iMac12,1", "iMac12,2", "MacPro3,1", "MacPro4,1", "MacPro5,1", "Xserve2,1", "Xserve3,1"] if (not self.constants.custom_model and self.computer.real_model not in models) or (self.constants.custom_model and self.constants.custom_model not in models): - self.set_gop_injection.Disable() + self.set_amd_gop_injection.Disable() + + # Nvidia Kepler GOP injection + self.set_nvidia_kepler_gop_injection = wx.CheckBox(self.frame_modal, label="Nvidia Kepler GOP Injection") + self.set_nvidia_kepler_gop_injection.SetPosition(wx.Point( + self.set_amd_gop_injection.GetPosition().x, + self.set_amd_gop_injection.GetPosition().y + self.set_amd_gop_injection.GetSize().height)) + self.set_nvidia_kepler_gop_injection.SetValue(self.constants.nvidia_kepler_gop_injection) + self.set_nvidia_kepler_gop_injection.Bind(wx.EVT_CHECKBOX, self.nvidia_kepler_gop_injection_checkbox_click) + if (not self.constants.custom_model and self.computer.real_model not in models) or (self.constants.custom_model and self.constants.custom_model not in models): + self.set_nvidia_kepler_gop_injection.Disable() # Disable Thunderbolt self.disable_thunderbolt_checkbox = wx.CheckBox(self.frame_modal, label="Disable Thunderbolt") self.disable_thunderbolt_checkbox.SetValue(self.constants.disable_tb) self.disable_thunderbolt_checkbox.Bind(wx.EVT_CHECKBOX, self.disable_tb_click) self.disable_thunderbolt_checkbox.SetPosition(wx.Point( - self.set_gop_injection.GetPosition().x, - self.set_gop_injection.GetPosition().y + self.set_gop_injection.GetSize().height)) + self.set_nvidia_kepler_gop_injection.GetPosition().x, + self.set_nvidia_kepler_gop_injection.GetPosition().y + self.set_nvidia_kepler_gop_injection.GetSize().height)) self.disable_thunderbolt_checkbox.SetToolTip(wx.ToolTip("Disables Thunderbolt support on MacBookPro11,x\nMainly applicable for systems that cannot boot with Thunderbolt enabled")) if not self.constants.custom_model and not self.computer.real_model.startswith("MacBookPro11"): self.disable_thunderbolt_checkbox.Disable() @@ -2846,13 +2856,21 @@ class wx_python_gui: print("Content Caching Disabled") self.constants.set_content_caching = False - def gop_injection_checkbox_click(self, event=None): - if self.set_gop_injection.GetValue(): - print("GOP Injection Enabled") - self.constants.gop_injection = True + def amd_gop_injection_checkbox_click(self, event=None): + if self.set_amd_gop_injection.GetValue(): + print("AMD GOP Injection Enabled") + self.constants.amd_gop_injection = True else: - print("GOP Injection Disabled") - self.constants.gop_injection = False + print("AMD GOP Injection Disabled") + self.constants.amd_gop_injection = False + + def nvidia_kepler_gop_injection_checkbox_click(self, event=None): + if self.set_nvidia_kepler_gop_injection.GetValue(): + print("Nvidia Kepler GOP Injection Enabled") + self.constants.nvidia_kepler_gop_injection = True + else: + print("Nvidia Kepler GOP Injection Disabled") + self.constants.nvidia_kepler_gop_injection = False def disable_tb_click(self, event=None): if self.disable_thunderbolt_checkbox.GetValue():