Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

William_si

macrumors regular
Apr 4, 2016
188
55
Croatia
I have a GT 740 SC here which seems to be design wise 1:1 a 640 - i know the 640/630 are available with boot screen EFI; can i flash my 740 with a 640 ROM or similar? Clock downgrade fine as well.
 

SteveJobzniak

macrumors 6502
Original poster
Dec 24, 2015
489
780
@William_si Most cards require soldering in a bigger ROM chip to fit the EFI code. And even if you had the bigger chip, you don't have MacVidCards custom-written ROMs to flash on it... Which is why you cannot do this yourself.

Older graphics cards such as yours may have publicly available ROMs and may not need a chip upgrade. If so, the netkas forum would know since that is where the ROM flashing journey began.
 

redshift27

macrumors newbie
Jan 6, 2017
10
9
Someone needs to explain this to me like I am stupid. I am in the process of getting a non-EFIS GTX 970 for a Mac Pro 5.1.

The guide at the head of this thread is pre-Sierra, and I understand that Sierra broke this as boot-args can no longer be set without going into Recovery mode. However I have read that maybe the post-Sierra nVidia drivers now recognise the flag as set simply by "sudo nvram nvda_drv=1" but it is not clear to me whether "sudo nvram nv_disable=1" also works. Presumably "sudo nvram -d nv_disable" would clear this flag if necessary.

Can the guide be updated or a new post-Sierra sequence be written?
 

SteveJobzniak

macrumors 6502
Original poster
Dec 24, 2015
489
780
@redshift27 Unfortunately you are right:

Prepare your institution for iOS 10 and macOS Sierra

"To gather kernel core dumps, you must use the nvram command to properly set boot-args NVRAM variable. Starting with macOS Sierra, you must be booted to the recovery partition to run this command."

And running "sudo nvram -p" to list all variables, the list is very tiny now. Cannot even SEE the boot-args anymore!

This makes me wonder how the nVidia Web Driver works in Sierra. In the past, the nVidia installer added "nvda_drv=1" to the boot-args to tell its own driver to become active. Now? No idea...

But this seems like a huge problem. A totally graphics card-breaking problem...!

We must be able to add "nv_disable=1" to disable both the Apple nVidia driver AND the nVidia Web Driver. Otherwise, the computer gets stuck in a reboot loop after OS updates and never starts up, since the Apple driver cannot drive the card, and the nVidia driver cannot load since it is outdated and doesn't support the new OS update's kernel.

So this is either the end of PC graphics cards in Mac machines, or someone will find a workaround. Perhaps nVidia themselves will be so kind as to improve their driver somehow so that it works with all kernel versions. That would let an old driver run on the latest OS updates and would avoid this reboot loop problem.

Be aware: I have no Mac Pro anymore. I will not be investigating this issue. I'd love to help but there's no way I can test anything. So it's up to you all.

Well, guys, if you find a solution please post it here. I suggest investigating at http://forum.netkas.org, since they talk a lot about PC and EFI.

The worst-case solution will be to always put an old EFI graphics card into the machine every time you update the OS. It involves opening the box, unplugging power cables etc, so that would suck.

Another solution is to (very expensively) let MacVidCards flash the card with EFI.
 
Last edited:

redshift27

macrumors newbie
Jan 6, 2017
10
9
Well presumably we can still PHYSICALLY do an nv_disable just by yanking the card out and booting headless, using VNC to do the updates and then replugging the card, but is there a more elegant way?
 

SteveJobzniak

macrumors 6502
Original poster
Dec 24, 2015
489
780
@redshift27 Oh yeah, that doesn't sound so bad if it works! If I remember correctly, unplugging the card from its socket *should* make both drivers totally disable themselves and just boots the machine headless. From there you can do a software-rendered VNC remote login via the method I described.

That's a lot better than plugging in an old EFI card.

So here are the three workarounds I know about:

- Do an EFI flash. Expensive, but works and I think this lets the card boot in software rendering mode? Or maybe this still causes a reboot loop with the built-in Apple driver since the card is unsupported? Someone with a flashed card would have to let us know.
- Unplug the card from its socket and boot headless and use VNC to update the driver and then plug the card back in.
- Investigate how the new nVidia Web Driver activates itself now that it no longer has any "nvda_drv=1" write-access to the NVRAM. Possibly they moved the "enable our driver?" setting to a .plist somewhere now. But still, finding and disabling the nVidia driver wouldn't disable the Apple driver so it may be totally impossible to disable both drivers via software nowadays. In that case, unplugging the card and using VNC is the fastest way.

Seems unplugging may be the new "best way" to do things.
 

ActionableMango

macrumors G3
Sep 21, 2010
9,612
6,909
- Do an EFI flash. Expensive, but works and I think this lets the card boot in software rendering mode? Or maybe this still causes a reboot loop with the built-in Apple driver since the card is unsupported? Someone with a flashed card would have to let us know.

I have a flashed card. It basically goes like this:
  • Update OS X and reboot. Graphics are now sluggish and mouse lags.
  • Update Nvidia web drivers and reboot.
In older versions of OS X, I had to do the "nv_disable" thing or I'd be stuck in a reboot loop. I don't have to do this any more--now there is no flag needed and there is no reboot loop.

I don't know when exactly this changed, but roughly speaking I don't have to do it in current versions of Yosemite and El Capitan. If I go back to Mavericks I have to do the flag or there is a reboot loop.
 
Last edited:
  • Like
Reactions: Synchro3

lenni_hh

macrumors newbie
May 19, 2016
10
3
Hamburg
I'm experiencing a very strange problem.

I finally updated my MacPro (5.1) from El Capitan to Sierra.
After rebooting my screen stayed black. That's what I expected. I connected my iPad and startetd "Duet"...nothing.
Okay, usually after upgrading to a new OS you get this grey screen where you have ro confirm your Apple-ID etc. so I guess my
Mac-app of "Duet" wasn't loaded yet.

I closed down my MacPro, took the boot-disk and connected it to my MacBook Pro.
I booted my MacBook from this disk and now I could finish the installation of Sierra, install
the NVIDIA web driver and Cuda. After that I shut down the MacBook, took my disk and put it back into
the Mac Pro. I booted but the screen stayed dark.
I connected my iPad and started Duet. And now my iPad stayed dark, too. All I could see was the Menu bar
but not my desktop. I somehow managed to open the system preferences and klicked on "Monitor".

Then I saw the problem: there were 2 (!!) Monitors listed. The real one (with correct name and number) and an
"integrated" one and my GPU tried to run both.

I thought resetting the NVRAM might solve the problem but it didn't. Whatever I tried it didn't help.

So at the moment I'm running my MacPro with it's original GPU (ATI Radeon HD 5770 1024 MB) to be able to work at all.
Bad for the eyes, because it's only running at 30Hz instead of 60.

Any idea what I could do to solve this????
 

Synchro3

macrumors 68000
Jan 12, 2014
1,987
850
I'm experiencing a very strange problem.

I finally updated my MacPro (5.1) from El Capitan to Sierra.
After rebooting my screen stayed black. That's what I expected. I connected my iPad and startetd "Duet"...nothing.
Okay, usually after upgrading to a new OS you get this grey screen where you have ro confirm your Apple-ID etc. so I guess my
Mac-app of "Duet" wasn't loaded yet.

I closed down my MacPro, took the boot-disk and connected it to my MacBook Pro.
I booted my MacBook from this disk and now I could finish the installation of Sierra, install
the NVIDIA web driver and Cuda. After that I shut down the MacBook, took my disk and put it back into
the Mac Pro. I booted but the screen stayed dark.
I connected my iPad and started Duet. And now my iPad stayed dark, too. All I could see was the Menu bar
but not my desktop. I somehow managed to open the system preferences and klicked on "Monitor".

