Reactivating Nvidia Drivers After a MacOS Update
Nvidia drivers are automatically disabled after each MacOS update and they can’t be reactivated manually through the settings until Nvidia provides an update of their own. So if your monitors are connected to your GPU, the graphical performance is terrible. You can find many workarounds to this online, but most of them are complicated and require running untrusted code on your machine. I found a simple solution which lets you reactivate the drivers until Nvidia provides an official update.
The Fix
When Apple released the security update 2019-004 and re-released the same update a week later, I noticed that the Nvidia drivers do not deactivate based on the update version. Instead, the drivers check whether the OS build number has changed.
I started fiddling around and searching for a .plist within the driver directory which could contain the build number, and after some tumbling around, I found it. To get the drivers working, all I needed to do was change the build number to the one of the latest MacOS update.
How To
The steps are simple. All you need is to find the current build number of your OS and change it to the Info.plist in the driver directory. Here’s how to do that:
Step 1: Go to the Apple menu and click on About This Mac
Step 2: Open System Report
Step 3: Select Software from the sidebar
Step 4: In the System Software Overview look for System Version
Step 5: Copy the build number in the parenthesis after the OS version number, e.g. 19D76
Step 6: Open the Info.plist for Nvidia drivers
sudo vim /Library/Extensions/NVDAStartupWeb.kext/Contents/Info.plist
Step 7: Look for “NVDARequiredOS” key
Step 8: Change the string to the build number you copied from System Report
<key>NVDARequiredOS</key>
<string>19D76</string>
Step 9: Save the file and clear kext caches
sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches
Step 10: Reboot the computer. The drivers should automatically activate upon signing back in!