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
For some reason my GPU (Sapphire HD-7950 Vapor-X OC boost) fan has started acting strangely. I can hear it increasing/decreasing while in the past it's been more steadily at the same speed, and only increasing if there's been a noticeable change of load (i.e. graphic intense software etc.).
Opening up the Mac Pro's side-door I can see that only one fan is spinning (which I understand is normal, until it's getting very hot and the 2nd fan starts spinning).

What could be causing this? It's quite irritating to hear the fan noise all the time.
 
For some reason my GPU (Sapphire HD-7950 Vapor-X OC boost) fan has started acting strangely. I can hear it increasing/decreasing while in the past it's been more steadily at the same speed, and only increasing if there's been a noticeable change of load (i.e. graphic intense software etc.).
Opening up the Mac Pro's side-door I can see that only one fan is spinning (which I understand is normal, until it's getting very hot and the 2nd fan starts spinning).

What could be causing this? It's quite irritating to hear the fan noise all the time.
For power saving, 7950's driver is very aggressive to reduce the GPU and VRAM clock speed. Which makes it act like the following

e.g. When you using a browser

1) GPU 300MHz, VRAM 150MHz when you are reading something stationary on the screen.

2) GPU 950MHz, VRAM 1250MHz when you scroll down a bit

3) GPU 300MHz, VRAM 150MHz few seconds after you stop scrolling

In this case, the GPU fan may spin up only during step 2 (depends on the fan profile), and spin down again in step 3. Which cause the fan noise keep changing.

This usually happen on a single monitor system. Because for multi monitors system, the VRAM always stay at 1250MHz, and the GPU clock can never drop to 300MHz.

If you are running single monitor, and the monitor has another input, you may simply connect the same monitor to the 7950 again, and set the output as mirroring. In this case, the clock speed will be forced to stay at lowest 501/1250, but not 300/150. So that the GPU will always run warming, and the fan always stay at higher speed.

Of course, this is not an ideal solution, because the GPU run warmer, and burn more energy for the same performance.

If you want to fix it in a more sophisticated way, you may dump the 7950's ROM, manually tune the fan profile(e.g. make all fans spinning at a little bit higher RPM even idle). Then flash the card with the modded ROM. Most likely the fan noise can also become more consistent, and less annoying.
 
  • Like
Reactions: benmuetsch
If you want to fix it in a more sophisticated way, you may dump the 7950's ROM, manually tune the fan profile(e.g. make all fans spinning at a little bit higher RPM even idle). Then flash the card with the modded ROM. Most likely the fan noise can also become more consistent, and less annoying.

I agree -a more stable and consistent fan noise will be better than it speeding up and down all the time (drives me crazy!).
The reason I haven't noticed it before may be because it's summer and warmer in the air, unlike in winter.

Your suggestion sounds good. I'm sorry for asking again (I believe we may have discussed this earlier, but I can't remember in which thread), but which software should I use for editing the fan's profile before reflashing the card?
(as far as I remember, ATIFlash (in Windows) is the software to use for the actual flashing).
 
I agree -a more stable and consistent fan noise will be better than it speeding up and down all the time (drives me crazy!).
The reason I haven't noticed it before may be because it's summer and warmer in the air, unlike in winter.

Your suggestion sounds good. I'm sorry for asking again (I believe we may have discussed this earlier, but I can't remember in which thread), but which software should I use for editing the fan's profile before reflashing the card?
(as far as I remember, ATIFlash (in Windows) is the software to use for the actual flashing).
AITWinFlash (Windows) can dump / flash the ROM.

VBE7 (Windows) can edit the ROM.

N.B. VBE7 can only handle VBIOS, but not EFI. Therefore, if your ROM has Mac EFI (boot screen), it will be disabled, and you have to run the netkas script to re-enable the boot screen.

So, for Mac EFI 7950 ROM. The procedure is

1) Boot to Windows to dump the ROM
2) Backup the ROM (at least two independent copies)
3) Mod the ROM with VBE7, save it as new ROM
4) Boot back to macOS, run Netkas script to re-enable Mac EFI
5) Boot to Windows, flash the Mac EFI edited ROM to the card

If the card has dual ROM, please make sure you only flash one ROM, and leave the other one untouched. That's your safety net.
 
AITWinFlash (Windows) can dump / flash the ROM.

VBE7 (Windows) can edit the ROM.

N.B. VBE7 can only handle VBIOS, but not EFI. Therefore, if your ROM has Mac EFI (boot screen), it will be disabled, and you have to run the netkas script to re-enable the boot screen.

Ah! Thanks for pointing this out.
Yes -I have a Mac boot screen added to mine. It's been a while, but I've taken notes of how to run that script again (and fixing the issues I came across as well).


