MacBook – System kext not loading in Catalina

catalinakernel-extensionsmacbook pro

I finally figured out what the problem was for my other question, which was sadly closed even though it had a clear problem to solve. Briefly, the problem is that my dGPU 750M in my late 2013 15" MacBook Pro gets stuck in a high power state, pulling 17W at idle instead of 3W. I installed Catalina fresh on an external drive and that fixed my dGPU being stuck in a higher power state.

I compared the system kernel extensions loaded on the fresh Catalina install with those loaded on the problematic install and made a list of all the kexts that did not load in the problematic Catalina install. The problem is that the system is not loading these kexts from /system/library/extensions:

IOPlatformPluginFamily.kext/contents/plugins/x86platformplugin.kext
IOPlatformPluginFamily.kext/contents/plugins/ioplatformpluginlegacy.kext
IOPlatformPluginFamily.kext/contents/plugins/acpi_smc_platformplugin.kext
IOPlatformPluginFamily.kext/contents/plugins/x86platformshim.kext
applegraphicspowermanagement.kext
appleplatformenabler.kext

In fact my issue is fixed by simply just loading x86platformplugin.kext:

sudo kextload IOPlatformPluginFamily.kext/contents/plugins/x86platformplugin.kext

However it's probably best to load all of those that are present on a clean Catalina install and not present on my problematic install.

After loading x86platformplugin.kext manually, toggling on the 750M dGPU results in it being able to use its low power state, consuming just 3W at idle compared to 17W otherwise.

Why aren't these kexts loading on my problematic Catalina install? How do I get these kexts to load automatically after reboot?

Best Answer

If a simple terminal command is working for you, then you can create a logon script as an ugly hack and use it for a few months.

The next macOS will release in the fall so it might fix things for you.