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

macstatic

macrumors 68020
Original poster
Oct 21, 2005
2,025
165
Norway
Recently, I've noticed that the screen of my mid-2010 Mac Pro (MacOS 10.13 High Sierra) sometimes goes completely black (no signal) after rebooting.
I should pay more attention to when it happens, but I believe it mostly happens after having installed new software that needs rebooting.
The computer obviously restarts as it should (I can hear the drives making their usual noise) but the usual gray background and progress-bar doesn't come up while booting into MacOS, and obviously not after it's ready either.

The first times it happened I simply forced power off (holding the physical power on/off button in for several seconds until the Mac powers off), wait a few seconds, then press it again to power it on again. After that the usual screen comes up and everything seems OK.
More recently I got the idea that I should unplug the cable from the graphic card (ATI Radeon HD 5870), then replug it. The Mac desktop reappears every time I do this!

Any idea what can be causing this and what I can do about it? Are there any graphic card drivers that I can reinstall?
 
Last edited:
Recently, I've noticed that the screen of my mid-2010 Mac Pro (MacOS 10.13 High Sierra) sometimes goes completely black (no signal) after rebooting.
I should pay more attention to when it happens, but I believe it mostly happens after having installed new software that needs rebooting.
The computer obviously restarts as it should (I can hear the drives making their usual noise) but the usual gray background and progress-bar doesn't come up while booting into MacOS, and obviously not after it's ready either.
If the  grey screen doesn't appear after a restart, you have a hardware problem, not a software one.
The first times it happened I simply forced power off (holding the physical power on/off button in for several seconds until the Mac powers off), wait a few seconds, then press it again to power it on again. After that the usual screen comes up and everything seems OK.
More recently I got the idea that I should unplug the cable from the graphic card (ATI Radeon HD 5870), then replug it. The Mac desktop reappears every time I do this!

Any idea what can be causing this and what I can do about it?
Hardware, do the usual hardware diagnostics, like checking the RTC battery, reset SMC/NVRAM, run AHT/ASD.
Are there any graphic card drivers that I can reinstall?
No, GPU drivers for this GPU are native to macOS.
 
Thanks for your comments. I'll be sure to take note of what happened before it happens next time.
All is fine now though.

Hardware, do the usual hardware diagnostics, like checking the RTC battery, reset SMC/NVRAM, run AHT/ASD.
Good idea.
Reset the PRAM (CMD-ALT-P-R while booting) so I can do that now.
Reset the SMC: I haven't done this before so I looked it up, and it appears there's a button on the Mac Pro next to one of the PCIe slots labelled appropriately "SMC". So I must have done it incorrectly in the past (shut down, pull out the power cord, wait 10-15 seconds, re-insert power cord, power on with the power switch).
Check real time clock (RTC) battery: apart from opening up the computer and removing the battery in order to check it with a multimeter, is there a simpler way to check it?
AHT/ASD: I have no idea what this is. Please explain.
 
Thanks for your comments. I'll be sure to take note of what happened before it happens next time.
All is fine now though.


Good idea.
Reset the PRAM (CMD-ALT-P-R while booting) so I can do that now.
Reset the SMC: I haven't done this before so I looked it up, and it appears there's a button on the Mac Pro next to one of the PCIe slots labelled appropriately "SMC". So I must have done it incorrectly in the past (shut down, pull out the power cord, wait 10-15 seconds, re-insert power cord, power on with the power switch).
Check real time clock (RTC) battery: apart from opening up the computer and removing the battery in order to check it with a multimeter, is there a simpler way to check it?
AHT/ASD: I have no idea what this is. Please explain.
No, the button near the RTC battery is a RTC NVRAM reset, to reset RTC related variables, like time since boot, wake-up time and others.

The BR2032 RTC battery needs to be replaced whenever is below 3.00V and you need a voltmeter/multimeter to check the voltage.

AHT is Apple Hardware Test, ASD is Apple Service Diagnostics. There are threads about both.
 
Thanks. I'm still struggling with this and have no idea why it's happening and when.
I'm now in the process of replacing the old GPU card (HD-5870) with a "Metal compatible" card (Sapphire HD-7950 Vapor X 3gb) but it happens there as well. I'm suspecting the DVI cable although I can't make the screen go black again when moving the cable around, after I have the display working).