Then I saw the problem: there were 2 (!!) Monitors listed. The real one (with correct name and number) and an
"integrated" one and my GPU tried to run both.

I thought resetting the NVRAM might solve the problem but it didn't. Whatever I tried it didn't help.

So at the moment I'm running my MacPro with it's original GPU (ATI Radeon HD 5770 1024 MB) to be able to work at all.
Bad for the eyes, because it's only running at 30Hz instead of 60.

Any idea what I could do to solve this????

Maybe the second nonexistent monitor is the 'Duet'-device. Try deinstalling Duet on the Mac Pro.
 

lenni_hh

macrumors newbie
May 19, 2016
10
3
Hamburg
Maybe the second nonexistent monitor is the 'Duet'-device. Try deinstalling Duet on the Mac Pro.
Interesting point! But wouldn't that mean, that the "integrated monitor" always appears in the system preferences when I connect my iPad and start the app? I checked that: as long as I have my Radeon GPU installed there's no second monitor. I also checked with my MacBook: same thing, no second monitor in th system preferences.

But I just realized that my MacBook calls it's monitor an "integrated monitor". Was it a mistake to finish the installation of Sierra with my MacBook? Does the system "think" that my MacBook's monitor is still available??
 

Psychilles

macrumors newbie
Dec 24, 2016
16
5
The Netherlands
Ok. Just to clarify.

If I put back my stock graphics card, boot into recovery mode and then run the sudo command, I will be able to use my Nvidia card again?
 

aaronraimist

macrumors newbie
Feb 9, 2017
26
8
When I try to run the sudo command in recovery mode I get a Command not found error.

Just run the command excluding the "sudo" at the beginning. The sudo command just allows you to run commands that you wouldn't be able to run on a normal user account. When you are in recovery mode, the user account you are using has the permissions to run the nvram command so you can leave off "sudo".
 

aedigitaltv

macrumors newbie
Dec 23, 2013
20
4
Trying to figure out a good step by step for doing these GTX980ti (Not MVC flashed) upgrades remotely. I made the mistake of not running sudo nvram boot- args="nv_disable=1" command in terminal before running the El Capitan update. Got the system updated, but stuck at a log in screen loop that won't allow me to log in after the update. Had to have the remote user swap out the GTX980ti for an older Mac approved GPU and run the Nvidia web driver update. That 5,1 MP is now up and running with latest drivers.

I created a test system 5,1 MP that was on Yosemite 10.10.5 with latest GTX980ti Web drivers that I can remote into through ARD. Went through the 8 steps listed in the "How to update to a new version of OS X / a new security update: Ran the terminal command sudo nvram boot- args="nv_disable=1" and then started the El Capitan upgrade. Let the OS update itself and did not reboot. All went well, but I'm again stuck at the log in screen after the upgrade. Besides swapping out to a GT120 and running the new Nvidia driver update for El Capitan, are there other steps I should have followed?

Another user was telling me to make sure SIP was disabled before doing the OS upgrade. (csrutil disable) Didn't see that in the 8 steps, so didn't run it in terminal prior to upgrading the OS. Should I have done this upgrade in single user mode? Appreciate any pointers as I have a couple systems that need to be updated remotely and trying to avoid the step of manual GPU swapping.
 

b.lam

macrumors member
Sep 5, 2010
60
27
Well, I do the updates a little bit differently on my 5,1 without the need for switching graphic cards. I have a standard PC GTX 960 installed, but always keep the old 5870 in a drawer near my desk for emergency situations ;)

Usually, I keep the GTX 960 installed while doing upgrades, but I have screen sharing activated and (!) I have a MacBook available that can connect to my 5,1.

When a new macOS version appears, I do the following:
  1. I wait until Nvidia provides updated WebDriver version for the respective release.
  2. When the drivers are available, I check if screen sharing with my MBP still works (just to be sure ;) and keep it running.
  3. I start the installation of the new macOS version. At some point in time, the installation routine will reboot my 5,1.
  4. At this point the MBP screen sharing session will disconnect, but it tries to reconnect. As soon as the OS has booted, even if the gfx driver failed to load and the screen of my 5,1 stays black, macOS starts a 'virtual' gfx driver. This is the situation when my MBP can then connect again and display the (virtual) screen of my 5,1 via screen sharing.
  5. I can watch the installation to finish, enter my passwort, iCloud credentials, etc. Everything necessary to finish the installation.
  6. When the installation has finished and the old Nvidia driver detects a new driver, it asks me to install and reboot (everything via screen sharing).
  7. Upon the next reboot, after installing the new driver, my 5,1 works again.
Some things to remember:
  • You need a second Mac (or something else) to connect to your Mac via screen sharing/VNC.
  • In order to boot into Windows, I use Bootchamp. However, this requires to disable SIP (System Integrity Protection) in the system recovery. In order to disable SIP, I had to plug in my old 5870 to get into the recovery. If you are uncomfortable disabling SIP, don't do it! This is just my way of handling it and no general recommendation, as disabling SIP has (negative) consequences wrt security of your system!
  • My boot disk is encrypted using FileVault. It was not necessary to disable it.
  • I never had a situation in which it was necessary edit the nvram.
  • In case I was not able to connect via screen sharing to my 5,1 after some time during the installation process (30 minutes), I shut down the system (until now it had always survived this), plug in my 5870 and check what's going on. But that has not happened in the last 2 years.
 
Last edited:

aedigitaltv

macrumors newbie
Dec 23, 2013
20
4
Well, I do the updates a little bit differently on my 5,1 without the need for switching graphic cards. I have a standard PC GTX 960 installed, but always keep the old 5870 in a drawer near my desk for emergency situations ;)

Usually, I keep the GTX 960 installed while doing upgrades, but I have screen sharing activated and (!) I have a MacBook available that can connect to my 5,1.

When a new macOS version appears, I do the following:
  1. I wait until Nvidia provides updated WebDriver version for the respective release.
  2. When the drivers are available, I check if screen sharing with my MBP still works (just to be sure ;) and keep it running.
  3. I start the installation of the new macOS version. At some point in time, the installation routine will reboot my 5,1.
  4. At this point the MBP screen sharing session will disconnect, but it tries to reconnect. As soon as the OS has booted, even if the gfx driver failed to load and the screen of my 5,1 stays black, macOS starts a 'virtual' gfx driver. This is the situation when my MBP can then connect again and display the (virtual) screen of my 5,1 via screen sharing.
  5. I can watch the installation to finish, enter my passwort, iCloud credentials, etc. Everything necessary to finish the installation.
  6. When the installation has finished and the old Nvidia driver detects a new driver, it asks me to install and reboot (everything via screen sharing).
  7. Upon the next reboot, after installing the new driver, my 5,1 works again.
Some things to remember:
  • You need a second Mac (or something else) to connect to your Mac via screen sharing/VNC.
  • In order to boot into Windows, I use Bootchamp. However, this requires to disable SIP (System Integrity Protection) in the system recovery. In order to disable SIP, I had to plug in my old 5870 to get into the recovery. If you are uncomfortable disabling SIP, don't do it! This is just my way of handling it and no general recommendation, as disabling SIP has (negative) consequences wrt security of your system!
  • My boot disk is encrypted using FileVault. It was not necessary to disable it.
  • I never had a situation in which it was necessary edit the nvram.
  • In case I was not able to connect via screen sharing to my 5,1 after some time during the installation process (30 minutes), I shut down the system (until now it had always survived this), plug in my 5870 and check what's going on. But that has not happened in the last 2 years.

Thanks for the detailed list. I'm currently following most of your steps. Whenever apple releases a security update I now wait till Nvidia actually releases a new driver so I don't run into the black screen issue. Made that mistake once and thankfully have a back up to restore to pretty quickly.