So, for Mac EFI 7950 ROM. The procedure is

1) Boot to Windows to dump the ROM
2) Backup the ROM (at least two independent copies)
3) Mod the ROM with VBE7, save it as new ROM
4) Boot back to macOS, run Netkas script to re-enable Mac EFI
5) Boot to Windows, flash the Mac EFI edited ROM to the card

Thanks for the clear instructions 👍
Will I be able to check if the new fan settings work as intended while I'm in Windows?
(since this is a firmware modification I'm assuming it's OS independant)
Or is the fan's problematic behaviour something which is only noticeable within MacOS (10.14 Mojave)?

About the VBE7 fan profile editing: it looks a little confusing as to what I should change it to. Naturally I don't want to risk the GPU overheating, but I also want to reduce noise.



If the card has dual ROM, please make sure you only flash one ROM, and leave the other one untouched. That's your safety net.

Yes it's got dual ROMs!
 
Will I be able to check if the new fan settings work as intended while I'm in Windows?
(since this is a firmware modification I'm assuming it's OS independant)
Or is the fan's problematic behaviour something which is only noticeable within MacOS (10.14 Mojave)?
Technically you can see the same behaviour in Windows, as you said, it's firmware level mod.

However, AMD provide a very sophisticated driver in Windows. And most likely the AMD driver you installed has it's own fan profile which can override the firmware level fan profile. Therefore, the test result in Windows may not be that accurate. Also, the power management in Windows / macOS area also different. Therefore, you better test the final result in Mojave.

About the VBE7 fan profile editing: it looks a little confusing as to what I should change it to. Naturally I don't want to risk the GPU overheating, but I also want to reduce noise.
It's hard to tell what's the acceptable noise level to you.

My suggestion is that in Windows, either use AMD software or install Afterburner, slowly increase the fan speed manually. Find out the max fan speed (in %) that you are comfortable with the associated noise (e.g. 35%).

Then in VBE7, set the fan profile to maintain that speed (e.g. 35%) between 0°C - 65°C. Then let the fan speed increase linearly to 100% at 85°C. In this case, your GPU fan should be steady at 35% whenever you are doing desktop stuff. And only will increase when you really stress the GPU. Besides, the fan will give you full protection once the GPU temperature reach 85°C (roughly the highest stable temperature).

On the other hand, you may also use VBE7 to lower the GPU voltage to reduce its temperature.

For standard HD7950, the clock speed is 800MHz, with voltage 1.094V. Your aftermarket 7950 has even higher clock speed and voltage. I owned few HD7950 before. The best one only need 0.888V to run at 800MHz. The worst one still only need 0.925V to run at 800MHz stably

If you don't really need that extra performance at 950MHz. You may also set max clock speed to 800MHz, and max voltage at 0.956V (a very conservative voltage). This will allow your card run at a noticeably lower temperature / fan speed.

A typical Vapor-X OC boost may draw up to 1.25V, which is 30% more power than 0.956V. Just lower than clock speed from 950 to 800, and set a lower voltage, can easily make the card draw 30% less power, and release 30% less heat.

In fact, you may also try this 800MHz @0.956V settings in Windows. And only use that if your card can run it stably (e.g. 15min Unigine Heaven loop. OCCT stress test is the best for stability test, but may be a bit too extreme).

Anyway, I may be going too far. I really like the 7950, the ROM is highly modifiable, a lot of fun to playing it around.
 
I like your suggestion of underpowering the GPU card.
For the time being I use the computer mostly for "normal" stuff like web-browsing, email etc. which I'm pretty sure a fancy GPU isn't needed.
On the other hand I do use the computer for graphic stuff as well, but don't know how much this demands of a GPU. Simple photo editing and organizing in Lightroom, photo and image editing in Affinity Photo. I also plan to do some simple video editing, but haven't gotten round to that yet.
I have a feeling that for the above use I'm not fully utilizing what my GPU has to offer.

In fact, you may also try this 800MHz @0.956V settings in Windows. And only use that if your card can run it stably (e.g. 15min Unigine Heaven loop. OCCT stress test is the best for stability test, but may be a bit too extreme).

I understand software like this is more for testing how much performance you can push out of a GPU card.
Activity Monitor is nice, but unfortunately I didn't see anything there for the GPU (except select a "GPU history" window).
Screenshot 2024-07-14 at 20.06.47.png

It doesn't look very helpful as there are no numbers showing that I can use for when modiying the GPU BIOS in Windows.
It would be nice to measure just how much I'm using of the GPU. Is there some sort of GPU monitoring software like that available (for MacOS)?
 
