The black screen issue is known within the iMac world for a longer time with NVIDIA cards. You can solve this by patching in your board-id into the AppleGraphicsControl.kext using this ...assuming you know how to make root writable and rebuild the kernel..I'm using OC to force the install through, but I have a late 2012 retina MBP - this is just before the Big Sur support cutoff, and with an updated Wi-Fi card Big Sur can run on it completely unpatched.
Code:
cd /Systems/Library/Extensions
MYBOARD=`/usr/sbin/ioreg -l | grep board-id | awk -F\" '{ print $4 }' | grep Mac`
/usr/libexec/PlistBuddy -c 'Add :IOKitPersonalities:AppleGraphicsDevicePolicy:ConfigMap:$MYBOARD string none' AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/Info.plist
chmod -R 0:0 AppleGraphicsControl.kext
chown -R 755 AppleGraphicsControl.kext
Of course you have to apply the usual kmutil commands, the best thing is to use the scripts @Barry K. Nathan provided to change the system.
It would be possible to add this in general into the micropatcher, i.e. check for Nvidia GPU and do the patch. This change does not really hurt if no NVIDIA card will be used, I guess.
To achieve this I need a list of available NVIDIA GPUs in 2012-2013 iMacs/Macbooks, just post back the result of this line:
Code:
/usr/sbin/system_profiler SPDisplaysDataType | fgrep "Device ID" | awk '{print $3}'
Last edited: