Now build 14D136 is the result of running the "Supplemental Update".
Probably OK if you stuck with the "Beta" version of Web Drivers from Nvidia.
But anyone who has:
GTX Titan Black
Has to plan for this update. The last "real" driver (346.01.02f01) looks for 14D131 so I can verify that it "breaks" it. Those comfortable modding things can make this super easy. Right now there isn't a new Nvidia Web Driver available, but we can be certain that one will be here in a day or two. Meanwhile, if you are comfortable doing a teeny, tiny bit of modding some driver files, it can be an easy transition.
First and foremost, you need to be in "kext dev mode". If you are running "Trim Enabler" then you probably already are. In any case, typing nvram -p in terminal will let you see your current boot args. If none are listed, you can just type sudo nvram boot-args="kext-dev-mode=1". If you are running a current boot arg in addition to needing this one, just add it inside the quotes. What this does is to allow kernel extensions (kexts) that haven't gotten the Golden Kiss Seal of Approval from Tim Cook to run in OS X Yosemite. The instant you change a SINGLE character in any existing kext it becomes "unclean" and won't load anymore.
You can verify that you did this correctly by typing the "nvram -p" again, you should see whatever you entered now be listed as a boot arg. Once you are certain it is correct, you can now fix the driver preemptively. What we are going to do is have the Nvidia Web Driver now believe that it was destined for the new improved "Supplemental Update" version of 10.10.3. It is important that you do this in the right order, especially if you have a non-EFI card as otherwise it will be "black screen/get another card installed to fix the driver" time.
So now that we are in dev mode, it is time to mod a kext. Go into System/Library/Extensions and drag "
NVDAStartup.kext" to your desktop. What this does is create a copy of it. Now create a folder, called "NVStartup Virgin" and put the kext inside. Now click on this folder and do a "Apple D" which will make a duplicate called "NVStartup Virgin copy". Rename the copy to be "NVStartup modded". Now you will need some form of plist editor, Textwrangler works, as does plistinator pro or plistedit pro, I think there might even be one from Apple.
The important thing is that you open the kext by right clicking on it and hitting "show package contents" and then double click on the "Contents" folder. You will see the Info.plist. Open the plist with whatever app you choose and then click on the "IOKitPersonalities" to expand it, the field you need to mod is the "NVDARequiredOS". You will be changing this from "14D131" to "14D136". See the image at top for clarification.
Now save the plist. I suggest you reopen it and verify that the change "took". When you are certain that it is correct, time to install it. You can use some form of kext installing app, or you can do it by hand. In any case, you should throw the original that is in S/L/E (System/Library/Extensions) in the trash, and then install your modded one.
Even if you use an official kext installer, I strongly suggest that you run a "repair permissions" anyway. The second you dragged the kext to your desktop they became "under your control" and therefore officially "unclean" by OS X standards. When you put them back in the Extensions folder, they still have your stink on them so you need to run that "repair permissions" to make the system load it again. You should see pieces of your modded kext getting "corrected" as the repair runs.
DO NOT REBOOT YET !!! If you do, the driver won't load and you will be borked.
Now it is time to run the update that prompted this wall of text. You can either use the App Store or download it directly.
10.10.3 Supplemental Update
Only AFTER that update has run should you restart your computer. If you like being super neat & tidy, run another Repair Permissions.
If you did everything correctly, all should seem normal. If you borked it somehow, you still have that unmolested copy of the original kext sitting in the "Virgin" folder on your desktop. Using it should fix any issues created by incorrectly modding the kext but won't fix the driver issue itself.
For what it is worth, this is probably exactly what Nvidia is going to do, except they have the magical "Kext Blessing Golden Seal of Approval" that will let the kext load without the dev mode being enabled.
I just did this and had no downtime, no issues, just a simple reboot and back to normal Titan-X running in 10.10.3.
Despite the giant wall of text describing this, it really only took me 2 minutes to do.
Here is the order you need to do this:
1. Boot into 10.10.3 (Build 14D131) with Nvidia Driver 346.01.02f01 running.
2. Get kext dev mode running, verify with "nvram -p"
3. Change the build that Web Driver looks for from 14D131 to 14D136
4. Repair Permissions (not just "verify" actually repair, this is CRUCIAL)
4. Run the supplemental update
5. Reboot, all should be well
When the official Nvidia Driver is released we will describe how to install it painlessly.
Please let me know in comments if there is anything I could explain better or make clearer.
4/17/15 UPDATE: OK, so late last night Nvidia posted the official driver for 14D136. I downloaded it from the link on our Nvidia Drivers page and was able to run it on top of this fix I posted yesterday. Please note that I was NOT able to use the Nvidia Driver Control Panel to do this, no doubt because the hack made it think it was current. But by using the direct download I was able to update it easily. People who enabled kext dev mode just to run the hack would be able to go back to normal mode if they would like.
4/17/2015 03:28:58 am
I made the mistake of doing this Supplemental Update so now my dual GTX Titans are useless. I tried upgrading to 10.10.4 but same result...the only way I'm using my Mac Pro right is through VNC on my iPad. Is there a way of updating this procedure for those on 10.10.4?
4/17/2015 08:20:34 am
Regular Titans should be fine, only Titan-X and Titan Black should have trouble. You may as well try same trick, may or may not work. Find your OS build number and place that in the location mentioned.
4/18/2015 05:29:00 am
But how can I do this procedure if it requires a system that hasn't been borked already?
4/18/2015 05:35:44 am
access from another OS install or use single user mode, we will be adding a blog entry about single user mode and disabling nvidia drivers in the future
4/18/2015 05:41:05 am
Cool. Please post this soon :-)
4/27/2015 01:59:00 pm
If my system is already borked, can I just Share Screen into my borked system, put into dev mode, update the list as specified, copy modified version back into Extensions, then run Repair Permissions and reboot?
4/28/2015 03:16:13 am
I can confirm that my idea worked! With the minor exception that I used Kext Wizard to install NVDAStartup.kext back to where it belongs and then repaired permissions AND rebuilt kext cache.
Leave a Reply.