I like your suggestion of underpowering the GPU card.
For the time being I use the computer mostly for "normal" stuff like web-browsing, email etc. which I'm pretty sure a fancy GPU isn't needed.
On the other hand I do use the computer for graphic stuff as well, but don't know how much this demands of a GPU. Simple photo editing and organizing in Lightroom, photo and image editing in Affinity Photo. I also plan to do some simple video editing, but haven't gotten round to that yet.
I have a feeling that for the above use I'm not fully utilizing what my GPU has to offer.



I understand software like this is more for testing how much performance you can push out of a GPU card.
Activity Monitor is nice, but unfortunately I didn't see anything there for the GPU (except select a "GPU history" window).
View attachment 2397002
It doesn't look very helpful as there are no numbers showing that I can use for when modiying the GPU BIOS in Windows.
It would be nice to measure just how much I'm using of the GPU. Is there some sort of GPU monitoring software like that available (for MacOS)?
Most GPU parameters can't be monitored in macOS. Your best bet is OpenGL Driver Monitor, or try to capture something from IOReg.

Code:
ioreg -l |grep \"PerformanceStatistics\" | cut -d '{' -f 2 | tr '|' ',' | tr -d '}' | tr ',' '\n'|grep 'Temp\|Fan\|%\|\|Hz'
 
Excellent! This helps me a lot.
It appears that a fan speed of around 37% is normal, which I can hear quite well. But when it speed up to 38% or above it starts to get quite irritating.
Whenever I use Firefox the GPU fan speeds up, no matter what I do. I know there are some "Performance" settings I can change (turns off GPU support) and seems to help a little, but I'm sure spending some time analyzing this properly and reflashing the GPU BIOS will help much more. I've heard other HD 7950 users say how quiet this GPU card is, so there should be some hope in underpowering and changing the fan profile.
 
Excellent! This helps me a lot.
It appears that a fan speed of around 37% is normal, which I can hear quite well. But when it speed up to 38% or above it starts to get quite irritating.
Whenever I use Firefox the GPU fan speeds up, no matter what I do. I know there are some "Performance" settings I can change (turns off GPU support) and seems to help a little, but I'm sure spending some time analyzing this properly and reflashing the GPU BIOS will help much more. I've heard other HD 7950 users say how quiet this GPU card is, so there should be some hope in underpowering and changing the fan profile.
I never use the Vapor-X OC boost, but from my experience, I will start with the following parameters
Screenshot 2024-07-15 at 14.54.47.png


For the fan, if you want to keep the fan noise as stable as possible. But also want max protection. Then I will set the fan profile like this. 37°C to 75°C, 100% at 85°C, Temperature Hysteresis 3°C.
Screenshot 2024-07-15 at 14.57.27.png


If end up the fan is too aggressive at high temperature, then I will let the fan spin up at 65°C like this.
37% up to 65°C, 50% up to 75°C, and 80% up to 90°C. A smoother fan profile, with default factory protection (100% at 95°C).
Screenshot 2024-07-15 at 14.57.07.png


For the browser, better to keep it let GPU to do the job. Modern browser use GPU and VRAM a lot, that's absolutely normal. This can let the browser run faster and more power efficient.
 
I never use the Vapor-X OC boost, but from my experience, I will start with the following parameters
View attachment 2397117

For the fan, if you want to keep the fan noise as stable as possible. But also want max protection. Then I will set the fan profile like this. 37°C to 75°C, 100% at 85°C, Temperature Hysteresis 3°C.
View attachment 2397118

If end up the fan is too aggressive at high temperature, then I will let the fan spin up at 65°C like this.
37% up to 65°C, 50% up to 75°C, and 80% up to 90°C. A smoother fan profile, with default factory protection (100% at 95°C).
View attachment 2397121

For the browser, better to keep it let GPU to do the job. Modern browser use GPU and VRAM a lot, that's absolutely normal. This can let the browser run faster and more power efficient.
If you want to find out the max stable clock speed @0.956V. You can

1) Boot to Widnows
2) set 800MHz in Afterburner
3) set 0.956V in Afterburner
4) Run Unigine Heaven (Ultra preset, should be in window mode, but not full screen)
5) Slowly increase the clock speed in Afterburner (e.g. 5MHz per step)
6) wait for 10-15s for each step, if stable in Unigine Heaven, set higher clock speed
7) Until Ungine Heaven shows artifacts. Lower the clock speed by 10MHz.

Then this is your max stable clock speed.

If the computer just freeze / crash when you increase the clock speed. No worries, as long as you are doing small step, it shouldn't cause any real damage. Just copy down the number, minus 10MHz from there to find out the max stable speed. And then you can reboot the computer.
 
  • Like
Reactions: macstatic
Thanks for your clear instructions.
I will look into it as soon as I have some extra free time and let you know how it works.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.