I'm using Apple Remote Desktop to manage some of these older 5,1's, and able to remote in when it's time for an apple software update (like the security updates that hose the Nvidia drivers). I let the software update run, reboot and remote in. Run the Nvidia driver update and it pulls down the new driver, installs and reboot. Screens come back and back to work normally.

When it's a full OS upgrade (Yosemite to El Capitan), that is where I'm hitting the wall after the screens go black cause of the driver mismatch, and get into a log in loop. I can see the software update completed when removing in, but can't get past the log in loop. Because the Nvidia drivers are tied to a specific build number, I can't preinstall the new package so it won't fail on reboot. Also, with a GPU card that has not been flashed, I can't see the recovery boot options or use a USB OS installer to boot into so I can disable SIP. I can run the sudo nvram boot- args="nv_disable=1" command to make it load the generic driver after the software update, but SIP might be interfering as it has not been disabled. How does one disable SIP with a non flashed GPU if you can't get to the recovery partition to disable it? Probably means swapping the GPU out to a Mac approved card, but that defeats the purpose of not having to shutdown and swap out the cards during a upgrade.

Learning a lot about this and the frustrations it can cause when trying to make a quick update happen with a non flashed GPU. Probably wouldn't even be talking about this if Apple released new hardware and we didn't have to keep these old 5,1's in play. Appreciate your help! I'll post back if I find out any work arounds.
 

SteveJobzniak

macrumors 6502
Original poster
Dec 24, 2015
489
780
Question: Does anyone know the correct initial-installation and update process for nVidia PC cards as of High Sierra (10.13)?
 

h9826790

macrumors P6
Apr 3, 2014
16,653
8,577
Hong Kong
Question: Does anyone know the correct initial-installation and update process for nVidia PC cards as of High Sierra (10.13)?

AFAIK, it can't be done (assuming you were talking about native installation for 5,1, but not via patch)

Reason:
Initial installation of High Sierra require firmware flashing, and this process cannot be completed with a PC Nvidia card.
 

SteveJobzniak

macrumors 6502
Original poster
Dec 24, 2015
489
780
AFAIK, it can't be done (assuming you were talking about native installation for 5,1, but not via patch)

Reason:
Initial installation of High Sierra require firmware flashing, and this process cannot be completed with a PC Nvidia card.

Sorry for the misunderstanding, I was not clear enough. Yeah I know the OS install itself must be done via a EFI card. But it's good that we mention that here in the thread for those who didn't know: The OS install must do a firmware flashing and it can only be done via an EFI graphics card.

But I meant the nVidia Web GPU drivers. I have a fully flashed 4.1->5.1 machine with latest High Sierra firmware and 10.13.4 and the stock Apple graphics card. How do I do the initial install of a normal PC card from this point (install drivers, then swap?)? And how do I do OS updates (can I keep the card installed and use screen sharing or do I get a reboot loop? etc)? I assume the process has changed a lot in recent years due to problems from the new SIP (not allowing NVRAM flashing with the "nvda_disabled=1" flag anymore) in Sierra and higher.
 

h9826790

macrumors P6
Apr 3, 2014
16,653
8,577
Hong Kong
Sorry for the misunderstanding, I was not clear enough. Yeah I know the OS install itself must be done via a EFI card. But it's good that we mention that here in the thread for those who didn't know: The OS install must do a firmware flashing and it can only be done via an EFI graphics card.

But I meant the nVidia Web GPU drivers. I have a fully flashed 4.1->5.1 machine with latest High Sierra firmware and 10.13.4 and the stock Apple graphics card. How do I do the initial install of a normal PC card from this point (install drivers, then swap?)? And how do I do OS updates (can I keep the card installed and use screen sharing or do I get a reboot loop? etc)? I assume the process has changed a lot in recent years due to problems from the new SIP (not allowing NVRAM flashing with the "nvda_disabled=1" flag anymore) in Sierra and higher.

Ah, I see. Sorry for my poor English.

In that case, it's easy.

For initial installation.

