- May 28, 2012
- Gygabyte AORUS ULTRA
- GTX 680
- Mobile Phone
Great work! I first installed the nVidia Web Driver 3126.96.36.199.25.156 and i couldn't select 144hz refresh rate because that selection caused UI freeze. With this script now I am able to run my 144Hz G Sync monitor flawlessly with my GTX 1070.Given the recent issues with official nVidia web driver releases (namely 3188.8.131.52.25.156 and 3184.108.40.206.25.157), I decided to put together a dead simple one-stop solution for updating to the latest reliable nVidia web drivers.
It's called nvidia-update and hopefully makes life easier for you guys.
The script is open-source (MIT licensed) and pull requests are welcome.
It does the following:
The script has a fair few smarts to it, but is implemented more robustly/carefully than some of the alternatives out there. For example, instead of manually copying files to hard-coded paths, all installation and uninstallation takes place by running nVidia's package (.pkg) files; which install to the correct location and properly clean-up after themselves.
- Checks for official driver updates for your version of macOS.
- Cross-references against a list of blacklisted drivers, that it'll avoid installing (by default).
- Properly uninstalls old drivers.
- Downloads and installs the latest non-blacklisted drivers.
- On-the-fly patches driver packages so they can be installed on your version of macOS (if necessary).
- Patches drivers that you've already installed, if they no longer match your macOS version i.e. post macOS update.
Simply paste the following line in a terminal:
bash <(curl -s https://raw.githubusercontent.com/Benjamin-Dobell/nvidia-update/master/nvidia-update.sh)
You can of course download/save the script to your computer if you prefer to, doing so gives you access to a couple of advanced options, but for normal use they're not required.
Clover / Boot Configuration
The script doesn't mess with any boot behaviour on your system, and Clover setup is left up to you. You'll likely want the following kernel extensions installed in your EFI Clover kext directory:
- NvidiaGraphicsFixup - https://sourceforge.net/projects/nvidiagraphicsfixup
- Lilu - https://github.com/vit9696/Lilu
- Shiki - https://github.com/vit9696/Shiki
Downloading driver blacklist... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 140 100 140 0 0 611 0 --:--:-- --:--:-- --:--:-- 614 Downloading driver list... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (60) SSL certificate problem: self signed certificate More details here: https://curl.haxx.se/docs/sslcerts.html curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option. If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL). If you'd like to turn off curl's verification of the certificate, use the -k (or --insecure) option. HTTPS-proxy has similar options --proxy-cacert and --proxy-insecure.