I sometimes have to reboot several times and reset the PRAM at least two times, but again I don't know if this helps or the display appears because of those things or if it's at random.
I haven't been able to start the Apple Hardware Test/Apple Service Diagnostics. From what I've found out you hold down D while booting to access this, but it doesn't work here. Then again I'm struggling with the HD-7950 as I apparently haven't had success in Mac-EFI boot flashing it, so I'm not getting the boot-screen and can't tell if I something should be selected first.
 
I sometimes have to reboot several times and reset the PRAM at least two times, but again I don't know if this helps or the display appears because of those things or if it's at random.

This is a classic sign of BootROM corruption…

From what I've found out you hold down D while booting to access this, but it doesn't work here.

You can only press D to boot Apple Hardware Diagnostics if your Mac Pro still have the factory installed macOS image. To run AHT follow the instructions from the link below:


For someone else reading this, if you have an early-2009 cross-flashed to mid-2010 firmware, you need to run mid-2010 AHT.
 
Thanks for the download link. Should be useful to have for now and later.
This is a classic sign of BootROM corruption…

I was worried about something like that.
The big question is how this could have happened and if it can be fixed?

I haven't gotten that far yet in my upgrade project, but when I've made a fresh installation of MacOS 10.13 (High Sierra), and (while my "Metal compatible" HD-7950 card is placed inside my mid-2010 cMP 5,1) when I upgrade to MacOS 10.14 (Mojave) I understand from earlier threads (including your BootROM upgrade instructions thread) that the bootROM is also upgraded (from MP51.0089.B00 which I have now, to 144.0.0.0.0) in the upgrade process.
Will this fix the problem of a possibly corrupted BootROM?
 
Thanks for the download link. Should be useful to have for now and later.


I was worried about something like that.
The big question is how this could have happened and if it can be fixed?

I haven't gotten that far yet in my upgrade project, but when I've made a fresh installation of MacOS 10.13 (High Sierra), and (while my "Metal compatible" HD-7950 card is placed inside my mid-2010 cMP 5,1) when I upgrade to MacOS 10.14 (Mojave) I understand from earlier threads (including your BootROM upgrade instructions thread) that the bootROM is also upgraded (from MP51.0089.B00 which I have now, to 144.0.0.0.0) in the upgrade process.
Will this fix the problem of a possibly corrupted BootROM?
No, usually makes it worse, since the upgrade process requires a lot of space inside the NVRAM volume to stage it. I'll send you a PM.
 
Thanks tsialex! I will get back to you with a PM reply probably next week.

Regarding my Sapphire HD-7950 Vapor-X: I've followed the instructions in one of those other threads and flashed it in Windows (so I can get a Mac bootscreen) and the flashing tool in Windows reported a success, but yet I'm not getting any Mac bootscreen. Can this possibly be because of my partly corrupt cMP BootROM?

At this stage, I assume I should just put aside trying to reflash the GPU as well as upgrade/install MacOS 10.14 Mojave, as this might just make things worse?

When I do succeed booting into MacOS (10.13.6) with my cMP, is it OK to use it, as this won't cause any more problems? I usually leave it in sleep mode overnight, also so I don't need to go through the failed boot processes again and again.
 
Thanks tsialex! I will get back to you with a PM reply probably next week.

Regarding my Sapphire HD-7950 Vapor-X: I've followed the instructions in one of those other threads and flashed it in Windows (so I can get a Mac bootscreen) and the flashing tool in Windows reported a success, but yet I'm not getting any Mac bootscreen. Can this possibly be because of my partly corrupt cMP BootROM?

At this stage, I assume I should just put aside trying to reflash the GPU as well as upgrade/install MacOS 10.14 Mojave, as this might just make things worse?

When I do succeed booting into MacOS (10.13.6) with my cMP, is it OK to use it, as this won't cause any more problems? I usually leave it in sleep mode overnight, also so I don't need to go through the failed boot processes again and again.
Did you make the Mac EFI VROM by yourself? You should made that base on your dumped original VBIOS.
 
Thanks tsialex! I will get back to you with a PM reply probably next week.

Regarding my Sapphire HD-7950 Vapor-X: I've followed the instructions in one of those other threads and flashed it in Windows (so I can get a Mac bootscreen) and the flashing tool in Windows reported a success, but yet I'm not getting any Mac bootscreen. Can this possibly be because of my partly corrupt cMP BootROM?

At this stage, I assume I should just put aside trying to reflash the GPU as well as upgrade/install MacOS 10.14 Mojave, as this might just make things worse?

When I do succeed booting into MacOS (10.13.6) with my cMP, is it OK to use it, as this won't cause any more problems? I usually leave it in sleep mode overnight, also so I don't need to go through the failed boot processes again and again.

I'm not understanding why you are thinking that you are gonna solve your current issues with flashing a newer GPU, this doesn't make any sense - you are making even worse to diagnose it.

Stop what you are doing, install the AppleOEM GPU, remove everything else and run AHT, you should already have done that…
 
I'm not understanding why you are thinking that you are gonna solve your current issues with flashing a newer GPU, this doesn't make any sense - you are making even worse to diagnose it.

No, I didn't mean that it would solve my cMP "black screen" issue by this, but since all these Mac projects take a lot of time I thought I'd finish my "GPU reflashing project" whenever I have the time.


Did you make the Mac EFI VROM by yourself? You should made that base on your dumped original VBIOS.
Yes, I found the instructions a little confusing, but think I understood it after reading several instructional postings on the subject. Here's what I did (with the HD-7950 Vapor X GPU installed). Might be useful for others as well if it's correct:

Step A: Preparation
1) go to this posting where (in post #1) you can download the "Bundle.zip" file attachement
2) unzip "bundle.zip" and copy the resulting "Bundle" folder over to a Windows-compatible formatted USB-stick (you can use Disk Utility, choose "erase" the USB-stick with the format as "ExFAT" (USB-sticks bigger than 32 GB) or "FAT (MSDOS)" (USB-sticks 32 GB or smaller) and scheme as "Master Boot Record" before copying the folder over)

Step B: Dumping (saving) the original ROM content to disk (Windows)
3) Boot into the Windows startup drive (do not run it within a Virtual Machine such as Virtual Box)
4) Within Windows, run the ATIWinFlash app (found in the "Bundle" folder on the USB-stick) and take note of the "DeviceID" shown in the app. This will be the device ID of your specific GPU card
5) Press the "Save ROM" button and select a name for your ROM dump (i.e. "original_7950_vaporx")
6) Quit ATIWinFlash, then copy the above file (i.e. "original_7950_vaporx") to the USB-stick (put it inside the "Bundle" folder).

Step C: Patch original ROM with Mac EFI boot data (MacOS)
7) Restart the Mac, boot into MacOS
8) Insert the USB-stick, then copy the entire "Bundle" folder to somewhere on your Mac
9) Start the Terminal app
10) change the directory over to the "Bundle" folder (using the "cd" command)
11) type the following command (replace xxxxx with the device ID of your GPU card, found when running ATIWinFlash in Windows, for instance "9f837b" in the example below), and replace ROMdump_filename with the name you gave your ROMdump (i.e. "original_7950_vaporx" as in this example) NOTE: THE ABOVE ARE ONLY EXAMPLES!:

./makerom.sh --efifile=7950mac.efi --romfile=efiromheader.rom --devid=9f837b --originalrom=original_7950_vaporx

12) after pressing RETURN the patched file will be created. You'll find it inside the "Bundle" folder alongside your original ROM dump, but with "efi.rom" at the end.
In other words, in this example the newly patched file will be called "original_7950_vaporx.efi.rom"
13) Copy the patched file (i.e. "original_7950_vaporx.efi.rom") over to the USB-stick

Step D: Reflash (rewrite) the GPU card with the new ROM data (Windows)
14) Restart the Mac, boot into Windows
15) Within Windows, run the ATIWinFlash app (found in the "Bundle" folder on the USB-stick)
16) Press the "Load image" button, then select the newly patched file (i.e. "original_7950_vaporx.efi.rom") to flash (rewrite) the graphic card's formware
done!

Now reboot (or turn off, then on again) the computer into MacOS and the Mac EFI boot-screen should be available
(but in my case there's still no Mac EFI boot-screen). My guess is that the cMP bootROM corruption issue discussed here is the cause. I just hope I haven't damaged my 7950 GPU, but I don't think so as it appears to work fine in those instances I can boot my computer.


Stop what you are doing, install the AppleOEM GPU, remove everything else and run AHT, you should already have done that…

Yes, I've put the HD-7850 GPU card in, but haven't removed everything else, so I'll proceed by removing all drives (except the startup SSD -which is hard to remove anyway as it's in the 2nd optical drive bay. Also my USB-3 PCIe card I guess, and anything attached to the USB connectors except the keyboard/mouse).

I also haven't run AHT (Apple Hardware Test), so I'm going to prepare a USB-stick for that and give it a go.
 
Last edited:
Yes, I found the instructions a little confusing, but think I understood it after reading several instructional postings on the subject. Here's what I did (with the HD-7950 Vapor X GPU installed). Might be useful for others as well if it's correct:

Step A: Preparation
1) go to this posting where (in post #1) you can download the "Bundle.zip" file attachement
2) unzip "bundle.zip" and copy the resulting "Bundle" folder over to a Windows-compatible formatted USB-stick (you can use Disk Utility, choose "erase" the USB-stick with the format as "ExFAT" (USB-sticks bigger than 32 GB) or "FAT (MSDOS)" (USB-sticks 32 GB or smaller) and scheme as "Master Boot Record" before copying the folder over)

Step B: Dumping (saving) the original ROM content to disk (Windows)
3) Boot into the Windows startup drive (do not run it within a Virtual Machine such as Virtual Box)
4) Within Windows, run the ATIWinFlash app (found in the "Bundle" folder on the USB-stick) and take note of the "DeviceID" shown in the app. This will be the device ID of your specific GPU card
5) Press the "Save ROM" button and select a name for your ROM dump (i.e. "original_7950_vaporx")
6) Quit ATIWinFlash, then copy the above file (i.e. "original_7950_vaporx") to the USB-stick (put it inside the "Bundle" folder).

Step C: Patch original ROM with Mac EFI boot data (MacOS)
7) Restart the Mac, boot into MacOS
8) Insert the USB-stick, then copy the entire "Bundle" folder to somewhere on your Mac
9) Start the Terminal app
10) change the directory over to the "Bundle" folder (using the "cd" command)
11) type the following command (replace xxxxx with the device ID of your GPU card, found when running ATIWinFlash in Windows, for instance "9f837b" in the example below), and replace ROMdump_filename with the name you gave your ROMdump (i.e. "original_7950_vaporx" as in this example) NOTE: THE ABOVE ARE ONLY EXAMPLES!:

./makerom.sh --efifile=7950mac.efi --romfile=efiromheader.rom --devid=9f837b --originalrom=original_7950_vaporx

12) after pressing RETURN the patched file will be created. You'll find it inside the "Bundle" folder alongside your original ROM dump, but with "efi.rom" at the end.
In other words, in this example the newly patched file will be called "original_7950_vaporx.efi.rom"
13) Copy the patched file (i.e. "original_7950_vaporx.efi.rom") over to the USB-stick

Step D: Reflash (rewrite) the GPU card with the new ROM data (Windows)
14) Restart the Mac, boot into Windows
15) Within Windows, run the ATIWinFlash app (found in the "Bundle" folder on the USB-stick)
16) Press the "Load image" button, then select the newly patched file (i.e. "original_7950_vaporx.efi.rom") to flash (rewrite) the graphic card's formware
done!

