Contribute
Register

Fix NVIDIA Web Driver in macOS Sierra 10.12.6

Status
Not open for further replies.
Joined
Jan 27, 2012
Messages
4
Motherboard
Custom
CPU
Intel i7 3.4GHz
Graphics
Intel
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
I just updated to 10.12.6 and noticed that the latest NVIDIA Web Driver (378.0505.15f01) no longer worked. Instead of waiting for NVIDIA to update their Beta drivers, I was able to resolve the issue using the following steps:

  1. Open Terminal
  2. Type 'sudo nano /System/Library/Extensions/NVDAStartupWeb.kext/Contents/info.plist'
  3. Enter your password (must be an Admin)
  4. Use the down arrow to scroll down until you see <key>NVDARequiredOS</key>
  5. Change the line below <key>NVDARequiredOS</key> from <string>16F73</string> to <string>16G29</string>
  6. Tap Ctrl-O (WriteOut) then tap Enter/Return to save the changes
  7. Tap Ctrl-X to exit
  8. Type:
    1. sudo chmod -R 755 /System/Library/Extensions
    2. sudo chown -R 0:0 /System/Library/Extensions
    3. sudo touch /System/Library/Extensions
    4. sudo kextcache -Boot -U /
  9. Reboot and enjoy your NVIDIA Pascal GPU in 10.12.6!
 
Last edited:
Hey. so I gave this a go, but the driver is still not active when I look under "About this Ma". Is there anything else I need to do before the driver can work in 10.12.6?

edit: I can select the driver and its selected, but it is not functional.


Wait for the official 10.12.6 drivers to come out
 
Was this working for you on 10.12.5 prior to upgrading to 10.12.6? If so, can you confirm you saved the changes (go back in and verify the change is applied and there are no typos) and run the commands afterwards, prior to rebooting?

Note that your config.plist file just have the Inject NVIDIA Web Drivers option enabled for this to work. I did this successfully using the steps i provided after upgrading to 10.12.6 from 10.12.5 using NVIDIA driver version 367.15.10.05f01
 
Last edited:
Works 100% for me Thanks TechHero
 
Last edited:
Was this working for you on 10.12.5 prior to upgrading to 10.12.6? If so, can you confirm you saved the changes (go back in and verify the change is applied and there are no typos) and run the commands afterwards, prior to rebooting?

Note that your config.plist file just have the Inject NVIDIA Web Drivers option enabled for this to work. I did this successfully using the steps i provided after upgrading to 10.12.6 from 10.12.5 using NVIDIA driver version 367.15.10.05f01

I actually just redid the steps and it works fine now - I must have just messed up somewhere along the way. Thanks for the help!
 
@TechHero Thanks for the info! Based on that, if anyone is interested in a one-liner that automatically scrapes the current Build version and replaces it in the NVIDIA .plist, here's what I came up with:

sudo /usr/libexec/PlistBuddy -c "set IOKitPersonalities:NVDAStartup:NVDARequiredOS $(system_profiler SPSoftwareDataType | grep 'System Version:' | awk -F '[()]' '{print $2}')" /System/Library/Extensions/NVDAStartupWeb.kext/Contents/info.plist

And, if you want to combine the commands for the permission fixes and kext loading, do:

sudo /usr/libexec/PlistBuddy -c "set IOKitPersonalities:NVDAStartup:NVDARequiredOS $(system_profiler SPSoftwareDataType | grep 'System Version:' | awk -F '[()]' '{print $2}')" /System/Library/Extensions/NVDAStartupWeb.kext/Contents/info.plist; sudo chmod -R 755 /System/Library/Extensions; sudo chown -R 0:0 /System/Library/Extensions; sudo touch /System/Library/Extensions; sudo kextcache -Boot -U /

This should work for future upgrades because it pulls the Build ID from System Profiler.

Thanks again to @TechHero for the original commands!
 
@TechHero Thanks for the info! Based on that, if anyone is interested in a one-liner that automatically scrapes the current Build version and replaces it in the NVIDIA .plist, here's what I came up with:

sudo /usr/libexec/PlistBuddy -c "set IOKitPersonalities:NVDAStartup:NVDARequiredOS $(system_profiler SPSoftwareDataType | grep 'System Version:' | awk -F '[()]' '{print $2}')" /System/Library/Extensions/NVDAStartupWeb.kext/Contents/info.plist

And, if you want to combine the commands for the permission fixes and kext loading, do:

sudo /usr/libexec/PlistBuddy -c "set IOKitPersonalities:NVDAStartup:NVDARequiredOS $(system_profiler SPSoftwareDataType | grep 'System Version:' | awk -F '[()]' '{print $2}')" /System/Library/Extensions/NVDAStartupWeb.kext/Contents/info.plist; sudo chmod -R 755 /System/Library/Extensions; sudo chown -R 0:0 /System/Library/Extensions; sudo touch /System/Library/Extensions; sudo kextcache -Boot -U /

This should work for future upgrades because it pulls the Build ID from System Profiler.

Thanks again to @TechHero for the original commands!

Thank you. Might toy around with this. Is there a way to 'undo' all of the automation and just go back to normal if need be?
 
Status
Not open for further replies.
Back
Top