Contribute
Register

Fix NVIDIA Web Driver in macOS Sierra 10.12.6

Joined
Jan 27, 2012
Messages
4
Motherboard
Custom
CPU
Intel i7 3.4GHz
Graphics
Intel
Mac
Classic Mac
Mobile Phone
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:

tonymacx86

Administrator
Staff member
Joined
Nov 18, 2009
Messages
8,596
Motherboard
Z370N WIFI
CPU
Core i7 8700K
Graphics
Radeon RX Vega 56
Mac
MacBook Air
Classic Mac
Apple, PowerBook
Mobile Phone
iOS
Joined
Feb 28, 2014
Messages
16
Motherboard
ASUS Strix ROG B250H
CPU
i5-7600K
Graphics
GTX 1050 Ti
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
 
Joined
Jan 27, 2012
Messages
4
Motherboard
Custom
CPU
Intel i7 3.4GHz
Graphics
Intel
Mac
Classic Mac
Mobile Phone
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:
Joined
Feb 18, 2010
Messages
31
Motherboard
Gigabyte Z170X-GAMING 5 LGA 1151 Intel Z170 HDMI SATA 6GB/S USB 3.1 USB 3.0 ATX Intel Motherboard
CPU
i7-6700K - 4 GHz - Socket 1151
Graphics
MSI GeForce GTX 970 GAMING 5G
Mobile Phone
Android
Works 100% for me Thanks TechHero
 
Last edited:
Joined
Jun 22, 2017
Messages
6
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!
 
Joined
Aug 31, 2014
Messages
9
Motherboard
Gigabyte Z97MX-Gaming-5
CPU
i7-4790K
Graphics
EVGA GTX 970 SC
@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!
 
Joined
Oct 10, 2012
Messages
614
Motherboard
Wolfies BeQuiet
CPU
6700k + Gigabyte Z170X Designare
Graphics
EVGA 1080ti FTW3
Mac
iMac
@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?
 
Top