Now reboot (or turn off, then on again) the computer into MacOS and the Mac EFI boot-screen should be available
(but in my case there's still no Mac EFI boot-screen). My guess is that the cMP bootROM corruption issue discussed here is the cause. I just hope I haven't damaged my 7950 GPU, but I don't think so as it appears to work fine in those instances I can boot my computer.
The steps seems correct to me. Of course, as you said, the numbers are only example. Therefore, I have no way to know if you use the correct device ID.

Besides, you better re-do it, and make a screen capture of the terminal window and post to here. Many many people ran that script, and haven't read the return. The EFI ROM file was created, but the terminal window actually told them there are errors during ROM creation.

One of the common error is that the USB drive / associated folder name has space included (e.g. "7950 ROM", but not "7950_ROM"). This will cause an error when running the script.
 
I'm quite sure I got the device ID right and double-checked it as well as took a photo of the ATIflash screen before, but will definitely try it again and can post a photo of the terminal window output.

But first: according to what I've been told in this thread (and from what you mentioned in another thread about installing Windows a specific way which causes BootROM corruption) it appears i'm suffering from a corrupt BootROM in my cMP. Or at least partly corrupt, because if I restart the computer many times (holding down CTRL-CMD-round power button is a practical way to reboot instead of forcing power off every time) it finally starts up.

So I'm wondering: if (possibly after several reboot attempts) the computer starts up normally and you're presented the MacOS Finder, does that mean the computer is fully functional? In other words: can the partly malfunctional BootROM cause other problems, even if it sometimes allows you to boot into MacOS, or is everything OK once I've booted successfully?

By the way: I installed Apple Hardware Test on a USB-stick, which I booted into and ran. It reported no errors, so that's good news in the midst of all this.
 
Last edited:
In other words: can the partly malfunctional BootROM cause other problems, even if it sometimes allows you to boot into MacOS, or is everything OK once I've booted successfully?

Yes, several variables stored inside the NVRAM VSS store directly control macOS, it's very common that when your VSS store is full or the circular log is corrupt, macOS behaves very weirdly, but sometimes the PEI firmware can make enough room inside the VSS store that everything works as expected, then macOS changes a stored variable/parameter and everything messes up again.

Anyway, usually it's more than just one thing going wrong when your Mac Pro starts to have boot ability problems. Also run ASD and check the RTC BR2032 battery with a voltmeter/multimeter - replace it whenever below 3.00V.
 
Thanks for explaining.
So since this is unreliable it's best to wait to reflash my 7950 GPU until I get the bootROM I guess.

I've been wondering why it's called a "BootROM" when it's rewriteable, but then it's actually non-volatile RAM which is possible to reprogram (reflash).
Do you have any idea why these kind of corruptions happen in the first place? I thought you had to use a special "reflash" app to be able to rewrite it, which I haven't used.

Yes, I checked the clock battery, and it was actually a little over 3V, but just to be on the safe side I changed it to a brand new one (also checked teh voltage first, and over 3V).
 
I've been wondering why it's called a "BootROM" when it's rewriteable, but then it's actually non-volatile RAM which is possible to reprogram (reflash).

Historical reasons, MaskedROM -> EPROM -> EEPROM -> NOR flash -> NAND.

Do you have any idea why these kind of corruptions happen in the first place? I thought you had to use a special "reflash" app to be able to rewrite it, which I haven't used.

Back in 2008 when MacPro4,1 platform was designed, Apple was improving the Mac Pro yearly and never intended a 14+ years life span. The NVRAM volume is not resilient enough for the modern usage of the VSS store - nor was intended to run all these years - and with pressure, it fails.

Starting with 2013 year model Macs, Apple implemented several mitigations like VSS store rotation and a store exclusive for MemoryConfigs, later with T-2 Macs the real NVRAM is inside and managed the the T-2 Security Processor.
 
Back in 2008 when MacPro4,1 platform was designed, Apple was improving the Mac Pro yearly and never intended a 14+ years life span. The NVRAM volume is not resilient enough for the modern usage of the VSS store - nor was intended to run all these years - and with pressure, it fails.

14 years and ongoing is quite a lifetime for a computer! I assume after a while the power supplies need recapping (replacing ageing and dried out capacitors) to make it last even longer.

So the corrupt BootROM isn't necessarily due to something stupid I've done myself (installed Windows (unknowingly) the incorrect way for instance), but it might just be ageing of the NVRAM chip?

Can these chips be physically replaced if reflashing them doesn't work?

I also looked up MATT card (as I've often seen it being mentioned in these discussions) and if I'm not mistaken it's a small PCB which plugs into an empty socket on the cMP motherboard and replaces the existing BootROM (NVRAM) chip, and I assume the idea is to use this instead of removing the motherboard to desoldering the existing BootROM chip and solder a new one back in (I'd personally use an IC socket if I was to desolder it, which is sometimes frustrating to do if you don't have professional tools for the job).
 
Last edited:
14 years and ongoing is quite a lifetime for a computer! I assume after a while the power supplies need recapping (replacing ageing and dried out capacitors) to make it last even longer.

So the corrupt BootROM isn't necessarily due to something stupid I've done myself (installed Windows (unknowingly) the incorrect way for instance), but it might just be ageing of the NVRAM chip?

Yes, you can greatly accelerate the failure letting Windows UEFI SecureBoot sign your BootROM.

Can these chips be physically replaced if reflashing them doesn't work?

Yes.

I also looked up MATT card (as I've often seen it being mentioned in these discussions) and if I'm not mistaken it's a small PCB which plugs into an empty socket on the cMP motherboard and replaces the existing BootROM (NVRAM) chip, and I assume the idea is to use this instead of removing the motherboard to desoldering the existing BootROM chip and solder a new one back in (I'd personally use an IC socket if I was to desolder it, which is sometimes frustrating to do if you don't have professional tools for the job).

Please read the first post of the BootROM thread and browse it, everything you can ask is there already.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.