From dc70be2e590b995f24787f7b6a0bd423c81d5253 Mon Sep 17 00:00:00 2001 From: sangbum kim Date: Tue, 22 May 2018 20:44:50 +0900 Subject: [PATCH] =?UTF-8?q?10.13.4=20hdmi=20audio=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EFI/CLOVER/ACPI/patched/ssdt-1.aml | Bin 371 -> 392 bytes EFI/CLOVER/config-backup.plist | 146 +- EFI/CLOVER/config.plist | 84 +- .../10.12/FakePCIID.kext/Contents/Info.plist | 14 +- .../FakePCIID.kext/Contents/MacOS/FakePCIID | Bin 51464 -> 51464 bytes .../Contents/Info.plist | 12 +- .../Contents/Info.plist | 52 +- .../Contents/Info.plist | 60 +- .../Contents/Info.plist | 14 +- .../Contents/MacOS/FakePCIID_XHCIMux | Bin 46584 -> 46584 bytes .../10.12/FakeSMC.kext/Contents/Info.plist | 8 +- .../10.12/FakeSMC.kext/Contents/MacOS/FakeSMC | Bin 118296 -> 118040 bytes .../Contents/Info.plist | 6 +- .../Contents/Info.plist | 6 +- .../Contents/MacOS/CPUSensors | Bin 44392 -> 44392 bytes .../Contents/Info.plist | 6 +- .../Contents/MacOS/GPUSensors | Bin 117048 -> 117216 bytes .../Contents/Info.plist | 8 +- .../Contents/MacOS/LPCSensors | Bin 88544 -> 88544 bytes .../Contents/Info.plist | 20 +- .../Contents/MacOS/IntelMausiEthernet | Bin 166448 -> 166728 bytes .../kexts/10.12/Lilu.kext/Contents/Info.plist | 14 +- .../kexts/10.12/Lilu.kext/Contents/MacOS/Lilu | Bin 104472 -> 133920 bytes .../Contents/Info.plist | 79 + .../Contents/MacOS/NightShiftUnlocker | Bin 0 -> 35240 bytes .../Contents/Info.plist | 14 +- .../Contents/MacOS/NvidiaGraphicsFixup | Bin 47192 -> 67232 bytes .../Contents/Resources/FAQ.md | 49 - .../USBInjectAll.kext/Contents/Info.plist | 202 +- .../Contents/MacOS/USBInjectAll | Bin 42728 -> 42736 bytes .../10.12/realtekALC.kext/Contents/Info.plist | 379 ---- .../Contents/Info.plist | 79 + .../Contents/MacOS/NightShiftUnlocker | Bin 0 -> 35240 bytes .../Contents/Info.plist | 8 +- .../Contents/MacOS/NvidiaGraphicsFixup | Bin 51856 -> 67232 bytes .../Contents/Resources/FAQ.md | 90 - .../Contents/Info.plist | 79 + .../Contents/MacOS/NightShiftUnlocker | Bin 0 -> 35240 bytes .../Contents/Info.plist | 8 +- .../Contents/MacOS/NvidiaGraphicsFixup | Bin 51856 -> 67232 bytes .../Contents/Resources/FAQ.md | 90 - .../Contents/Resources/Scripts/main.scpt | Bin 18532 -> 18490 bytes ...ommand => audio_cloverALC-130_v0.5.command | 763 +++---- audio_cloverHDMI-130_v0.6.command | 1856 ---------------- audio_cloverHDMI-130_v0.8.command | 1940 +++++++++++++++++ 45 files changed, 3111 insertions(+), 2975 deletions(-) create mode 100755 EFI/CLOVER/kexts/10.12/NightShiftUnlocker.kext/Contents/Info.plist create mode 100755 EFI/CLOVER/kexts/10.12/NightShiftUnlocker.kext/Contents/MacOS/NightShiftUnlocker delete mode 100755 EFI/CLOVER/kexts/10.12/NvidiaGraphicsFixup.kext/Contents/Resources/FAQ.md delete mode 100755 EFI/CLOVER/kexts/10.12/realtekALC.kext/Contents/Info.plist create mode 100755 EFI/CLOVER/kexts/10.13/NightShiftUnlocker.kext/Contents/Info.plist create mode 100755 EFI/CLOVER/kexts/10.13/NightShiftUnlocker.kext/Contents/MacOS/NightShiftUnlocker delete mode 100755 EFI/CLOVER/kexts/10.13/NvidiaGraphicsFixup.kext/Contents/Resources/FAQ.md create mode 100755 EFI/CLOVER/kexts/Other/NightShiftUnlocker.kext/Contents/Info.plist create mode 100755 EFI/CLOVER/kexts/Other/NightShiftUnlocker.kext/Contents/MacOS/NightShiftUnlocker delete mode 100755 EFI/CLOVER/kexts/Other/NvidiaGraphicsFixup.kext/Contents/Resources/FAQ.md rename audio_cloverALC-130_v0.3.command => audio_cloverALC-130_v0.5.command (76%) delete mode 100755 audio_cloverHDMI-130_v0.6.command create mode 100755 audio_cloverHDMI-130_v0.8.command diff --git a/EFI/CLOVER/ACPI/patched/ssdt-1.aml b/EFI/CLOVER/ACPI/patched/ssdt-1.aml index 6bfa2cedd423f95f94a35b65ec1fbfb4a8dfd069..5753c4a2009d8bc4ae8dfda0757655c257bee426 100755 GIT binary patch delta 93 zcmey&)WOUZ9PAR(!N|bCXgZNg+Ra%kMxQx8*eO21+0!7v)!iVv$yvbNEy92!-q9t9 jfg?UR)Q?d_A>Px^lc9i%KSrMwSus#U07%`&Fj+;P`9PAQO%*epN$Uc!v+R#rVMxQx8*eO21+0!7v)!jgV8%PFl#0Q5sGDJ5y Z@wvN27;wZpx&$!*#X|iUH)hK+0swDV5j6k+ diff --git a/EFI/CLOVER/config-backup.plist b/EFI/CLOVER/config-backup.plist index b34dc57..e893d74 100755 --- a/EFI/CLOVER/config-backup.plist +++ b/EFI/CLOVER/config-backup.plist @@ -161,31 +161,17 @@ Comment - t1-10.12-AppleHDA/Realtek ALC... - Disabled - - Find - - ihnUEQ== - - Name - AppleHDA - Replace - - AAAAAA== - - - - Comment - t1-10.9-10.12-AppleHDA/Realtek ALC892 + t1-10.8-AppleHDA-Realtek-ALC892 Disabled Find ixnUEQ== + InfoPlistPatch + Name - AppleHDA + com.apple.driver.AppleHDA Replace kgjsEA== @@ -193,20 +179,62 @@ Comment - t1-AppleHDA/Resources/xml>zml + t1-AppleHDA-Resources-xml>zml-(cloverALC-all_codecs) Disabled Find eG1sLnps + InfoPlistPatch + Name - AppleHDA + com.apple.driver.AppleHDA Replace em1sLnps + + Comment + t1-10.12-AppleHDA-Realtek-ALC...(cloverALC-all_codecs) + Disabled + + Find + + ihnUEQ== + + InfoPlistPatch + + MatchOS + 10.12.x,10.13.x + Name + com.apple.driver.AppleHDA + Replace + + AAAAAA== + + + + Comment + t1-10.11-AppleHDA-Realtek-ALC...(cloverALC-all_codecs) + Disabled + + Find + + gxnUEQ== + + InfoPlistPatch + + MatchOS + 10.11.x + Name + com.apple.driver.AppleHDA + Replace + + AAAAAA== + + Comment change 15 port limit to 26 in XHCI kext (100-series) 10.12 @@ -216,6 +244,8 @@ g710////EA== + InfoPlistPatch + Name AppleUSBXHCIPCI Replace @@ -232,6 +262,8 @@ g72M/v//EA== + InfoPlistPatch + Name AppleUSBXHCIPCI Replace @@ -248,6 +280,8 @@ dW5sb2FkAA== + InfoPlistPatch + Name AppleGraphicsDevicePolicy Replace @@ -264,6 +298,8 @@ Q29uZmlnTWFwAA== + InfoPlistPatch + Name AppleGraphicsDevicePolicy Replace @@ -280,6 +316,8 @@ RGVmYXVsdAA= + InfoPlistPatch + Name AppleGraphicsDevicePolicy Replace @@ -294,6 +332,8 @@ cgoATWFjUHJvNCwxAE1hY1BybzUsMQBY + InfoPlistPatch + Name AppleTyMCEDriver Replace @@ -310,6 +350,8 @@ RXh0ZXJuYWw= + InfoPlistPatch + Name AppleAHCIPort Replace @@ -326,6 +368,8 @@ RmVhdHVyZUNvbnRyb2wA + InfoPlistPatch + Name AppleGraphicsDevicePolicy Replace @@ -342,6 +386,8 @@ Ym9hcmQtaWQ= + InfoPlistPatch + Name AppleGraphicsDevicePolicy Replace @@ -358,6 +404,8 @@ RURJRAA= + InfoPlistPatch + Name AppleGraphicsDevicePolicy Replace @@ -374,6 +422,8 @@ wegQD7bw + InfoPlistPatch + Name AppleAPIC Replace @@ -390,6 +440,8 @@ g32MEA== + InfoPlistPatch + Name AppleUSBXHCIPCI Replace @@ -397,6 +449,24 @@ g32MGw== + + Comment + 10.13.4 USB Port Limit Patch + Disabled + + Find + + g32UDw+DlwQAAA== + + InfoPlistPatch + + Name + AppleUSBXHCI + Replace + + g32UD5CQkJCQkA== + + RtVariables @@ -413,33 +483,45 @@ SMBIOS BiosReleaseDate - 06/12/13 + 02/08/2018 BiosVendor Apple Inc. BiosVersion - MP61.88Z.0116.B04.1312061508 + IM171.88Z.0151.B00.1802080854 Board-ID - Mac-F60DEB81FF30ACF6 + Mac-B809C3757DA9BB8D BoardManufacturer Apple Inc. + BoardSerialNumber + C02713102GUF653AD BoardType - 11 + 10 + BoardVersion + 1.0 ChassisAssetTag - Pro-Enclosure + iMac-Aluminum ChassisManufacturer Apple Inc. ChassisType - 06 + 0x09 Family - Mac Pro + iMac17,1 + FirmwareFeatures + 0xFC0FE137 + FirmwareFeaturesMask + 0xFF1FFF3F + LocationInChassis + Part Component Manufacturer Apple Inc. - ProductName - MacPro6,1 - SerialNumber - C02LXDOMF693 - Trust + Mobile + PlatformFeature + 0x00 + ProductName + iMac17,1 + SerialNumber + C02THUZCGG7L Version 1.0 diff --git a/EFI/CLOVER/config.plist b/EFI/CLOVER/config.plist index 3f268a3..39a610b 100755 --- a/EFI/CLOVER/config.plist +++ b/EFI/CLOVER/config.plist @@ -161,25 +161,7 @@ Comment - t1-10.12-AppleHDA/Realtek ALC... - Disabled - - Find - - ihnUEQ== - - InfoPlistPatch - - Name - AppleHDA - Replace - - AAAAAA== - - - - Comment - t1-10.9-10.12-AppleHDA/Realtek ALC892 + t1-10.8-AppleHDA-Realtek-ALC892 Disabled Find @@ -189,7 +171,7 @@ InfoPlistPatch Name - AppleHDA + com.apple.driver.AppleHDA Replace kgjsEA== @@ -197,7 +179,7 @@ Comment - t1-AppleHDA/Resources/xml>zml + t1-AppleHDA-Resources-xml>zml-(cloverALC-all_codecs) Disabled Find @@ -207,12 +189,52 @@ InfoPlistPatch Name - AppleHDA + com.apple.driver.AppleHDA Replace em1sLnps + + Comment + t1-10.12-AppleHDA-Realtek-ALC...(cloverALC-all_codecs) + Disabled + + Find + + ihnUEQ== + + InfoPlistPatch + + MatchOS + 10.12.x,10.13.x + Name + com.apple.driver.AppleHDA + Replace + + AAAAAA== + + + + Comment + t1-10.11-AppleHDA-Realtek-ALC...(cloverALC-all_codecs) + Disabled + + Find + + gxnUEQ== + + InfoPlistPatch + + MatchOS + 10.11.x + Name + com.apple.driver.AppleHDA + Replace + + AAAAAA== + + Comment change 15 port limit to 26 in XHCI kext (100-series) 10.12 @@ -445,6 +467,24 @@ g32UD5CQkJCQkA== + + Comment + 10.13.4 HDMIAUDIO PATCH + Disabled + + Find + + 3hALDg== + + InfoPlistPatch + + Name + com.apple.driver.AppleHDAController + Replace + + 3hC6Dw== + + RtVariables diff --git a/EFI/CLOVER/kexts/10.12/FakePCIID.kext/Contents/Info.plist b/EFI/CLOVER/kexts/10.12/FakePCIID.kext/Contents/Info.plist index 0a0e300..73ed504 100755 --- a/EFI/CLOVER/kexts/10.12/FakePCIID.kext/Contents/Info.plist +++ b/EFI/CLOVER/kexts/10.12/FakePCIID.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 16F73 + 17E199 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.3.9 + 1.3.12 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,11 +25,11 @@ MacOSX CFBundleVersion - 1.3.9 + 1.3.12 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 8E2002 + 9E145 DTPlatformVersion GM DTSDKBuild @@ -37,11 +37,11 @@ DTSDKName macosx10.6 DTXcode - 0832 + 0930 DTXcodeBuild - 8E2002 + 9E145 OSBundleCompatibleVersion - 1.3.9 + 1.3.12 OSBundleLibraries com.apple.iokit.IOPCIFamily diff --git a/EFI/CLOVER/kexts/10.12/FakePCIID.kext/Contents/MacOS/FakePCIID b/EFI/CLOVER/kexts/10.12/FakePCIID.kext/Contents/MacOS/FakePCIID index c3548cf26043b7f3b58819fbc2a7f3243c482e9f..ab52f7642cbd97196aa7aa8d12518d54d63e621b 100755 GIT binary patch delta 3034 zcmZXW4@{J09LL}H?!Z&egBLjN_~YRrm4MuNbZlh)=@jGzPO)jZGIL0+m1Wo@HBGQ= zay!|OpPO1>qML2H;pnX4S_{OvEJ||BX>Jg%8fMdGu3R>*?{n|(Suo%2?t9d!V_^+}vhvZPt#ZDDkI#x}nFq57(HJmOr=MdZ%FFXB`cRZ*OhrBESEWXtKp( zf8-fG{L8A9dia6fQnC+S^oXNkhN7J9LGLk%Iu{Fh99$wnQnT#e8$fwtRd(3PXr zO{TBg+A^{zn3kq~LC>ZgRG*~VX#s1&R53@#JSuSHHzCexDNW^)KX>9gSUvKSL+dOVuhGNiVRTHBcXE&f>Zfw}>yfmk5bC zP9xQ%<+7)OhZB+zwXR>RuimoIB+N~*B@-9?X^}PJXb~BXqHRnBV9x^CG?4O``VoEa z%u#pHZD;k|S7tu6UHgskzeAEqy|>WIuDnzyI!xZK@2K51J9#vF(r$f7mt3=wyC=if zDCWAYX3_1842L~IQT!LNDS6SdDf)f}zR>^+-ZFTqGGk z%ES+=-ZJxe2F7dIu@Z}rYeA~sPz7NIMFO>Bd@nkVTKo_>~^do?Tdg zd`Pc{hhwcPvEF-nw>UA)egqqMZSci)v7=2`Q)e}L_cFm zk4e^Z?{#J7XjiQc;c_-B^QItI4$shD-axNb*9iq*_#o92>aE$3N^&xhgseP%DVLVRVycPkbZVE2( zX>x@^Oy|UDF~`2dw3zx3yPD}vrmIO^>eDtb?PR)vf}jVO_A@;|yFrJT{>F5O`amtb z9i}p4z7|r;d|H5MCer`~LFLx1WqO5ngUStTV>(8Cpcm4OUAoBh0;%Ob&C4ex#?(te zP2mzUYwX>(1EIzanta{O|wcbkn7UR;FS391NtL6R6+v?5W0=^3~Mvu1Rr2sj|sdFe~|SaidFb0@B%{T z!-t_Ym_P?KAL9w_gg>G-Dn&a0jsTp)05~;8H&|Q2h3{wmlXV>J9&jtX&~(;XtmJI? luaP((8e{cgV!|IooX~5mQ!%l88-R+Lz6`C4hIclG{sYqvN5lXC delta 3046 zcmZXWe@xV69LK-kJHQhG?|a7qf&z!gK)~}5jg}%OqNkjqS<^CPWLhm7LYPxAAb)W? zS?I?p&a}{FOVL2OCLGS0jpJ#*h-Qdmp^?W{`@AG}0 z=ksXYeq-H!V?&*G(xL>O#&NoyY(89MG`GFC>-|X4mob0Ek9gQzH3E#zbN6Z4?a#8Evf2ZdT2>dw~*Odm~k{rQHnbo zMkZeh4J7Zt$f)E#+G9<&{$$6f_m0Q=k1Tqb&RHj$KLQ^C8|jfX(OfbbzD4%P>FT%i zV&oz9Il3R2ZAuv{=4H#E6k9Si*v7;~0}RZs88lU{tQpMMv=tu{p~uA223xWzTsKkF zXp1)m=_ZWM+2*KI=$S3oxz-dYxB)V-X6KDcPtBlV)7z+G(gz~MKmq(p-IvfiQ3)~q zV**)EAp;Q@Jf-`u=y+6)x`1v(O*MV3qq7tqo%OmiUc}FQ7y|LxPNUSQl?t_jdxOUz zs<=}ut-F5C&?J~Y#XgK&>m{P9&*l{sKE+tS2*5^7r>5vs!yzj@vcwxUTS>D{r?{Bd zjJ2Z5=#x0iEFS10|weYF*@fU@Nh#9z5#Jox6i0A zubx`hIbg=uOc?ogZ|`c?n&M9X)rlV(wb{{PhZSWn_C-8pRGR1r&A@>X&nzpcLDLMY ztZ3^fll^+6j^*zMHu;yX-F`K#ObzYjn<6V3*&i4hMUkcCPEQ;g5~By2sXX1GX8D`a z#~aihe{<$$qq>{YoM+Tfaymcvn}c#x!=(w-Y>Zc1=+_y0)CwxiKA}F3N-y~HX7-G; zUt2!)6;VvZ&oum!*VEd0ijpimIb9A-PGuL6WL0gz!VcJ6WMGmcx=^dth0cyduBc8`hE!2eAOH5PT z`nO%8yP$hx_1Ge&d&$1oq4hA`$h3z_7dxs$aeIpA08{Bj%OvBcN(|x=ekp#9^rEG9 zbN)A+FTKnM4m>h{q({Dgd|`(gB>I$o@x11etvIt#Q6i8c&(liw@+56xFVD~(_AOMt z}AjFVlO+Zk-fax&gwo%k=NHf4v>u$ zgnypILRI*imX%DcuEKd$RV6biPS=~Poj7rVKfnc@3k}1)C-i&PzgQ>XjuSi;el9eN zHIKCu`EKwX@IqJPyM-RrwK}sHjVQor@!t{XZ6qv$<{&_56>BSN9pVJP!nzg{*a3fp z^(mTF_&N9hp}Fv0=n72WC^QrA6Z#qaF|}IBtOhs+Z~-sCsmc6<^#Hi=7g?XM8lZOY uFxFVsby&&C;8##M4Qj-Mgw9|+i8$eJv4&$}X<-1tnCUv`n|^OqwdX%A4@w9C diff --git a/EFI/CLOVER/kexts/10.12/FakePCIID_Intel_GbX.kext/Contents/Info.plist b/EFI/CLOVER/kexts/10.12/FakePCIID_Intel_GbX.kext/Contents/Info.plist index 610be3c..3fbe6b0 100755 --- a/EFI/CLOVER/kexts/10.12/FakePCIID_Intel_GbX.kext/Contents/Info.plist +++ b/EFI/CLOVER/kexts/10.12/FakePCIID_Intel_GbX.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 16F73 + 17E199 CFBundleIdentifier org.rehabman.injector.FakePCIID-Intel-GbX CFBundleInfoDictionaryVersion @@ -13,17 +13,17 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.3.9 + 1.3.12 CFBundleSupportedPlatforms MacOSX CFBundleVersion - 1.3.9 + 1.3.12 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 8E2002 + 9E145 DTPlatformVersion GM DTSDKBuild @@ -31,9 +31,9 @@ DTSDKName macosx10.6 DTXcode - 0832 + 0930 DTXcodeBuild - 8E2002 + 9E145 IOKitPersonalities Intel GbX diff --git a/EFI/CLOVER/kexts/10.12/FakePCIID_Intel_HDMI_Audio.kext/Contents/Info.plist b/EFI/CLOVER/kexts/10.12/FakePCIID_Intel_HDMI_Audio.kext/Contents/Info.plist index 79f611e..e00fe65 100755 --- a/EFI/CLOVER/kexts/10.12/FakePCIID_Intel_HDMI_Audio.kext/Contents/Info.plist +++ b/EFI/CLOVER/kexts/10.12/FakePCIID_Intel_HDMI_Audio.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 16F73 + 17E199 CFBundleIdentifier org.rehabman.injector.FakePCIID-Intel-HDMI-Audio CFBundleInfoDictionaryVersion @@ -13,17 +13,17 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.3.9 + 1.3.12 CFBundleSupportedPlatforms MacOSX CFBundleVersion - 1.3.9 + 1.3.12 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 8E2002 + 9E145 DTPlatformVersion GM DTSDKBuild @@ -31,9 +31,9 @@ DTSDKName macosx10.6 DTXcode - 0832 + 0930 DTXcodeBuild - 8E2002 + 9E145 IOKitPersonalities Intel HDMI Audio - 100-series 0x9d70 @@ -76,6 +76,26 @@ IOProviderClass IOPCIDevice + Intel HDMI Audio - 100-series 0x9d74 + + CFBundleIdentifier + org.rehabman.driver.FakePCIID + FakeProperties + + RM,device-id + + cKEAAA== + + + IOClass + FakePCIID + IOMatchCategory + FakePCIID + IOPCIPrimaryMatch + 0x9d748086 + IOProviderClass + IOPCIDevice + Intel HDMI Audio - 100-series 0xa170 CFBundleIdentifier @@ -136,6 +156,26 @@ IOProviderClass IOPCIDevice + Intel HDMI Audio - 300-series 0xa348 + + CFBundleIdentifier + org.rehabman.driver.FakePCIID + FakeProperties + + RM,device-id + + cKEAAA== + + + IOClass + FakePCIID + IOMatchCategory + FakePCIID + IOPCIPrimaryMatch + 0xa3488086 + IOProviderClass + IOPCIDevice + Intel HDMI Audio - Haswell CFBundleIdentifier diff --git a/EFI/CLOVER/kexts/10.12/FakePCIID_Intel_HD_Graphics.kext/Contents/Info.plist b/EFI/CLOVER/kexts/10.12/FakePCIID_Intel_HD_Graphics.kext/Contents/Info.plist index ba2c8d3..c0ed9bf 100755 --- a/EFI/CLOVER/kexts/10.12/FakePCIID_Intel_HD_Graphics.kext/Contents/Info.plist +++ b/EFI/CLOVER/kexts/10.12/FakePCIID_Intel_HD_Graphics.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 16F73 + 17E199 CFBundleIdentifier org.rehabman.injector.FakePCIID-Intel-HD-Graphics CFBundleInfoDictionaryVersion @@ -13,17 +13,17 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.3.9 + 1.3.12 CFBundleSupportedPlatforms MacOSX CFBundleVersion - 1.3.9 + 1.3.12 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 8E2002 + 9E145 DTPlatformVersion GM DTSDKBuild @@ -31,9 +31,9 @@ DTSDKName macosx10.6 DTXcode - 0832 + 0930 DTXcodeBuild - 8E2002 + 9E145 IOKitPersonalities HD4200 HD4400 HD4600 P4600 @@ -156,6 +156,54 @@ IOProviderClass IOPCIDevice + UHD620 KabyLake-R + + CFBundleIdentifier + org.rehabman.driver.FakePCIID + FakeProperties + + RM,device-id + + FlkAAA== + + + IOClass + FakePCIID + IOMatchCategory + FakePCIID + IOPCIClassMatch + 0x03000000&0xff000000 + IOPCIPrimaryMatch + 0x59168086 0x59178086 + IOProbeScore + 9001 + IOProviderClass + IOPCIDevice + + UHD630 CoffeeLake + + CFBundleIdentifier + org.rehabman.driver.FakePCIID + FakeProperties + + RM,device-id + + kj4AAA== + + + IOClass + FakePCIID + IOMatchCategory + FakePCIID + IOPCIClassMatch + 0x03000000&0xff000000 + IOPCIPrimaryMatch + 0x3e918086 0x3e928086 + IOProbeScore + 9001 + IOProviderClass + IOPCIDevice + OSBundleRequired Root diff --git a/EFI/CLOVER/kexts/10.12/FakePCIID_XHCIMux.kext/Contents/Info.plist b/EFI/CLOVER/kexts/10.12/FakePCIID_XHCIMux.kext/Contents/Info.plist index 18376af..1125799 100755 --- a/EFI/CLOVER/kexts/10.12/FakePCIID_XHCIMux.kext/Contents/Info.plist +++ b/EFI/CLOVER/kexts/10.12/FakePCIID_XHCIMux.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 16F73 + 17E199 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.3.9 + 1.3.12 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,11 +25,11 @@ MacOSX CFBundleVersion - 1.3.9 + 1.3.12 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 8E2002 + 9E145 DTPlatformVersion GM DTSDKBuild @@ -37,9 +37,9 @@ DTSDKName macosx10.6 DTXcode - 0832 + 0930 DTXcodeBuild - 8E2002 + 9E145 IOKitPersonalities XHCIMux 7-series @@ -142,7 +142,7 @@ com.apple.kpi.unsupported 8.0.0 org.rehabman.driver.FakePCIID - 1.3.9 + 1.3.12 OSBundleRequired Root diff --git a/EFI/CLOVER/kexts/10.12/FakePCIID_XHCIMux.kext/Contents/MacOS/FakePCIID_XHCIMux b/EFI/CLOVER/kexts/10.12/FakePCIID_XHCIMux.kext/Contents/MacOS/FakePCIID_XHCIMux index c26d8b5ea0788c2b748820f94d3d3682885e7a56..b5b72c08d7b4e9dfba21974499dab5165b372ba6 100755 GIT binary patch delta 88 zcmezIn(4=DrVTHc`6Ft$0=Yd647M7w?Pp?|xLHxDopG}OiwEQ8V{C63x#o8;Ffe#@ svu3hy-pe5_!(?bQnUTe6vw-RWZkE-hx1%;+F{t5WSp{N+SS_gr09;)j?f?J) delta 83 zcmezIn(4=DrVTHc1x`*%I#Pev_-E_ut40pn<)3ceD0Gf#^D(x!j9jb*> BuildMachineOSBuild - 16F73 + 17E199 CFBundleDevelopmentRegion English CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 6.25-333-g05e0f4be.1759 + 6.26-344-g1cf53906.1787 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,7 +25,7 @@ MacOSX CFBundleVersion - 1759 + 1787 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild @@ -274,7 +274,7 @@ RM,Build Release-rehabman RM,Version - FakeSMC 1759 + FakeSMC 1787 FakeSMCKeyStore diff --git a/EFI/CLOVER/kexts/10.12/FakeSMC.kext/Contents/MacOS/FakeSMC b/EFI/CLOVER/kexts/10.12/FakeSMC.kext/Contents/MacOS/FakeSMC index 1cfc167ec7bb557f957ec7b9fa5cdab137251951..0a02c621fb28c24962104d206421046605d7db94 100755 GIT binary patch delta 15707 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 diff --git a/EFI/CLOVER/kexts/10.12/FakeSMC_ACPISensors.kext/Contents/Info.plist b/EFI/CLOVER/kexts/10.12/FakeSMC_ACPISensors.kext/Contents/Info.plist index 5adfb2f..ad1ec5a 100755 --- a/EFI/CLOVER/kexts/10.12/FakeSMC_ACPISensors.kext/Contents/Info.plist +++ b/EFI/CLOVER/kexts/10.12/FakeSMC_ACPISensors.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 16F73 + 17E199 CFBundleDevelopmentRegion English CFBundleExecutable @@ -15,7 +15,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 6.25-333-g05e0f4be.1759 + 6.26-344-g1cf53906.1787 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -23,7 +23,7 @@ MacOSX CFBundleVersion - 1759 + 1787 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild diff --git a/EFI/CLOVER/kexts/10.12/FakeSMC_CPUSensors.kext/Contents/Info.plist b/EFI/CLOVER/kexts/10.12/FakeSMC_CPUSensors.kext/Contents/Info.plist index aab5ef4..260c999 100755 --- a/EFI/CLOVER/kexts/10.12/FakeSMC_CPUSensors.kext/Contents/Info.plist +++ b/EFI/CLOVER/kexts/10.12/FakeSMC_CPUSensors.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 16F73 + 17E199 CFBundleDevelopmentRegion English CFBundleExecutable @@ -15,7 +15,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 6.25-333-g05e0f4be.1759 + 6.26-344-g1cf53906.1787 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -23,7 +23,7 @@ MacOSX CFBundleVersion - 1759 + 1787 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild diff --git a/EFI/CLOVER/kexts/10.12/FakeSMC_CPUSensors.kext/Contents/MacOS/CPUSensors b/EFI/CLOVER/kexts/10.12/FakeSMC_CPUSensors.kext/Contents/MacOS/CPUSensors index 07c28b0ada2ec9c78a3d4423792acd1189670310..2075d5dd01b5512c750c9853bc74ada8db871838 100755 GIT binary patch delta 3090 zcmZ8j3vg7`89tljZkES#@*vO6V>j;riHQUuxJv>G+zb&IgbI{~Ora<;wLCUWX|21E zyTWE&UZ+l(wuVwitnVQMSWF*ugg877xNwLnwW+T4Esy}Jb1nX}*j zI_LlYbN=(6J3N>$JeY87Z&J$j1A~0^4_zmAU%PO1@kIB|o})<(lSOONgr3VO2NO(B z_iRspFVVw℞_K0@lVl#=KE8_q_r>qFTJsde6+z^!l0I-e~4?OT7`*8_ni>_CU*f z&&k1z_Eg5?4U;=%)5qFS=r7G{x2P*EjQIzW`kfi=OL=ct4qAJ4qoiH3X+XOi`fT^{ z6!ifZd87Nd^0}EYk2l)Im5ZRfQ7c!bLN`(o`qiJSSF0A#p=&Jfa-^w9y1x_AV>B)B04S%oD z+zVXfn)~X-`K%JpR8mt^?ny4nl=~7O>6?Yc z`GfrAKx8<@FO|ZF-&%}+U$`wx4oJ;2A&{m}ERkWmU$PJtlr|z#*)P5NAaSnsI?RgN z8PkLJh24cs0dwu8+RIm2(hAez>)wWV7*={ zCgfHuJzc}tyU5K*juIPBOZG>2Z^ltrU>`n!QEgcEU(iF91BnR!0%Uiu`JC|NE-~#A zALdq+Fic}yS&aj3I{Uml0UUnVbyiAHgC&oNEL%b95j!n%Ry!Cn0((s?vX$rmJP%dR z*GWfod^UW8w@5vpZ}1drkGO8D6@Rd$nq+a_mNj8{OuiiQg)^!jpd0WpuE?XjS1JM5 z9I$=|(KP!%lp`Z{NHe;s;WOw`L`&WxQ&7B;H^;KGkVF~nqA9=3v`S3QpJiEUh|+aY ziP)N7Y`cv6qHjQRu(U{5zf_}XT63@}SG<+)UfW$j$ryXoq@8W*(Cpl|6BYrf9X?%M zxEr2_sJ0im^wMr{%|f}m=csh8LqzMf9-<;wWt@BnlQngoNwgGHTUOBW!Hi7tvw{Xs z3YhT|2}nIv@jFza-yy#L7}kU@u6zPQ_s5lUAk|cCwSJxW{+CHb-njA(+!@zOc^#xW zfY@Pc{e8hj`ii zkVPCRsLTHx$331mN*0x9GHkUxam2m=RsRqBBME7F!eO6U*x_oOPL36Zbee;%7cgB8 z#*gh0vDPs!`LvC(h5jL7DsY(cMZ}S9nkfbyE7Gq(9zV|c+L=cmE^QSJMLCvXk_R(f zqP3_Y?Nu=2@u2435N{V1Sl%&gj*Gt)HKexRV-t|}it^$DPaYiuwM%zeynE><;Y*~e z5OkfgV&zf2-a4({uSAy}D&)!)FjA}^Ol9mQZyC5bpQr9yiLHi? zR}ZwAdEf+$jcrOaVoJ)7#Narq}uus`V_R)>B5FHquPilWtpQc%#X>w`rw~rs-l!X*KTk zFG`oxjv&nOjqNe1gEuwJY36%gNAgaID@TF-(ybE4HmcV^Q_J(Tp`)rV!V>RXN&8m3 zbA1)rHB9C&N4D3>eMxp^Nr5f#JL<;EGDtGC`!w{<9nO7jv$M-RG*TNkXxj>9Jt@D{ zhaO-|PrsvG0c{#-=ZN02V$&QkSl0aQYX~BC>xMv%JZ8LLHL>eQ2)p{%7 z$_bKFRdA)7#v(~NbD-lOKXGRP6XMA;43jyK6PEEbg~!^>zH#={Bt0T z+qjHMDt;RS(kIxoj@wCG`2xvw+)ij~?Uy*FEmxD#Z~CP~&>Q26bKecTEpYG*IY?J8 zf{W|g$nkQL=k`m#FJf$!`r7^KI#P>G6;nJv`5!I*1DI`ApS<6!k2ChZ1@Y(=kJpeo zMyGTf*3OAsX~0}(LcdfCeyv)G*(0NxX8zI`hyH2cS1}p!aar8P?1>o<$BgeNAn*FO zu>k3arpZLtfc_2eaf~0wc%n&m{~&qX?tUHdne=xUgBIF^3=U(M#>88dxguPdRMZbP z6KT@OKq7=@oJX9`7=>x(nz$-%O6a<48qs7!L;bI&Rb$!sco(`jO-TAT~&+ zx}LJR-4A&#;rii8sd^UolhA|4Nq8=XRp`0IAB^Dwyhp^R<6R_NY&Wnwh7%kHPoF2G zzY@b0I8Wlw#&8}=4}4KoF=~_)o)~@|=kWzW@~_3VZ4If(a984* qJO5{ZEXJM!_b*s&27U=G;eI4csKxNpo;5r8-2Vfl4sc2U delta 3073 zcmZ8j4Nz3q6@H8RaEY#$pDr%H`@`}pf1*f)-2jep9(8L{O{)eW(h@XnGYz^Jbs87K zTX9)8KyRB`V{8(WOhY?~4HcG2OxftHph**BrcKpMVA49gkk%9;1w+_=_q|;Zcjob( zzkAL-_ndPtqgNwFuST3cqK=MLPZ;7f<;TxNsncinAJg@`s4ibhcdDa$hNHV8RQLAm zi95T<*|e^~qg}t6=3YvcYzXgU9TIIphUQCU-2Tlq-MInsMk@ahs|-%HyC z)#c!bj~(;asg;w+S6&xRmqS8=XAv?kMM$I>?9`wY1do=_pr*tu)iwIvL{n~mA!J_L zrwd{$>ux}H=elRYqzr-k{dcmiD! zLADNz3nWLj+#Ryq4a@s;Hx#f#zl?cUPkMPPIJ-yNg#FpwmjwTq5mH@mK0JACC+NQ9 z4XRh@+2ngQT?Qu7bc+# z4PfSr?ct@o@Z4GCxg#BeI8b;a;+G&~k3<{+DP`j%;R;*pyZ<_XGnT7n=!?d*x!{WmIcgQ(TC$&mUQ3 z;P4E>t6FV`REG)&UZzw(iQ1SSENb>tc>g|9I@dmQ?8^do=plyQj3t2a`UxoJ@C~$Vj$u) zvh?BOt_))&CNL2bn3>PNgIlX7ZF%ex-9+tS3El)P$M()qTg(Z+v{=JFweXBeO zwq3EXZoyiiUv1>LXhy+uPewmxUs;qNUexqB3X_KgV_U4xIR0!s*%UXY+6icP&9GO0j7@|_cL?Oz_msD@Ff_Agm|A{6#crm~4~@z5OwP`Zh`(g=c=`B<=wfpD zT@??~mdxao8VCaX?lhzy-Uo4Q#RY}ET%m?6-I`J`VO3K##AlG;I~rsrcUG1AFq`7B z$~hZ7Y>v}6GUH3?;8s0rUGij{@}_-@-kKZ#0DsxcaX*lT@E9&w`$Ou;G8<0dQ48>0 zFnLUJ-)(Y@(9@YZ=f}`m?;+w&*jgh3{1)&JOB-SB;inM0bxQ4!TBjn2>qkf;z^{V- zL1_i_4W02={S#>bDb(X%Kok$0=)#jHWV@a`Z0?lsQWFo1ZE^6D|6 z40quwWca5L>To|Z{y+$G@R%|F(-3B3ju?M5gkvErFe&oE5Uxf=ncZt4G@|O@&3QZq znkni+cs+y;{CC0RH)&&IdCX00XDzrb*apK9>Ti5xyBYUdE4Wx}-UW1r@IlBKe^HPB z|Nl0Mq~CGvY%Sc dal66&16Gd#{|+s~MkLH|B!t^~w(ljS{|9Nmi~axr diff --git a/EFI/CLOVER/kexts/10.12/FakeSMC_GPUSensors.kext/Contents/Info.plist b/EFI/CLOVER/kexts/10.12/FakeSMC_GPUSensors.kext/Contents/Info.plist index 35388e7..512542e 100755 --- a/EFI/CLOVER/kexts/10.12/FakeSMC_GPUSensors.kext/Contents/Info.plist +++ b/EFI/CLOVER/kexts/10.12/FakeSMC_GPUSensors.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 16F73 + 17E199 CFBundleDevelopmentRegion English CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 6.25-333-g05e0f4be.1759 + 6.26-344-g1cf53906.1787 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,7 +25,7 @@ MacOSX CFBundleVersion - 1759 + 1787 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild diff --git a/EFI/CLOVER/kexts/10.12/FakeSMC_GPUSensors.kext/Contents/MacOS/GPUSensors b/EFI/CLOVER/kexts/10.12/FakeSMC_GPUSensors.kext/Contents/MacOS/GPUSensors index 062f7ca33ca0b8f04f59a0abe722bc119b57b539..bc7afe94121e6da31ea33c1ae247a3d220669cd2 100755 GIT binary patch delta 27741 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 delta 25851 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 diff --git a/EFI/CLOVER/kexts/10.12/FakeSMC_LPCSensors.kext/Contents/Info.plist b/EFI/CLOVER/kexts/10.12/FakeSMC_LPCSensors.kext/Contents/Info.plist index dcf265e..3ed8370 100755 --- a/EFI/CLOVER/kexts/10.12/FakeSMC_LPCSensors.kext/Contents/Info.plist +++ b/EFI/CLOVER/kexts/10.12/FakeSMC_LPCSensors.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 16F73 + 17E199 CFBundleDevelopmentRegion English CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 6.25-333-g05e0f4be.1759 + 6.26-344-g1cf53906.1787 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,7 +25,7 @@ MacOSX CFBundleVersion - 1759 + 1787 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild @@ -2999,6 +2999,8 @@ Nuvoton,NCT6791D Nuvoton,NCT6792D Nuvoton,NCT6793D + Nuvoton,NCT6795D + Nuvoton,NCT6796D IOProbeScore 3000 diff --git a/EFI/CLOVER/kexts/10.12/FakeSMC_LPCSensors.kext/Contents/MacOS/LPCSensors b/EFI/CLOVER/kexts/10.12/FakeSMC_LPCSensors.kext/Contents/MacOS/LPCSensors index 89512cf4e7258d1ca6b4592497e57f58e49c7120..6021180c096a9e485710b1067fe6ea3468bba8c1 100755 GIT binary patch delta 14227 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 delta 13837 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 Cfs$1K diff --git a/EFI/CLOVER/kexts/10.12/IntelMausiEthernet.kext/Contents/Info.plist b/EFI/CLOVER/kexts/10.12/IntelMausiEthernet.kext/Contents/Info.plist index ce7e348..6ab06c7 100755 --- a/EFI/CLOVER/kexts/10.12/IntelMausiEthernet.kext/Contents/Info.plist +++ b/EFI/CLOVER/kexts/10.12/IntelMausiEthernet.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 16D32 + 17E199 CFBundleDevelopmentRegion English CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 2.2.1d1 + 2.4.0d0 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,21 +25,21 @@ MacOSX CFBundleVersion - 2.2.1d1 + 2.4.0d0 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 8C1002 + 9E145 DTPlatformVersion GM DTSDKBuild - 16C58 + 15E60 DTSDKName - macosx10.12 + macosx10.11 DTXcode - 0821 + 0930 DTXcodeBuild - 8C1002 + 9E145 IOKitPersonalities IntelMausi @@ -47,11 +47,11 @@ CFBundleIdentifier com.insanelymac.IntelMausiEthernet Driver_Version - 2.2.1d1 + 2.4.0d0 IOClass IntelMausi IOPCIMatch - 0x10EA8086 0x10EB8086 0x10EF8086 0x10F08086 0x15028086 0x15038086 0x153A8086 0x153B8086 0x155A8086 0x15598086 0x15A08086 0x15A18086 0x15A28086 0x15A38086 0x156F8086 0x15708086 0x15B78086 0x15B88086 0x15d68086 0x15d78086 0x15d88086 0x15e38086 + 0x10EA8086 0x10EB8086 0x10EF8086 0x10F08086 0x15028086 0x15038086 0x153A8086 0x153B8086 0x155A8086 0x15598086 0x15A08086 0x15A18086 0x15A28086 0x15A38086 0x156F8086 0x15708086 0x15B78086 0x15B88086 0x15D78086 0x15D88086 0x15E38086 0x15D68086 0x15BD8086 0x15BE8086 0x15BB8086 0x15BC8086 0x15DF8086 0x15E08086 0x15E18086 0x15E28086 IOProbeScore 1000 IOProviderClass diff --git a/EFI/CLOVER/kexts/10.12/IntelMausiEthernet.kext/Contents/MacOS/IntelMausiEthernet b/EFI/CLOVER/kexts/10.12/IntelMausiEthernet.kext/Contents/MacOS/IntelMausiEthernet index 3f49bd194fa7e3bb826516d5cddc4d4b5f96bbf5..81c66af6dbc7655326d3bf017f5a256720b5bc0e 100755 GIT binary patch literal 166728 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

