Improving heat management after macbookpro 2011 discrete GPU fix, also a script to automate part of the fix process
Taken from StackExchange
Thanks to LangLangC
sudo mkdir -p /Library/LoginHook
sudo nano /Library/LoginHook/LoadX3000.sh
#!/bin/bash
kextload /System/Library/Extensions-off/AMDRadeonX3000.kext
pmset -a force gpuswitch 0 # undocumented/experimental
exit 0
Use
ctrl + o
to save andctrl + x
exit
sudo chmod a+x /Library/LoginHook/LoadX3000.sh
sudo defaults write com.apple.loginwindow LoginHook /Library/LoginHook/LoadX3000.sh
kextstat | grep AMD
... com.apple.kext.AMDLegacySupport (1.5.1) ...
... com.apple.kext.AMD6000Controller (1.5.1) ...
... com.apple.kext.AMDSupport (1.5.1) ...
... com.apple.kext.AMDLegacyFramebuffer (1.5.1) ...
And this
... com.apple.AMDRadeonX3000 (1.5.1) ...
should also appear on the list
Command + r + s
nvram boot-args="-v agc=0"
reboot
sudo nano /force-iGPU-boot.sh
#/bin/sh
sudo nvram boot-args="-v"
sudo nvram fa4ce28d-b62f-4c99-9cc3-6815686e30f9:gpu-power-prefs=%01%00%00%00
exit 0
sudo chmod a+x /force-iGPU-boot.sh
sh /force-iGPU-boot.sh
To answer your questions simply. Yes you can spoof the identifier and have your cake. It would take looking at what kernel extensions power the 15 and 17 models as well as what the 13 inch uses specifically. There was also a i7 variant of the 13 which gets things closer. Regarding fans, i forget what kexts are used in the 13 inch model, but a quick hop over to insanelymac to ask would get us there. It's a case of mixing and matching a few things.
Hardware wise I would want to null the use of the chip permanently. But that's my personal choice. By having a switch (as some have done) I could reverse the step, and later invest in some of the hardware solutions that have been employed to use the backlight whilst ignoring the requests to engage the ATI chip (however, once again, using opencore could null some of this potentially by spoofing the system identifier and changing values of kernel extensions while keeping the operating system untouched).
I am sure opencore could be used to prevent nvram writes as a interim step. You could do this over all the things I mentioned previously and keep the identifier the same. But I am not 100% sure here, as the way the Mac Operating system handles nvram was discussed before - other operating systems do not get the same privileges. I could see the UEFI being replaced in the future by Coreboot and opencore being used to allow egpu for those intent on using these machines into BigSur for example (or any metal O.S) like some of the Mac Pros. (hence me wanting to make a physical switch for the capacitor that also sadly handles TB1 power).
Just ideas.