1. The script only uninstalls previous drivers if NVIDIA Driver Manager.prefPane is present? As far as I know, webdriver.sh doesn't install it.
The fact webdriver.sh just copies files rather than properly installing them from a package is one of the things I find undesirable about webdriver.sh. As a result the files therefore aren't correctly registered with the OS as they should be, meaning it's not easy to work out what has been installed and delete them.
nvidia-update on the other hand uses the official packages, you can therefore get a list of all the installed files with the following commands:
pkgutil --files com.nvidia.web-driver
pkgutil --files com.nvidia.nvprefpane
If in theory webdriver.sh
were to install everything to correct locations, then the official packages (.pkg) used by nvidia-update (or installed manually) would simply overwrite everything webdriver.sh had previously installed, and it wouldn't really matter. However, as it turns out webdriver.sh does
not install everything to the correct location. Specifically it installs files to
/Library/GPUBundles, which is not somewhere recent official nVidia driver packages will try install themselves to (perhaps older packages did) . In my experience files left in this directory are responsible for the boot issues people run into when trying to install official driver packages after having previously installed drivers with webdriver.sh.
To account for this situation nvidia-update specifically manually deletes these incorrectly installed files in
/Library/GPUBundles, irrespective of whether the NVIDIA Driver Manager uninstaller can be found.
2. Would you consider making a script for uninstalling CUDA? There is no official way of removing CUDA.
No, I have no plans to. However, nVidia already distribute an official uninstaller (perl) script for CUDA:
http://docs.nvidia.com/cuda/cuda-installation-guide-mac-os-x/index.html#uninstall