1) Download and install Nvidia web driver. Be careful each OS build number has it's own web driver version. If in doubt, go to check the sticky thread. But if you download the wrong driver. It won't install anyway, nothing will hurt.

2) After web driver install, restart, and check if web driver is selected from the menu bar icon.
Screen Shot 2018-04-24 at 22.35.31.png


3) shut down

4) swap in the Nvidia graphic card

5) boot the computer. It should work like any other non flashed card now, the screen will be displayed once driver is loaded.


For OS update, there are few methods. My personal one

1) Download the web driver which corresponding to the OS that you are going to install
2) Rename the newly downloaded driver to NV.pkg
3) Open Terminal
4) Enter "pkgutil --expand ~/Downloads/NV.pkg ~/Downloads/WebDriver"
5) There will be a folder called "WebDriver" inside your "Downloads" folder now
6) Inside that folder, there will be a file call "Distribution"
7) Open this file with TextEdit
8) Search the corresponding OS build number (the build number for the OS going to install)
9) Replace it with your current OS built number
10) Save the file
11) Back to terminal
12) Enter "pkgutil --flatten ~/Downloads/WebDriver ~/Downloads/WebDriver-fixed.pkg"
13) Enter "sudo softwareupdate -I --all --verbose"
14) Wait, until terminal shows "You have installed one or more updates that requires that you restart your
computer. Please restart immediately." DO NOT RESTART!!!
15) Go back to "Downloads" folder, double click "WebDriver-fixed.pkg"
16) Let it install, "allow" it if required (or let it continue if there is any pop up). DO NOT LET IT RESTART!!!
17) You should see there are 2 Nvidia logo on the menu bar
18) One of them should be selectable, and shows that you are with the web driver.
19) Select Apple driver, and then select web driver again (in other words, recycle it).
20) In terminal, enter "sudo nvram nvda_drv=1" (to back up the web driver selection)
21) Now you can let the web driver installer to restart your Mac
OS update.jpg


After these steps, the Mac will install the OS updates after restart, the "black screen time" will longer than normal boot. Even with SSD, it can be something between 5-15 min (depends on the OS update). From memory, the longest one I've seen so far is 12 min, and usually well within 10 min.

Once update finished, it will continue to boot to desktop, and the graphic card should work normally.


If you don't mind to use screen sharing. Then you can do the following.

1) Make sure Remote Desktop is ready, test it.
2) download the corresponding web driver
3) install OS update in the normal way
4) after restart, nothing will display, but you can remote login and install the web driver. (I am not very familiar with this part since I never really use this method. But I believe, if you use the MacOS native desktop sharing, you can actually remote login to your own profile. If you use some VNC software e.g. Chrome Remote Desktop. then you need to first login to your own profile, otherwise, the required VNC software server won't load. To achieve this, you may need to type your password blindly if no auto login. Therefore, I highly recommend you set the Mac auto login to your own admin profile, at least during this update process)
5) just follow the on screen instruction and let it restart at the end

This is actually way simpler than my personal method. But I personally prefer only use remote control as backup method. I want the Mac able to display on every single start up. There should be no more boot loop even when the OS driver is selected (I tried PRAM reset, which will fall back to Apple driver, no boot loop).

In any case, a cMP users should have a Mac EFI card ready. This can be extremely helpful if get lost, or the procedure actually stuck at somewhere but can't display the error message without Mac EFI.
 
  • Like
Reactions: owbp

SteveJobzniak

macrumors 6502
Original poster
Dec 24, 2015
489
780

Oh my god, thank you so much for the detailed instructions! This really helps me and everyone else who sees this.

I really like the idea about doing a quick package edit to let it install the new driver before rebooting. Very smart idea. :)
 

Tharayman

macrumors member
Feb 4, 2018
32
2
Nice, easy to follow guide!
Made my 3,1 startup with a 1070 in it for the first time ever :)
But unfortunately no picture! Tried via DVI to HDMI adapter and direct HDMI.
Any development in how to make pascal cards work with Sierra?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.