=zr%MZ%Ce|-e*TyO1jiLW+mkjkA;p`U=>&ep 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 SoD#H)7H=`sF)U}qKmQl!pc3@} diff --git a/EFI/CLOVER/kexts/10.12/Lilu.kext/Contents/Info.plist b/EFI/CLOVER/kexts/10.12/Lilu.kext/Contents/Info.plist index 69dc308..f20a590 100755 --- a/EFI/CLOVER/kexts/10.12/Lilu.kext/Contents/Info.plist +++ b/EFI/CLOVER/kexts/10.12/Lilu.kext/Contents/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 16G29 + 17E199 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.2.0 + 1.2.3 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,21 +25,21 @@ MacOSX CFBundleVersion - 1.2.0 + 1.2.3 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 9A235 + 9E145 DTPlatformVersion GM DTSDKBuild - 17A360 + 17E189 DTSDKName macosx10.13 DTXcode - 0900 + 0930 DTXcodeBuild - 9A235 + 9E145 IOKitPersonalities as.vit9696.Lilu diff --git a/EFI/CLOVER/kexts/10.12/Lilu.kext/Contents/MacOS/Lilu b/EFI/CLOVER/kexts/10.12/Lilu.kext/Contents/MacOS/Lilu index e12dedfb4b444a2efb16591195e1b3cfee033d35..303cca3ab2e641b88e307239a2c599ce0c7f5855 100755 GIT binary patch literal 133920 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 literal 104472 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 diff --git a/EFI/CLOVER/kexts/10.12/NightShiftUnlocker.kext/Contents/Info.plist b/EFI/CLOVER/kexts/10.12/NightShiftUnlocker.kext/Contents/Info.plist new file mode 100755 index 0000000..c432e97 --- /dev/null +++ b/EFI/CLOVER/kexts/10.12/NightShiftUnlocker.kext/Contents/Info.plist @@ -0,0 +1,79 @@ + + + + + BuildMachineOSBuild + 17A405 + CFBundleDevelopmentRegion + en + CFBundleExecutable + NightShiftUnlocker + CFBundleIdentifier + science.firewolf.NightShiftUnlocker + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + NightShiftUnlocker + CFBundlePackageType + KEXT + CFBundleShortVersionString + 2.2.1 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 2.2.1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 8E3004b + DTPlatformVersion + GM + DTSDKBuild + 16E185 + DTSDKName + macosx10.12 + DTXcode + 0833 + DTXcodeBuild + 8E3004b + IOKitPersonalities + + science.firewolf.NightShiftUnlocker + + CFBundleIdentifier + science.firewolf.NightShiftUnlocker + IOClass + NightShiftUnlocker + IOMatchCategory + NightShiftUnlocker + IOProviderClass + IOResources + IOResourceMatch + IOKit + + + NSHumanReadableCopyright + Copyright © 2017 FireWolf. All rights reserved. + OSBundleLibraries + + as.vit9696.Lilu + 1.2.0 + com.apple.kpi.bsd + 16.6 + com.apple.kpi.dsep + 16.6 + com.apple.kpi.iokit + 16.6 + com.apple.kpi.libkern + 16.6 + com.apple.kpi.mach + 16.6 + com.apple.kpi.unsupported + 16.6 + + OSBundleRequired + Root + + diff --git a/EFI/CLOVER/kexts/10.12/NightShiftUnlocker.kext/Contents/MacOS/NightShiftUnlocker b/EFI/CLOVER/kexts/10.12/NightShiftUnlocker.kext/Contents/MacOS/NightShiftUnlocker new file mode 100755 index 0000000000000000000000000000000000000000..e80498f73804c9a7ba87a1b5766077bcffcd30b6 GIT binary patch literal 35240 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 BuildMachineOSBuild - 16G29 + 17E199 CFBundleDevelopmentRegion en CFBundleExecutable @@ -17,7 +17,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 1.2.1 + 1.2.6 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,21 +25,21 @@ MacOSX CFBundleVersion - 1.2.1 + 1.2.6 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 9A1004 + 9E145 DTPlatformVersion GM DTSDKBuild - 17A360 + 17E189 DTSDKName macosx10.13 DTXcode - 0901 + 0930 DTXcodeBuild - 9A1004 + 9E145 IOKitPersonalities as.lvs1974.NvidiaAudio diff --git a/EFI/CLOVER/kexts/10.12/NvidiaGraphicsFixup.kext/Contents/MacOS/NvidiaGraphicsFixup b/EFI/CLOVER/kexts/10.12/NvidiaGraphicsFixup.kext/Contents/MacOS/NvidiaGraphicsFixup index 8be23bfcaf0c1b6ba4633205f4dafa11313c1ac3..83d2a1e9615e94f48ccef7a2c3839b11c38811d0 100755 GIT binary patch literal 67232 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≪RCD)7?yuWu;AEZ5T7%YIc0x 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 diff --git a/EFI/CLOVER/kexts/10.12/NvidiaGraphicsFixup.kext/Contents/Resources/FAQ.md b/EFI/CLOVER/kexts/10.12/NvidiaGraphicsFixup.kext/Contents/Resources/FAQ.md deleted file mode 100755 index 407905d..0000000 --- a/EFI/CLOVER/kexts/10.12/NvidiaGraphicsFixup.kext/Contents/Resources/FAQ.md +++ /dev/null @@ -1,49 +0,0 @@ -- _What are the system requirements?_ -while there are no particular limitations, this FAQ does not include the specific information regarding GPUs before Kepler (i.e. older than 6xx series). -In general it appears to be less convenient to use CPUs newer than Ivy and Haswell with NVIDIA GPUs. -For GPUs newer than Kepler (e.g. Maxwell or Pascal) you need [NVIDIA Web Driver](http://www.nvidia.com/download/driverResults.aspx/125379/en-us). Use `nv_disable=1` boot argument to install it. - -- _What is the general idea?_ -If you have builtin Intel GPU, make sure to rename it to IGPU and enable with connector-less frame first. Then choose a most suitable mac model and install NvidiaGraphicsFixup. To get hardware video decoding you are likely to need [Shiki](https://github.com/vit9696/Shiki), please read its [FAQ](https://github.com/vit9696/Shiki/blob/master/Manual/FAQ.en.md) carefully to get a good understanding. - -- _How to properly choose a mac model?_ -If you have Ivy Bridge or Haswell CPU you should go with iMac13,2 or iMac14,2. Otherwise choose the model you prefer, but keep this in mind: - * If you have Intel GPU, especially if Ivy Bridge or newer, choose the model (by `board-id`) that has `forceOfflineRenderer` set to YES (true) in /System/Library/PrivateFrameworks/AppleGVA.framework/Versions/A/Info.plist. - * Models other than iMac13,2 and iMac14,2 require patches, which are though normally automated in NvidiaGraphicsFixup (see below) - * CPUs newer than Haswell require Shiki patches for hardware video decoding (see below). - -- _Why should I use Intel GPU with a connector-less frame?_ -Nvidia GPUs newer than 2xx do not implement hardware video decoder in macOS, also starting with 10.13 dual-GPU setups often cause a bootloop. If you absolutely need your IGPU with connector-full frame you will have to use [IntelGraphicsFixup](https://sourceforge.net/projects/intelgraphicsfixup) and most likely [Shiki](https://github.com/vit9696/Shiki) with `shikigva=1` OR a model without `forceOfflineRenderer`. - -- _How to use Intel GPU with a connector-less frame?_ -Please refer to [Shiki FAQ](https://github.com/vit9696/Shiki/blob/master/Manual/FAQ.en.md) for full details. You could use SSDT to rename GFX0 to IGPU by creating a proper IGPU device and setting STA of the existing one to Zero: -``` -Scope (GFX0) { - Name (_STA, Zero) // _STA: Status -} -``` - -- _What patches do I need for mac models other than iMac13,2 and iMac14,2?_ -AppleGraphicsDisplayPolicy.kext contains a check against its Info.plist and determines which mode should be used for a specific board-id. It is dependent on the GPU which mode is suitable and is normally determined experimentally. NvidiaGraphicsFixup contains several ways to configure to set power management modes: - - kext patch enforcing `none` into ConfigMap dictionary for system board-id (ngfxpatch=cfgmap) - - kext patch disabling string comparison `` (ngfxpatch=vit9696, enabled by default) - - kext patch replacing `board-id` with `board-ix` (ngfxpatch=pikera) - -- _What patches do I need for Maxwell or Pascal GPUs?_ -Maxwell GPUs (normally 9xx and some 7xx) no longer supply a correct IOVARendererID to enable hardware video decoder. See more details: [here](https://github.com/vit9696/Shiki/issues/5). You no longer need any changes (e.g. iMac.kext) but NvidiaGraphicsFixup. This fix was added in 1.2.0 branch. Can be switched off by using boot-arg "-ngfxnovarenderer". - -- _What patches do processors newer than Haswell need?_ -Apple limits hardware video decoder with NVIDIA to only Haswell and earlier. To get hardware accelerated video decoding you need to patch AppleGVA.framework. To do so you could use [Shiki](https://github.com/vit9696/Shiki) with `shikigva=4` boot argument. On 10.13 you may currently use a temporary workaround that enables hardware video decoding only for a subset of processes via `shikigva=12` boot argument. - -- _What patches do Pascal GPUs need on 10.12?_ -On 10.12 and possibly on 10.13 Pascal GPUs need a team id unlock to avoid glitches like empty transparent windows and so on. This patch is already present in NvidiaGraphicsFixup, and the use of any other kext (e.g. NVWebDriverLibValFix.kext) is not needed. -Can be switched off by using boot-arg "-ngfxlibvalfix". - -- _How can I enable digital (HDMI audio)?_ -NvidiaGraphicsFixup will do it itself but you must esnure that you do not have any conflicting "fixes" from Clover, SSDT patches, Arbitrary and so on (e.g. FixDisplay, AddHDMI, etc.). NvidiaGraphicsFixup also renames GPU devices to GFX0 and HDAU and injects audio connectors @0,connector-type - @5,connector-type. Injection can be switched off by using boot-arg "-ngfxnoaudio" or more specific "-ngfxnoaudiocon". You can also use ioreg properties in GPU to disable respective injections: "no-audio-autofix" or "no-audio-fixconn". - -- _How can I partially fix Apple Logo during boot?_ -Inject `@X,AAPL,boot-display` GFX0 property with the main screen index instead of X, the value does not matter. - -- _Does NvidiaGraphicsFixup fix visual issues on wakeup with Pascal GPUs?_ -Not at the moment. It is also known that HDMI audio may not always work with Pascal GPUs. diff --git a/EFI/CLOVER/kexts/10.12/USBInjectAll.kext/Contents/Info.plist b/EFI/CLOVER/kexts/10.12/USBInjectAll.kext/Contents/Info.plist index bc34e1f..f81d9fa 100755 --- a/EFI/CLOVER/kexts/10.12/USBInjectAll.kext/Contents/Info.plist +++ b/EFI/CLOVER/kexts/10.12/USBInjectAll.kext/Contents/Info.plist @@ -3,13 +3,13 @@ BuildMachineOSBuild - 16G29 + 17C88 CFBundleDevelopmentRegion English CFBundleExecutable USBInjectAll CFBundleGetInfoString - 0.6.2 Copyright © 2015 RehabMan. All rights reserved. + 0.6.4 Copyright © 2015 RehabMan. All rights reserved. CFBundleIdentifier com.rehabman.driver.USBInjectAll CFBundleInfoDictionaryVersion @@ -19,7 +19,7 @@ CFBundlePackageType KEXT CFBundleShortVersionString - 0.6.2 + 0.6.4 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -27,11 +27,11 @@ MacOSX CFBundleVersion - 0.6.2 + 0.6.4 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 8E3004b + 9C40b DTPlatformVersion GM DTSDKBuild @@ -39,9 +39,9 @@ DTSDKName macosx10.11 DTXcode - 0833 + 0920 DTXcodeBuild - 8E3004b + 9C40b IOKitPersonalities ConfigurationData @@ -7400,6 +7400,100 @@ model iMac18,3 + iMac19,1-AppeBusPowerControllerUSB + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + org_rehabman_USBInjectAll + IOProviderClass + AppleBusPowerControllerUSB + kConfigurationName + AppleBusPowerControllerUSB + model + iMac19,1 + + iMac19,1-EH01 + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + org_rehabman_USBInjectAll + IONameMatch + EH01 + IOProviderClass + AppleUSBEHCIPCI + kConfigurationName + EH01 + model + iMac19,1 + + iMac19,1-EH01-internal-hub + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + org_rehabman_USBInjectAll + IOProbeScore + 5000 + IOProviderClass + AppleUSB20InternalHub + kConfigurationName + HUB1 + locationID + 487587840 + model + iMac19,1 + + iMac19,1-EH02 + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + org_rehabman_USBInjectAll + IONameMatch + EH02 + IOProviderClass + AppleUSBEHCIPCI + kConfigurationName + EH02 + model + iMac19,1 + + iMac19,1-EH02-internal-hub + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + org_rehabman_USBInjectAll + IOProbeScore + 5000 + IOProviderClass + AppleUSB20InternalHub + kConfigurationName + HUB2 + locationID + 437256192 + model + iMac19,1 + + iMac19,1-XHC + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + org_rehabman_USBInjectAll + IONameMatch + XHC + IOProviderClass + AppleUSBXHCIPCI + kConfigurationName + XHC + kIsXHC + + model + iMac19,1 + iMac4,1-AppeBusPowerControllerUSB CFBundleIdentifier @@ -8058,6 +8152,100 @@ model iMac9,1 + iMacPro1,1-AppeBusPowerControllerUSB + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + org_rehabman_USBInjectAll + IOProviderClass + AppleBusPowerControllerUSB + kConfigurationName + AppleBusPowerControllerUSB + model + iMacPro1,1 + + iMacPro1,1-EH01 + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + org_rehabman_USBInjectAll + IONameMatch + EH01 + IOProviderClass + AppleUSBEHCIPCI + kConfigurationName + EH01 + model + iMacPro1,1 + + iMacPro1,1-EH01-internal-hub + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + org_rehabman_USBInjectAll + IOProbeScore + 5000 + IOProviderClass + AppleUSB20InternalHub + kConfigurationName + HUB1 + locationID + 487587840 + model + iMacPro1,1 + + iMacPro1,1-EH02 + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + org_rehabman_USBInjectAll + IONameMatch + EH02 + IOProviderClass + AppleUSBEHCIPCI + kConfigurationName + EH02 + model + iMacPro1,1 + + iMacPro1,1-EH02-internal-hub + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + org_rehabman_USBInjectAll + IOProbeScore + 5000 + IOProviderClass + AppleUSB20InternalHub + kConfigurationName + HUB2 + locationID + 437256192 + model + iMacPro1,1 + + iMacPro1,1-XHC + + CFBundleIdentifier + com.rehabman.driver.USBInjectAll + IOClass + org_rehabman_USBInjectAll + IONameMatch + XHC + IOProviderClass + AppleUSBXHCIPCI + kConfigurationName + XHC + kIsXHC + + model + iMacPro1,1 + NSHumanReadableCopyright Copyright © 2015 RehabMan. All rights reserved. diff --git a/EFI/CLOVER/kexts/10.12/USBInjectAll.kext/Contents/MacOS/USBInjectAll b/EFI/CLOVER/kexts/10.12/USBInjectAll.kext/Contents/MacOS/USBInjectAll index bd88ea26055a0b87db31f1882a4e798872a79415..40c36198f886cb830b8f318c4a173d3b64afc828 100755 GIT binary patch delta 2903 zcmY*bdr(wm6u)-?*>zZUmvw=C0E>bMLb%A9rE9{d-ObeiqedG_1sui4_#k8Y!?jV! z^@dWPr8a5f^c*VZTp?QX9>QU%Wr?@obNn8zI%I5 z>iSRW+P0)zPLiU_Vb<_+(lakivq%{llj0cL`#N-%{w2(&YuGQ^S1Jza12T>hMIiqXh>nV~HY5Ot(o0>aKo4XNa zqi;UE%a2X-tBFdhcaBMt0-;Ex?J&|*RO3ofkX&LKiG2ZeTp;vYK=t}k#PZ}N@)dD9 zIe+vwGW&WNz7$pOIp-NrLS2z(mXbm>&a;RNQ<|Yk^In%Md?wfI#@UFJj!XlgKYG`o zbBgLUP>sz4je3&RXtLW>Oibq2WWNrTdE>->ljmVde20+}*K3KtjWH>z2f6ejvuN+e zBfn^F>Bwz!XQR`v#^+$`Vr=~YBBXOA($<9iKj*V*q3AK~6&uYN@&{tC*(GO+56vZ( zuW%HU(D}h8O%eZ^bLZbqrigY#P(nXOgZe{VbDATj<_U2A^Ejo|SAvZ*JrPf5RNXfk za?m~pP*D>;iaJPFLN#BOnL19+FmFrC9D3<`hNVCFZ9L zSZlMRsRTj;TA8g09YGcr1kKUW`w6h)ZdH zolzeyP9G!77sNb!uBftGg=*hr?Ql?|&JUUF$6}JBAXr86R_|{5Css4M0q<|2>_Xqi zPCyf#qfkPA)X;aIX8$>6`hMGR!;ZA5;W)C`^o9Q6*rnl1g@nENF4`rjrVkq>x^w1< z^NvKjBO2UR9Sa_dd`mRO7!viSkTY_!XDnN{Xz_~rI;m<-VfDOn|Eh-i+QzaK zD;|w0!Z{gMIlioJ<+AX!OoPsF7dl7lB~j_lGfc(JLTi?I(p@Ys4Y#|43G#ZtL7icQ zRnwV;r64Ff@b`XkINxnp!16lLlV2>ige?V6CCEDf+jY9NHX+Anj{F{7qjkwHD&sfk zt`p1+yC=rWaw&dJ5erLm46*ms=xEgN!ua14o}GTGvIU2OmcU~|Ppfd@)9S%PypCUQ zWAK~!dM@E1<{xo^&CDl@?6Ryy$@C_}GUJrdt_J3%%&+sVCCp!7{Z{6)ILZO$vBsTd zeuvmsR=lVIBck;Z#!69gxDP$d*U~!`%Y{Qi`p#61H!qDASq82D+Si1=~N*d@0x7rSUP6gB|?M1})4> zaQjd~*X`k(<)7pROD&RAAW21YM`^f;@i5~xMkm@rc78@L8Fw+BWYocq^b;5- z;m8z%*IciwatSPg*t118xKV2X=%X1GfXW zAn`-Moj_TZil)L2UnxaqbcXOx#&mR;cn}z*9|u`50xc&#fpH(>ImU7%Vu!whaUlW_ zU&UAoKg1t|J>ecChR>3sZyD#pE*rcEi4Z>L#N_D5QEVjq92*I5F*c#)HQ+}W=@XLp MHEVdm@@-T80~%0%5dZ)H delta 2846 zcmY*b3v5$m6u$RvWgV<*yRO^Xbz6aLu*oAGD@Hps*=WK;q6{!YVx~9JTv2@7#L^+fCZ9-#OoZUjKjZ z?Trp4-l0S{XVh3E{rcK!V2x$#jz{hJc?RoJ49susKCIZ|OARJXGB7S$lZMH4;`^j& zCGU_Db|)YgpB#La?W|h%ZL4o(w4>oli!|b?QrK*sCn=6R}iMU9vu;*T`f(1pd4 zq;71p)t+MWTrr0@ylo^s3j87BdAObTarYZrOdk94r_RLQ2R3&_Mfv0Ien@8yLdLeWZ-(4W9=1Z zotdGqrQ1eQpQ@b>YCUlzkgB!Q(;E}@YmEdwn4F%#ObPm`+NU@61hsqh^H9eAB2wLs z4@sgb{O?j{jXm{dvZWigXkXi1y;^_9Cc{W!tfalHh)1lx0m+4k84&H(_a;PXSb_P0 zCj#>VbLXfVf2#;+-vzY4RqdV{soaq!Nj{@&^>ljz7fRH-KmbMTvX$BQL!xRw-Jei_ z_}Nypuq&MkbwRCa7yGnrZ7jott_?@*3@ohjC46nVySor}&~6V+Fl^eb2gp&i+Ajmv z!yVzO^HZ&d<7&h?O4Qk>D^~}J1NO=CL2=8j$}fxY89k1w!FnORW5&5~h^dZh*)HC4 z#qk=!g6y7oD?yJ<*2_1V&0BF9~7Ehl@#zlLtyaNZ#?%k2m)paY|s2I;QK5r$$n zw(n?^%GQ1`>WY}QXY0a&q}cd{d13G4q4FOWZy$R60>5j!u~4G>V@{2JJNWM}wS1gK6%umIAF&{&t>oYOSJ1q4B ze(JY~_1@8PXROs5GRcO0^c*mkrHoe1KT%#)f>Flf< zI0bYGe5{zfLM8V)f<*~h$vslEZ|~2;XKbMd9PX%NhT} zei1ig9pM?q3yfymeHE~e!M?4cbx6D#*uYqVvr2rXjv;B}NgP%(m@x@LA7d-yzl@LJ zZw&dDGya0k^mRx?SjG4}<0-~s960hn&3KM+HVR!Gf}<84kzgZZ4=P&&-hn-h0CzbI ztOC9T?n0-8KSI9+*o+1a0%Jf~mPRgsE(bUYI>IbWmT)ZNPR0&kh#Z9&HQ@}#D - - - - BuildMachineOSBuild - 13CA598 - CFBundleDevelopmentRegion - English - CFBundleGetInfoString - Realtek ALC 2.8, Copyright © 2017 toleda. All rights reserved. - CFBundleIdentifier - com.apple.driver.RealtekALC - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - Realtek ALC Configuation Driver - CFBundlePackageType - KEXT - CFBundleShortVersionString - 1.8-toledaALC-120 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - IOKitPersonalities - - HDA Hardware Config Resource - - CFBundleIdentifier - com.apple.driver.AppleHDAHardwareConfigDriver - HDAConfigDefault - - - CodecID - 283904133 - ConfigData - IUccECFHHUAhRx4RIUcfASFXHCAhVx0QIVceASFXHwEhZxwwIWcdYCFnHgEhZx8BIXcc8CF3HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5AhlxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6BIacfASG3HHAhtx1AIbceISG3HwIh5xyQIecdYSHnHksh5x8BIfccoCH3HQEh9x7LIfcfASEXHPAhFx0AIRceACEXH0A= - FuncGroup - 1 - LayoutID - 1 - Comment - toledaALC - - - CodecID - 283904135 - ConfigData - IUccECFHHUAhRx4RIUcfkCFHDAIhVxwgIVcdECFXHgEhVx8BIWccMCFnHWAhZx4BIWcfASF3HPAhdx0AIXceACF3H0AhhxxAIYcdkCGHHqAhhx+QIZccYCGXHZAhlx6BIZcfAiGnHFAhpx0wIacegSGnHwEhtxxwIbcdQCG3HiEhtx8CIbcMAiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== - FuncGroup - 1 - LayoutID - 1 - Comment - toledaALC - - - CodecID - 283904135 - ConfigData - IUccECFHHUAhRx4RIUcfkCFHDAIhVxzwIVcdACFXHgAhVx9AIWcc8CFnHQAhZx4AIWcfQCF3HPAhdx0AIXceACF3H0AhhxxAIYcdYCGHHgEhhx8BIZccYCGXHZAhlx6gIZcfkCGnHFAhpx0QIaceASGnHwEhtxxwIbcdQCG3HiEhtx8CIbcMAiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== - FuncGroup - 1 - LayoutID - 2 - Comment - toledaALC - - - CodecID - 283904135 - ConfigData - IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVceASFXHwEhZxzwIWcdACFnHgAhZx9AIXcc8CF3HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5AhlxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6BIacfASG3HHAhtx1AIbceISG3HwIh5xyQIecdYSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEXHPAhFx0AIRceACEXH0A= - FuncGroup - 1 - LayoutID - 3 - Comment - toledaALC - - - CodecID - 283904136 - ConfigData - IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVceASFXHwEhZxwwIWcdYCFnHgEhZx8BIXcc8CF3HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5AhlxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6BIacfASG3HHAhtx1AIbceISG3HwIh5xyQIecdYSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEXHPAhFx0AIRceACEXH0A= - FuncGroup - 1 - LayoutID - 1 - Comment - toledaALC - - - CodecID - 283904136 - ConfigData - IUccECFHHUAhRx4RIUcfkCFXHPAhVx0AIVceACFXH0AhZxzwIWcdACFnHgAhZx9AIXcc8CF3HQAhdx4AIXcfQCGHHEAhhx1gIYceASGHHwEhlxxgIZcdkCGXHqAhlx+QIaccUCGnHRAhpx4BIacfASG3HHAhtx1AIbceISG3HwIh5xyQIecdYSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEXHPAhFx0AIRceACEXH0A= - FuncGroup - 1 - LayoutID - 2 - Comment - toledaALC - - - CodecID - 283904136 - ConfigData - IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVceASFXHwEhZxzwIWcdACFnHgAhZx9AIXcc8CF3HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5AhlxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6BIacfASG3HHAhtx1AIbceISG3HwIh5xyQIecdYSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEXHPAhFx0AIRceACEXH0A= - FuncGroup - 1 - LayoutID - 3 - Comment - toledaALC - - - CodecID - 283904137 - ConfigData - IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVceASFXHwEhZxwwIWcdYCFnHgEhZx8BIXcc8CF3HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5AhlxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6BIacfASG3HHAhtx1AIbceISG3HwIh5xyQIecdYSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEXHPAhFx0AIRceACEXH0A= - FuncGroup - 1 - LayoutID - 1 - Comment - toledaALC - - - CodecID - 283904137 - ConfigData - IUccECFHHUAhRx4RIUcfkCFXHPAhVx0AIVceACFXH0AhZxzwIWcdACFnHgAhZx9AIXcc8CF3HQAhdx4AIXcfQCGHHEAhhx1gIYceASGHHwEhlxxgIZcdkCGXHqAhlx+QIaccUCGnHRAhpx4BIacfASG3HHAhtx1AIbceISG3HwIh5xyQIecdYSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEXHPAhFx0AIRceACEXH0A= - FuncGroup - 1 - LayoutID - 2 - Comment - toledaALC - - - CodecID - 283904137 - ConfigData - IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVceASFXHwEhZxzwIWcdACFnHgAhZx9AIXcc8CF3HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5AhlxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6BIacfASG3HHAhtx1AIbceISG3HwIh5xyQIecdYSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEXHPAhFx0AIRceACEXH0A= - FuncGroup - 1 - LayoutID - 3 - Comment - toledaALC - - - CodecID - 283904146 - ConfigData - IUccECFHHUAhRx4RIUcfkCFHDAIhVxwgIVcdECFXHgEhVx8BIWccMCFnHWAhZx4BIWcfASF3HPAhdx0AIXceACF3H0AhhxxAIYcdkCGHHqAhhx+QIZccYCGXHZAhlx6BIZcfAiGnHFAhpx0wIacegSGnHwEhtxxwIbcdQCG3HiEhtx8CIbcMAiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== - LayoutID - 1 - FuncGroup - 1 - Comment - toledaALC - - - CodecID - 283904146 - ConfigData - IUccECFHHUAhRx4RIUcfkCFHDAIhVxzwIVcdACFXHgAhVx9AIWcc8CFnHQAhZx4AIWcfQCF3HPAhdx0AIXceACF3H0AhhxxAIYcdYCGHHgEhhx8BIZccYCGXHZAhlx6gIZcfkCGnHFAhpx0QIaceASGnHwEhtxxwIbcdQCG3HiEhtx8CIbcMAiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== - FuncGroup - 1 - LayoutID - 2 - Comment - toledaALC - - - CodecID - 283904146 - FuncGroup - 1 - ConfigData - IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVceASFXHwEhZxzwIWcdACFnHgAhZx9AIXcc8CF3HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5AhlxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6BIacfASG3HHAhtx1AIbceISG3HwIh5xyQIecdYSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEXHPAhFx0AIRceACEXH0A= - LayoutID - 3 - Comment - toledaALC - - - CodecID - 283904153 - ConfigData - IUccECFHHUAhRx4RIUcfkCFHDAIhVxwgIVcdECFXHgEhVx8BIWccMCFnHWAhZx4BIWcfASF3HPAhdx0AIXceACF3H0AhhxxAIYcdkCGHHqAhhx+QIZccYCGXHZAhlx6BIZcfAiGnHFAhpx0wIacegSGnHwEhtxxwIbcdQCG3HiEhtx8CIbcMAiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== - FuncGroup - 1 - LayoutID - 1 - Comment - toledaALC - - - CodecID - 283904153 - ConfigData - IUccECFHHUAhRx4RIUcfkCFHDAIhVxzwIVcdACFXHgAhVx9AIWcc8CFnHQAhZx4AIWcfQCF3HPAhdx0AIXceACF3H0AhhxxAIYcdYCGHHgEhhx8BIZccYCGXHZAhlx6gIZcfkCGnHFAhpx0QIaceASGnHwEhtxxwIbcdQCG3HiEhtx8CIbcMAiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== - FuncGroup - 1 - LayoutID - 2 - Comment - toledaALC - - - CodecID - 283904153 - ConfigData - IUccECFHHUAhRx4RIUcfkCFXHCAhVx0QIVceASFXHwEhZxzwIWcdACFnHgAhZx9AIXcc8CF3HQAhdx4AIXcfQCGHHEAhhx2QIYceoCGHH5AhlxxgIZcdkCGXHoEhlx8CIaccUCGnHTAhpx6BIacfASG3HHAhtx1AIbceISG3HwIh5xyQIecdYSHnHksh5x8BIfcc8CH3HQAh9x4AIfcfQCEXHPAhFx0AIRceACEXH0A= - FuncGroup - 1 - LayoutID - 3 - Comment - toledaALC - - - CodecID - 283904256 - ConfigData - AUccEAFHHUABRx4RAUcfkAFHDAIBVxwgAVcdEAFXHgEBVx8BAWccMAFnHWABZx4BAWcfAQF3HPABdx0AAXceAAF3H0ABhxxAAYcdkAGHHqABhx+QAZccYAGXHZABlx6BAZcfAgGnHFABpx0wAacegQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcMAgHnHJAB5x1hAeceSwHnHwEB9xzwAfcdAAH3HgAB9x9AARcc8AEXHQABFx4AARcfQA== - FuncGroup - 1 - LayoutID - 1 - Comment - toledaALC - - - CodecID - 283904256 - ConfigData - AUccEAFHHUABRx4RAUcfkAFHDAIBVxzwAVcdAAFXHgABVx9AAWcc8AFnHQABZx4AAWcfQAF3HPABdx0AAXceAAF3H0ABhxxAAYcdYAGHHgEBhx8BAZccYAGXHZABlx6gAZcfkAGnHFABpx0QAaceAQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcMAgHnHJAB5x1hAeceSwHnHwEB9xzwAfcdAAH3HgAB9x9AARcc8AEXHQABFx4AARcfQA== - FuncGroup - 1 - LayoutID - 2 - Comment - toledaALC - - - CodecID - 283904256 - ConfigData - AUccEAFHHUABRx4RAUcfkAFXHCABVx0QAVceAQFXHwEBZxzwAWcdAAFnHgABZx9AAXcc8AF3HQABdx4AAXcfQAGHHEABhx2QAYceoAGHH5ABlxxgAZcdkAGXHoEBlx8CAaccUAGnHTABpx6BAacfAQG3HHABtx1AAbceIQG3HwIB5xyQAecdYQHnHksB5x8BAfcc8AH3HQAB9x4AAfcfQAEXHPABFx0AARceAAEXH0A= - FuncGroup - 1 - LayoutID - 3 - Comment - toledaALC - - - CodecID - 283902569 - ConfigData - IUcc8CFHHQAhRx4AIUcfQCFXHHAhVx1AIVceISFXHwIhZxzwIWcdACFnHgAhZx9AIXcc8CF3HQAhdx4AIXcfQCGHHPAhhx0AIYceACGHH0AhlxzwIZcdACGXHgAhlx9AIacc8CGnHQAhpx4AIacfQCG3HPAhtx0AIbceACG3H0Ah5xyQIecdYSHnHksh5x8B - FuncGroup - 1 - LayoutID - 1 - Comment - toledaALC - - - CodecID - 283902595 - ConfigData - AScc8AEnHQABJx4AAScfQAFHHPABRx0AAUceAAFHH0ABdxzwAXcdAAF3HgABdx9AAYcc8AGHHQABhx4AAYcfQAGXHGABlx0wAZceiwGXHwEBpxzwAacdAAGnHgABpx9AAbcc8AG3HQABtx4AAbcfQAHXHPAB1x0AAdceAAHXH0AB5xzwAecdAAHnHgAB5x9AAhcccAIXHUACFx4rAhcfAQGXDAICFwwC - FuncGroup - 1 - LayoutID - 1 - Comment - toledaALC - - - CodecID - 283904103 - ConfigData - IUccECFHHUAhRx4RIUcfkCFHDAIhVxwgIVcdECFXHgEhVx8BIWccMCFnHWAhZx4BIWcfASF3HPAhdx0AIXceACF3H0AhhxxAIYcdkCGHHqAhhx+QIZccYCGXHZAhlx6BIZcfAiGnHFAhpx0wIacegSGnHwEhtxxwIbcdQCG3HiEhtx8CIbcMAiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== - FuncGroup - 1 - LayoutID - 1 - Comment - toledaALC - - - CodecID - 283904103 - ConfigData - IUccECFHHUAhRx4RIUcfkCFHDAIhVxzwIVcdACFXHgAhVx9AIWcc8CFnHQAhZx4AIWcfQCF3HPAhdx0AIXceACF3H0AhhxxAIYcdYCGHHgEhhx8BIZccYCGXHZAhlx6gIZcfkCGnHFAhpx0QIaceASGnHwEhtxxwIbcdQCG3HiEhtx8CIbcMAiHnHJAh5x1hIeceSyHnHwEh9xzwIfcdACH3HgAh9x9AIRcc8CEXHQAhFx4AIRcfQA== - FuncGroup - 1 - LayoutID - 2 - Comment - toledaALC - - - CodecID - 283906408 - ConfigData - AUccEAFHHUABRx4RAUcfkAFHDAIBVxwgAVcdEAFXHgEBVx8BAWccMAFnHWABZx4BAWcfAQF3HPABdx0AAXceAAF3H0ABhxxAAYcdkAGHHqABhx+QAZccYAGXHZABlx6BAZcfAgGnHFABpx0wAacegQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcMAgHnHJAB5x1hAeceSwHnHwEB9xzwAfcdAAH3HgAB9x9AARcc8AEXHQABFx4AARcfQA== - FuncGroup - 1 - LayoutID - 1 - Comment - toledaALC - - - CodecID - 283906408 - ConfigData - AUccEAFHHUABRx4RAUcfkAFHDAIBVxzwAVcdAAFXHgABVx9AAWcc8AFnHQABZx4AAWcfQAF3HPABdx0AAXceAAF3H0ABhxxAAYcdYAGHHgEBhx8BAZccYAGXHZABlx6gAZcfkAGnHFABpx0QAaceAQGnHwEBtxxwAbcdQAG3HiEBtx8CAbcMAgHnHJAB5x1hAeceSwHnHwEB9xzwAfcdAAH3HgAB9x9AARcc8AEXHQABFx4AARcfQA== - FuncGroup - 1 - LayoutID - 2 - Comment - toledaALC - - - CodecID - 283906592 - ConfigData - AUccEAFHHUABRx4RAUcfkAFHDAIBVxwgAVcdEAFXHgEBVx8BAWccMAFnHWABZx4BAWcfAQGHHEABhx2QAYceoAGHH5ABlxxgAZcdkAGXHoEBlx8CAaccUAGnHTABpx6BAacfAQG3HHABtx1AAbceIQG3HwIBtwwCAecckAHnHWEB5x5LAecfAQ== - FuncGroup - 1 - LayoutID - 1 - Comment - toledaALC - - - CodecID - 283906592 - ConfigData - AUccEAFHHUABRx4RAUcfkAFHDAIBVxzwAVcdAAFXHgABVx9AAWcc8AFnHQABZx4AAWcfQAGHHEABhx1gAYceAQGHHwEBlxxgAZcdkAGXHqABlx+QAaccUAGnHRABpx4BAacfAQG3HHABtx1AAbceIQG3HwIBtwwCAecckAHnHWEB5x5LAecfAQ== - FuncGroup - 1 - LayoutID - 2 - Comment - toledaALC - - - CodecID - 283906592 - ConfigData - AUccEAFHHUABRx4RAUcfAQGHHFABhx2QAYceoAGHH5ABlxxgAZcdkAGXHoEBlx8CAacccAGnHTABpx6BAacfAQG3HIABtx1AAbceIQG3HwEB5xyQAecd4AHnHkUB5x8BAUcMAg== - FuncGroup - 1 - LayoutID - 3 - - - IOClass - AppleHDAHardwareConfigDriver - IOMatchCategory - AppleHDAHardwareConfigDriver - IOProviderClass - AppleHDAHardwareConfigDriverLoader - - - OSBundleRequired - Root - - diff --git a/EFI/CLOVER/kexts/10.13/NightShiftUnlocker.kext/Contents/Info.plist b/EFI/CLOVER/kexts/10.13/NightShiftUnlocker.kext/Contents/Info.plist new file mode 100755 index 0000000..c432e97 --- /dev/null +++ b/EFI/CLOVER/kexts/10.13/NightShiftUnlocker.kext/Contents/Info.plist @@ -0,0 +1,79 @@ + + + + + BuildMachineOSBuild + 17A405 + CFBundleDevelopmentRegion + en + CFBundleExecutable + NightShiftUnlocker + CFBundleIdentifier + science.firewolf.NightShiftUnlocker + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + NightShiftUnlocker + CFBundlePackageType + KEXT + CFBundleShortVersionString + 2.2.1 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 2.2.1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 8E3004b + DTPlatformVersion + GM + DTSDKBuild + 16E185 + DTSDKName + macosx10.12 + DTXcode + 0833 + DTXcodeBuild + 8E3004b + IOKitPersonalities + + science.firewolf.NightShiftUnlocker + + CFBundleIdentifier + science.firewolf.NightShiftUnlocker + IOClass + NightShiftUnlocker + IOMatchCategory + NightShiftUnlocker + IOProviderClass + IOResources + IOResourceMatch + IOKit + + + NSHumanReadableCopyright + Copyright © 2017 FireWolf. All rights reserved. + OSBundleLibraries + + as.vit9696.Lilu + 1.2.0 + com.apple.kpi.bsd + 16.6 + com.apple.kpi.dsep + 16.6 + com.apple.kpi.iokit + 16.6 + com.apple.kpi.libkern + 16.6 + com.apple.kpi.mach + 16.6 + com.apple.kpi.unsupported + 16.6 + + OSBundleRequired + Root + + diff --git a/EFI/CLOVER/kexts/10.13/NightShiftUnlocker.kext/Contents/MacOS/NightShiftUnlocker b/EFI/CLOVER/kexts/10.13/NightShiftUnlocker.kext/Contents/MacOS/NightShiftUnlocker new file mode 100755 index 0000000000000000000000000000000000000000..e80498f73804c9a7ba87a1b5766077bcffcd30b6 GIT binary patch literal 35240 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 KEXT CFBundleShortVersionString - 1.2.5 + 1.2.6 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,7 +25,7 @@ MacOSX CFBundleVersion - 1.2.5 + 1.2.6 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild @@ -33,9 +33,9 @@ DTPlatformVersion GM DTSDKBuild - 14D125 + 17E189 DTSDKName - macosx10.10 + macosx10.13 DTXcode 0930 DTXcodeBuild diff --git a/EFI/CLOVER/kexts/10.13/NvidiaGraphicsFixup.kext/Contents/MacOS/NvidiaGraphicsFixup b/EFI/CLOVER/kexts/10.13/NvidiaGraphicsFixup.kext/Contents/MacOS/NvidiaGraphicsFixup index 5de49caac643aa91c7a9ad276f94ed7aad46aab1..83d2a1e9615e94f48ccef7a2c3839b11c38811d0 100755 GIT binary patch literal 67232 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≪RCD)7?yuWu;AEZ5T7%YIc0x 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 n4a;Q4fh`VPOai)iK!?xnZ>jHaVUeR)+xQJQP`1 + + + + BuildMachineOSBuild + 17A405 + CFBundleDevelopmentRegion + en + CFBundleExecutable + NightShiftUnlocker + CFBundleIdentifier + science.firewolf.NightShiftUnlocker + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + NightShiftUnlocker + CFBundlePackageType + KEXT + CFBundleShortVersionString + 2.2.1 + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 2.2.1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 8E3004b + DTPlatformVersion + GM + DTSDKBuild + 16E185 + DTSDKName + macosx10.12 + DTXcode + 0833 + DTXcodeBuild + 8E3004b + IOKitPersonalities + + science.firewolf.NightShiftUnlocker + + CFBundleIdentifier + science.firewolf.NightShiftUnlocker + IOClass + NightShiftUnlocker + IOMatchCategory + NightShiftUnlocker + IOProviderClass + IOResources + IOResourceMatch + IOKit + + + NSHumanReadableCopyright + Copyright © 2017 FireWolf. All rights reserved. + OSBundleLibraries + + as.vit9696.Lilu + 1.2.0 + com.apple.kpi.bsd + 16.6 + com.apple.kpi.dsep + 16.6 + com.apple.kpi.iokit + 16.6 + com.apple.kpi.libkern + 16.6 + com.apple.kpi.mach + 16.6 + com.apple.kpi.unsupported + 16.6 + + OSBundleRequired + Root + + diff --git a/EFI/CLOVER/kexts/Other/NightShiftUnlocker.kext/Contents/MacOS/NightShiftUnlocker b/EFI/CLOVER/kexts/Other/NightShiftUnlocker.kext/Contents/MacOS/NightShiftUnlocker new file mode 100755 index 0000000000000000000000000000000000000000..e80498f73804c9a7ba87a1b5766077bcffcd30b6 GIT binary patch literal 35240 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 KEXT CFBundleShortVersionString - 1.2.5 + 1.2.6 CFBundleSignature ???? CFBundleSupportedPlatforms @@ -25,7 +25,7 @@ MacOSX CFBundleVersion - 1.2.5 + 1.2.6 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild @@ -33,9 +33,9 @@ DTPlatformVersion GM DTSDKBuild - 14D125 + 17E189 DTSDKName - macosx10.10 + macosx10.13 DTXcode 0930 DTXcodeBuild diff --git a/EFI/CLOVER/kexts/Other/NvidiaGraphicsFixup.kext/Contents/MacOS/NvidiaGraphicsFixup b/EFI/CLOVER/kexts/Other/NvidiaGraphicsFixup.kext/Contents/MacOS/NvidiaGraphicsFixup index 5de49caac643aa91c7a9ad276f94ed7aad46aab1..83d2a1e9615e94f48ccef7a2c3839b11c38811d0 100755 GIT binary patch literal 67232 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≪RCD)7?yuWu;AEZ5T7%YIc0x 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 F7XXc0HiQ5G delta 184 zcmdlrf$_-%#tn%wj2AX1$q4hZmM|1Cluj "/tmp/ktp.plist" + ktpcomment=$(sudo /usr/libexec/PlistBuddy -c "Print 'Comment'" "/tmp/ktp.plist") + sudo /usr/libexec/PlistBuddy -c "Set :Comment '$ktplabel$ktpcomment'" "/tmp/ktp.plist" + sudo /usr/libexec/PlistBuddy -c "Add :KernelAndKextPatches:KextsToPatch:0 dict" /tmp/config.plist + sudo /usr/libexec/PlistBuddy -c "Merge /tmp/ktp.plist ':KernelAndKextPatches:KextsToPatch:0'" /tmp/config.plist + +# exit if error +if [ "$?" != "0" ]; then + echo "Error: config.plst patch failed" + echo “Original config.plist restored” + sudo cp -X $gCloverDirectory/config-backup.plist $gCloverDirectory/config.plist + sudo rm -R /tmp/ktp.plist + sudo rm -R /tmp/config.plist + sudo rm -R /tmp/config-audio_cloverALC+.plist.zip + sudo rm -R /tmp/config-audio_cloverALC.plist + sudo rm -R /tmp/__MACOSX + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 +fi + +} # debug if [ $gDebug = 2 ]; then echo "gDebug = $gDebug - ${gDebugMode[$gDebug]}" echo "gMake = $gMake" echo "gCloverALC = $gCloverALC" - echo "gPikerAlphaALC = $gPikerAlphaALC" echo "gRealtekALC = $gRealtekALC" echo "gBetaALC = $gBetaALC" - -# while true -# do -# read -p "OK (y/n): " choice3 -# case "$choice3" in -# [yY]* ) break;; -# [nN]* ) exit;; -# * ) echo "Try again...";; -# esac -# done fi # verify system version @@ -139,7 +161,7 @@ case ${gSysVer} in ;; * ) - echo "OS X Version: $gSysVer is not supported" + echo "macOS Version: $gSysVer is not supported" echo "No system files were changed" echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." exit 1 @@ -268,8 +290,8 @@ if [ $gRealtekALC = 1 ]; then rm -R /tmp/org.chameleon.Boot.txt else -# osmosis/other +# osmosis/other while true do read -p "No Clover/Chameleon files, confirm Osmosis/other install (y/n): " choice10 @@ -528,6 +550,7 @@ else 1 ) if [ ! -f "$gCloverDirectory/config.plist" ]; then echo "Error, $gCloverDirectory/config.plist missing" + echo "Mount correct EFI partition, run cloverALC" exit 1 fi @@ -538,17 +561,13 @@ else 2 ) echo "gHDAversioninstalled = $gHDAversioninstalled" echo "gDesktopDirectory = $gDesktopDirectory" - sudo cp -R "$gDesktopDirectory/config-basic.plist" /tmp/config.plist - if [ -f "$gDesktopDirectory/config-basic.plist" ]; then - sudo cp -R "$gDesktopDirectory/config-basic.plist" /tmp/config.plist - echo "Desktop/config-basic.plist copied to /tmp/config.plist" - else + if [ ! -f "$gDesktopDirectory/config-basic.plist" ]; then echo "Error, Desktop/config-basic.plist missing" exit 1 fi - - + sudo cp -R "$gDesktopDirectory/config-basic.plist" /tmp/config.plist + echo "Desktop/config-basic.plist copied to /tmp/config.plist" ;; * ) @@ -559,7 +578,6 @@ esac fi - # exit if error if [ "$?" != "0" ]; then if [ $choice8 != "y" ]; then @@ -581,18 +599,47 @@ fi # verify ioreg/HDEF ioreg -rw 0 -p IODeviceTree -n HDEF > /tmp/HDEF.txt +audiodevice=none if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF@1") != 0 ]]; then gLayoutidioreg=$(cat /tmp/HDEF.txt | grep layout-id | sed -e 's/.*//') gLayoutidhex="0x${gLayoutidioreg:6:2}${gLayoutidioreg:4:2}${gLayoutidioreg:2:2}${gLayoutidioreg:0:2}" gAudioid=$((gLayoutidhex)) + audiodevice=HDEF sudo rm -R /tmp/HDEF.txt else - echo "Error: no IOReg/HDEF; BIOS/audio/disabled or ACPI problem" + + ioreg -rw 0 -p IODeviceTree -n HDAS > /tmp/HDEF.txt + if [[ $(cat /tmp/HDEF.txt | grep -c "HDAS@1") != 0 ]]; then + echo "Error: macOS does not support dsdt/HDAS; install Clover patch or ssdt and restart" + audiodevice=HDAS + fi + + ioreg -rw 0 -p IODeviceTree -n CAVS > /tmp/HDEF.txt + if [[ $(cat /tmp/HDEF.txt | grep -c "CAVS@1") != 0 ]]; then + echo "Error: macOS does not support dsdt/CAVS; install Clover patch or ssdt and restart" + audiodevice=CAVS + fi + + ioreg -rw 0 -p IODeviceTree -n ALZA > /tmp/HDEF.txt + if [[ $(cat /tmp/HDEF.txt | grep -c "ALZA@1") != 0 ]]; then + echo "Error: macOS does not support dsdt/ALZA; install Clover patch or ssdt and restart" + audiodevice=ALZA + fi + + ioreg -rw 0 -p IODeviceTree -n AZAL > /tmp/HDEF.txt + if [[ $(cat /tmp/HDEF.txt | grep -c "AZAL@1") != 0 ]]; then + echo "Error: macOS does not support dsdt/AZAL; install Clover patch or ssdt and restart" + audiodevice=AZAL + fi + + if [ $audiodevice = "none" ]; then + echo "Error: no IOReg/HDEF; BIOS/.../HD Audio/disabled or ACPI problem" + fi echo "No system files were changed" echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." sudo rm -R /tmp/HDEF.txt -exit 1 + exit 1 fi # debug @@ -660,7 +707,7 @@ gCodecsInstalled=$(ioreg -rxn IOHDACodecDevice | grep VendorID | awk '{ print $4 gCodecsVersion=$(ioreg -rxn IOHDACodecDevice | grep RevisionID| awk '{ print $4 }') # debug -if [ $gDebug = 2 ]; then ## +# if [ $gDebug = 2 ]; then ## # if [ $gDebug = 1 ] || [ $gDebug = 2 ]; then # gCodecsInstalled=0x10ec0887 # gCodecsVersion=0x100101 @@ -668,11 +715,11 @@ if [ $gDebug = 2 ]; then ## # gCodecsVersion=0x100302 # gCodecsInstalled=0x10ec0900 # gCodecsInstalled=0x10ec1168 -gCodecsInstalled=0x10ec1220 +# gCodecsInstalled=0x10ec1220 # gCodecsVersion=0x100001 # gCodecsInstalled=0x10134206 # gCodecsVersion=0x100302 -fi +# fi if [ $gDebug = 2 ]; then echo "gCodecsInstalled = $gCodecsInstalled" @@ -796,8 +843,8 @@ if [ $realtek = y ]; then fi if [ $gCodecDevice = "1168" ]; then - gCodec1220A=y - gCodecName=1220 +# gCodec1220A=y + gCodecName=1220A fi if [ $gCodecDevice = "1220" ]; then @@ -810,18 +857,18 @@ if [ $gDebug = 2 ]; then echo "Codec identification: success" fi -if [ $gPikerAlphaALC = 1 ]; then - echo "" - echo "Note: when AppleHDA8Series asks:" - echo "Do you want to copy AppleHDA$gCodec.kext to: /System/Library/Extensions? (y/n)" - echo "Answer: n" - echo "" -fi +# if [ $gPikerAlphaALC = 1 ]; then +# echo "" +# echo "Note: when AppleHDA8Series asks:" +# echo "Do you want to copy AppleHDA$gCodec.kext to: /System/Library/Extensions? (y/n)" +# echo "Answer: n" +# echo "" +# fi # new codec # validate_realtek codec case "$gCodecName" in -269|283|885|887|888|889|892|898|1150|1220 ) +269|283|885|887|888|889|892|898|1150|1220|1220A ) # confirm codec, go button while true @@ -852,16 +899,22 @@ fi fi +if [ $gCodecName = 1220A ]; then +gCodec=1220 +fi + if [ $gCodecvalid != y ]; then # new codec -# get supported codec - echo "Supported RealtekALC codecs: 885, 887, 888, 889, 892, 898, 1150 and 1220 (0 to exit)" +# get supported codec + echo "Supported RealtekALC codecs: 885, 887, 888, 889, 892, 898, 1150, 1220 and 1220A (0 to exit)" while true do read -p "Enter codec: " choice0 case "$choice0" in - 269|283|885|887|888|889|892|898|1150|1220 ) gCodec=$choice0; break;; + 269|283|885|887|888|889|892|898|1150|1220 ) gCodec=$choice0; gCodecName=$choice0; break;; +# 1220a|1220A ) gCodec1220A=y; gCodec=1220; gCodecName=1220A; break;; + 1220a|1220A ) gCodec=1220; gCodecName=1220A; break;; 0 ) echo "No system files were changed" echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." exit 1;; @@ -869,8 +922,13 @@ if [ $gCodecvalid != y ]; then * ) echo "Try again...";; esac done -# Versionrealtekaudio=0x100302 +fi +# debug +if [ $gDebug = 2 ]; then +# echo "gCodec1220A = $gCodec1220A" + echo "gCodec = $gCodec" + echo "gCodecName = $gCodecName" fi # legacy @@ -913,56 +971,6 @@ case "$gCodec" in esac -case "$gCodec" in - -887|892|898|1150 ) - -# verify ioreg/HDAU for HD4600 HDMI audio - ioreg -rw 0 -p IODeviceTree -n HDAU > /tmp/HDAU.txt - - if [[ $(cat /tmp/HDAU.txt | grep -c "HDAU@3") != 0 ]]; then - if [[ $(cat /tmp/HDAU.txt | grep -c "0c0c") != 0 ]]; then - echo "HDAU@3 found, HD4600 HDMI audio capable" - gController=1 - fi - fi - sudo rm -R /tmp/HDAU.txt - - ioreg -rw 0 -p IODeviceTree -n B0D3 > /tmp/B0D3.txt - - if [[ $(cat /tmp/B0D3.txt | grep -c "B0D3@3") != 0 ]]; then - if [[ $(cat /tmp/B0D3.txt | grep -c "0c0c") != 0 ]]; then - echo "B0D3@3 found, HDAU edit required for HD4600 HDMI audio" - echo "dsdt edit/ssdt injection not available with this script" - gController=1 - fi - fi - sudo rm -R /tmp/B0D3.txt - - ;; - -esac - -# HD4600 HDMI audio patch] -choice2=n -if [ $gController = 1 ]; then - if [ $gCodec = 887 -a $gLegacy = y ]; then gController=n; else - case "$gCodec" in - - 887|892|898|1150 ) - while true - do - read -p "Patch AppleHDA.kext for HD4600 HDMI audio (y/n): " choice2 - case "$choice2" in - [yY]* ) gController=y; break;; - [nN]* ) gController=n; break;; - * ) echo "Try again...";; - esac - done - esac - fi -fi - # validate audio id audioid[0]="1 - 1/3/5/6 port Realtek ALCxxx audio" @@ -975,7 +983,7 @@ case "$gCodec" in gCodecconfig=1 ;; - 887|888|889|892|898|1150|1220 ) + 887|888|889|892|898|1150|1220|1220A ) gCodecconfig=2 ;; @@ -1143,55 +1151,52 @@ if [ $gDebug = 2 ]; then echo "Codec configuration: success" fi -# g200SeriesAudio -# confirm 200 series audio +# special case, unsupported audio controller: 300, 200, x299, x99 +choice2=n +# choice2a=n case "$gCodec" in -1220 ) +887|892|1150|1220 ) # while true # do -# read -p "Confirm 200 Series audio (y/n): " choice14 -# case "$choice14" in -# [yY]* ) g200SeriesAudio=y; break;; -# [nN]* ) -# echo "User termination" -# echo "No system files were changed" -# echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." -# exit 1 -# ;; -# * ) echo "Try again...";; +# read -p "300, 200, x299, x99 Series motherboard (y/n): " choice2a +# case "$choice2a" in +# [yY]* ) gController=y; break;; +# [nN]* ) gController=n; break;; +# * ) echo "Try again...";; # esac # done +# esac -if [ ${gSysVer:6:1} -lt 4 ]; then - echo "macOS supports 200 series audio with 10.12.4 and newer" - - while true - do - read -p "No audio on restart, continue (y/n): " choice15 - case "$choice15" in - [yY]* ) g200SeriesAudio=y; break;; - [nN]* ) - echo "User termination" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - ;; +# if [ $choice2a = y ]; then +while true +do +read -p "Motherboard (300/200/x299/x99/Other = n): " choice2 + case "$choice2" in + 300|200|x299|X299 ) gController=Kaby; break;; + x99|X99 ) gController=x99; break;; + [nN]* ) gController=n; break;; * ) echo "Try again...";; - esac - done - -fi -;; + esac +done +# fi esac -if [ $gPikerAlphaALC = 0 ]; then +# antipop fix, credit Sergey_Galan-AppleALC - bokrn +# while true +# do +# read -p "Anti-pop fix (y/n): " choice2a +# case "$choice2a" in +# [yY]* ) gAntipop=y; break;; +# [nN]* ) gAntipop=n; break;; +# * ) echo "Try again...";; +# esac +# done - -gDownloadLink="https://raw.githubusercontent.com/toleda/audio_ALC$gCodec/master/$gCodec.zip" +gDownloadLink="https://raw.githubusercontent.com/toleda/audio_ALC$gCodec/master/$gCodecName.zip" if [ $gLegacy = y ]; then Legacy=_v100202 @@ -1226,28 +1231,24 @@ if [ $gDebug = 2 ]; then echo "gCodec = $gCodec" fi -#if [ $gCodec1220S = y ]; then -# gCodec+="S" -#fi - -if [ $gCodec1220A = y ]; then - gCodec+="A" -fi - echo "" echo "Download ALC$gCodec files ..." sudo curl -o "/tmp/ALC$gCodec.zip" $gDownloadLink unzip -qu "/tmp/ALC$gCodec.zip" -d "/tmp/" +if [ $gCodec != $gCodecName ]; then + mv /tmp/$gCodec /tmp/$gCodecName +fi + # exit if error if [ "$?" != "0" ]; then - echo "Error: No Realtek ALC$gCodec Beta files" + echo "Error: No Realtek ALC$gCodec files" echo "No system files were changed" echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." exit 1 fi -fi +# fi # exit if error if [ "$?" != "0" ]; then @@ -1257,14 +1258,16 @@ if [ "$?" != "0" ]; then exit 1 fi +echo "$gCodecName files copied to /tmp/$gCodecName" # debug if [ $gDebug = 2 ]; then echo "gCloverALC = $gCloverALC" - echo "gPikerAlphaALC = $gPikerAlphaALC" +# echo "gPikerAlphaALC = $gPikerAlphaALC" echo "gRealtekALC = $gRealtekALC" fi + ###################### if [ $gCloverALC = 1 ]; then # main loop @@ -1295,8 +1298,8 @@ if [ $gDebug = 2 ]; then echo "configaudio = $configaudio" fi -if [ $gPikerAlphaALC = 0 ]; then -echo "Edit config.plist/SystemParameters/InjectKexts/YES" +# if [ $gPikerAlphaALC = 0 ]; then +echo "Edit config.plist/SystemParameters/InjectKexts/Yes" injectkexts=$(sudo /usr/libexec/PlistBuddy -c "Print ':SystemParameters:InjectKexts:'" /tmp/config.plist) @@ -1310,13 +1313,8 @@ if [ -z "${injectkexts}" ]; then echo "Edit config.plist: Add SystemParameters/InjectKexts - Fixed" fi -if [ $(sudo /usr/libexec/PlistBuddy -c "Print ':SystemParameters:InjectKexts'" /tmp/config.plist | grep -c "YES") = 0 ]; then - sudo /usr/libexec/PlistBuddy -c "Set :SystemParameters:InjectKexts YES" /tmp/config.plist -fi - -# debug -if [ $gDebug = 2 ]; then - echo "After edit. :SystemParameters:InjectKexts; = $(sudo /usr/libexec/PlistBuddy -c "Print ':SystemParameters:InjectKexts:'" /tmp/config.plist)" +if [ $(sudo /usr/libexec/PlistBuddy -c "Print ':SystemParameters:InjectKexts'" /tmp/config.plist | grep -c "Yes") = 0 ]; then + sudo /usr/libexec/PlistBuddy -c "Set :SystemParameters:InjectKexts Yes" /tmp/config.plist fi # exit if error @@ -1333,83 +1331,179 @@ if [ "$?" != "0" ]; then exit 1 fi -fi +# fi echo "Download kext patches" -if [ $gBetaALC = 0 ]; then -gDownloadLink="https://raw.githubusercontent.com/toleda/audio_cloverALC/master/config-audio_cloverALC.plist.zip" -else -gDownloadLink="https://raw.githubusercontent.com/toleda/audio_alc_test/master/config-audio_cloverALC.plist.zip" +case $gDebug in + +0|1 ) + if [ $gBetaALC = 0 ]; then + gDownloadLink="https://raw.githubusercontent.com/toleda/audio_cloverALC/master/config-audio_cloverALC+.plist.zip" + else + gDownloadLink="https://raw.githubusercontent.com/toleda/audio_alc_test/master/config-audio_cloverALC+.plist.zip" + fi + + sudo curl -o "/tmp/config-audio_cloverALC+.plist.zip" $gDownloadLink + unzip -qu "/tmp/config-audio_cloverALC+.plist.zip" -d "/tmp/" + mv /tmp/config-audio_cloverALC+.plist /tmp/config-audio_cloverALC.plist +;; + +2 ) + echo "gDesktopDirectory = $gDesktopDirectory" + + if [ -f "$gDesktopDirectory/config-audio_cloverALC+.plist" ]; then + sudo cp -R "$gDesktopDirectory/config-audio_cloverALC+.plist" /tmp/config-audio_cloverALC.plist + echo "Desktop/config-audio_cloverALC+.plist copied to /tmp/config-audio_cloverALC.plist" + else + echo "Error, Desktop/config-audio_cloverALC+.plist missing" + exit 1 + fi +;; + +esac + +# verify /tmp/config-audio_cloverALC.plist +index=0 +sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:${patch[$index]}'" /tmp/config-audio_cloverALC.plist -x > "/tmp/ktp.plist" +if [ $(sudo /usr/libexec/PlistBuddy -c "Print '::$index dict'" /tmp/ktp.plist | grep -c "AppleHDA") = 0 ]; then + echo "Error: config-audio_cloverALC.plist patches failed" + echo "Verify Insternel access" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 fi -sudo curl -o "/tmp/config-audio_cloverALC.plist.zip" $gDownloadLink -unzip -qu "/tmp/config-audio_cloverALC.plist.zip" -d "/tmp/" - -# add KernelAndKextPatches/KextsToPatch codec patches -# remove existing audio patches - -ktpexisting=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:'" /tmp/config.plist) +# verify config.plist/KernelAndKextPatches:KextsToPatch +ktpexisting=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches'" /tmp/config.plist) if [ -z "${ktpexisting}" ]; then sudo /usr/libexec/PlistBuddy -c "Add KernelAndKextPatches:KextsToPatch array" /tmp/config.plist echo "Edit config.plist: Add KernelAndKextPatches/KextsToPatch - Fixed" fi -ktpexisting=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:'" /tmp/config.plist | grep -c "t1-") +ktpexisting=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:'" /tmp/config.plist) -if [ $ktpexisting = 0 ]; then - if [ $(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist | grep -c "AppleHDA") != 0 ]; then - gMB=1 - fi +if [ -z "${ktpexisting}" ]; then + sudo /usr/libexec/PlistBuddy -c "Add KernelAndKextPatches:KextsToPatch array" /tmp/config.plist + echo "Edit config.plist: Add KextsToPatch - Fixed" fi -# remove AppleHDAController patches (mb) -ktpexisting=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:'" /tmp/config.plist | grep -c "AppleHDAController") - -index=0 -while [ $ktpexisting -ge 1 ]; do -if [ $(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist | grep -c "AppleHDAController") = 1 ]; then - if [ $(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist | grep -c "x99") = 0 ]; then - sudo /usr/libexec/PlistBuddy -c "Delete ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist - fi - ktpexisting=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:'" /tmp/config.plist | grep -c "AppleHDAController") - index=$((index - 1)) +# exit if error +if [ "$?" != "0" ]; then + echo "Error: config.plist/KernelAndKextPatches/KextsToPatch fix failed" + echo “Original config.plist restored” + echo “Install valid config.plist” + sudo cp -X $gCloverDirectory/config-backup.plist $gCloverDirectory/config.plist + sudo rm -R /tmp/ktp.plist + sudo rm -R /tmp/config.plist + sudo rm -R /tmp/config-audio_cloverALC+.plist.zip + sudo rm -R /tmp/config-audio_cloverALC.plist + sudo rm -R /tmp/__MACOSX + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 fi -index=$((index + 1)) + +# remove AppleHDA patches + +# ktpcomment=$(sudo /usr/libexec/PlistBuddy -c "Print 'Comment'" "/tmp/ktp.plist") +# ktpname=$(sudo /usr/libexec/PlistBuddy -c "Print 'Name'" "/tmp/ktp.plist") +# ktpname=$(sudo /usr/libexec/PlistBuddy -c "Print 'Name'" "/tmp/ktp.plist") + +# ktpexisting=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:'" /tmp/config.plist | grep -c "AppleHDA") +ktptotal=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:'" /tmp/config.plist | grep -c "Name") + # debug if [ $gDebug = 2 ]; then - echo "AppleHDAController patches (mb)" - echo "index = $index" - echo "ktpexisting = $ktpexisting" + echo "ktptotal = $ktptotal" fi -done - -# remove AppleHDA patches (mb) -ktpexisting=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:'" /tmp/config.plist | grep -c "AppleHDA") index=0 -while [ $ktpexisting -ge 1 ]; do -if [ $(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist | grep -c "AppleHDA") != 0 ]; then - if [ $(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist | grep -c "x99") = 0 ]; then - sudo /usr/libexec/PlistBuddy -c "Delete ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist - fi - ktpexisting=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:'" /tmp/config.plist | grep -c "AppleHDA") - index=$((index - 1)) -fi -# gMB=1 -index=$((index + 1)) +while [ $index -lt $ktptotal ]; do # debug if [ $gDebug = 2 ]; then - echo "AppleHDA patches (mb)" echo "index = $index" - echo "ktpexisting = $ktpexisting" fi +if [ $(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist | grep -c "AppleHDAController") -ge 1 ]; then + +# debug + if [ $gDebug = 2 ]; then + echo "AppleHDAController" + fi + + else + if [ $(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist | grep -c "AppleHDA") -ge 1 ]; then + sudo /usr/libexec/PlistBuddy -c "Delete ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist + index=$((index - 1)) + ktptotal=$((ktptotal - 1)) + +# debug + if [ $gDebug = 2 ]; then + echo "AppleHDA" + fi + fi +fi + +index=$((index + 1)) done +# debug +if [ $gDebug = 2 ]; then + echo "" +fi + +# antipop, credit: Sergey_Galan-AppleALC - broken +# if [ $gAntipop = "y" ]; then +# index=0 +# patch=( 12 11 ) +# _patchconfig +# patch=12 +# _patchconfig +# patch=11 +# _patchconfig +# fi + +# exit if error +if [ "$?" != "0" ]; then + echo Error: config.plst/antipop edits failed + echo “Original config.plist restored” + sudo cp -X $gCloverDirectory/config-backup.plist $gCloverDirectory/config.plist + sudo rm -R /tmp/ktp.plist + sudo rm -R /tmp/config.plist + sudo rm -R /tmp/config-audio_cloverALC.plist + sudo rm -R /tmp/$gCodecName.zip + sudo rm -R /tmp/$gCodecName + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 +fi + +# macOS version problem codec patchout +# 10.13/10.12: credit pcpaul/Riley Freeman +# 10.11: credit lisai9093 +patch=10 +_patchconfig +patch=13 +_patchconfig + +# codec zml files +patch=0 +_patchconfig + +# exit if error +if [ "$?" != "0" ]; then + echo Error: config.plst/patchout edits failed + echo “Original config.plist restored” + sudo cp -X $gCloverDirectory/config-backup.plist $gCloverDirectory/config.plist + sudo rm -R /tmp/ktp.plist + sudo rm -R /tmp/config.plist + sudo rm -R /tmp/config-audio_cloverALC.plist + sudo rm -R /tmp/$gCodecName.zip + sudo rm -R /tmp/$gCodecName + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 +fi + # set patch for codec - -case $gCodec in +case $gCodecName in # xml>znl, patch1=0 885 ) patch1=1;; 887 ) patch1=2;; @@ -1421,107 +1515,94 @@ case $gCodec in 269 ) patch1=8;; 283) patch1=9;; # el capitan only, patch1=10 -# hd4600 hdmi audio only, patch1=11 -# hd4600 hdmi audio only, patch1=12 -# high sierra/sierra only, patch1=13 -# new codecs -891 ) patch1=14;; -#1220 ) patch1=15;; # 0x1168 -#1220S ) patch1=16;; # 0x1220 -1220A ) patch1=15;; # 0x1168 -1220 ) patch1=16;; # 0x1220 -# 200 series audio only, patch1=17 +# anti pop, patch0=11 +# anti pop, patch1=12 +# high sierra/sierra only, patch0=13 +# x99 series audio only, patch1=14 +# 200/300/x299 series audio only, patch1=15 +1220A ) patch1=16;; # 0x1168 +1220 ) patch1=17;; # 0x1220 esac -# if [ $gCodec1220S = y ]; then -# patch1=16 -# fi - -patch=( 0 $patch1 ) -index=0 - -if [ $gPikerAlphaALC = 1 ]; then - index=1 +# debug +if [ $gDebug = 2 ]; then +# echo "gCodec1220A = $gCodec1220A" + echo "gCodec = $gCodec" + echo "gCodecName = $gCodecName" fi -while [ $index -lt 2 ]; do - -sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:${patch[$index]}'" /tmp/config-audio_cloverALC.plist -x > "/tmp/ktp.plist" -ktpcomment=$(sudo /usr/libexec/PlistBuddy -c "Print 'Comment'" "/tmp/ktp.plist") -sudo /usr/libexec/PlistBuddy -c "Set :Comment 't1-$ktpcomment'" "/tmp/ktp.plist" -sudo /usr/libexec/PlistBuddy -c "Add :KernelAndKextPatches:KextsToPatch:0 dict" /tmp/config.plist -sudo /usr/libexec/PlistBuddy -c "Merge /tmp/ktp.plist ':KernelAndKextPatches:KextsToPatch:0'" /tmp/config.plist - -index=$((index + 1)) -done - -case $gSysName in - -"High Sierra"|"Sierra"|"El Capitan" ) - -case $gCodecName in - -#887|888|889|892|898|1150|1220|1220S|891 ) -887|888|889|892|898|1150|1220A|1220|891 ) - -case $gSysName in - -"High Sierra"|"Sierra" ) -# codec patch out/credit pcpaul/Riley Freeman -sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:13}'" /tmp/config-audio_cloverALC.plist -x > "/tmp/ktp.plist" -;; - -"El Capitan" ) -# codec patch out/credit lisai9093 -sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:10}'" /tmp/config-audio_cloverALC.plist -x > "/tmp/ktp.plist" -;; - -esac - -esac - -ktpcomment=$(sudo /usr/libexec/PlistBuddy -c "Print 'Comment'" "/tmp/ktp.plist") -sudo /usr/libexec/PlistBuddy -c "Set :Comment 't1-$ktpcomment'" "/tmp/ktp.plist" -sudo /usr/libexec/PlistBuddy -c "Add :KernelAndKextPatches:KextsToPatch:0 dict" /tmp/config.plist -sudo /usr/libexec/PlistBuddy -c "Merge /tmp/ktp.plist ':KernelAndKextPatches:KextsToPatch:0'" /tmp/config.plist -;; - -esac - -# codec patch hd4600 hdmi audio/credit TimeWalker75a -if [ $gController = y ]; then - index=11 - - while [ $index -lt 13 ]; do - - sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:$index}'" /tmp/config-audio_cloverALC.plist -x > "/tmp/ktp.plist" - ktpcomment=$(sudo /usr/libexec/PlistBuddy -c "Print 'Comment'" "/tmp/ktp.plist") - sudo /usr/libexec/PlistBuddy -c "Set :Comment 't1-$ktpcomment'" "/tmp/ktp.plist" - sudo /usr/libexec/PlistBuddy -c "Add :KernelAndKextPatches:KextsToPatch:0 dict" /tmp/config.plist - sudo /usr/libexec/PlistBuddy -c "Merge /tmp/ktp.plist ':KernelAndKextPatches:KextsToPatch:0'" /tmp/config.plist - - index=$((index + 1)) - done - -fi - -# 200 series audio patch (temporary) - -# if [ $g200SeriesAudio = y ]; then - -# sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:17}'" /tmp/config-audio_cloverALC.plist -x > "/tmp/ktp.plist" - -# ktpcomment=$(sudo /usr/libexec/PlistBuddy -c "Print 'Comment'" "/tmp/ktp.plist") -# sudo /usr/libexec/PlistBuddy -c "Set :Comment 't1-$ktpcomment'" "/tmp/ktp.plist" -# sudo /usr/libexec/PlistBuddy -c "Add :KernelAndKextPatches:KextsToPatch:0 dict" /tmp/config.plist -# sudo /usr/libexec/PlistBuddy -c "Merge /tmp/ktp.plist ':KernelAndKextPatches:KextsToPatch:0'" /tmp/config.plist - -# fi +# codec specific patch +patch=$patch1 +_patchconfig # exit if error if [ "$?" != "0" ]; then - echo Error: config.plst edit failed + echo Error: config.plst/codec edits failed + echo “Original config.plist restored” + sudo cp -X $gCloverDirectory/config-backup.plist $gCloverDirectory/config.plist + sudo rm -R /tmp/ktp.plist + sudo rm -R /tmp/config.plist + sudo rm -R /tmp/config-audio_cloverALC.plist + sudo rm -R /tmp/$gCodecName.zip + sudo rm -R /tmp/$gCodecName + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 +fi + +# special case, x99, 200, x299, 300 +ktplabel="t0-" +case $gController in + +Kaby ) +if [ $(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist | grep -c "10.10-x99") = 0 ]; then + sudo /usr/libexec/PlistBuddy -c "Delete ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist +fi + +# index=1 +# patch=( 0 18 ) +# _patchconfig +patch=15 +_patchconfig + +echo "Kaby Lake audio controller patch" +;; + +x99 ) +if [ $(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist | grep -c "10.12-Kaby") = 0 ]; then + sudo /usr/libexec/PlistBuddy -c "Delete ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist +fi + +# index=1 +# patch=( 0 14 ) +#_patchconfig +patch=14 +_patchconfig + +echo "X99 audio controller patch" +;; + +esac + + +# exit if error +if [ "$?" != "0" ]; then + echo Error: config.plst/audio controller edits failed + echo “Original config.plist restored” + sudo cp -X $gCloverDirectory/config-backup.plist $gCloverDirectory/config.plist + sudo rm -R /tmp/ktp.plist + sudo rm -R /tmp/config.plist + sudo rm -R /tmp/config-audio_cloverALC.plist + sudo rm -R /tmp/$gCodecName.zip + sudo rm -R /tmp/$gCodecName + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 +fi + + +# exit if error +if [ "$?" != "0" ]; then + echo Error: config.plst audio edits failed echo “Original config.plist restored” sudo cp -X $gCloverDirectory/config-backup.plist $gCloverDirectory/config.plist sudo rm -R /tmp/ktp.plist @@ -1551,61 +1632,6 @@ esac sudo rm -R /tmp/ktp.plist sudo rm -R /tmp/config.plist sudo rm -R /tmp/config-audio_cloverALC.plist -sudo rm -R /tmp/config-audio_cloverALC.plist.zip - -# echo "config.plist patching finished." - -if [ $gPikerAlphaALC = 1 ]; then - -# download AppleHDA8Series.sh to /tmp/ -echo "Download Piker-Alpha/AppleHDA8Series.sh" - -curl -o /tmp/AppleHDA8Series.zip https://codeload.github.com/Piker-Alpha/AppleHDA8Series.sh/zip/master -if [ -d /tmp/AppleHDA8Series ]; then - sudo rm -R /tmp/AppleHDA8Series -fi -unzip -qu /tmp/AppleHDA8Series.zip -d /tmp/ -mv /tmp/AppleHDA8Series.sh-master /tmp/AppleHDA8Series - -# remove installed AppleHDAxxx.kext -if [ -d "$gLibraryDirectory/AppleHDA$gCodec.kext" ]; then - sudo rm -R "$gLibraryDirectory/AppleHDA$gCodec.kext" -fi - -# run AppleHDA8Series.sh -echo "Install $gLibraryDirectory/AppleHDA$gCodec.kext" -chmod +x /tmp/AppleHDA8Series/AppleHDA8Series.sh -sh /tmp/AppleHDA8Series/AppleHDA8Series.sh -a $gCodec -l $gAudioid -d $gLibraryDirectory - -# exit if error -if [ "$?" != "0" ]; then - echo Error: AppleHDA8Series.sh - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - sudo rm -R /tmp/AppleHDA8Series.zip - sudo rm -R /tmp/AppleHDA8Series - sudo rm -R /tmp/ALC$gCodec.zip - sudo rm -R /tmp/$gCodec - sudo rm -R /tmp/ConfigData-ALC$gCodec.xml - sudo rm -R /tmp/HDEF.txt - exit 1 -fi - -# clean up -sudo rm -R /tmp/AppleHDA8Series.zip -sudo rm -R /tmp/AppleHDA8Series -sudo rm -R /tmp/ALC$gCodec.zip -sudo rm -R /tmp/$gCodec -sudo rm -R /tmp/ConfigData-ALC$gCodec.xml -sudo rm -R /tmp/HDEF.txt - -else # PikerAlphaALC -# determine kexts/folder -if [ -d "$gCloverDirectory/$gSysFolder" ]; then - gSysFolder=$gSysFolder - else - gSysFolder=kexts/Other -fi if [ $gBetaALC = 0 ]; then echo "Download config kext and install ..." @@ -1617,7 +1643,6 @@ fi sudo curl -o "/tmp/realtekALC.kext.zip" $gDownloadLink unzip -qu "/tmp/realtekALC.kext.zip" -d "/tmp/" - # install realtekALC.kext if [ $gBetaALC <> 0 ]; then @@ -1648,8 +1673,8 @@ case $gMB in 0 ) # to EFI/CLOVER/kexts/ (cloverALC) - sudo cp -R "/tmp/realtekALC.kext" "$gCloverDirectory/$gSysFolder/" - echo "Install $gCloverDirectory/$gSysFolder/realtekALC.kext" + sudo cp -R "/tmp/realtekALC.kext" "$gCloverDirectory/kexts/Other/" + echo "Install $gCloverDirectory/kexts/Other/realtekALC.kext" ;; 1 ) @@ -1705,7 +1730,7 @@ case $gDebug in sudo install -m 644 -o root -g wheel /tmp/$gCodecName/layout3.xml.zlib $gHDAContentsDirectory/Resources/layout3.zml.zlib ;; -# 1150|1220|1220S|891 ) +# 1150|1220|1220S ) 1150|1220A|1220|891 ) sudo install -m 644 -o root -g wheel /tmp/$gCodecName/layout2.xml.zlib $gHDAContentsDirectory/Resources/layout2.zml.zlib ;; @@ -1713,8 +1738,8 @@ case $gDebug in ;; 1|2 ) - if [ -d $gDesktopDirectory/$gCodec-${gDebugMode[$gDebug]} ]; then - sudo rm -R $gDesktopDirectory/$gCodec-${gDebugMode[$gDebug]} + if [ -d $gDesktopDirectory/$gCodecName-${gDebugMode[$gDebug]} ]; then + sudo rm -R $gDesktopDirectory/$gCodecName-${gDebugMode[$gDebug]} fi if [ -f /tmp/$gCodecName/hdacd.plist ]; then @@ -1729,8 +1754,8 @@ case $gDebug in sudo mv $file ${file%.xml.zlib}.zml.zlib done - sudo cp -R /tmp/$gCodecName $gDesktopDirectory/$gCodec-${gDebugMode[$gDebug]} - echo "$gCodec-${gDebugMode[$gDebug]} copied to Desktop" + sudo cp -R /tmp/$gCodecName $gDesktopDirectory/$gCodecName-${gDebugMode[$gDebug]} + echo "$gCodecName-${gDebugMode[$gDebug]} copied to Desktop" echo "No system files were changed" ;; @@ -1750,8 +1775,6 @@ if [ "$?" != "0" ]; then exit 1 fi -fi # end: PikerAlphaALC - fi # end: if [ $gCloverALC = 1 ] # fix permissions and rebuild cache @@ -1796,7 +1819,7 @@ case $gDebug in ;; 1|2 ) - echo "Install finished, see Desktop/$gCodec-${gDebugMode[$gDebug]}" + echo "Install finished, see Desktop/$gCodecName-${gDebugMode[$gDebug]}" ;; esac diff --git a/audio_cloverHDMI-130_v0.6.command b/audio_cloverHDMI-130_v0.6.command deleted file mode 100755 index f013e77..0000000 --- a/audio_cloverHDMI-130_v0.6.command +++ /dev/null @@ -1,1856 +0,0 @@ -#!/bin/sh -# Maintained by: toleda for: github.com/toleda/audio_cloverHDMI -gFile="audio_cloverHDMI-130_v0.6.command" -# Credit: bcc9, RevoGirl, PikeRAlpha, RehabMan -# -# OS X Clover HDMI Audio -# -# Enables macOS HDMI audio in 10.13, 10.12, 10.11. 10.10, 10.9 and 10.8, all versions -# 1. Supports Intel integrated graphics and/or AMD and Nvidia discrete graphics -# 2. Installs HDMI audio ssdt and required framebuffer edits (Intel only) -# 3. Native CPU and GPU power management (Intel only, additonal steps required) -# -# Requirements -# 1. OS X: 10.13/10.12/10.11/10.10/10.9/10.8, all versions -# 2. AppleHDA.kext (If not installed, run 10.x.x installer) -# 3. Recognized Intel/AMD/Nvidia graphics -# 4. Clover only: 1.UEFI, mount EFI partition and 2. Clover Legacy -# -# Supports: -# 1. Intel/desktop series: 200, 100, 9, 8, 7, 6, 5 -# a. Intel/workstation series: X99, X79, X58 -# 2. Intel/graphics hd: -# Desktop: HD6x0, HD5x0, HD6200, HD4600+, HD4000, HD3000 -# BRIX/NUC: HD580, HD540, HD6100, HD6000, HD5500, HD5200, HD5000, HD4000 -# 3. AMD/default framebuffer: RX_5x0/4x0, R7/R9 3xx, R7/R9 2xx,7xxx, 6xxx, 5xxx -# Except: GCN 1.1/Hawaii/Bonaire) -# 4. Nvidia/macOS drivers: 10xx, 9xx, 7xx, 6xx, 5xx, 4xx (except 450, 550, 560) -# Required: Nvidia/Web drivers: 9xx, 750 -# -# Debug Mode (saves ssdt and config.plist to Desktop -# 1. Set audio_cloverHDMI-120.command/gDebug=1 (below) -# 2. Copy config.plist to Desktop -# 3. Continue with Installation/Step 3 -# -# Installation -# 1. Double click audio_cloverHDMI...command -# 2. Enter password at prompt -# 3. Questions (answer y or n) -# Install SSDT-HDMI-HDxxx HDMI audio ssdt (y/n) -# Verify SSDT-HDMI-HDxxx HDMI audio connector (y/n) -# Confirm DP to HDMI connector patch on port 0x5 (y/n) -# Install AMD/Nvidia HDMI audio (y/n) -# Install AMD HDMI audio ssdt (y/n) -# 4. Restart -# -# Change log -# v0.1 - 7/6/17: Initial 10.13 support -# v0.2 - 729/17: fix HD630 device_id -# v0.3 - 8/22/17: fix HD630 port calculation -# v0.4 - 8/31/17: Audio ID verification -# v0.5 - 10/12/17: Pulled, source control error -# v0.4 - 10/15/17: Fixed -echo " " -echo "Agreement" -echo "The audio_cloverHDMI script is for personal use only. Do not distribute" -echo "the patch, any or all of the files for any reason without permission." -echo "The audio_cloverHDMI script is provided as is and without any warranty." -echo " " - -# set initial variables -# debug=0 - normal install, -# debug=1 - test drive, copy config.plist to Desktop, edited config.plist and ssdt copied to Desktop -gDebug=0 - -gSysVer=`sw_vers -productVersion` -gSysName="El Capitan" -gStartupDisk=EFI -gCloverDirectory=/Volumes/$gStartupDisk/EFI/CLOVER -gDesktopDirectory=/Volumes/$(whoami)/Desktop -gssdtinstall=n -gigfxlvds=0 -gideviceid=0 -givendorid=0 -gigfxhdmicodec=0 -gigfxhdmihdau=y -gigfxportmax=7 -gigfxport5=0 -gigfxports=3 -gigfxnuc=1 -gdgfxname1=0 -gdgfxssdt=0 -gdgfxname=0 -gdgfx=0 -ghdmi=0 -gAudioid=1 - -# Terminal commands -# ioreg -rxn IGPU@2 | grep vendor-id| awk '{ print $4 }' -# ioreg -rxn IGPU@2 | grep device-id | sed -e 's/.*//' -# ioreg -rxn IGPU@2 | grep "AAPL,ig-platform-id"| awk '{ print $4 }' -# ioreg -rxn IGPU@2 | grep "hda-gfx"| awk '{ print $4 }' -# ioreg -rxn IGPU@2 | grep -c "hda-gfx" -# ioreg -rxn HDAU@0 | grep "hda-gfx"| awk '{ print $4 }' -# ioreg -rxn HDAU@0,1 | grep device-id| awk '{ print $4 }' -# ioreg -rxn P0P2@3 | grep vendor-id| awk '{ print $4 }' -# ioreg -rw 0 -p IODeviceTree -n IGPU@2 > /tmp/IGPU.txt -# ioreg -rw 0 -p IOService -n AppleIntelFramebuffer@0 > /tmp/IGPU.txt -# audioinfo=$(cat /tmp/IGPU.txt | grep -c "audio-codec-info") -# connector=$(cat /tmp/IGPU.txt | grep connector-type | sed -e 's/.*//') - -function _patchconfig() -{ -while [ $index -lt 2 ]; do - -# debug -if [ $gDebug = 2 ]; then -echo "index = $index" -echo "patch = ${patch[*]}" -fi - -# add patches to config.plist -sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:${patch[$index]}'" /tmp/config-audio_cloverHDMI.plist -x > "/tmp/ktp.plist" -ktpcomment=$(sudo /usr/libexec/PlistBuddy -c "Print 'Comment'" "/tmp/ktp.plist") -sudo /usr/libexec/PlistBuddy -c "Set :Comment 't2-$ktpcomment'" "/tmp/ktp.plist" -sudo /usr/libexec/PlistBuddy -c "Add :KernelAndKextPatches:KextsToPatch:0 dict" /tmp/config.plist -sudo /usr/libexec/PlistBuddy -c "Merge /tmp/ktp.plist ':KernelAndKextPatches:KextsToPatch:0'" /tmp/config.plist - -index=$((index + 1)) -done -} - -# verify system version -case ${gSysVer} in - - 10.13* ) gSysName="High Sierra" - gSysFolder=kexts/10.13 - gSID=$(csrutil status) - ;; - - 10.12* ) gSysName="Sierra" - gSysFolder=kexts/10.12 - gSID=$(csrutil status) - ;; - - 10.11* ) gSysName="El Capitan" - gSysFolder=kexts/10.11 - gSID=$(csrutil status) - ;; - - 10.10* ) gSysName="Yosemite" - gSysFolder=kexts/10.10 - ;; - - 10.9* ) gSysName="Mavericks" - gSysFolder=kexts/10.9 - ;; - - 10.8* ) gSysName="Mountain Lion" - gSysFolder=kexts/10.8 - ;; - - * ) - echo "OS X Version: $gSysVer is not supported" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - ;; - -esac - -# debug -if [ $gDebug = 2 ]; then - # gSysVer=10.9 - echo "System version: supported" - echo "gSysVer = $gSysVer" -fi - -gDebugMode[0]=Release -gDebugMode[1]=TestDrive -gDebugMode[2]=Debug - -# verify Debug setting -case $gDebug in - - 0|1|2 ) - ;; - - * ) - echo "gDebug = $gDebug not invalid, script terminating" - echo "No system files were changed" - exit 1 - :: - -esac - -echo "File: $gFile" -echo "${gDebugMode[$gDebug]} Mode" - -# credit: mfram, http://forums.macrumors.com/showpost.php?p=18302055&postcount=6 -# get startup disk name -gStartupDevice=$(mount | grep "on / " | cut -f1 -d' ') -gStartupDisk=$(mount | grep "on / " | cut -f1 -d' ' | xargs diskutil info | grep "Volume Name" | perl -an -F'/:\s+/' -e 'print "$F[1]"') - -# debug -if [ $gDebug = 2 ]; then - echo "Boot device: $gStartupDevice" - echo "Boot volume: $gStartupDisk" -fi - -# check for debug (debug=1 and 2 do not touch CLOVER folder) -case $gDebug in -0 ) - -# verify EFI install -gEFI=0 -if [ -d $gCloverDirectory ]; then - gEFI=1 -fi - -if [ $gEFI = 0 ]; then - - if [ -d '/Volumes/ESP/EFI/CLOVER' ]; then - gCloverDirectory=/Volumes/ESP/EFI/CLOVER - gEFI=1 - fi - -fi - -if [ $gEFI = 1 ]; then - echo "EFI partition is mounted" - if [ -f "$gCloverDirectory/config.plist" ]; then - cp -p "$gCloverDirectory/config.plist" "/tmp/config.plist" - if [ -f "$gCloverDirectory/config-backup.plist" ]; then - rm -R "$gCloverDirectory/config-backup.plist" - fi - cp -p "$gCloverDirectory/config.plist" "$gCloverDirectory/config-backup.plist" - else - echo "$gCloverDirectory/config.plist is missing" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - fi -else - echo "EFI partition not mounted" - -# confirm Clover Legacy install - gCloverDirectory=/Volumes/"$gStartupDisk"/EFI/CLOVER - if [ -d "$gCloverDirectory" ]; then - echo "$gStartupDisk/EFI folder found" - else echo "$gStartupDisk/EFI not found" - echo "EFI/CLOVER folder not available to install HDMI audio" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - fi - -# initialize variable - choice7=n - - while true - do - read -p "Confirm Clover Legacy Install (y/n): " choice7 - case "$choice7" in - - [yY]* ) -# gCloverDirectory=/Volumes/"$gStartupDisk"/EFI/CLOVER - if [ -d "$gCloverDirectory" ]; then - if [ -f "$gCloverDirectory/config.plist" ]; then - cp -p "$gCloverDirectory/config.plist" "/tmp/config.plist" - if [ -f "$gCloverDirectory/config-backup.plist" ]; then - rm -R "$gCloverDirectory/config-backup.plist" - fi - cp -p "$gCloverDirectory/config.plist" "$gCloverDirectory/config-backup.plist" - else - echo "$gCloverDirectory/config.plist is missing" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - fi - - else - echo "$gCloverDirectory not found" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - fi - - break - ;; - - [nN]* ) - echo "User terminated, EFI partition/folder not mounted" - echo “Mount EFI partition and Restart“ - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - ;; - - * ) echo "Try again...";; - esac - done - fi -;; - -1|2 ) - if [ -f "Desktop/config.plist" ]; then - cp -R Desktop/config.plist /tmp/config.plist -# echo "Debug mode" -# echo "Desktop/config.plist copied to /tmp/config.plist" - else - echo "Desktop/config.plist missing, Debug mode not possible" - exit 1 - fi -;; - -esac - -# verify ioreg/HDEF -ioreg -rw 0 -p IODeviceTree -n HDEF > /tmp/HDEF.txt - -if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF@1") = 0 ]]; then -echo "Error: no IOReg/HDEF; BIOS/audio/disabled or ACPI problem" - - while true - do - read -p "Continue without HDEF/onboard audio (y/n): " choice0 - case "$choice0" in - [yY]* ) break;; - [nN]* ) - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - rm -R /tmp/HDEF.txt - exit 1 - ;; - * ) echo "Try again...";; - esac - done -fi - -# HDEF/layout-id - -if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF@1") != 0 ]]; then - gLayoutidioreg=$(cat /tmp/HDEF.txt | grep layout-id | sed -e 's/.*//') - gLayoutidhex="0x${gLayoutidioreg:6:2}${gLayoutidioreg:4:2}${gLayoutidioreg:2:2}${gLayoutidioreg:0:2}" - gAudioid=$((gLayoutidhex)) -fi - -# verify ioreg/GFX0 -ioreg -rw 0 -p IODeviceTree -n GFX0@2 > /tmp/IGPU.txt -if [[ $(cat /tmp/IGPU.txt | grep -c "GFX0@2") = 0 ]]; then - gigfx=0 - -# debug - if [ $gDebug = 2 ]; then - echo "GFX0 - gigfx = $gigfx" - fi - -# verify ioreg/IGPU - ioreg -rw 0 -p IODeviceTree -n IGPU@2 > /tmp/IGPU.txt - if [[ $(cat /tmp/IGPU.txt | grep -c "IGPU@2") = 0 ]]; then - gigfx=0 - -# debug - if [ $gDebug = 2 ]; then - echo "IGPU - gigfx = $gigfx" - fi - - else - gigfx=IGPU@2 - -# debug - if [ $gDebug = 2 ]; then - echo "gigfx = $gigfx" - fi - - fi - -else -gigfx=GFX0@2 - -# debug -if [ $gDebug = 2 ]; then - echo "gigfx = $gigfx" -fi - -fi - -rm -R /tmp/IGPU.txt -rm -R /tmp/HDEF.txt - -# get installed codecs -gCodecsInstalled=$(ioreg -rxn IOHDACodecDevice | grep VendorID | awk '{ print $4 }' | sed -e 's/ffffffff//') - -# debug -if [ $gDebug = 2 ]; then -# gCodecsInstalled=0x10ec0900 -# gCodecsInstalled=0x10134206 - echo "gCodecsInstalled = $gCodecsInstalled" -fi - -# no audio codecs detected -if [ -z "${gCodecsInstalled}" ]; then - echo "" - echo "No audio codec detected" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 -fi - -# initialize variables -intelhdmi=0 -amdhdmi=0 -nvidiahdmi=0 - -# find codecs -index=0 -for codec in $gCodecsInstalled -do - -# debug -if [ $gDebug = 2 ]; then - echo "Index = $index, Codec = $codec" -fi - -# sort vendors and devices -case ${codec:2:4} in - - 8086 ) Codecintelhdmi=$codec; intelhdmi=1 - ;; - 1002 ) Codecamdhdmi=$codec; amdhdmi=1 - ;; - 10de ) Codecnvidiahdmi=$codec; nvidiahdmi=1 - ;; - -esac -index=$((index + 1)) -done - -ghdmi=$((intelhdmi+amdhdmi+nvidiahdmi)) -gdgfx=$((amdhdmi+nvidiahdmi)) - -# no hdmi codecs detected -if [ $ghdmi = 0 ]; then - - while true - do - read -p "No HDMI audio codec(s) detected, continue (y/n): " choice4 - case "$choice4" in - [yY]* ) - gdgfx=1 - break - ;; - [nN]* ) - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - rm -R /tmp/HDEF.txt - rm -R /tmp/config.plist - exit 1 - ;; - * ) echo "Try again...";; - esac - done -fi - -# debug -# if [ $gDebug != 0 ]; then - echo "HDMI audio codec(s)" - if [ $intelhdmi = 1 ]; then - echo "Intel: $Codecintelhdmi" - fi - if [ $amdhdmi = 1 ]; then - echo "AMD: $Codecamdhdmi" - fi - if [ $nvidiahdmi = 1 ]; then - echo "Nvidia: $Codecnvidiahdmi" - fi -# fi - -# debug 0 -# if [ $gDebug = 0 ]; then -# if [ $gDebug = 1 ]; then -# if [ $gDebug = 2 ]; then -# echo "" -# gigfx=0 -# gdgfx=0 -# echo "gigfx = $gigfx" -# echo "gdgfx = $gdgfx" -# fi - -if [ $gigfx = 0 ]; then # no IGFX - echo "Integrated Graphics is not installed/enabled" - gigfxnuc=0 - rm -R /tmp/config.plist -# rm -R /tmp/HDEF.txt - -else - gideviceid=$(ioreg -rxn $gigfx | grep device-id | sed -e 's/.*//') - -# debug 0 -# if [ $gDebug = 0 ]; then -# if [ $gDebug = 1 ]; then -# if [ $gDebug = 2 ]; then -# gideviceid=26010000 -# gideviceid=62010000 -# gideviceid=12040000 -# gideviceid=220d0000 -# gideviceid=16160000 -# gideviceid=12190000 -# gideviceid=26190000 -# gideviceid=12590000 -# fi - -# initialize variable -gideviceidsupported=y -gigfxindex=0 -gigfxhdmihdef=n -gigfxhdmihdau=n - -# desktop igfx ssdt parameters -case $gideviceid in - -26010000* ) -gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,snb-platform-id"| awk '{ print $4 }') -gigfxgen=2 -gigfxhdmifb=00020300 -gigfxname="HD3000" -gigfxrepo=hd3000 -gigfxfolder=ssdt_hdmi-hd3000 -gigfxzip=ssdt_hdmi-hd3000-6series-3 -gigfxssdt=SSDT-HDMI-HD3000 -gigfxindex=2 -gigfxhdmihdef=y -gigfxnuc=0 -;; - -62010000* ) -gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') -gigfxgen=3 -gigfxhdmifb=0A006601 -gigfxname="HD4000" -gigfxrepo=hd4000 -gigfxfolder=ssdt_hdmi-hd4000 -gigfxzip=ssdt_hdmi-hd4000-7series-3 -gigfxssdt=SSDT-HDMI-HD4000 -gigfxindex=5 -gigfxhdmihdef=y -gigfxnuc=0 -;; - -12040000* ) -gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') -gigfxgen=4 -gigfxhdmifb=0300220D -gigfxhdmicodec=0c0c -gigfxhdmihdau=y -gigfxname="HD4600+" -gigfxrepo=8series -gigfxfolder=ssdt_hdmi-hd4600+ -gigfxzip=ssdt_hdmi-hd4600+ -gigfxssdt=SSDT-HDMI-HD4600+ -gigfxindex=8 -gigfxnuc=0 -;; - -22160000* ) -gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') -gigfxgen=5 -gigfxhdmifb=03001216 -gigfxhdmihdau=y -gigfxname="HD6200" -gigfxrepo=9series -gigfxfolder=ssdt_hdmi-hd6000+ -gigfxzip=ssdt_hdmi-hd6200 -gigfxssdt=SSDT-HDMI-HD6200 -gigfxindex=0 -gigfxnuc=0 -;; - -12190000* ) -gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') -gigfxgen=6 -gigfxhdmifb=00001219 -gigfxhdmihdau=n -gigfxname="HD530" -gigfxrepo=100series -gigfxfolder=ssdt_hdmi_hd5x0 -gigfxzip=ssdt_hdmi-hd530 -gigfxssdt=SSDT-HDMI-HD530 -gigfxindex=14 -gigfxhdmihdef=y -gigfxport5=1 -gigfxnuc=0 -;; - -16190000* ) -gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') -gigfxgen=6 -gigfxhdmifb=00001219 -gigfxhdmihdau=n -gigfxname="HD515" -gigfxrepo=100series -gigfxfolder=ssdt_hdmi_hd5x0 -gigfxzip=ssdt_hdmi-hd515 -gigfxssdt=SSDT-HDMI-HD515 -gigfxindex=14 -gigfxhdmihdef=y -gigfxport5=1 -gigfxnuc=0 -;; - -12590000* ) -gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') -gigfxgen=7 -gigfxhdmifb=00001259 -gigfxhdmihdau=n -gigfxname="HD630" -gigfxrepo=200series -gigfxfolder=ssdt_hdmi_hd6x0 -gigfxzip=ssdt_hdmi-hd630 -gigfxssdt=SSDT-HDMI-HD630 -gigfxindex=17 -gigfxhdmihdef=y -gigfxport5=0 -gigfxnuc=0 -;; - -* ) -gideviceidsupported=n -;; - -esac - -# nuc igfx ssdt parameters -if [[ $gigfxnuc = 1 && $gideviceidsupported = n ]]; then -gigfxnuc=2 -gideviceidsupported=y -gigfxportmax=6 - -case $gideviceid in - -66010000* ) -gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') -gigfxgen=3 -gigfxhdmifb=0A006601 -gigfxname="HD4000" -gigfxrepo=hd4000 -gigfxfolder=ssdt_hdmi-hd4000 -gigfxzip=ssdt_hdmi-hd4000-7series-3 -gigfxssdt=SSDT-HDMI-HD4000 -gigfxindex=5 -gigfxhdmihdef=y -gigfxportmax=7 -;; - -260a0000* ) -gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') -gigfxgen=4 -gigfxhdmifb=0300220D -gigfxhdmihdau=y -gigfxname="HD5000" -gigfxrepo=8series -gigfxfolder=ssdt_hdmi-hd4600+ -gigfxzip=ssdt_hdmi-hd4600+ -gigfxssdt=SSDT-HDMI-HD4600+ -gigfxindex=8 -;; - -220d0000* ) -gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') -gigfxgen=4 -gigfxhdmifb=0300220D -gigfxhdmihdau=y -gigfxname="HD5200" -gigfxrepo=8series -gigfxfolder=ssdt_hdmi-hd4600+ -gigfxzip=ssdt_hdmi-hd4600+ -gigfxssdt=SSDT-HDMI-HD4600+ -gigfxindex=8 -;; - -16160000* ) -gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') -gigfxgen=5 -gigfxhdmifb=02001616 -gigfxhdmihdau=y -gigfxname="HD5500" -gigfxrepo=9series -gigfxfolder=ssdt_hdmi-hd6000+ -gigfxzip=ssdt_hdmi-hd5500 -gigfxssdt=SSDT-HDMI-HD5500 -gigfxindex=11 -;; - -26160000* ) -gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') -gigfxgen=5 -gigfxhdmifb=04002616 -gigfxhdmihdau=y -gigfxname="HD6000" -gigfxrepo=9series -gigfxfolder=ssdt_hdmi-hd6000+ -gigfxzip=ssdt_hdmi-hd6000 -gigfxssdt=SSDT-HDMI-HD6000 -gigfxindex=11 -;; - -2B160000* ) -gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') -gigfxgen=5 -gigfxhdmifb=04002B16 -gigfxhdmihdau=y -gigfxname="HD6100" -gigfxrepo=9series -gigfxfolder=ssdt_hdmi-hd6000+ -gigfxzip=ssdt_hdmi-hd6100 -gigfxssdt=SSDT-HDMI-HD6100 -gigfxindex=11 -;; - -26190000* ) -gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') -gigfxgen=6 -gigfxhdmifb=00002619 -gigfxhdmihdau=n -gigfxname="HD540" -gigfxrepo=100series -gigfxfolder=ssdt_hdmi_hd5x0 -gigfxzip=ssdt_hdmi-hd540 -gigfxssdt=SSDT-HDMI-HD540 -gigfxindex=0 -gigfxhdmihdef=y -;; - -* ) -gideviceidsupported=n -gigfxnuc=0 -;; - -esac -fi - - -if [ $gideviceidsupported = n ]; then # IGFX not supported - echo "Device ID: 0x$gideviceid not supported" - rm -R /tmp/config.plist - rm -R /tmp/HDEF.txt - - if [ $gdgfx = 0 ]; then - echo "AMD/Nvidia not found" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - fi -else - -# hdef ssdt audio id -gigfxhdmiaudioid=$gAudioid - -# hdef ssdt parameters -ghdefrepo=ALCInjection -ghdeffolder=ssdt_hdef - -case $gigfxname in - -HD3000|HD4000* ) - gigfxhdmiaudioid=3 - ghdefzip=ssdt_hdef-$gigfxhdmiaudioid-with_ioreg:hdef - ghdefssdt=SSDT-HDEF-$gigfxhdmiaudioid -;; - -HD515|HD530|HD540*|HD630 ) - if [ $gigfxhdmiaudioid = 3 ]; then gigfxhdmiaudioid=1; fi - ghdefzip=ssdt_hdef-$gigfxhdmiaudioid-100-hdas - ghdefssdt=SSDT-HDEF-HDAS-$gigfxhdmiaudioid -;; - -esac - -# verify IGPU hfa-gfx injection -igfxhdagfx1=$(ioreg -rxn $gigfx | grep -c "hda-gfx") - -# verify HDEF/HDAU hda-gfx injection -if [ $gigfxhdmihdau = y ]; then - igfxhdagfx2=$(ioreg -rxn HDAU@3 | grep -c "hda-gfx") -else - igfxhdagfx2=$(ioreg -rxn HDEF | grep -c "hda-gfx") -fi - -igfxhdagfx=$(($igfxhdagfx1 + $igfxhdagfx2)) - -# debug 0 -# if [ $gDebug = 0 ]; then -# if [ $gDebug = 1 ]; then -# if [ $gDebug = 2 ]; then -# echo "" -# igfxhdagfx=0 -# igfxhdagfx2=0 -# fi - -# debug -if [ $gDebug = 2 ]; then - echo "igfxhdagfx1 = $igfxhdagfx1" - echo "igfxhdagfx2 = $igfxhdagfx2" - igfxhdagfx=$(($igfxhdagfx1 + $igfxhdagfx2)) - echo "igfxhdagfx = $igfxhdagfx" -fi - -# Intel integrated graphics HDMI audio - -# initialize variable -choice1=n -choice2=n -gconnectoredit=n -gssdtinstall=n - -if [ $igfxhdagfx = 2 ]; then # ssdt working - Echo "$gigfxname HDMI audio is enabled, connector edit may be required" - while true - do - read -p "Verify $gigfxname HDMI audio connector/s (y/n): " choice1 - case "$choice1" in - [yY]* ) gconnectoredit=y; break;; - [nN]* ) gconnectoredit=n; break;; - * ) echo "Try again...";; - esac - done -else -Echo "$gigfxname HDMI audio is not enabled" - while true - do - read -p "Install $gigfxssdt HDMI audio ssdt (y/n): " choice2 - case "$choice2" in - [yY]* ) gssdtinstall=y; break;; - [nN]* ) gssdtinstall=n; break;; - * ) echo "Try again...";; - esac - done -fi - -gamdnvidia=n -if [[ $choice1 = n && $choice2 = n ]]; then -gdgfx=1 ## debug 2 -if [ $gdgfx = 0 ]; then - echo "AMD/Nvidia not found" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - fi -fi - -# debug -if [ $gDebug = 2 ]; then -# echo "" -# gdgfx=0 -# gamdnvidia=y -echo "gdgfx = $gdgfx" -echo "gamdnvidia = $gamdnvidia" -fi - -if [ $gssdtinstall = y ]; then # install igfx ssdt -gconnectoredit=y - if [ $gDebug = 2 ]; then - echo "if [ gssdtinstall = y ]; then # install ssdt" - echo "gdgfx = $gdgfx" - echo "gamdnvidia = $gamdnvidia" - echo "gssdtinstall = $gssdtinstall" - echo "gconnectoredit = $gconnectoredit" - echo "gigfxrepo = $gigfxrepo" - echo "gigfxfolder = $gigfxfolder" - echo "gigfxzip = $gigfxzip" - echo "gDownloadLink=https://raw.githubusercontent.com/toleda/audio_hdmi_$gigfxrepo/master/$gigfxfolder/$gigfxzip.zip" - fi - -# download igfx ssdt -echo "Download $gigfxssdt ..." -gDownloadLink="https://raw.githubusercontent.com/toleda/audio_hdmi_$gigfxrepo/master/$gigfxfolder/$gigfxzip.zip" -sudo curl -o "/tmp/$gigfxzip.zip" $gDownloadLink -unzip -qu "/tmp/$gigfxzip.zip" -d "/tmp/" - -# exit if error -if [ "$?" != "0" ]; then - echo "Error: Download failure, verify network - igfx ssdt" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 -fi - -# debug -if [[ $gDebug = 2 && $gigfxhdmihdef = y ]]; then - echo "ghdefrepo = $ghdefrepo" - echo "ghdeffolder = $ghdeffolder" - echo "ghdefzip = $ghdefzip" - echo "gDownloadLink=hthttps://raw.githubusercontent.com/toleda/audio_$ghdefrepo/master/$ghdeffolder/$ghdefzip.zip" -fi - -# download hdef ssdt, HD3000, HD4000, HD515, HD530, HD540 -if [ $gigfxhdmihdef = y ]; then - echo "Download $ghdefssdt.aml ..." - gDownloadLink="https://raw.githubusercontent.com/toleda/audio_$ghdefrepo/master/$ghdeffolder/$ghdefzip.zip" - sudo curl -o "/tmp/$ghdefzip.zip" $gDownloadLink - unzip -qu "/tmp/$ghdefzip.zip" -d "/tmp/" -fi - -# exit if error -if [ "$?" != "0" ]; then - echo "Error: Download failure, verify network - hdef ssdt" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 -fi - -# install igfx ssdt to EFI/CLOVER/ACPI/patched (cloverHDMI) -case $gDebug in - -0 ) - if [ -d "$gCloverDirectory/ACPI/patched/$gigfxssdt" ]; then - sudo rm -R "$gCloverDirectory/ACPI/patched/$gigfxssdt" - # echo "$gCloverDirectory/ACPI/patched/$gigfxssdt deleted" - fi - sudo cp -R "/tmp/$gigfxzip/$gigfxssdt.aml" "$gCloverDirectory/ACPI/patched/" - -# exit if error - if [ "$?" != "0" ]; then - echo Error: ssdt copy failure - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - fi - - echo "$gCloverDirectory/ACPI/patched/$gigfxssdt installed" - - if [ $gigfxhdmihdef = y ]; then - if [ -d "$gCloverDirectory/ACPI/patched/$ghdefssdt" ]; then - sudo rm -R "$gCloverDirectory/ACPI/patched/$ghdefssdt" - # echo "$gCloverDirectory/ACPI/patched/$ghdefssdt deleted" - fi - sudo cp -R "/tmp/$ghdefzip/$ghdefssdt.aml" "$gCloverDirectory/ACPI/patched/" - -# exit if error - if [ "$?" != "0" ]; then - echo Error: ssdt copy failure - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - echo "$gigfxname HDEF audio ssdt copied to Desktop" - fi - - echo "$gCloverDirectory/ACPI/patched/$ghdefssdt installed" - fi - ;; - -1|2 ) - sudo cp -R "/tmp/$gigfxzip/$gigfxssdt.aml" "Desktop/$gigfxname-$gigfxssdt.aml" - -# exit if error - if [ "$?" != "0" ]; then - echo Error: ssdt copy failure - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - fi -# echo "Debug mode" - echo "$gigfxname HDMI audio ssdt copied to Desktop" - - if [ $gigfxhdmihdef = y ]; then - sudo cp -R "/tmp/$ghdefzip/$ghdefssdt.aml" "Desktop/$gigfxname-$ghdefssdt.aml" - -# exit if error - if [ "$?" != "0" ]; then - echo Error: ssdt copy failure - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - echo "$gigfxname HDEF audio ssdt copied to Desktop" - fi -# echo "No system files were changed" - fi - ;; - -esac - -gssdtinstall=OK -# cleanup /tmp -sudo rm -R /tmp/$gigfxzip.zip -sudo rm -R /tmp/$gigfxzip -# sudo rm -R /tmp/IGPU.txt -# sudo rm -R /tmp/HDEF.txt -sudo rm -R /tmp/__MACOSX - -if [ $gigfxhdmihdef = y ]; then - sudo rm -R /tmp/$ghdefzip.zip - sudo rm -R /tmp/$ghdefzip -fi - -# exit if error -if [ "$?" != "0" ]; then - sudo rm -R "$gCloverDirectory/ACPI/patched/$gigfxssdt" - echo Error: ssdt install failure - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 -fi - -fi # install igfx ssdt - -# verify igfx framebuffers -if [ $gconnectoredit = y ]; then # verify framebuffers - - -index=$gigfxport5 -indexmax=$((gigfxport5 + gigfxports - 1)) -port=5 -iaudio=0 - -while [ $index -le $indexmax ]; do - -# debug -if [ $gDebug = 2 ]; then - echo "index = $index" - echo "port = $port" -fi - -# look for display(s) -ioreg -rw 0 -p IOService -n AppleIntelFramebuffer@$index > /tmp/IGPU.txt -audioinfo[$port]=$(cat /tmp/IGPU.txt | grep -c "audio-codec-info") -connector[$port]=$(cat /tmp/IGPU.txt | grep connector-type | sed -e 's/.*//') -iaudio=$(($iaudio + ${audioinfo[$port]})) - - -# debug -if [ $gDebug = 2 ]; then - echo "audioinfo = ${audioinfo[$port]}" - echo "connector = ${connector[$port]}" - echo "iaudio = $iaudio" -fi - -index=$((index + 1)) -port=$((port + 1)) -rm -R /tmp/IGPU.txt -done - -# exit if error -if [ "$?" != "0" ]; then -echo "Error: framebuffer analysis failed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 -fi - -# verify hdmi display, max 1 -# initialize variable -gamdnvidia=n - -case $iaudio in - -0 ) - echo "No display connected to $gigfxname" -gdgfx=1 ## debug 2 - if [ $gdgfx = 0 ]; then - echo "Error: patch not possible" - echo "AMD/Nvidia not found" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - fi - ;; - -1 ) - echo "One display connected, proceeding" - ;; - -2 ) - if [[ $gigfxgen = 4 || $gigfxgen = 5 || $gigfxgen = 6 || $gigfxgen = 7 ]]; then - echo "Two displays connected, proceeding" - else - echo "Error: more than one display connected to $gigfxname, patch not possible" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - fi - ;; - -3 ) - if [ $gigfxhdmihdau = y ]; then - echo "Error: more than two displays connected to $gigfxname, patch not possible" - else - echo "Error: more than one display connected to $gigfxname, patch not possible" - fi - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - ;; - -* ) - echo Error: display analysis failed - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - ;; - -esac - -# debug -if [ $gDebug = 2 ]; then -echo "gdgfx = $gdgfx" -echo "gamdnvidia = $gamdnvidia" -fi - -# exit if error -if [ "$?" != "0" ]; then - echo Error: display analysis failed - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 -fi - -# debug -if [ $gDebug = 2 ]; then -echo "" -# gigfxname="HD3000" -# gigfxname="HD6200" -fi - -ifbnative=0 - -case $gigfxname in - -HD3000|HD4000* ) # native HDMI connector - connector7=${connector[7]} - if [ $connector7 = "00080000" ]; then # native hdmi - echo "Native $gigfxname/port 0x7 is HDMI connector, no patch required" - ifbnative=1 - fi -;; - -HD6200|HD540* ) # connector detection, 515, 530 removed special case - echo "$gigfxname/$gigfxhdmifb detects and sets HDMI connector, no patch required" - ifbnative=1 -;; - -esac - -# no fb patch required -if [ $ifbnative = 1 ]; then # native fb - sudo rm -R /tmp/config.plist6 - rm -R /tmp/HDEF.txt - -else - -# confirm ports to edit -port=5 - -# debug -if [ $gDebug = 2 ]; then - echo "gigfxportmax = $gigfxportmax" -fi - -choice3=n -while [ $port -le $gigfxportmax ]; do - # debug - if [ $gDebug = 2 ]; then - echo "port = $port" - echo "audioinfo = ${audioinfo[$port]}" - echo "connector = ${connector[$port]}" - echo "iaudio = $iaudio" - fi - - if [ ${audioinfo[$port]} != 0 ]; then - while true; do - read -p "Confirm DP to HDMI connector edit on port 0x$port (y/n): " choice3 - case "$choice3" in - [yY]* ) echo "Patch port 0x$port"; gifgxfbedit=y; break;; - [nN]* ) echo "Ignore port 0x$port"; audioinfo[$port]=0; iaudio=$(($iaudio-1)); break;; - * ) echo "Try again...";; - esac - done - - # debug - if [ $gDebug = 2 ]; then - echo "port = $port" - echo "iaudio = $iaudio" - echo "audioinfo = ${audioinfo[$port]}" - echo "connector = ${connector[$port]}" - echo "iaudio = $iaudio" - fi - fi - -port=$(($port + 1)) -done - -# exit if error -if [ "$?" != "0" ]; then - echo "Error: config.plst edit failed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 -fi - -if [ $iaudio = 0 ]; then # no framebuffer edits - echo "No framebuffer edits requested" - rm -R /tmp/config.plist -# rm -R /tmp/HDEF.txt - -else -# download connector edits -echo "Download $gigfxname HDMI audio connector edits ..." -gDownloadLink="https://raw.githubusercontent.com/toleda/audio_cloverHDMI/master/config-audio_cloverHDMI.plist.zip" -sudo curl -o "/tmp/config-audio_cloverHDMI.plist.zip" $gDownloadLink -unzip -qu "/tmp/config-audio_cloverHDMI.plist.zip" -d "/tmp/" - -# verify AppleHDAController patches (mb/cloverALC) -ktpexisting=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:'" /tmp/config.plist | grep -c "AppleHDAController") - -# debug -if [ $gDebug = 2 ]; then - echo "ktpexisting - AppleHDAController = $ktpexisting" -fi - -# exit if error -if [ "$?" != "0" ]; then - echo "Error: config.plst/hd4600 codec edit failed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 -fi - -# remove 0c0c patches (mb, cloverALC, cloverHDMI) -index=0 -while [ $ktpexisting -ge 1 ]; do -if [ $(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist | grep -c "AppleHDAController") = 1 ]; then - sudo /usr/libexec/PlistBuddy -c "Delete ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist - ktpexisting=$((ktpexisting - 1)) - index=$((index - 1)) -fi -index=$((index + 1)) - -# debug -if [ $gDebug = 2 ]; then - echo "index = $index" - echo "ktpexisting = $ktpexisting" -fi -done - -# remove t2- patches (cloverHDMI) - -# verify t2 patches (mb/cloverALC) -ktpexisting=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:'" /tmp/config.plist | grep -c "t2-") - -# debug -if [ $gDebug = 2 ]; then - echo "ktpexisting - t2- = $ktpexisting" -fi - -index=0 -while [ $ktpexisting -ge 1 ]; do -if [ $(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist | grep -c "t2-") = 1 ]; then - sudo /usr/libexec/PlistBuddy -c "Delete ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist - ktpexisting=$((ktpexisting - 1)) - index=$((index - 1)) -fi -index=$((index + 1)) - -# debug -if [ $gDebug = 2 ]; then - echo "index = $index" - echo "ktpexisting = $ktpexisting" -fi -done - -# patch summary -# iaudio=1 # number of connector edits -# audioinfo[5]=1 # audio on port 0x5 -# audioinfo[6]=0 # audio on port 0x5 -# audioinfo[7]=0 # audio on port 0x5 -# connector[5]=00040000 # native port 0x5 connector -# connector[6]=00040000 # native port 0x6 connector -# connector[7]=00040000 # native port 0x7 connector -# config-audio_cloverHDMI.plist/.../KextsToPatch -# Item 0: 10.9-10.11-HD4600_HDMI_Audio-1of2 Item 0 + Item 1 -# Item 1: 10.9-10.11-HD4600_HDMI_Audio-2of2 -# Item 2: 10.10-10.11-SNB-Port _0x5-DP2HDMI Item 2 + Item 4 -# Item 3: 10.10-10.11-SNB-Port _0x6-DP2HDMI Item 3 + Item 4 -# Item 4: 10.10-10.11-SNB-Port _0x7-DP2HDMI -# Item 5: 10.10-10.11-Capri-Port _0x5-DP2HDMI Item 5 + Item 7 -# Item 6: 10.10-10.11-Capri-Port _0x6-DP2HDMI Item 6 + Item 7 -# Item 7: 10.10-10.11-Capri-Port _0x7-HDMI2DP -# Item 8: 10.10-10.11-Azul-Port_0x5-DP2HDMI -# Item 9: 10.10-10.11-Azul-Port_0x6-DP2HDMI -# Item 10: 10.10-10.11-Azul-Port_0x7-DP2HDMI -# Item 11: 10.10-10.11-BDW010509-Port_0x5-DP2HDM (010509) -# Item 12: 10.10-10.11-BDW010509-Port_0x5-DP2HDM (01050b) -# Item 13: 10.11.4-SKL-1912000-4_displays -# Item 14: 10.11.4-SKL-1912000-Port_0x5-DP2HDM (010509) -# Item 15: 10.11.4-SKL-1912000-Port_0x6-DP2HDM (02040a) -# Item 16: 10.11.4-SKL-1912000-Port_0x7-DP2HDM (03060a) -# Item 17: 10.12.6-KBL-5912000-Port_0x5-DP2HDM (010509) -# Item 18: 10.12.6-KBL-5912000-Port_0x6-DP2HDM (02040a) -# Item 19: 10.12.6-KBL-5912000-Port_0x7-DP2HDM (03060a) - -# debug -if [ $gDebug = 2 ]; then - echo "gigfxhdmicodec = $gigfxhdmicodec" -fi - -# codec patch hd4600 hdmi audio/credit TimeWalker75a -if [ $gigfxhdmicodec = "0c0c" ]; then - index=0 - patch=( 1 0 ) - _patchconfig -fi - -# exit if error -if [ "$?" != "0" ]; then - echo "Error: config.plst/hd4600 codec edit failed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 -fi - -# hd515,hd530 4 port edit -if [ $gigfxhdmifb = "00001219" ]; then - index=1 - patch[0]=0 - patch[1]=13 - _patchconfig - patch[1]=0 -fi - -# patch framebuffer -case $gigfxgen in - -2|3 ) - if [ ${audioinfo[5]} = 1 ]; then - patch[0]=$gigfxindex - fi - if [ ${audioinfo[6]} = 1 ]; then - patch[0]=$(($gigfxindex+1)) - fi - patch[1]=$(($gigfxindex+2)) - ;; - -4|5|6|7 ) - - index=0 - port=5 - -# debug - if [ $gDebug = 2 ]; then - echo "gigfxportmax = $gigfxportmax" - fi - - while [ $port -le $gigfxportmax ]; do - if [ ${audioinfo[$port]} != 0 ]; then - patch[$index]=$(($gigfxindex + $port - 5)) - index=$(($index + 1)) - - # debug - if [ $gDebug = 2 ]; then - echo "port = $port" - echo "gigfxindex = $gigfxindex" - echo "index = $index" - echo "patch-a = ${patch[*]}" - fi - fi - port=$(($port + 1)) - done - ;; - - * ) - echo "Intel HD Graphics Gen $gigfxgen is not supported" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 - ;; - - -esac - -# debug -if [ $gDebug = 2 ]; then - echo "patch-b = ${patch[*]}" -fi - -# 1 patch or 2 -index=1 -case $gigfxgen in - -2|3 ) - if [ $iaudio = 1 ]; then - index=0 - fi - ;; - -esac - -# switch array values -tpatch=${patch[1]} -patch[1]=${patch[0]} -patch[0]=$tpatch - -# debug -if [ $gDebug = 2 ]; then - echo "index = $index" - echo "patch-d = ${patch[*]}" -fi - -_patchconfig - -# exit if error -if [ "$?" != "0" ]; then - echo "Error: config.plst/framebuffer edit failed" - echo “Original config.plist restored” - sudo cp -X $gCloverDirectory/config-backup.plist $gCloverDirectory/config.plist - sudo rm -R /tmp/ktp.plist - sudo rm -R /tmp/config.plist - sudo rm -R /tmp/config-audio_cloverHDMI.plist.zip - sudo rm -R /tmp/config-audio_cloverHDMI.plist - sudo rm -R /tmp/__MACOSX - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 -fi - -# install updated config.plst -case $gDebug in - -0 ) - sudo cp -R "/tmp/config.plist" "$gCloverDirectory/config.plist" - echo "HDMI audio edited $gCloverDirectory/config.plist installed" - ;; - -1|2 ) - if [ -f "Desktop/$gigfxname-config.plist" ]; then - sudo rm -R "Desktop/$gigfxname-config.plist" - fi - sudo cp -R "/tmp/config.plist" "Desktop/$gigfxname-config.plist" -# echo "Debug mode" - echo "$gigfxname HDMI audio edited config.plist copied to Desktop" -# echo "No system files were changed" - ;; - -esac - -# cleanup /tmp -sudo rm -R /tmp/config-audio_cloverHDMI.plist.zip -rm -R /tmp/config-audio_cloverHDMI.plist -rm -R /tmp/config.plist -rm -R /tmp/__MACOSX -rm -R /tmp/ktp.plist - -fi # no framebuffer edits - -fi # verify framebuffers -fi # a fb -fi # IGFX not supported -fi # no IGFX - -# debug -if [ $gDebug = 2 ]; then - echo "AMD/Nvidia discrete graphics HDMI audio" - echo "gigfx = $gigfx" - echo "gdgfx = $gdgfx" -fi - -# AMD/Nvidia discrete graphics HDMI audio - -if [ $gigfxnuc = 0 ]; then # AMD/Nvidia else nuc -# find discrete graphics card - -while true -do - read -p "Install AMD/Nvidia HDMI audio (y/n): " choice8 - case "$choice8" in - [yY]* ) gdgfxhdmi=y; break;; - [nN]* ) gdgfxhdmi=n; break;; - * ) echo "Try again...";; - esac -done - -if [ $gdgfxhdmi = y ]; then # AMD/Nvidia HDMI audio - -# get acpi pcie device name -numname1=12 -gdgfxname1[1]=PEG0@1 -gdgfxname1[2]=PEG1@1 -gdgfxname1[3]=PEGP@1 -gdgfxname1[4]=P0P1@1 -gdgfxname1[5]=P0P2@1 -gdgfxname1[6]=P0P2@3 -gdgfxname1[7]=NPE3@2 -gdgfxname1[8]=NPE3@3 -gdgfxname1[9]=NPE7@3 -gdgfxname1[10]=pci-bridge@1 -gdgfxname1[11]=pci-bridge@3 -gdgfxname1[12]=BR3A@3 - -index=1 -while [ $index -le $numname1 ]; do -dgfxpciname=$(ioreg -rxn ${gdgfxname1[$index]} | grep vendor-id| awk '{ print $4 }') - -# debug - if [ $gDebug = 2 ]; then - echo "gdgfxname1 = ${gdgfxname1[$index]}" - fi - - if [ -n "${dgfxpciname}" ]; then - dgfxindex1=$index - index=$(($numname1 + 1)) - -# debug - if [ $gDebug = 2 ]; then - echo "dgfxindex1 = $dgfxindex1" - fi - - fi - - index=$(($index + 1)) -done - -gdgfxpciname1=${gdgfxname1[$dgfxindex1]} - -# debug -if [ $gDebug = 2 ]; then - echo "gdgfxpciname1 = ${gdgfxname1[$dgfxindex1]}" - echo "gdgfxpciname1 = $gdgfxpciname1" -fi - -if [ $gdgfxpciname1 = 0 ]; then - echo "Error: discrete graphics card not found, unknown acpi PCI0 name" - echo "Names checked: ${gdgfxname1[@]}" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 -fi - -# get acpi graphics device name -# get acpi graphics device name -numname2=8 -gdgfxname2[1]=PEGP@0 -gdgfxname2[2]=GFX0@0 -gdgfxname2[3]="display@0" -gdgfxname2[4]="pci-display@0" -gdgfxname2[5]=GFX1@0 -gdgfxname2[6]=H000@0 -gdgfxname2[7]=pci10de -gdgfxname2[8]=pci1002 - - -#find discrete graphics vendor-id -index=1 -while [ $index -le $numname2 ]; -do -dgfxvendorid=$(ioreg -rxn ${gdgfxname2[$index]} | grep vendor-id| awk '{ print $4 }') -dgfxdeviceid=$(ioreg -rxn ${gdgfxname2[$index]} | grep device-id| awk '{ print $4 }') - -if [ $gDebug = 2 ]; then - echo "gdgfxname2 = ${gdgfxname2[$index]}" -fi - -if [ -n "${dgfxvendorid}" ]; then - gdgfxpciname2=${gdgfxname2[$index]} - - index0=1 - for vendor in $dgfxvendorid - do - -# debug - if [ $gDebug = 2 ]; then - echo "index0 = $index, vendor-id = ${vendor:1:4}" - fi - -# sort discrete graphics vendors and devices - case ${vendor:1:4} in - - 0210 ) gdgfxvendorid=${vendor:1:4} - gdgfxname=AMD - ;; - - de10 ) gdgfxvendorid=${vendor:1:4} - gdgfxname=Nvidia - ;; - esac - index0=$((index0 + 1)) - done - -# find discrete graphics device-id - index0=1 - for device in $dgfxdeviceid - do - -# debug - if [ $gDebug = 2 ]; then - echo "index0 = $index, device-id = ${device:1:4}" - fi - - gdgfxdeviceid=${device:1:4} - - index0=$((index0 + 1)) - done -fi - -index=$(($index + 1)) -done - -gdgfxvendorid=${gdgfxvendorid:2:2}${gdgfxvendorid:0:2} -gdgfxdeviceid=${gdgfxdeviceid:2:2}${gdgfxdeviceid:0:2} - -# debug 0 -# if [ $gDebug = 0 ]; then -# if [ $gDebug = 1 ]; then -# if [ $gDebug = 2 ]; then -# echo "gdgfxpciname1 = $gdgfxpciname1" -# echo "gdgfxpciname2 = $gdgfxpciname2" -# echo "gdgfxvendorid = ${gdgfxvendorid}" -# echo "gdgfxdeviceid = ${gdgfxdeviceid}" -# gdgfxpciname1=BR3A@3 -# gdgfxpciname2=H060@0 -# echo "gdgfxvendorid = ${gdgfxvendorid}" -# echo "gdgfxdeviceid = ${gdgfxdeviceid}" -# gdgfxvendorid="" -# fi - - -if [ $gdgfxpciname1 = "BR3A@3" ]; then -if [[ $gdgfxpciname1 = "BR3A@3" && $gdgfxpciname2 = "H000@0" ]]; then -echo "X99 HDMI audio supported" -else - -# debug - if [ $gDebug = 2 ]; then - echo "gdgfxpciname1 = $gdgfxpciname1" - echo "gdgfxpciname2 = $gdgfxpciname2" - echo - fi - - gdgfxpciname2="Hxx0@0" - echo "NOTE:ACPI graphics name unknown, H000 installed" - echo "Verify IOReg/BR3A/graphics name, i.e., Hxx0@0 and Hxx1@0,1" - echo "Before restarting, edt EFI/CLOVER/ACPI/patched/SSDT-HDMI-...-$gdgfxpciname1" - echo "MaciASL/Edit/Find: H000/Replace: Hxx0" - echo "MaciASL/Edit/Find: H001/Replace: Hxx1" - echo "Compile/Save/Restart" - echo "More information, see Desktop/[Guide] OS X hdmi audio x99 ssdt" - - while true - do - read -p "AMD(a)/Nvidia(n) graphics (a/n): " choice6 - case "$choice6" in - [aA]* ) gdgfxname="AMD"; break;; - [nN]* ) gdgfxname="Nvidia"; break;; - * ) echo "Try again...";; - esac - done - -fi -fi - -if [ -z "${gdgfxvendorid}" ]; then - if [ $gdgfxpciname1 = "BR3A@3" ]; then - if [ $gDebug = 2 ]; then - echo "gdgfxpciname1 = $gdgfxpciname1" - echo "gdgfxvendorid = $gdgfxvendorid" - fi - - else - if [ $gdgfx != 0 ]; then - echo "AMD/Nvidia HDMI codec found" - fi - echo "AMD/Nvidia graphics not found, unknown acpi PCI0/graphics name" - echo "Names checked: ${gdgfxname2[@]}" - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit - fi -fi - -if [ $gdgfxpciname2 = "Hxx0@0" ]; then -dgfxhdagfx=0 - -else -echo "$gdgfxname discrete graphics card $gdgfxvendorid$gdgfxdeviceid found on $gdgfxpciname1/$gdgfxpciname2" - -# verify GFX0 hfa-gfx injection -dgfxhdagfx1=$(ioreg -rxn $gdgfxpciname2 | grep -c "hda-gfx") - -# verify HDAU hda-gfx injection -dgfxhdagfx2=$(ioreg -rxn HDAU@0,1 | grep -c "hda-gfx") - -dgfxhdagfx=$(($dgfxhdagfx1 + $dgfxhdagfx2)) - -# debug -if [ $gDebug = 2 ]; then - echo "dgfxhdagfx1 = $dgfxhdagfx1" - echo "dgfxhdagfx2 = $dgfxhdagfx2" - dgfxhdagfx=$(($dgfxhdagfx1 + $dgfxhdagfx2)) - echo "dgfxhdagfx = $dgfxhdagfx" -fi - -fi - -# debug 0 -# if [ $gDebug = 0 ]; then -# if [ $gDebug = 1 ]; then -# if [ $gDebug = 2 ]; then -# echo "" -# dgfxhdagfx=0 -# fi - -choice1=n -if [ $dgfxhdagfx = 2 ]; then # ssdt working - echo "$gdgfxname HDMI audio is enabled" - if [ $gdgfxname = "AMD" ]; then - echo "Frambuffer injection and connector patching may also be required" - echo "Note: AMD kext edits are not available with this script" - fi - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 -else - Echo "$gdgfxname HDMI audio is not enabled" - while true - do - read -p "Install $gdgfxname HDMI audio ssdt (y/n): " choice1 - case "$choice1" in - [yY]* ) gssdtinstall=y; break;; - [nN]* ) echo "No system files were changed"; exit;; - * ) echo "Try again...";; - esac - done -fi - -if [ $gdgfxpciname1 = "pci-bridge@1" ]; then -if [ $gDebug = 2 ]; then -echo "gdgfxpciname1 = $gdgfxpciname1" -echo -fi -gdgfxpciname1="PEGP@1" -fi - -if [ $gdgfxpciname1 = "pci-bridge@3" ]; then -if [ $gDebug = 2 ]; then -echo "gdgfxpciname1 = $gdgfxpciname1" -echo -fi -gdgfxpciname1="PEGP@3" -fi - -if [ $gDebug = 2 ]; then -echo "gdgfxpciname1 = $gdgfxpciname1" -echo -fi - -# ssdt repo, folder, file -case $gdgfxname in - -AMD* ) - -gdgfxrepo=amd-nvidia -gdgfxfolder=ssdt_hdmi-amd -gdgfxzip=ssdt_hdmi-amd-default- -gdgfxssdt=SSDT-HDMI-AMD- -;; - -Nvidia* ) - -gdgfxrepo=amd-nvidia -gdgfxfolder=ssdt_hdmi-nvidia -gdgfxzip=ssdt_hdmi-nvidia- -gdgfxssdt=SSDT-HDMI-NVIDIA- -;; - -esac - -if [ ${gdgfxpciname1:0:4} = "PEGP" ];then -gdgfxpciname1=${gdgfxpciname1:0:6} -else -gdgfxpciname1=${gdgfxpciname1:0:4} -fi - -if [ $gdgfxpciname1 = "GFX1" ];then -gdgfxpciname1="GFX0" -echo "NOTE :GFX1 is not available, GFX0 installed" -echo "Before restarting. edt EFI/CLOVER/ACPI/patched/$gdgfxzip$gdgfxpciname1" -echo "MaciASL/Edit/Find: GFX0/Replace: GFX1/Compile/Save/Restart" -fi - -# debug -if [ $gDebug = 2 ]; then - echo "gdgfxrepo = $gdgfxrepo" - echo "gdgfxfolder = $gdgfxfolder" - echo "gdgfxzip = $gdgfxzip" - echo "gDownloadLink=https://raw.githubusercontent.com/toleda/audio_hdmi_$gdgfxrepo/master/$gdgfxfolder/$gdgfxzip$gdgfxpciname1.zip" -fi - -# download ssdt -echo "Download $gdgfxssdt$gdgfxpciname1 ..." -gDownloadLink="https://raw.githubusercontent.com/toleda/audio_hdmi_$gdgfxrepo/master/$gdgfxfolder/$gdgfxzip$gdgfxpciname1.zip" - -if [ $gDebug = 2 ]; then - echo "sudo curl -o /tmp/$gdgfxzip$gdgfxpciname1.zip $gDownloadLink" - echo -fi - -sudo curl -o "/tmp/$gdgfxzip$gdgfxpciname1.zip" $gDownloadLink -unzip -qu "/tmp/$gdgfxzip$gdgfxpciname1.zip" -d "/tmp/" - -# exit if error -if [ "$?" != "0" ]; then - echo "Error: Download failure, verify network". - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 -fi - -# install dgfx ssdt to EFI/CLOVER/ACPI/patched (cloverHDMI) - -case $gDebug in - -0 ) - if [ -d "$gCloverDirectory/ACPI/patched/$gdgfxssdt$gdgfxpciname1.aml" ]; then - sudo rm -R "$gCloverDirectory/ACPI/patched/$gdgfxssdt$gdgfxpciname1.aml" - # echo "$gCloverDirectoryACPI/patched/$gdgfxssdt$gdgfxpciname1.aml deleted" - fi - sudo cp -R "/tmp/$gdgfxzip$gdgfxpciname1/$gdgfxssdt$gdgfxpciname1.aml" "$gCloverDirectory/ACPI/patched/$gdgfxssdt$gdgfxpciname1.aml" - echo "$gCloverDirectory/ACPI/patched/$gdgfxssdt$gdgfxpciname1.aml installed" - if [ $gdgfxpciname2 = "Hxx0@0" ]; then - cp -R /tmp/$gdgfxzip$gdgfxpciname1/'[Guide] OS X hdmi audio x99 ssdt.pdf' Desktop/'[Guide] OS X hdmi audio x99 ssdt' - fi -;; - -1|2 ) - sudo cp -R "/tmp/$gdgfxzip$gdgfxpciname1/$gdgfxssdt$gdgfxpciname1.aml" "Desktop/$gdgfxname-$gdgfxssdt$gdgfxpciname1.aml" -# echo "Debug mode" -# echo "No system files were changed" - echo "$gdgfxname HDMI audio ssdt copied to Desktop" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - if [ $gdgfxpciname2 = "Hxx0@0" ]; then - cp -R /tmp/$gdgfxzip$gdgfxpciname1/'[Guide] OS X hdmi audio x99 ssdt.pdf' Desktop/'[Guide] OS X hdmi audio x99 ssdt' - fi -# cleanup /tmp - sudo rm -R /tmp/$gdgfxzip$gdgfxpciname1.zip - sudo rm -R /tmp/$gdgfxzip$gdgfxpciname1 -# rm -R /tmp/config.plist - rm -R /tmp/__MACOSX -# rm -R /tmp/HDEF.txt -# rm -R /tmp/IGPU.txt - exit 0 - ;; - -esac - -# cleanup /tmp -sudo rm -R /tmp/$gdgfxzip$gdgfxpciname1.zip -sudo rm -R /tmp/$gdgfxzip$gdgfxpciname1 -sudo rm -R /tmp/__MACOSX - -fi # AMD/Nvidia HDMI audio -fi # AMD/Nvidia - -# exit if error -if [ "$?" != "0" ]; then - sudo rm -R "$gCloverDirectory/ACPI/patched/$gigfxssdt" - echo Error: ssdt install failure - echo "No system files were changed" - echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." - exit 1 -fi - -echo "" -echo "Install finished, restart required." -echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." -exit 0 - - - -exit diff --git a/audio_cloverHDMI-130_v0.8.command b/audio_cloverHDMI-130_v0.8.command new file mode 100755 index 0000000..6d93c21 --- /dev/null +++ b/audio_cloverHDMI-130_v0.8.command @@ -0,0 +1,1940 @@ +#!/bin/sh +# Maintained by: toleda for: github.com/toleda/audio_cloverHDMI +gFile="audio_cloverHDMI-130_v0.8.command" +# Credit: bcc9, RevoGirl, PikeRAlpha, RehabMan +# +# macOS Clover HDMI Audio +# +# Enables macOS HDMI audio in 10.8 and newer, all versions +# 1. Supports Intel integrated graphics and/or AMD and Nvidia discrete graphics +# 2. Installs HDMI audio ssdt and required framebuffer edits (Intel only) +# 3. Native CPU and GPU power management (Intel only, additonal steps required) +# +# Requirements +# 1. macOS: 10.13/10.12/10.11/10.10/10.9/10.8, all versions +# 2. Native AppleHDA.kext (If not installed, run 10.x.x installer) +# 3. Recognized Intel/AMD/Nvidia graphics +# 4. Clover only: 1. UEFI, mount EFI partition and 2. Clover Legacy +# +# Supports:[QUOTE="izham, post: 1693760, member: 1190658"]installed just the sound driver for ALC887 current from Multibeast 5.4.3[/QUOTE] +# 1. Intel/desktop series: 200, 100, 9, 8, 7, 6, 5 +# Intel/workstation series: X299, X99, X79, X58 +# 2. Intel Graphics HD: +# Desktop: HD6x0, HD5x0, HD6200, HD4600+, HD4000, HD3000 +# BRIX/NUC: HD580, HD540, HD6100, HD6000, HD5500, HD5200, HD5000, HD4000 +# 3. AMD/default framebuffer: RX 5x0/4x0, R7/R9 3xx, R7/R9 2xx, 7xxx, 6xxx, 5xxx +# Except: GCN 1.1/Hawaii/Bonaire) +# 4. Nvidia/macOS drivers: 10xx, 9xx, 7xx, 6xx, 5xx, 4xx (except 450, 550, 560) +# Required: Nvidia/Web drivers: 10xx, 9xx, 750 +# +# Debug Mode (saves ssdt and config.plist to Desktop +# 1. Set audio_cloverHDMI-1x0.command/gDebug=1 (below) +# 2. Copy config.plist to Desktop +# 3. Continue with Installation/Step 3 +# +# Installation +# 1. Double click audio_cloverHDMI...command +# 2. Enter password at prompt +# 3. Questions (answer y or n) +# Install SSDT-HDMI-HDxxx HDMI audio ssdt (y/n) +# Verify SSDT-HDMI-HDxxx HDMI audio connector (y/n) +# Confirm DP to HDMI connector patch on port 0x5 (y/n) +# Install AMD/Nvidia HDMI audio (y/n) +# Install AMD HDMI audio ssdt (y/n) +# 4. Restart +# +# Change log +# v0.8 - 2/14/18: Add config.plist validation, option to proceed with invalid Audio ID +# v0.7 - 2/8/18: Added X299 - PC02/PCI2 ACPI devices, updated Name property +# v0.6 - 10/15/17: Fixed +# v0.5 - 10/12/17: Pulled, source control error +# v0.4 - 8/31/17: Audio ID verification +# v0.3 - 8/22/17: fix HD630 port calculation +# v0.2 - 729/17: fix HD630 device_id +# v0.1 - 7/6/17: Initial 10.13 support +# +echo " " +echo "Agreement" +echo "The audio_cloverHDMI script is for personal use only. Do not distribute" +echo "the patch, any or all of the files for any reason without permission." +echo "The audio_cloverHDMI script is provided as is and without any warranty." +echo " " + +# set initial variables +# debug=0 - normal install, +# debug=1 - test drive, copy config.plist to Desktop, edited config.plist and ssdt copied to Desktop +gDebug=0 + +gSysVer=`sw_vers -productVersion` +gSysName="El Capitan" +gStartupDisk=EFI +gCloverDirectory=/Volumes/$gStartupDisk/EFI/CLOVER +gDesktopDirectory=/Volumes/$(whoami)/Desktop +# gDesktopDirectory=/Volumes/850E-Users/Users/$(whoami)/Desktop ## +gssdtinstall=n +gigfxlvds=0 +gideviceid=0 +givendorid=0 +gigfxhdmicodec=0 +gigfxhdmihdau=y +gigfxportmax=7 +gigfxport5=0 +gigfxports=3 +gigfxnuc=1 +gdgfxname1=0 +gdgfxssdt=0 +gdgfxname=0 +gdgfx=0 +ghdmi=0 +gAudioid=1 +validaudioid=y + +# Terminal commands +# ioreg -rxn IGPU@2 | grep vendor-id| awk '{ print $4 }' +# ioreg -rxn IGPU@2 | grep device-id | sed -e 's/.*//' +# ioreg -rxn IGPU@2 | grep "AAPL,ig-platform-id"| awk '{ print $4 }' +# ioreg -rxn IGPU@2 | grep "hda-gfx"| awk '{ print $4 }' +# ioreg -rxn IGPU@2 | grep -c "hda-gfx" +# ioreg -rxn HDAU@0 | grep "hda-gfx"| awk '{ print $4 }' +# ioreg -rxn HDAU@0,1 | grep device-id| awk '{ print $4 }' +# ioreg -rxn P0P2@3 | grep vendor-id| awk '{ print $4 }' +# ioreg -rw 0 -p IODeviceTree -n IGPU@2 > /tmp/IGPU.txt +# ioreg -rw 0 -p IOService -n AppleIntelFramebuffer@0 > /tmp/IGPU.txt +# audioinfo=$(cat /tmp/IGPU.txt | grep -c "audio-codec-info") +# connector=$(cat /tmp/IGPU.txt | grep connector-type | sed -e 's/.*//') + +function _patchconfig() +{ + +# debug +if [ $gDebug = 2 ]; then + echo "patch = $patch" +fi + +# add patches to config.plist/KernelAndKextPatches/KextsToPatch +sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:$patch'" /tmp/config-audio_cloverHDMI.plist -x > "/tmp/ktp.plist" +ktpcomment=$(sudo /usr/libexec/PlistBuddy -c "Print 'Comment'" "/tmp/ktp.plist") +sudo /usr/libexec/PlistBuddy -c "Set :Comment 't2-$ktpcomment'" "/tmp/ktp.plist" +sudo /usr/libexec/PlistBuddy -c "Add :KernelAndKextPatches:KextsToPatch:0 dict" /tmp/config.plist +sudo /usr/libexec/PlistBuddy -c "Merge /tmp/ktp.plist ':KernelAndKextPatches:KextsToPatch:0'" /tmp/config.plist + +# exit if error +if [ "$?" != "0" ]; then +echo "Error: config.plst patch failed" +echo “Original config.plist restored” +sudo cp -X $gCloverDirectory/config-backup.plist $gCloverDirectory/config.plist +sudo rm -R /tmp/ktp.plist +sudo rm -R /tmp/config.plist +sudo rm -R /tmp/config-audio_cloverALC+.plist.zip +sudo rm -R /tmp/config-audio_cloverALC.plist +sudo rm -R /tmp/__MACOSX +echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." +exit 1 +fi + +} + +# verify system version +case ${gSysVer} in + + 10.13* ) gSysName="High Sierra" + gSysFolder=kexts/10.13 + gSID=$(csrutil status) + ;; + + 10.12* ) gSysName="Sierra" + gSysFolder=kexts/10.12 + gSID=$(csrutil status) + ;; + + 10.11* ) gSysName="El Capitan" + gSysFolder=kexts/10.11 + gSID=$(csrutil status) + ;; + + 10.10* ) gSysName="Yosemite" + gSysFolder=kexts/10.10 + ;; + + 10.9* ) gSysName="Mavericks" + gSysFolder=kexts/10.9 + ;; + + 10.8* ) gSysName="Mountain Lion" + gSysFolder=kexts/10.8 + ;; + + * ) + echo "macOS Version: $gSysVer is not supported" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + ;; + +esac + +# debug +if [ $gDebug = 2 ]; then + # gSysVer=10.9 + echo "System version: supported" + echo "gSysVer = $gSysVer" +fi + +gDebugMode[0]=Release +gDebugMode[1]=TestDrive +gDebugMode[2]=Debug + +# verify Debug setting +case $gDebug in + + 0|1|2 ) + ;; + + * ) + echo "gDebug = $gDebug not invalid, script terminating" + echo "No system files were changed" + exit 1 + :: + +esac + +echo "File: $gFile" +echo "${gDebugMode[$gDebug]} Mode" + +# credit: mfram, http://forums.macrumors.com/showpost.php?p=18302055&postcount=6 +# get startup disk name +gStartupDevice=$(mount | grep "on / " | cut -f1 -d' ') +gStartupDisk=$(mount | grep "on / " | cut -f1 -d' ' | xargs diskutil info | grep "Volume Name" | perl -an -F'/:\s+/' -e 'print "$F[1]"') + +# debug +if [ $gDebug = 2 ]; then + echo "Boot device: $gStartupDevice" + echo "Boot volume: $gStartupDisk" +fi + +# check for debug (debug=1 and 2 do not touch CLOVER folder) +case $gDebug in +0 ) + +# verify EFI install +gEFI=0 +if [ -d $gCloverDirectory ]; then + gEFI=1 +fi + +if [ $gEFI = 0 ]; then + + if [ -d '/Volumes/ESP/EFI/CLOVER' ]; then + gCloverDirectory=/Volumes/ESP/EFI/CLOVER + gEFI=1 + fi + +fi + +if [ $gEFI = 1 ]; then + echo "EFI partition is mounted" + if [ -f "$gCloverDirectory/config.plist" ]; then + cp -p "$gCloverDirectory/config.plist" "/tmp/config.plist" + if [ -f "$gCloverDirectory/config-backup.plist" ]; then + rm -R "$gCloverDirectory/config-backup.plist" + fi + cp -p "$gCloverDirectory/config.plist" "$gCloverDirectory/config-backup.plist" + else + echo "$gCloverDirectory/config.plist is missing" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi +else + echo "EFI partition not mounted" + +# confirm Clover Legacy install + gCloverDirectory=/Volumes/"$gStartupDisk"/EFI/CLOVER + if [ -d "$gCloverDirectory" ]; then + echo "$gStartupDisk/EFI folder found" + else echo "$gStartupDisk/EFI not found" + echo "EFI/CLOVER folder not available to install HDMI audio" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + +# initialize variable + choice7=n + + while true + do + read -p "Confirm Clover Legacy Install (y/n): " choice7 + case "$choice7" in + + [yY]* ) +# gCloverDirectory=/Volumes/"$gStartupDisk"/EFI/CLOVER + if [ -d "$gCloverDirectory" ]; then + if [ -f "$gCloverDirectory/config.plist" ]; then + cp -p "$gCloverDirectory/config.plist" "/tmp/config.plist" + if [ -f "$gCloverDirectory/config-backup.plist" ]; then + rm -R "$gCloverDirectory/config-backup.plist" + fi + cp -p "$gCloverDirectory/config.plist" "$gCloverDirectory/config-backup.plist" + else + echo "$gCloverDirectory/config.plist is missing" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + + else + echo "$gCloverDirectory not found" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + + break + ;; + + [nN]* ) + echo "User terminated, EFI partition/folder not mounted" + echo “Mount EFI partition and Restart“ + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + ;; + + * ) echo "Try again...";; + esac + done + fi +;; + +1|2 ) + if [ -f "Desktop/config.plist" ]; then + cp -R Desktop/config.plist /tmp/config.plist +# echo "Debug mode" +# echo "Desktop/config.plist copied to /tmp/config.plist" + else + echo "Desktop/config.plist missing, Debug mode not possible" + exit 1 + fi +;; + +esac + +# verify ioreg/HDEF +ioreg -rw 0 -p IODeviceTree -n HDEF > /tmp/HDEF.txt + +if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF@1") = 0 ]]; then +echo "Error: no IOReg/HDEF; BIOS/audio/disabled or ACPI problem" + + while true + do + read -p "Continue without HDEF/onboard audio (y/n): " choice0 + case "$choice0" in + [yY]* ) break;; + [nN]* ) + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + rm -R /tmp/HDEF.txt + exit 1 + ;; + * ) echo "Try again...";; + esac + done +fi + +# HDEF/layout-id + +if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF@1") != 0 ]]; then + gLayoutidioreg=$(cat /tmp/HDEF.txt | grep layout-id | sed -e 's/.*//') + gLayoutidhex="0x${gLayoutidioreg:6:2}${gLayoutidioreg:4:2}${gLayoutidioreg:2:2}${gLayoutidioreg:0:2}" + gAudioid=$((gLayoutidhex)) +fi + +# verify ioreg/GFX0 +ioreg -rw 0 -p IODeviceTree -n GFX0@2 > /tmp/IGPU.txt +if [[ $(cat /tmp/IGPU.txt | grep -c "GFX0@2") = 0 ]]; then + gigfx=0 + +# debug + if [ $gDebug = 2 ]; then + echo "GFX0 - gigfx = $gigfx" + fi + +# verify ioreg/IGPU + ioreg -rw 0 -p IODeviceTree -n IGPU@2 > /tmp/IGPU.txt + if [[ $(cat /tmp/IGPU.txt | grep -c "IGPU@2") = 0 ]]; then + gigfx=0 + +# debug + if [ $gDebug = 2 ]; then + echo "IGPU - gigfx = $gigfx" + fi + + else + gigfx=IGPU@2 + +# debug + if [ $gDebug = 2 ]; then + echo "gigfx = $gigfx" + fi + + fi + +else +gigfx=GFX0@2 + +# debug + if [ $gDebug = 2 ]; then + echo "gigfx = $gigfx" + fi + +fi # found HDEF, layout-id, igfx + +rm -R /tmp/IGPU.txt +rm -R /tmp/HDEF.txt + +# verify config.plist/KernelAndKextPatches:KextsToPatch +ktpexisting=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches'" /tmp/config.plist) + +if [ -z "${ktpexisting}" ]; then + sudo /usr/libexec/PlistBuddy -c "Add KernelAndKextPatches:KextsToPatch array" /tmp/config.plist + echo "Edit config.plist: Add KernelAndKextPatches/KextsToPatch - Fixed" +fi + +ktpexisting=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:'" /tmp/config.plist) + +if [ -z "${ktpexisting}" ]; then + sudo /usr/libexec/PlistBuddy -c "Add KernelAndKextPatches:KextsToPatch array" /tmp/config.plist + echo "Edit config.plist: Add KextsToPatch - Fixed" +fi + +# exit if error +if [ "$?" != "0" ]; then + echo "Error: config.plist/KernelAndKextPatches/KextsToPatch fix failed" + echo “Original config.plist restored” + echo “Install valid config.plist” + sudo cp -X $gCloverDirectory/config-backup.plist $gCloverDirectory/config.plist + sudo rm -R /tmp/ktp.plist + sudo rm -R /tmp/config.plist + sudo rm -R /tmp/config-audio_cloverHDMI+.plist.zip + sudo rm -R /tmp/config-audio_cloverHDMI.plist + sudo rm -R /tmp/__MACOSX + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 +fi + +# get installed codecs +gCodecsInstalled=$(ioreg -rxn IOHDACodecDevice | grep VendorID | awk '{ print $4 }' | sed -e 's/ffffffff//') + +# debug +if [ $gDebug = 2 ]; then +# gCodecsInstalled=0x10ec0900 +# gCodecsInstalled=0x10134206 + echo "gCodecsInstalled = $gCodecsInstalled" +fi + +# no audio codecs detected +if [ -z "${gCodecsInstalled}" ]; then + echo "" + echo "No audio codec detected" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 +fi + +# initialize variables +intelhdmi=0 +amdhdmi=0 +nvidiahdmi=0 + +# find codecs +index=0 +for codec in $gCodecsInstalled +do + +# debug +if [ $gDebug = 2 ]; then + echo "Index = $index, Codec = $codec" +fi + +# sort vendors and devices +case ${codec:2:4} in + + 8086 ) Codecintelhdmi=$codec; intelhdmi=1 + ;; + 1002 ) Codecamdhdmi=$codec; amdhdmi=1 + ;; + 10de ) Codecnvidiahdmi=$codec; nvidiahdmi=1 + ;; + +esac +index=$((index + 1)) +done + +ghdmi=$((intelhdmi+amdhdmi+nvidiahdmi)) +gdgfx=$((amdhdmi+nvidiahdmi)) + +# no hdmi codecs detected +if [ $ghdmi = 0 ]; then + + while true + do + read -p "No HDMI audio codec(s) detected, continue (y/n): " choice4 + case "$choice4" in + [yY]* ) + gdgfx=1 + break + ;; + [nN]* ) + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + rm -R /tmp/HDEF.txt + rm -R /tmp/config.plist + exit 1 + ;; + * ) echo "Try again...";; + esac + done +fi + +# debug +# if [ $gDebug != 0 ]; then + echo "HDMI audio codec(s)" + if [ $intelhdmi = 1 ]; then + echo "Intel: $Codecintelhdmi" + fi + if [ $amdhdmi = 1 ]; then + echo "AMD: $Codecamdhdmi" + fi + if [ $nvidiahdmi = 1 ]; then + echo "Nvidia: $Codecnvidiahdmi" + fi +# fi + +# debug ## +# if [ $gDebug = 0 ]; then +# if [ $gDebug = 1 ]; then +# if [ $gDebug = 2 ]; then +# echo "" +# gigfx=0 +# gdgfx=0 +# echo "gigfx = $gigfx" +# echo "gdgfx = $gdgfx" +# fi + +# verify igfx +if [ $gigfx = 0 ]; then # no IGFX + echo "Integrated Graphics is not installed/enabled" + gigfxnuc=0 + rm -R /tmp/config.plist +# rm -R /tmp/HDEF.txt + +else + gideviceid=$(ioreg -rxn $gigfx | grep device-id | sed -e 's/.*//') + +# debug ## +# if [ $gDebug = 0 ]; then +# if [ $gDebug = 1 ]; then +# if [ $gDebug = 2 ]; then +# gideviceid=26010000 +# gideviceid=62010000 +# gideviceid=12040000 +# gideviceid=220d0000 +# gideviceid=16160000 +# gideviceid=12190000 +# gideviceid=26190000 +# gideviceid=12590000 +# gAudioid=11 +# fi + +# initialize variable +gideviceidsupported=y +gigfxindex=0 +gigfxhdmihdef=n +gigfxhdmihdau=n + +# desktop igfx ssdt parameters + case $gideviceid in + + 26010000* ) + gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,snb-platform-id"| awk '{ print $4 }') + gigfxgen=2 + gigfxhdmifb=00020300 + gigfxname="HD3000" + gigfxrepo=hd3000 + gigfxfolder=ssdt_hdmi-hd3000 + gigfxzip=ssdt_hdmi-hd3000-6series-3 + gigfxssdt=SSDT-HDMI-HD3000 + gigfxindex=2 + gigfxhdmihdef=y + gigfxnuc=0 + ;; + + 62010000* ) + gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') + gigfxgen=3 + gigfxhdmifb=0A006601 + gigfxname="HD4000" + gigfxrepo=hd4000 + gigfxfolder=ssdt_hdmi-hd4000 + gigfxzip=ssdt_hdmi-hd4000-7series-3 + gigfxssdt=SSDT-HDMI-HD4000 + gigfxindex=5 + gigfxhdmihdef=y + gigfxnuc=0 + ;; + + 12040000* ) + gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') + gigfxgen=4 + gigfxhdmifb=0300220D + gigfxhdmicodec=0c0c + gigfxhdmihdau=y + gigfxname="HD4600+" + gigfxrepo=8series + gigfxfolder=ssdt_hdmi-hd4600+ + gigfxzip=ssdt_hdmi-hd4600+ + gigfxssdt=SSDT-HDMI-HD4600+ + gigfxindex=8 + gigfxnuc=0 + ;; + + 22160000* ) + gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') + gigfxgen=5 + gigfxhdmifb=03001216 + gigfxhdmihdau=y + gigfxname="HD6200" + gigfxrepo=9series + gigfxfolder=ssdt_hdmi-hd6000+ + gigfxzip=ssdt_hdmi-hd6200 + gigfxssdt=SSDT-HDMI-HD6200 + gigfxindex=0 + gigfxnuc=0 + ;; + + 12190000* ) + gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') + gigfxgen=6 + gigfxhdmifb=00001219 + gigfxhdmihdau=n + gigfxname="HD530" + gigfxrepo=100series + gigfxfolder=ssdt_hdmi_hd5x0 + gigfxzip=ssdt_hdmi-hd530 + gigfxssdt=SSDT-HDMI-HD530 + gigfxindex=14 + gigfxhdmihdef=y + gigfxport5=1 + gigfxnuc=0 + ;; + + 16190000* ) + gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') + gigfxgen=6 + gigfxhdmifb=00001219 + gigfxhdmihdau=n + gigfxname="HD515" + gigfxrepo=100series + gigfxfolder=ssdt_hdmi_hd5x0 + gigfxzip=ssdt_hdmi-hd515 + gigfxssdt=SSDT-HDMI-HD515 + gigfxindex=14 + gigfxhdmihdef=y + gigfxport5=1 + gigfxnuc=0 + ;; + + 12590000* ) + gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') + gigfxgen=7 + gigfxhdmifb=00001259 + gigfxhdmihdau=n + gigfxname="HD630" + gigfxrepo=200series + gigfxfolder=ssdt_hdmi_hd6x0 + gigfxzip=ssdt_hdmi-hd630 + gigfxssdt=SSDT-HDMI-HD630 + gigfxindex=17 + gigfxhdmihdef=y + gigfxport5=0 + gigfxnuc=0 + ;; + + * ) + gideviceidsupported=n + ;; + + esac + +# nuc igfx ssdt parameters + if [[ $gigfxnuc = 1 && $gideviceidsupported = n ]]; then + gigfxnuc=2 + gideviceidsupported=y + gigfxportmax=6 + + case $gideviceid in + + 66010000* ) + gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') + gigfxgen=3 + gigfxhdmifb=0A006601 + gigfxname="HD4000" + gigfxrepo=hd4000 + gigfxfolder=ssdt_hdmi-hd4000 + gigfxzip=ssdt_hdmi-hd4000-7series-3 + gigfxssdt=SSDT-HDMI-HD4000 + gigfxindex=5 + gigfxhdmihdef=y + gigfxportmax=7 + ;; + + 260a0000* ) + gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') + gigfxgen=4 + gigfxhdmifb=0300220D + gigfxhdmihdau=y + gigfxname="HD5000" + gigfxrepo=8series + gigfxfolder=ssdt_hdmi-hd4600+ + gigfxzip=ssdt_hdmi-hd4600+ + gigfxssdt=SSDT-HDMI-HD4600+ + gigfxindex=8 + ;; + + 220d0000* ) + gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') + gigfxgen=4 + gigfxhdmifb=0300220D + gigfxhdmihdau=y + gigfxname="HD5200" + gigfxrepo=8series + gigfxfolder=ssdt_hdmi-hd4600+ + gigfxzip=ssdt_hdmi-hd4600+ + gigfxssdt=SSDT-HDMI-HD4600+ + gigfxindex=8 + ;; + + 16160000* ) + gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') + gigfxgen=5 + gigfxhdmifb=02001616 + gigfxhdmihdau=y + gigfxname="HD5500" + gigfxrepo=9series + gigfxfolder=ssdt_hdmi-hd6000+ + gigfxzip=ssdt_hdmi-hd5500 + gigfxssdt=SSDT-HDMI-HD5500 + gigfxindex=11 + ;; + + 26160000* ) + gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') + gigfxgen=5 + gigfxhdmifb=04002616 + gigfxhdmihdau=y + gigfxname="HD6000" + gigfxrepo=9series + gigfxfolder=ssdt_hdmi-hd6000+ + gigfxzip=ssdt_hdmi-hd6000 + gigfxssdt=SSDT-HDMI-HD6000 + gigfxindex=11 + ;; + + 2B160000* ) + gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') + gigfxgen=5 + gigfxhdmifb=04002B16 + gigfxhdmihdau=y + gigfxname="HD6100" + gigfxrepo=9series + gigfxfolder=ssdt_hdmi-hd6000+ + gigfxzip=ssdt_hdmi-hd6100 + gigfxssdt=SSDT-HDMI-HD6100 + gigfxindex=11 + ;; + + 26190000* ) + gigfxframebuffer=$(ioreg -rxn $gigfx | grep "AAPL,ig-platform-id"| awk '{ print $4 }') + gigfxgen=6 + gigfxhdmifb=00002619 + gigfxhdmihdau=n + gigfxname="HD540" + gigfxrepo=100series + gigfxfolder=ssdt_hdmi_hd5x0 + gigfxzip=ssdt_hdmi-hd540 + gigfxssdt=SSDT-HDMI-HD540 + gigfxindex=0 + gigfxhdmihdef=y + ;; + + * ) + gideviceidsupported=n + gigfxnuc=0 + ;; + + esac + fi + + + if [ $gideviceidsupported = n ]; then # IGFX not supported + echo "Device ID: 0x$gideviceid not supported" + rm -R /tmp/config.plist + rm -R /tmp/HDEF.txt + + if [ $gdgfx = 0 ]; then + echo "AMD/Nvidia not found" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + else + +# verify HDEF/layout-id + + case $gAudioid in + + 1|2 ) + validaudioid=y + ;; + + 3 ) + if [[ $gigfxname = HD3000 || $gigfxname = HD4000 ]]; then + validaudioid=y + fi + ;; + + * ) + echo "Audio ID: $gAudioid is not valid" + echo "Audio ID set to Audio ID: 1" + echo "Edit EFI/CLOVER/ACPI/patched/SSDT-HDEF... to preferred Audio ID" + + while true + do + read -p "Audio ID: 1, continue (y/n): " choice5 + case "$choice5" in + [yY]* ) + gAudioid=1 + break + ;; + [nN]* ) + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + ;; + * ) echo "Try again...";; + esac + done + esac + +# hdef ssdt audio id + gigfxhdmiaudioid=$gAudioid + +# hdef ssdt parameters + ghdefrepo=ALCInjection + ghdeffolder=ssdt_hdef + + case $gigfxname in + + HD3000|HD4000* ) + gigfxhdmiaudioid=3 + ghdefzip=ssdt_hdef-$gigfxhdmiaudioid-with_ioreg:hdef + ghdefssdt=SSDT-HDEF-$gigfxhdmiaudioid + ;; + + HD515|HD530|HD540*|HD630 ) + if [ $gigfxhdmiaudioid = 3 ]; then gigfxhdmiaudioid=1; fi + ghdefzip=ssdt_hdef-$gigfxhdmiaudioid-100-hdas + ghdefssdt=SSDT-HDEF-HDAS-$gigfxhdmiaudioid + ;; + + esac + +# verify IGPU hfa-gfx injection + igfxhdagfx1=$(ioreg -rxn $gigfx | grep -c "hda-gfx") + +# verify HDEF/HDAU hda-gfx injection + if [ $gigfxhdmihdau = y ]; then + igfxhdagfx2=$(ioreg -rxn HDAU@3 | grep -c "hda-gfx") + else + igfxhdagfx2=$(ioreg -rxn HDEF | grep -c "hda-gfx") + fi + + igfxhdagfx=$(($igfxhdagfx1 + $igfxhdagfx2)) + +# debug ## +# if [ $gDebug = 0 ]; then +# if [ $gDebug = 1 ]; then +# if [ $gDebug = 2 ]; then +# echo "" +# igfxhdagfx=0 +# igfxhdagfx2=0 +# fi + +# debug + if [ $gDebug = 2 ]; then + echo "igfxhdagfx1 = $igfxhdagfx1" + echo "igfxhdagfx2 = $igfxhdagfx2" + igfxhdagfx=$(($igfxhdagfx1 + $igfxhdagfx2)) + echo "igfxhdagfx = $igfxhdagfx" + fi + +# Intel integrated graphics HDMI audio + +# initialize variable + choice1=n + choice2=n + gconnectoredit=n + gssdtinstall=n + + if [ $igfxhdagfx = 2 ]; then # ssdt working + Echo "$gigfxname HDMI audio is enabled, connector edit may be required" + while true + do + read -p "Verify $gigfxname HDMI audio connector/s (y/n): " choice1 + case "$choice1" in + [yY]* ) gconnectoredit=y; break;; + [nN]* ) gconnectoredit=n; break;; + * ) echo "Try again...";; + esac + done + else + Echo "$gigfxname HDMI audio is not enabled" + while true + do + read -p "Install $gigfxssdt HDMI audio ssdt (y/n): " choice2 + case "$choice2" in + [yY]* ) gssdtinstall=y; break;; + [nN]* ) gssdtinstall=n; break;; + * ) echo "Try again...";; + esac + done + fi + + gamdnvidia=n + if [[ $choice1 = n && $choice2 = n ]]; then + gdgfx=1 ## debug 2 + if [ $gdgfx = 0 ]; then + echo "AMD/Nvidia not found" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + fi + +# debug + if [ $gDebug = 2 ]; then +# echo "" +# gdgfx=0 +# gamdnvidia=y + echo "gdgfx = $gdgfx" + echo "gamdnvidia = $gamdnvidia" + fi + + if [ $gssdtinstall = y ]; then # install igfx ssdt + gconnectoredit=y + if [ $gDebug = 2 ]; then + echo "if [ gssdtinstall = y ]; then # install ssdt" + echo "gdgfx = $gdgfx" + echo "gamdnvidia = $gamdnvidia" + echo "gssdtinstall = $gssdtinstall" + echo "gconnectoredit = $gconnectoredit" + echo "gigfxrepo = $gigfxrepo" + echo "gigfxfolder = $gigfxfolder" + echo "gigfxzip = $gigfxzip" + echo "gDownloadLink=https://raw.githubusercontent.com/toleda/audio_hdmi_$gigfxrepo/master/$gigfxfolder/$gigfxzip.zip" + fi + +# download igfx ssdt + echo "Download $gigfxssdt ..." + gDownloadLink="https://raw.githubusercontent.com/toleda/audio_hdmi_$gigfxrepo/master/$gigfxfolder/$gigfxzip.zip" + sudo curl -o "/tmp/$gigfxzip.zip" $gDownloadLink + unzip -qu "/tmp/$gigfxzip.zip" -d "/tmp/" + +# exit if error + if [ "$?" != "0" ]; then + echo "Error: Download failure, verify network - igfx ssdt" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + +# debug + if [[ $gDebug = 2 && $gigfxhdmihdef = y ]]; then + echo "ghdefrepo = $ghdefrepo" + echo "ghdeffolder = $ghdeffolder" + echo "ghdefzip = $ghdefzip" + echo "gDownloadLink=hthttps://raw.githubusercontent.com/toleda/audio_$ghdefrepo/master/$ghdeffolder/$ghdefzip.zip" + fi + +# download hdef ssdt, HD3000, HD4000, HD515, HD530, HD540, HD630 + if [ $gigfxhdmihdef = y ]; then + echo "Download $ghdefssdt.aml ..." + gDownloadLink="https://raw.githubusercontent.com/toleda/audio_$ghdefrepo/master/$ghdeffolder/$ghdefzip.zip" + sudo curl -o "/tmp/$ghdefzip.zip" $gDownloadLink + unzip -qu "/tmp/$ghdefzip.zip" -d "/tmp/" + fi + +# exit if error + if [ "$?" != "0" ]; then + echo "Error: Download failure, verify network - hdef ssdt" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + +# install igfx ssdt to EFI/CLOVER/ACPI/patched (cloverHDMI) + case $gDebug in + + 0 ) + if [ -d "$gCloverDirectory/ACPI/patched/$gigfxssdt" ]; then + sudo rm -R "$gCloverDirectory/ACPI/patched/$gigfxssdt" +# echo "$gCloverDirectory/ACPI/patched/$gigfxssdt deleted" + fi + sudo cp -R "/tmp/$gigfxzip/$gigfxssdt.aml" "$gCloverDirectory/ACPI/patched/" + +# exit if error + if [ "$?" != "0" ]; then + echo Error: ssdt copy failure + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + + echo "$gCloverDirectory/ACPI/patched/$gigfxssdt installed" + + if [ $gigfxhdmihdef = y ]; then + if [ -d "$gCloverDirectory/ACPI/patched/$ghdefssdt" ]; then + sudo rm -R "$gCloverDirectory/ACPI/patched/$ghdefssdt" +# echo "$gCloverDirectory/ACPI/patched/$ghdefssdt deleted" + fi + sudo cp -R "/tmp/$ghdefzip/$ghdefssdt.aml" "$gCloverDirectory/ACPI/patched/" + +# exit if error + if [ "$?" != "0" ]; then + echo Error: ssdt copy failure + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + echo "$gigfxname HDEF audio ssdt copied to Desktop" + fi + + echo "$gCloverDirectory/ACPI/patched/$ghdefssdt installed" + fi + ;; + + 1|2 ) + sudo cp -R "/tmp/$gigfxzip/$gigfxssdt.aml" "Desktop/$gigfxname-$gigfxssdt.aml" + +# exit if error + if [ "$?" != "0" ]; then + echo Error: ssdt copy failure + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi +# echo "Debug mode" + echo "$gigfxname HDMI audio ssdt copied to Desktop" + + if [ $gigfxhdmihdef = y ]; then + sudo cp -R "/tmp/$ghdefzip/$ghdefssdt.aml" "Desktop/$gigfxname-$ghdefssdt.aml" + +# exit if error + if [ "$?" != "0" ]; then + echo Error: ssdt copy failure + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + echo "$gigfxname HDEF audio ssdt copied to Desktop" + fi +# echo "No system files were changed" + fi + ;; + + esac + +# cleanup /tmp + sudo rm -R /tmp/$gigfxzip.zip + sudo rm -R /tmp/$gigfxzip + # sudo rm -R /tmp/IGPU.txt + # sudo rm -R /tmp/HDEF.txt + sudo rm -R /tmp/__MACOSX + + if [ $gigfxhdmihdef = y ]; then + sudo rm -R /tmp/$ghdefzip.zip + sudo rm -R /tmp/$ghdefzip + fi + +# exit if error + if [ "$?" != "0" ]; then + sudo rm -R "$gCloverDirectory/ACPI/patched/$gigfxssdt" + echo Error: ssdt install failure + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + + fi # igfx ssdt installed + gssdtinstall=OK + +# verify igfx framebuffers + if [ $gconnectoredit = y ]; then # verify framebuffers + index=$gigfxport5 + indexmax=$((gigfxport5 + gigfxports - 1)) + port=5 + iaudio=0 + + while [ $index -le $indexmax ]; do + +# debug + if [ $gDebug = 2 ]; then + echo "index = $index" + echo "port = $port" + fi + +# look for display(s) + ioreg -rw 0 -p IOService -n AppleIntelFramebuffer@$index > /tmp/IGPU.txt + audioinfo[$port]=$(cat /tmp/IGPU.txt | grep -c "audio-codec-info") + connector[$port]=$(cat /tmp/IGPU.txt | grep connector-type | sed -e 's/.*//') + iaudio=$(($iaudio + ${audioinfo[$port]})) + + +# debug + if [ $gDebug = 2 ]; then + echo "audioinfo = ${audioinfo[$port]}" + echo "connector = ${connector[$port]}" + echo "iaudio = $iaudio" + fi + + index=$((index + 1)) + port=$((port + 1)) + rm -R /tmp/IGPU.txt + done + +# exit if error + if [ "$?" != "0" ]; then + echo "Error: framebuffer analysis failed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + +# verify hdmi display, max 1 +# initialize variable + gamdnvidia=n + + case $iaudio in + + 0 ) + echo "No display connected to $gigfxname" + gdgfx=1 ## debug 2 + if [ $gdgfx = 0 ]; then + echo "Error: patch not possible" + echo "AMD/Nvidia not found" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + ;; + + 1 ) + echo "One display connected, proceeding" + ;; + + 2 ) + if [[ $gigfxgen = 4 || $gigfxgen = 5 || $gigfxgen = 6 || $gigfxgen = 7 ]]; then + echo "Two displays connected, proceeding" + else + echo "Error: more than one display connected to $gigfxname, patch not possible" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + ;; + + 3 ) + if [ $gigfxhdmihdau = y ]; then + echo "Error: more than two displays connected to $gigfxname, patch not possible" + else + echo "Error: more than one display connected to $gigfxname, patch not possible" + fi + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + ;; + + * ) + echo Error: display analysis failed + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + ;; + + esac + +# debug + if [ $gDebug = 2 ]; then + echo "gdgfx = $gdgfx" + echo "gamdnvidia = $gamdnvidia" + fi + +# exit if error + if [ "$?" != "0" ]; then + echo Error: display analysis failed + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + +# debug + if [ $gDebug = 2 ]; then + echo "" + # gigfxname="HD3000" + # gigfxname="HD6200" + fi + +# verify native hdmi connector + ifbnative=0 + +case $gigfxname in + + HD3000|HD4000* ) # native HDMI connector + connector7=${connector[7]} + if [ $connector7 = "00080000" ]; then # native hdmi + echo "Native $gigfxname/port 0x7 is HDMI connector, no patch required" + ifbnative=1 + fi + ;; + + HD6200|HD540* ) # connector detection, 515, 530 removed special case + echo "$gigfxname/$gigfxhdmifb detects and sets HDMI connector, no patch required" + ifbnative=1 + ;; + + esac + +# no fb patch required + if [ $ifbnative = 1 ]; then # native fb + sudo rm -R /tmp/config.plist + rm -R /tmp/HDEF.txt + + else + +# confirm ports to edit + port=5 + +# debug + if [ $gDebug = 2 ]; then + echo "gigfxportmax = $gigfxportmax" + fi + + choice3=n + while [ $port -le $gigfxportmax ]; do +# debug + if [ $gDebug = 2 ]; then + echo "port = $port" + echo "audioinfo = ${audioinfo[$port]}" + echo "connector = ${connector[$port]}" + echo "iaudio = $iaudio" + fi + + if [ ${audioinfo[$port]} != 0 ]; then + while true; do + read -p "Confirm DP to HDMI connector edit on port 0x$port (y/n): " choice3 + case "$choice3" in + [yY]* ) echo "Patch port 0x$port"; gifgxfbedit=y; break;; + [nN]* ) echo "Ignore port 0x$port"; audioinfo[$port]=0; iaudio=$(($iaudio-1)); break;; + * ) echo "Try again...";; + esac + done + +# debug + if [ $gDebug = 2 ]; then + echo "port = $port" + echo "iaudio = $iaudio" + echo "audioinfo = ${audioinfo[$port]}" + echo "connector = ${connector[$port]}" + echo "iaudio = $iaudio" + fi + fi + + port=$(($port + 1)) + done + +# exit if error + if [ "$?" != "0" ]; then + echo "Error: config.plst edit failed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + + if [ $iaudio = 0 ]; then # no framebuffer edits + echo "No framebuffer edits requested" + rm -R /tmp/config.plist +# rm -R /tmp/HDEF.txt + + else + +# download connector edits + case $gDebug in + + 0|1 ) + echo "Download $gigfxname HDMI audio connector edits ..." + gDownloadLink="https://raw.githubusercontent.com/toleda/audio_cloverHDMI/master/config-audio_cloverHDMI+.plist.zip" + + sudo curl -o "/tmp/config-audio_cloverHDMI+.plist.zip" $gDownloadLink + unzip -qu "/tmp/config-audio_cloverHDMI+.plist.zip" -d "/tmp/" + mv /tmp/config-audio_cloverHDMI+.plist /tmp/config-audio_cloverHDMI.plist + ;; + + 2 ) + echo "gDesktopDirectory = $gDesktopDirectory" + + if [ -f "$gDesktopDirectory/config-audio_cloverHDMI+.plist" ]; then + sudo cp -R "$gDesktopDirectory/config-audio_cloverHDMI+.plist" /tmp/config-audio_cloverHDMI.plist + echo "Desktop/config-audio_cloverHDMI+.plist copied to /tmp/config-audio_cloverHDMI.plist" + else + echo "Error, Desktop/config-audio_cloverHDMI+.plist missing" + exit 1 + fi + ;; + + esac + +# exit if error + if [ "$?" != "0" ]; then + echo "Error: config-audio_cloverHDMI.plist download failed" + echo "Verify Insternel access" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + +# verify /tmp/config-audio_cloverHDMI.plist + index=0 + sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:${patch[$index]}'" /tmp/config-audio_cloverHDMI.plist -x > "/tmp/ktp.plist" + if [ $(sudo /usr/libexec/PlistBuddy -c "Print '::$index dict'" /tmp/ktp.plist | grep -c "AppleHDAController") = 0 ]; then + echo "Error: config-audio_cloverHDMI.plist patches failed" + echo "Verify Insternel access" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + +# remove t2- patches (cloverHDMI) + ktpexisting=$(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:'" /tmp/config.plist | grep -c "t2-") + +# debug + if [ $gDebug = 2 ]; then + echo "ktpexisting - t2- = $ktpexisting" + fi + + index=0 + while [ $ktpexisting -ge 1 ]; do + if [ $(sudo /usr/libexec/PlistBuddy -c "Print ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist | grep -c "t2-") = 1 ]; then + sudo /usr/libexec/PlistBuddy -c "Delete ':KernelAndKextPatches:KextsToPatch:$index dict'" /tmp/config.plist + ktpexisting=$((ktpexisting - 1)) + index=$((index - 1)) + fi + index=$((index + 1)) + +# debug + if [ $gDebug = 2 ]; then + echo "index = $index" + echo "ktpexisting = $ktpexisting" + fi + done + +# patch summary +# iaudio=1 # number of connector edits +# audioinfo[5]=1 # audio on port 0x5 +# audioinfo[6]=0 # audio on port 0x5 +# audioinfo[7]=0 # audio on port 0x5 +# connector[5]=00040000 # native port 0x5 connector +# connector[6]=00040000 # native port 0x6 connector +# connector[7]=00040000 # native port 0x7 connector + +# config-audio_cloverHDMI.plist/.../KextsToPatch +# Item 0: 10.9-10.11-HD4600_HDMI_Audio-1of2 Item 0 + Item 1 +# Item 1: 10.9-10.11-HD4600_HDMI_Audio-2of2 +# Item 2: 10.10-10.11-SNB-Port _0x5-DP2HDMI Item 2 + Item 4 +# Item 3: 10.10-10.11-SNB-Port _0x6-DP2HDMI Item 3 + Item 4 +# Item 4: 10.10-10.11-SNB-Port _0x7-DP2HDMI +# Item 5: 10.10-10.11-Capri-Port _0x5-DP2HDMI Item 5 + Item 7 +# Item 6: 10.10-10.11-Capri-Port _0x6-DP2HDMI Item 6 + Item 7 +# Item 7: 10.10-10.11-Capri-Port _0x7-HDMI2DP +# Item 8: 10.10-10.11-Azul-Port_0x5-DP2HDMI +# Item 9: 10.10-10.11-Azul-Port_0x6-DP2HDMI +# Item 10: 10.10-10.11-Azul-Port_0x7-DP2HDMI +# Item 11: 10.10-10.11-BDW010509-Port_0x5-DP2HDM (010509) +# Item 12: 10.10-10.11-BDW010509-Port_0x5-DP2HDM (01050b) +# Item 13: 10.11.4-SKL-1912000-4_displays +# Item 14: 10.11.4-SKL-1912000-Port_0x5-DP2HDM (010509) +# Item 15: 10.11.4-SKL-1912000-Port_0x6-DP2HDM (02040a) +# Item 16: 10.11.4-SKL-1912000-Port_0x7-DP2HDM (03060a) +# Item 17: 10.12.6-KBL-5912000-Port_0x5-DP2HDM (010509) +# Item 18: 10.12.6-KBL-5912000-Port_0x6-DP2HDM (02040a) +# Item 19: 10.12.6-KBL-5912000-Port_0x7-DP2HDM (03060a) + +# debug + if [ $gDebug = 2 ]; then + echo "gigfxhdmicodec = $gigfxhdmicodec" + fi + +# codec patch hd4600 audio controller/credit TimeWalker75a + if [ $gigfxhdmicodec = "0c0c" ]; then + patch=1 + _patchconfig + patch=0 + _patchconfig + fi + +# exit if error + if [ "$?" != "0" ]; then + echo "Error: config.plst/.../hd4600 audio controller edit failed" + echo “Original config.plist restored” + sudo cp -X $gCloverDirectory/config-backup.plist $gCloverDirectory/config.plist + sudo rm -R /tmp/ktp.plist + sudo rm -R /tmp/config.plist + sudo rm -R /tmp/config-audio_cloverHDMI+.plist.zip + sudo rm -R /tmp/config-audio_cloverHDMI.plist + sudo rm -R /tmp/__MACOSX + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + +# hd515,hd530 4 port edit + if [ $gigfxhdmifb = "00001219" ]; then + patch=13 + _patchconfig + fi + +# exit if error + if [ "$?" != "0" ]; then + echo "Error: config.plst/.../4 port edit failed" + echo “Original config.plist restored” + sudo cp -X $gCloverDirectory/config-backup.plist $gCloverDirectory/config.plist + sudo rm -R /tmp/ktp.plist + sudo rm -R /tmp/config.plist + sudo rm -R /tmp/config-audio_cloverHDMI+.plist.zip + sudo rm -R /tmp/config-audio_cloverHDMI.plist + sudo rm -R /tmp/__MACOSX + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + +# patch framebuffer + case $gigfxgen in + + 2|3 ) + if [ ${audioinfo[5]} = 1 ]; then + patch[0]=$gigfxindex + fi + if [ ${audioinfo[6]} = 1 ]; then + patch[0]=$(($gigfxindex+1)) + fi + patch[1]=$(($gigfxindex+2)) + ;; + + 4|5|6|7 ) + + index=0 + port=5 + +# debug + if [ $gDebug = 2 ]; then + echo "gigfxportmax = $gigfxportmax" + fi + +# add frameuffer patch to config.plist + while [ $port -le $gigfxportmax ]; do + if [ ${audioinfo[$port]} != 0 ]; then + index=$(($index + 1)) + patch=$(($gigfxindex + $port - 5)) + _patchconfig + fi + port=$(($port + 1)) + done + ;; + + * ) + echo "Intel HD Graphics Gen $gigfxgen is not supported" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + ;; + + esac + +# exit if error + if [ "$?" != "0" ]; then + echo "Error: config.plst/.../framebuffer edit failed" + echo “Original config.plist restored” + sudo cp -X $gCloverDirectory/config-backup.plist $gCloverDirectory/config.plist + sudo rm -R /tmp/ktp.plist + sudo rm -R /tmp/config.plist + sudo rm -R /tmp/config-audio_cloverHDMI+.plist.zip + sudo rm -R /tmp/config-audio_cloverHDMI.plist + sudo rm -R /tmp/__MACOSX + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + +# install updated config.plst + case $gDebug in + + 0 ) + sudo cp -R "/tmp/config.plist" "$gCloverDirectory/config.plist" + echo "HDMI audio edited $gCloverDirectory/config.plist installed" + ;; + + 1|2 ) + if [ -f "Desktop/$gigfxname-config.plist" ]; then + sudo rm -R "Desktop/$gigfxname-config.plist" + fi + sudo cp -R "/tmp/config.plist" "Desktop/$gigfxname-config.plist" + echo "$gigfxname HDMI audio edited config.plist copied to Desktop" + ;; + + esac + +# cleanup /tmp + sudo rm -R /tmp/config.plist + sudo rm -R /tmp/ktp.plist +# sudo rm -R /tmp/config-audio_cloverHDMI+.plist.zip + sudo rm -R /tmp/config-audio_cloverHDMI.plist +# sudo rm -R /tmp/__MACOSX + + + fi # no framebuffer edits + + fi # verify framebuffers + fi # a fb +fi # IGFX not supported +fi # no IGFX + +# debug +if [ $gDebug = 2 ]; then + echo "AMD/Nvidia discrete graphics HDMI audio" + echo "gigfx = $gigfx" + echo "gdgfx = $gdgfx" +fi + +# AMD/Nvidia discrete graphics HDMI audio + +if [ $gigfxnuc = 0 ]; then # AMD/Nvidia else nuc + +while true +do + read -p "Install AMD/Nvidia HDMI audio (y/n): " choice8 + case "$choice8" in + [yY]* ) gdgfxhdmi=y; break;; + [nN]* ) gdgfxhdmi=n; break;; + * ) echo "Try again...";; + esac +done + +if [ $gdgfxhdmi = y ]; then # AMD/Nvidia HDMI audio + +# get acpi pcie device name + numname1=14 + gdgfxname1[1]=PEG0@1 + gdgfxname1[2]=PEG1@1 + gdgfxname1[3]=PEGP@1 + gdgfxname1[4]=P0P1@1 + gdgfxname1[5]=P0P2@1 + gdgfxname1[6]=P0P2@3 + gdgfxname1[7]=NPE3@2 + gdgfxname1[8]=NPE3@3 + gdgfxname1[9]=NPE7@3 + gdgfxname1[10]=pci-bridge@1 + gdgfxname1[11]=pci-bridge@3 + gdgfxname1[12]=BR3A@3 + gdgfxname1[13]=PC02@3 + gdgfxname1[14]=PC12@3 + + index=1 + while [ $index -le $numname1 ]; do + dgfxpciname=$(ioreg -rxn ${gdgfxname1[$index]} | grep vendor-id| awk '{ print $4 }') + +# debug + if [ $gDebug = 2 ]; then + echo "gdgfxname1 = ${gdgfxname1[$index]}" + fi + + if [ -n "${dgfxpciname}" ]; then + dgfxindex1=$index + index=$(($numname1 + 1)) + +# debug + if [ $gDebug = 2 ]; then + echo "dgfxindex1 = $dgfxindex1" + fi + + fi + + index=$(($index + 1)) + done + + gdgfxpciname1=${gdgfxname1[$dgfxindex1]} + +# debug + if [ $gDebug = 2 ]; then + echo "gdgfxpciname1 = ${gdgfxname1[$dgfxindex1]}" + echo "gdgfxpciname1 = $gdgfxpciname1" + fi + + if [ $gdgfxpciname1 = 0 ]; then + echo "Error: discrete graphics card not found, unknown acpi PCI0 name" + echo "Names checked: ${gdgfxname1[@]}" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + +# get acpi graphics device name + numname2=8 + gdgfxname2[1]=PEGP@0 + gdgfxname2[2]=GFX0@0 + gdgfxname2[3]="display@0" + gdgfxname2[4]="pci-display@0" + gdgfxname2[5]=GFX1@0 + gdgfxname2[6]=H000@0 + gdgfxname2[7]=pci10de + gdgfxname2[8]=pci1002 + +#find discrete graphics vendor-id + index=1 + while [ $index -le $numname2 ]; + do + dgfxvendorid=$(ioreg -rxn ${gdgfxname2[$index]} | grep vendor-id| awk '{ print $4 }') + dgfxdeviceid=$(ioreg -rxn ${gdgfxname2[$index]} | grep device-id| awk '{ print $4 }') + + if [ $gDebug = 2 ]; then + echo "gdgfxname2 = ${gdgfxname2[$index]}" + fi + + if [ -n "${dgfxvendorid}" ]; then + gdgfxpciname2=${gdgfxname2[$index]} + + index0=1 + for vendor in $dgfxvendorid + do + +# debug + if [ $gDebug = 2 ]; then + echo "index0 = $index, vendor-id = ${vendor:1:4}" + fi + +# sort discrete graphics vendors and devices + case ${vendor:1:4} in + + 0210 ) gdgfxvendorid=${vendor:1:4} + gdgfxname=AMD + ;; + + de10 ) gdgfxvendorid=${vendor:1:4} + gdgfxname=Nvidia + ;; + esac + index0=$((index0 + 1)) + done + +# find discrete graphics device-id + index0=1 + for device in $dgfxdeviceid + do + +# debug + if [ $gDebug = 2 ]; then + echo "index0 = $index, device-id = ${device:1:4}" + fi + + gdgfxdeviceid=${device:1:4} + + index0=$((index0 + 1)) + done + fi + + index=$(($index + 1)) + done + +# dgfx found + gdgfxvendorid=${gdgfxvendorid:2:2}${gdgfxvendorid:0:2} + gdgfxdeviceid=${gdgfxdeviceid:2:2}${gdgfxdeviceid:0:2} + +# debug ## +# if [ $gDebug = 0 ]; then +# if [ $gDebug = 1 ]; then +# if [ $gDebug = 2 ]; then +# echo "gdgfxpciname1 = $gdgfxpciname1" +# echo "gdgfxpciname2 = $gdgfxpciname2" +# echo "gdgfxvendorid = ${gdgfxvendorid}" +# echo "gdgfxdeviceid = ${gdgfxdeviceid}" +# gdgfxpciname1=BR3A@3 +# gdgfxpciname2=H060@0 +# echo "gdgfxvendorid = ${gdgfxvendorid}" +# echo "gdgfxdeviceid = ${gdgfxdeviceid}" +# gdgfxvendorid="" +# fi + + + if [ $gdgfxpciname1 = "BR3A@3" ]; then + if [[ $gdgfxpciname1 = "BR3A@3" && $gdgfxpciname2 = "H000@0" ]]; then + echo "X99 HDMI audio supported" + else + +# debug + if [ $gDebug = 2 ]; then + echo "gdgfxpciname1 = $gdgfxpciname1" + echo "gdgfxpciname2 = $gdgfxpciname2" + echo + fi + + gdgfxpciname2="Hxx0@0" + echo "NOTE:ACPI graphics name unknown, H000 installed" + echo "Verify IOReg/BR3A/graphics name, i.e., Hxx0@0 and Hxx1@0,1" + echo "Before restarting, edt EFI/CLOVER/ACPI/patched/SSDT-HDMI-...-$gdgfxpciname1" + echo "MaciASL/Edit/Find: H000/Replace: Hxx0" + echo "MaciASL/Edit/Find: H001/Replace: Hxx1" + echo "Compile/Save/Restart" + echo "More information, see Desktop/[Guide] macOS hdmi audio x99 ssdt" + + while true + do + read -p "AMD(a)/Nvidia(n) graphics (a/n): " choice6 + case "$choice6" in + [aA]* ) gdgfxname="AMD"; break;; + [nN]* ) gdgfxname="Nvidia"; break;; + * ) echo "Try again...";; + esac + done + + fi + fi + + if [ -z "${gdgfxvendorid}" ]; then + if [ $gdgfxpciname1 = "BR3A@3" ]; then + if [ $gDebug = 2 ]; then + echo "gdgfxpciname1 = $gdgfxpciname1" + echo "gdgfxvendorid = $gdgfxvendorid" + fi + + else + if [ $gdgfx != 0 ]; then + echo "AMD/Nvidia HDMI codec found" + fi + echo "AMD/Nvidia graphics not found, unknown acpi PCI0/graphics name" + echo "Names checked: ${gdgfxname2[@]}" + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit + fi + fi + + if [ $gdgfxpciname2 = "Hxx0@0" ]; then + dgfxhdagfx=0 + + else + echo "$gdgfxname discrete graphics card $gdgfxvendorid$gdgfxdeviceid found on $gdgfxpciname1/$gdgfxpciname2" + +# verify GFX0 hfa-gfx injection + dgfxhdagfx1=$(ioreg -rxn $gdgfxpciname2 | grep -c "hda-gfx") + +# verify HDAU hda-gfx injection + dgfxhdagfx2=$(ioreg -rxn HDAU@0,1 | grep -c "hda-gfx") + + dgfxhdagfx=$(($dgfxhdagfx1 + $dgfxhdagfx2)) + +# debug + if [ $gDebug = 2 ]; then + echo "dgfxhdagfx1 = $dgfxhdagfx1" + echo "dgfxhdagfx2 = $dgfxhdagfx2" + dgfxhdagfx=$(($dgfxhdagfx1 + $dgfxhdagfx2)) + echo "dgfxhdagfx = $dgfxhdagfx" + fi + + fi + +# debug ## +# if [ $gDebug = 0 ]; then +# if [ $gDebug = 1 ]; then +# if [ $gDebug = 2 ]; then +# echo "" +# dgfxhdagfx=0 +# fi + +# dgfx hdmi audio enabled? + choice1=n + if [ $dgfxhdagfx = 2 ]; then # ssdt working + echo "$gdgfxname HDMI audio is enabled" + if [ $gdgfxname = "AMD" ]; then + echo "Frambuffer injection and connector patching may also be required" + echo "Note: AMD kext edits are not available with this script" + fi + echo "Script exits when another HDMI audio method is installed" + echo "Remove existing HDMI audio method, restart, run cloverHDMI" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 0 + else + Echo "$gdgfxname HDMI audio is not enabled" + while true + do + read -p "Install $gdgfxname HDMI audio ssdt (y/n): " choice1 + case "$choice1" in + [yY]* ) gssdtinstall=y; break;; + [nN]* ) echo "No system files were changed"; exit;; + * ) echo "Try again...";; + esac + done + fi + + if [ $gdgfxpciname1 = "pci-bridge@1" ]; then + +# debug + if [ $gDebug = 2 ]; then + echo "gdgfxpciname1 = $gdgfxpciname1" + echo + fi + gdgfxpciname1="PEGP@1" + fi + + if [ $gdgfxpciname1 = "pci-bridge@3" ]; then + +# debug + if [ $gDebug = 2 ]; then + echo "gdgfxpciname1 = $gdgfxpciname1" + echo + fi + gdgfxpciname1="PEGP@3" + fi + +# debug + if [ $gDebug = 2 ]; then + echo "gdgfxpciname1 = $gdgfxpciname1" + echo + fi + +# ssdt repo, folder, file + case $gdgfxname in + + AMD* ) + gdgfxrepo=amd-nvidia + gdgfxfolder=ssdt_hdmi-amd + gdgfxzip=ssdt_hdmi-amd-default- + gdgfxssdt=SSDT-HDMI-AMD- + ;; + + Nvidia* ) + gdgfxrepo=amd-nvidia + gdgfxfolder=ssdt_hdmi-nvidia + gdgfxzip=ssdt_hdmi-nvidia- + gdgfxssdt=SSDT-HDMI-NVIDIA- + ;; + + esac + + if [ ${gdgfxpciname1:0:4} = "PEGP" ];then + gdgfxpciname1=${gdgfxpciname1:0:6} + else + gdgfxpciname1=${gdgfxpciname1:0:4} + fi + + if [ $gdgfxpciname1 = "GFX1" ];then + gdgfxpciname1="GFX0" + echo "NOTE :GFX1 is not available, GFX0 installed" + echo "Before restarting. edt EFI/CLOVER/ACPI/patched/$gdgfxzip$gdgfxpciname1" + echo "MaciASL/Edit/Find: GFX0/Replace: GFX1/Compile/Save/Restart" + fi + +# debug + if [ $gDebug = 2 ]; then + echo "gdgfxrepo = $gdgfxrepo" + echo "gdgfxfolder = $gdgfxfolder" + echo "gdgfxzip = $gdgfxzip" + echo "gDownloadLink=https://raw.githubusercontent.com/toleda/audio_hdmi_$gdgfxrepo/master/$gdgfxfolder/$gdgfxzip$gdgfxpciname1.zip" + fi + +# download ssdt + echo "Download $gdgfxssdt$gdgfxpciname1 ..." + gDownloadLink="https://raw.githubusercontent.com/toleda/audio_hdmi_$gdgfxrepo/master/$gdgfxfolder/$gdgfxzip$gdgfxpciname1.zip" + +# debug + if [ $gDebug = 2 ]; then + echo "sudo curl -o /tmp/$gdgfxzip$gdgfxpciname1.zip $gDownloadLink" + echo + fi + + sudo curl -o "/tmp/$gdgfxzip$gdgfxpciname1.zip" $gDownloadLink + unzip -qu "/tmp/$gdgfxzip$gdgfxpciname1.zip" -d "/tmp/" + +# exit if error + if [ "$?" != "0" ]; then + echo "Error: Download failure, verify network". + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 + fi + +# install dgfx ssdt to EFI/CLOVER/ACPI/patched (cloverHDMI) + + case $gDebug in + + 0 ) + if [ -d "$gCloverDirectory/ACPI/patched/$gdgfxssdt$gdgfxpciname1.aml" ]; then + sudo rm -R "$gCloverDirectory/ACPI/patched/$gdgfxssdt$gdgfxpciname1.aml" + # echo "$gCloverDirectoryACPI/patched/$gdgfxssdt$gdgfxpciname1.aml deleted" + fi + sudo cp -R "/tmp/$gdgfxzip$gdgfxpciname1/$gdgfxssdt$gdgfxpciname1.aml" "$gCloverDirectory/ACPI/patched/$gdgfxssdt$gdgfxpciname1.aml" + echo "$gCloverDirectory/ACPI/patched/$gdgfxssdt$gdgfxpciname1.aml installed" + if [ $gdgfxpciname2 = "Hxx0@0" ]; then + cp -R /tmp/$gdgfxzip$gdgfxpciname1/'[Guide] macOS hdmi audio x99 ssdt.pdf' Desktop/'[Guide] macOS hdmi audio x99 ssdt' + fi + ;; + + 1|2 ) + sudo cp -R "/tmp/$gdgfxzip$gdgfxpciname1/$gdgfxssdt$gdgfxpciname1.aml" "Desktop/$gdgfxname-$gdgfxssdt$gdgfxpciname1.aml" + echo "$gdgfxname HDMI audio ssdt copied to Desktop" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + if [ $gdgfxpciname2 = "Hxx0@0" ]; then + cp -R /tmp/$gdgfxzip$gdgfxpciname1/'[Guide] macOS hdmi audio x99 ssdt.pdf' Desktop/'[Guide] macOS hdmi audio x99 ssdt' + fi + echo "No system files were changed" +# cleanup /tmp + sudo rm -R /tmp/$gdgfxzip$gdgfxpciname1.zip + sudo rm -R /tmp/$gdgfxzip$gdgfxpciname1 + # rm -R /tmp/config.plist + rm -R /tmp/__MACOSX + # rm -R /tmp/HDEF.txt + # rm -R /tmp/IGPU.txt + exit 0 + ;; + + esac + +# cleanup /tmp + sudo rm -R /tmp/$gdgfxzip$gdgfxpciname1.zip + sudo rm -R /tmp/$gdgfxzip$gdgfxpciname1 + sudo rm -R /tmp/__MACOSX + +fi # AMD/Nvidia HDMI audio +fi # AMD/Nvidia + +# exit if error +if [ "$?" != "0" ]; then + sudo rm -R "$gCloverDirectory/ACPI/patched/$gigfxssdt" + echo Error: ssdt install failure + echo "No system files were changed" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + exit 1 +fi + +case $gDebug in + 0 ) + echo "" + echo "Install finished, restart required." + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + ;; + + 1|2 ) + echo "" + echo "To install HDMI audio, set gDebug=0, save, run cloverHDMI" + echo "To save a Copy of this Terminal session: Terminal/Shell/Export Text As ..." + ;; + +esac + +exit 0