barijaona Posted September 23, 2016 Share Posted September 23, 2016 I tried the fakesmc kext you posted earlier today and I added my my board-id to the info.plist and it's working on sierra. I use clover kext injection for fakesmc. which kind of board-id are you using ? Link to comment Share on other sites More sharing options...
frankiee Posted September 23, 2016 Author Share Posted September 23, 2016 Have you tried using the SSDT patch? Works perfect with 10.11 at least Link to comment Share on other sites More sharing options...
kjp4756 Posted September 23, 2016 Share Posted September 23, 2016 which kind of board-id are you using ? Mac-F2238BAE which should match imac11,3 which is what I'm using for my SMBIOS config. UPDATE: So I just deleted a kext from /System/Library/Extensions then rebooted and I was back to getting the dreaded black screen. I'm assuming the values entered in to fakesmc were never being used and I was in fact using an old kext cache with the modified AGDP. I can't remember if I regenerated the kext cache after restoring the original AGPD. I edited AGPD directly and now I'm back to functioning graphics. Link to comment Share on other sites More sharing options...
pit256 Posted October 12, 2016 Share Posted October 12, 2016 (edited) Basically : - reinstall Apple's version of AppleGraphicsControl.kext and AppleGraphicsDevicePolicy.kext - just to be sure, repair permissions : sudo /usr/libexec/repair_packages --verify --standard-pkgs --volume / - mount the EFI partition, locate FakeSMC.kext into it - add informations to its Info.plist, as this commit does It doesn't work for me on 10.11.6... I have 2 monitors, one connected via DVI DP and the other via HDMI. Edited October 12, 2016 by pit256 Link to comment Share on other sites More sharing options...
stehor Posted October 13, 2016 Share Posted October 13, 2016 ive added agdp fix in fakesmc if anyone wants to test it. config2 gfx1 changed to none. FakeSMC.kext.zip 1 Link to comment Share on other sites More sharing options...
FredWst Posted December 2, 2016 Share Posted December 2, 2016 Hi, Here are binary patch on the fly for clover, will not work during install process because AppleGraphicsDevicePolicy is not in kernelcache. kext check first if config = "none", this patch replace opcode jump equal to unconditional jump. El Capitan Search 85 C0 74 25 48 8B 03 48 8D 75 A0 Replace 85 C0 EB 25 48 8B 03 48 8D 75 A0 Sierra Search 85 C0 74 2C 49 8B 07 48 8D 75 A0 Replace 85 C0 EB 2C 49 8B 07 48 8D 75 A0 Fred 4 Link to comment Share on other sites More sharing options...
Denicio Posted December 2, 2016 Share Posted December 2, 2016 Hi, Here are binary patch on the fly for clover, will not work during install process because AppleGraphicsDevicePolicy is not in kernelcache. kext check first if config = "none", this patch replace opcode jump equal to unconditional jump. El Capitan Search 85 C0 74 25 48 8B 03 48 8D 75 A0 Replace 85 C0 EB 25 48 8B 03 48 8D 75 A0 Sierra Search 85 C0 74 2C 49 8B 07 48 8D 75 A0 Replace 85 C0 EB 2C 49 8B 07 48 8D 75 A0 Fred Will try this tonight, thanks! EDIT: Confirmed! The following works on Sierra 10.12.1. Thanks for your hard work. <dict> <key>Comment</key> <string>[FredWst] NVIDIA Black Screen fix / Sierra</string> <key>Disabled</key> <false/> <key>Find</key> <data> hcB0LEmLB0iNdaA= </data> <key>Name</key> <string>AppleGraphicsDevicePolicy</string> <key>Replace</key> <data> hcDrLEmLB0iNdaA= </data> </dict> 3 Link to comment Share on other sites More sharing options...
stehor Posted December 2, 2016 Share Posted December 2, 2016 why not patch in fakesmc seems cleaner to me like the sample Info.plist.zip 1 Link to comment Share on other sites More sharing options...
WinstonAce Posted December 2, 2016 Share Posted December 2, 2016 why not patch in fakesmc seems cleaner to me like the sample And this solution works during installation/recovery? Link to comment Share on other sites More sharing options...
stehor Posted December 2, 2016 Share Posted December 2, 2016 i do not have any nv cards to test so feel free to test or improve the edit the info.plist if needed. Link to comment Share on other sites More sharing options...
darthsian Posted December 2, 2016 Share Posted December 2, 2016 Will try this tonight, thanks! EDIT: Confirmed! The following works on Sierra 10.12.1. Thanks for your hard work. <dict> <key>Comment</key> <string>[FredWst] NVIDIA Black Screen fix / Sierra</string> <key>Disabled</key> <false/> <key>Find</key> <data> hcB0LEmLB0iNdaA= </data> <key>Name</key> <string>AppleGraphicsDevicePolicy</string> <key>Replace</key> <data> hcDrLEmLB0iNdaA= </data> </dict> Hi, is it working even when you rebuild kext cache? why not patch in fakesmc seems cleaner to me like the sample I try patching via fakesmc week later, but it never work for me. Link to comment Share on other sites More sharing options...
Denicio Posted December 2, 2016 Share Posted December 2, 2016 Hi, it it working even when you rebuild kext cache? I try patching via fakesmc week later, but it never work for me. Yes it does. I restored the original kext, cleaned kext caches, applied patch and reboot. All fine. Link to comment Share on other sites More sharing options...
FredWst Posted December 2, 2016 Share Posted December 2, 2016 Hi, is it working even when you rebuild kext cache? I try patching via fakesmc week later, but it never work for me. Works because clover patch kernelcache. Fred Link to comment Share on other sites More sharing options...
Denicio Posted December 2, 2016 Share Posted December 2, 2016 Works because clover patch kernelcache. Fred You can't think of a way to have this working on macOS Installer without nv_disable=1, right? That would be the holy grail. Link to comment Share on other sites More sharing options...
stehor Posted December 2, 2016 Share Posted December 2, 2016 inject vendor/device id aka vesa mode then no need for nv_disable=1 flag 1 Link to comment Share on other sites More sharing options...
FredWst Posted December 2, 2016 Share Posted December 2, 2016 You can't think of a way to have this working on macOS Installer without nv_disable=1, right? That would be the holy grail. Maybe you can try to Force AppleGraphicsDevicePolicy.kext to load, I'll try tomorrow. <key>ForceKextsToLoad</key> <array> <string>/System/Library/Extensions/AppleGraphicsControl.kext/Contents/Plugins/AppleGraphicsDevicePolicy.kext</string> </array> Fred Edit : it doesn't not work: recovery and install Link to comment Share on other sites More sharing options...
tasc Posted December 13, 2016 Share Posted December 13, 2016 Will try this tonight, thanks! EDIT: Confirmed! The following works on Sierra 10.12.1. Thanks for your hard work. <dict> <key>Comment</key> <string>[FredWst] NVIDIA Black Screen fix / Sierra</string> <key>Disabled</key> <false/> <key>Find</key> <data> hcB0LEmLB0iNdaA= </data> <key>Name</key> <string>AppleGraphicsDevicePolicy</string> <key>Replace</key> <data> hcDrLEmLB0iNdaA= </data> </dict> Thanks, this finally fixed the nvidia black screen issue without having to modify the Info.plist directly. I'm running with SIP enabled again 2 Link to comment Share on other sites More sharing options...
FredWst Posted December 15, 2016 Share Posted December 15, 2016 Hi, Here is the patch using AppleALC : AGPM-AppleALC-patchs.zip Best than clover because works in recover and boot mode. (Clover patch kernelcache, AppleALC on the fly looking at what is loading ...) Maybe you need to change Device or and vendor according to your hardware. Vit9696 told me to try with HDEF, it works for me. Fred Link to comment Share on other sites More sharing options...
Denicio Posted December 15, 2016 Share Posted December 15, 2016 Hi, Here is the patch using AppleALC : AGPM-AppleALC-patchs.zip Best than clover because works in recover and boot mode. (Clover patch kernelcache, AppleALC on the fly looking at what is loading ...) Maybe you need to change Device or and vendor according to your hardware. Vit9696 told me to try with HDEF, it works for me. Fred Fred, I am sure this is another great work of yours. Personally I don't know how to use this, is there an online guide, or care to explain a bit? Link to comment Share on other sites More sharing options...
FredWst Posted December 15, 2016 Share Posted December 15, 2016 Fred, I am sure this is another great work of yours. Personally I don't know how to use this, is there an online guide, or care to explain a bit? If you're using AppleALC for audio then replace with this one : https://www.dropbox.com/s/8ffa2ru20f4sjsh/AppleALC.kext.zip?dl=0 Fred Link to comment Share on other sites More sharing options...
pit256 Posted December 15, 2016 Share Posted December 15, 2016 Hi FredWst, Will it work with my Gigabyte GTX 970 or do I need to edit something in the kext ? Thanks. Link to comment Share on other sites More sharing options...
FredWst Posted December 15, 2016 Share Posted December 15, 2016 Hi, There is a little tweak you must do to make it works and you need to build. You need to replace HDEF device 0x8ca0 with your. AppleALC has not been done for this king of patch, so if you want it to work, you'll need to build with patch I provided and replace with your HDEF device id. Fred Link to comment Share on other sites More sharing options...
Denicio Posted December 15, 2016 Share Posted December 15, 2016 If you're using AppleALC for audio then replace with this one : https://www.dropbox.com/s/8ffa2ru20f4sjsh/AppleALC.kext.zip?dl=0 Fred I can't find your patches on any of the .plist files, am I missing something? Link to comment Share on other sites More sharing options...
vit9696 Posted December 15, 2016 Share Posted December 15, 2016 Even though AppleALC does have a generic kext patcher, it is not designed to be used with anything aside audio-specific patches for various reasons. The main intent is relatively simple: AppleALC is a kext used for audio stuff, it is not a generic replacement for a bootloader patcher feature. Each patch performed by AppleALC is not as fast as the one possibly made by a bootloader, and in recovery/installer it even increases the memory footprint. While in AppleHDA it is not so noticeable, if every kext is patched with AppleALC, it will sure be. If you badly need to perform hacky stuff with AppleALC… you could always do it by adding the patch to your audio codec/controller, so that it gets applied. After all I myself sometimes do it to test stuff. However, it is definitely not something I would encourage trying. If Clover cannot patch kexts outside of kextcache… it is just a Clover issue and for sure it is not a reason to rape AppleALC. 1 Link to comment Share on other sites More sharing options...
FredWst Posted December 15, 2016 Share Posted December 15, 2016 I can't find your patches on any of the .plist files, am I missing something? Fred Link to comment Share on other sites More sharing options...
Recommended Posts