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

cdf

macrumors 68020
Original poster
Jul 27, 2012
2,258
2,586
AirOut 3.png

Introduction

The racing fan bug is a well known issue that affects certain cMP systems with upgraded video cards, particularly systems with SMC version 1.39f5. On these systems the PCI, PS, and booster fans spin abnormally fast at idle, causing unnecessary noise. Although the issue appears to be related to PCI power draw and the SMC, the exact cause remains unknown. With many users upgrading their video cards for Metal support, the fan bug is undoubtedly claiming more and more victims.

A popular solution to this bug is to use fan control software. The advantage of this approach is that profiles can be created that not only calm the fans down but also keep systems with high-power components running cool. A popular option is Macs Fan Control.

Another solution is to restore the native fan control by stressing the GPU. This approach causes the fans to rev up for a few seconds and then calm down, returning to stock speeds. The fans stay calm through sleep cycles and reboots. Because it restores the native fan control and is quickly out of the way, some users prefer this approach. However, this approach lacks the automation of the first. Users must find appropriate software (a benchmarking app or a game) and run it for some time.

Proposed Solution

AirOut is a small Metal app compatible with macOS Mojave and later that stresses the GPU seamlessly in the background if it detects high fan speeds at login. The app immediately quits after issuing the stress test. It also offers a basic FP32 compute benchmark mode when launched manually.

The app uses notifications. The alert style can be set in System Preferences > Notifications.

To have the app start automatically at login go to System Preferences > Users & Groups > Login Items. There, add the app to the list of items.

Usage

The newest version of AirOut offers three basic parameters that users can tune: StressLevel, DelayAtLogin, and HideAtLogin.

AirOut automatically determines a base level of stress based on video memory. A percentage, greater than zero and possibly greater than 100, of that base level can be set with the integer parameter StressLevel. By default, StressLevel is 100. To change this parameter to 50, for example, enter the following in terminal:

defaults write com.cdf.AirOut StressLevel 50

As a login item, AirOut runs immediately, without delay. A delay in seconds can be set with the integer parameter DelayAtLogin. By default, the delay is 0. To add a 60 second delay, for example, enter the following in terminal:

defaults write com.cdf.AirOut DelayAtLogin 60

For a minimal experience, another parameter, HideAtLogin, hides any notifications when AirOut starts as a login item, leaving the notifications only for the benchmark mode. Of course, how the notifications appear for the whole application can be set in System Preferences. By default, HideAtLogin is NO. To set it to YES, enter the following in terminal:

defaults write com.cdf.AirOut HideAtLogin -bool YES

To reset all the parameters, simply enter this:

defaults delete com.cdf.AirOut

Tuning

The racing fan bug depends on the system and the video card. Both affect the required StressLevel and DelayAtLogin for the fans to be reset successfully. In normal circumstances, the default values should be enough. However, some trial and error may be required to find the proper values.

A good approach would be to first run AirOut manually on an idle system by simply double clicking the icon. This runs a benchmark, which will stress test the video card and hopefully reset the fans. If the fans are not reset, StressLevel can be increased beyond 100. Be conservative. Start with 110, 120, 130, and so on, until the fans are reset. If the default value already resets the fans, it is also possible to decrease StressLevel. Try 90, 80, 70, and so on. You want to stress the card, but not more than necessary. Note that during the couple of seconds of stress testing, the system may become a bit sluggish.

On login, the loading of other applications can affect how AirOut sees the system. This is where DelayAtLogin is useful. If, after determining a proper StressLevel and adding AirOut to the list of login items, the fans are not reset after login, try setting DelayAtLogin.

As a login item, AirOut will only work on a 5,1 Mac Pro (including, of course, a 4,1>5,1). However, it is also possible to run AirOut manually as a minimal Metal benchmark on other macOS systems. For example, on a 2016 MacBook (which definitely does not suffer from racing fans because it is fanless) AirOut measures a FP32 performance of around 220 GFLOPS, compared to around 3400 for an 8 GB RX 580 on a 5,1 Mac Pro.

Historical information

Pervious versions of AirOut only worked for the 8 GB RX 580. Version 1.0.1 introduced the DelayAtLogin parameter. AirOut 2 (1.2.0) included all the parameters mentioned in this post, except that the app identifier was com.airoutteam.AirOut. The newest version, which this post describes, is AirOut 3.
 

Attachments

  • AirOut 3.zip
    4.5 MB · Views: 168
Last edited:
Thanks cdf for providing this apps / fix.

For those who downloaded and tried this apps. Please report how it works. As long as there are 2-3 members confirm it can work. I will put this into the sticky thread Million thanks in advance.
 
My Mac Pro has always suffered from this issue. What I've done to fix it is run LuxMark benchmarking software on the GPU. If this new application doesn't work for some, for whatever reason, I recommend that they try LuxMark. I suppose they could set it to launch at boot-up.

I, however, am sick of having to run a benchmark to correct the fans—this new application is great news for me. Thank you!
 
  • Like
Reactions: foliovision
The racing fan bug is a well known issue that affects a certain percentage cMP systems with upgraded video cards. On these systems the PCI, PS, and booster fans spin abnormally fast at idle, causing unnecessary noise and vibration. Although the issue appears to be connected to PCI power draw and the SMC, the exact cause remains unknown. With many users upgrading their video card for Metal, this bug is undoubtedly claiming more and more victims.

A popular solution to this bug is to use fan control software. The advantage of this approach is that profiles can be created that not only calm the fans down but also keep systems with high-power components running cool.

Another solution is to restore the native fan control by stressing the GPU. This approach causes the fans to rev up for a few seconds and then calm down to stock speeds (staying calm through sleep cycles and reboots). Because it restores the native fan control and is quickly out of the way, some users prefer this approach. However, this approach lacks the automation of the first. Users must find appropriate software (a benchmarking app or a game) and run it for some time.

Introducing AirOut: a simple fan-triggered GPU stressor.

View attachment 789947

AirOut is a small Metal app that stresses the GPU seamlessly in the background if it detects high fan speeds. The app immediately quits after issuing the stress test. It also offers a forced mode, which stresses the GPU regardless of fan speed. To enter this mode, simply start the app while holding down Command.

The app uses notifications. The alert style can be set in System Preferences > Notifications. (With banners, user interaction is possible by hovering the mouse pointer over the notification.)

To have the app run on startup go to System Preferences > Users & Groups > Login Items. There, add the app to the list of items.

System requirements: AirOut runs an intensive computation (about 2 gigabytes worth of a matrix multiplication). It requires at least 2 GB of RAM. Because the racing fan bug varies depending on the video card (which seems to affect the amount of stress required to reset the native fan control), AirOut will currently only run on the popular 8 GB RX 580 video card. AirOut will also only run a Mac Pro 5,1 (including, of course, a 4,1>5,1).

Warning: AirOut is still considered experimental. Even if these requirements are met, it is not guaranteed that the native fan control with be restored (or even that your system will not explode :eek:). Please comment on how the app works for you here!
I don’t have this issue but really nice work and a great gift to the community. Thank you very much @cdf
 
AirOut is a small Metal app that stresses the GPU seamlessly in the background if it detects high fan speeds. The app immediately quits after issuing the stress test.

Thanks for pointing me to this little app. It works well on my 4.1>5.1 with the RX580. However, when I put it in my "login items" it doesn't work as expected. Rather, it does work (the notification "high speed fan detected" pops up while my other login items are loading), and then quits. The problem is it seems to quit too early in the boot/loading process. My PCI fan still ends up idling ~2000. Then if I manually open the app, it again shows "high speed fan detected" and correctly restores native fan control.

Is it working ok for you in your login items? Maybe put a delay of a minute or two on the stress computation. I have no idea what's happening under the hood during the boot, but it seems like the fan control needs a little more time to "settle in" to a high-fan state.

I like the idea of this app because I'd rather not run a fan control app in the background and let the system to the work.
 
Thanks for pointing me to this little app. It works well on my 4.1>5.1 with the RX580. However, when I put it in my "login items" it doesn't work as expected. Rather, it does work (the notification "high speed fan detected" pops up while my other login items are loading), and then quits. The problem is it seems to quit too early in the boot/loading process. My PCI fan still ends up idling ~2000. Then if I manually open the app, it again shows "high speed fan detected" and correctly restores native fan control.

Is it working ok for you in your login items? Maybe put a delay of a minute or two on the stress computation. I have no idea what's happening under the hood during the boot, but it seems like the fan control needs a little more time to "settle in" to a high-fan state.

I like the idea of this app because I'd rather not run a fan control app in the background and let the system to the work.

Thanks for the feedback. In may case, AirOut works great as a login item. However, I must admit that when I designed the app, I found that it required a 1 second delay and a particular amount of stress.

I will try to update the app; I just have a few questions, if you don’t mind:

1) When the app starts automatically on login, can you tell that it's stressing the card? Do you hear the fans rev up?

2) If you quickly hover over the notification, click cancel, and then run the app manually, does it still work?

3) How long do you have to wait before starting the app manually to get it to work?
 
So I did a little testing:

1. I don't think the app is really working on login/startup even though the banner pops up saying "trying to reset." The fans don't spin up like they do when you manually start the app.

2. That said, If I manually run the app quickly after boot, I get the same result. No big fan spin-up.

3. If I wait 60-120 seconds for the fan to stabilize at its usual, high speed equilibrium, the app works, spins the fans up faster under load, then quits and the pci fan idles at it's normal 800-900 RPM.
 
Thanks. Point 2 is key, I think. It seems that either Metal is not available right after login or the fan bug is not in the right state.
 
Yeah, that's what I thought too as I was typing it. If the app isn't actually running, the timing wouldn't really matter.
 
AirOut has been updated with an option to add a delay when it runs as a login item. Please see the first post for more details.
 
  • Like
Reactions: eksu and h9826790
Thanks! I installed and tested. My first test was with the 60 second delay. That proved to be too short for my computer. I got the message "High Speed Fans detected" but again, it just idled at about 2000 with no big load apparent on the GPU.

However, I changed it to 90 seconds and booted again. Success! After the 90 second pause, "high speeds fans" were detected, and the card loaded up, and re-idled at their normal 800-900RPM. Thanks for the work.
 
Nice! If you ever reinstall macOS or do hardware changes to your system, check if the required delay changes. The fan bug is still somewhat of a mystery.

Also, AirOut should work in forced mode regardless of the video card. Users with cards other than the RX 580 8 GB can try the app too. If the app works for other cards, I may remove the restriction for the regular mode.
 
Last edited:
Nice! If you ever reinstall macOS or do hardware changes to your system, check if the required delay changes. The fan bug is still somewhat of a mystery.

Also, AirOut should work in forced mode regardless of the video card. Users with cards other than the RX 580 8 GB can try the app too. If the app works for other cards, I may remove the restriction for the regular mode.

Tested with force mode on MacEdition Sapphire 7950 & MSI Gaming 560. Works for the 7950 but does not reset the speed
of the 560. Luxmark does reset the 560.
 
Tested with force mode on MacEdition Sapphire 7950 & MSI Gaming 560. Works for the 7950 but does not reset the speed
of the 560. Luxmark does reset the 560.

Thanks for your input. AirOut was designed for the RX 580, stressing the card just enough for the system fans to reset. While the app may work for other cards, some cards may have higher stress thresholds. The stress that Luxmark produces is probably more than enough for most cards. If there is interest, I could add a way to tune the amount of stress that AirOut produces.
 
Good morning. I have recently installed a Sapphire Pulse RX580 8GB card in my 5,1 2010 Mac Pro, running 10.13.6. And the fans run continuously. At start up the fans kick in quite loudly. After login they stop. But not long after they start up again and continually run. I've download AirOut but when I try to run it nothing appears to happen. What am I doing wrong?
 
Good morning. I have recently installed a Sapphire Pulse RX580 8GB card in my 5,1 2010 Mac Pro, running 10.13.6. And the fans run continuously. At start up the fans kick in quite loudly. After login they stop. But not long after they start up again and continually run. I've download AirOut but when I try to run it nothing appears to happen. What am I doing wrong?

The card's fan?

AirOut is the make the PCIe and PSU fans back to normal speed, not the card's fan.
 
  • Like
Reactions: MevetS
Thank you. Yes the card's fans. I opened the case to confirm. And that solved the problem. The power cable was resting on the fan, and causing the noise. I rerouted the cable and all is well.

D'oh! Rookie mistake.

Thanks again.
 
  • Like
Reactions: h9826790
The racing fan bug is a well known issue that affects a certain percentage cMP systems with upgraded video cards. On these systems the PCI, PS, and booster fans spin abnormally fast at idle, causing unnecessary noise and vibration. Although the issue appears to be connected to PCI power draw and the SMC, the exact cause remains unknown. With many users upgrading their video card for Metal, this bug is undoubtedly claiming more and more victims.

A popular solution to this bug is to use fan control software. The advantage of this approach is that profiles can be created that not only calm the fans down but also keep systems with high-power components running cool.

Another solution is to restore the native fan control by stressing the GPU. This approach causes the fans to rev up for a few seconds and then calm down to stock speeds (staying calm through sleep cycles and reboots). Because it restores the native fan control and is quickly out of the way, some users prefer this approach. However, this approach lacks the automation of the first. Users must find appropriate software (a benchmarking app or a game) and run it for some time.

Introducing AirOut: a simple fan-triggered GPU stressor.

View attachment 789947

AirOut is a small Metal app that stresses the GPU seamlessly in the background if it detects high fan speeds. The app immediately quits after issuing the stress test. It also offers a forced mode, which stresses the GPU regardless of fan speed. To enter this mode, simply start the app while holding down Command.

The app uses notifications. The alert style can be set in System Preferences > Notifications. (With banners, user interaction is possible by hovering the mouse pointer over the notification.)

To have the app run on startup go to System Preferences > Users & Groups > Login Items. There, add the app to the list of items.

New in version 1.0.1: In some cases, a delay after login is required to properly reset the fans. By default, the delay is 0. To add a 60 second delay, for example, enter the following in terminal:
Code:
defaults write com.airoutteam.AirOut DelayAtLogin 60

This setting only affects the app when it runs as a login item. To reset it, simply enter this:
Code:
defaults delete com.airoutteam.AirOut

System requirements: AirOut runs an intensive computation (about 2 gigabytes worth of a matrix multiplication). It requires at least 2 GB of RAM. Because the racing fan bug varies depending on the video card (which seems to affect the amount of stress required to reset the native fan control), AirOut will currently only run on the popular 8 GB RX 580 video card. AirOut will also only run a Mac Pro 5,1 (including, of course, a 4,1>5,1).

Warning: AirOut is still considered experimental. Even if these requirements are met, it is not guaranteed that the native fan control with be restored (or even that your system will not explode :eek:). Please comment on how the app works for you here!

REALLY looking forward to running this on my newly built Mac Pro 5,1 with RX580! When I tried to open it nothing happened?!? I'm on Mojave 10.14.3 , is there a compatibility issue or any ideas? Thanks!
 
Last edited:
REALLY looking forward to running this on my newly built Mac Pro 5,1 with RX580! When I tried to open it nothing happened?!? I'm on Mojave 10.14.3 , is there a compatibility issue or any ideas? Thanks!

AirOut is very minimal. It will not do anything unless it detects that the system fans are spinning fast and that your video card is an 8 GB RX 580 (although I've been thinking of removing the card restriction—what model do you have?). You can always force AirOut to run by holding the Command key while clicking on the icon (have you tried this?). You should see a notification pop up. If not, make sure that notifications are enabled in Notification Center. As long as your system meets the requirements, there should be no issues. I'm running it on 10.14.3 no problem.
 
AirOut is very minimal. It will not do anything unless it detects that the system fans are spinning fast and that your video card is an 8 GB RX 580 (although I've been thinking of removing the card restriction—what model do you have?). You can always force AirOut to run by holding the Command key while clicking on the icon (have you tried this?). You should see a notification pop up. If not, make sure that notifications are enabled in Notification Center. As long as your system meets the requirements, there should be no issues. I'm running it on 10.14.3 no problem.

So embarrassing development.... I have an AMD RX480 8GB that I thought was a 580 (bought secondhand and was told was a 580 reading as a 480 due to a bug in the OS which WAS a thing back in Sierra). Installed Mojave and never checked until now:(

If you have it in you to remove the card restriction I would LOVE to be a test subject! Haha, I'm on a 12-core 3.46 running 10.14.3 and I'm sick of listening to these damn fans since I have the MP in my studio. (currently using Macs Fan Control but CLEARLY don't know what I'm doing! haha)
 
If you have it in you to remove the card restriction I would LOVE to be a test subject!

I'd be happy to remove the restriction once we verify that AirOut works for your card. First, make sure that Macs Fan Control is completely turned off and that your fans are spinning fast. Then, hold Command while clicking on AirOut. You should see a notification (leave it alone), and within a few seconds your fans should spin up and eventually completely quiet down. Is that the case?
 
I'm on a Mac Pro 5,1 with an Radeon RX580 Pulse 8G and this did not seem to work. But after running AirOut like 5 or 6 times it seemed to do the trick and the fans do now seem to be operating at normal speeds.
 

Attachments

  • Screenshot 2019-05-18 at 08.12.53.png
    Screenshot 2019-05-18 at 08.12.53.png
    20.6 KB · Views: 370
But after running AirOut like 5 or 6 times it seemed to do the trick and the fans do now seem to be operating at normal speeds.

Glad to hear AirOut was finally able to get your fans under control. The fan bug is like that. Some systems require more stress. Perhaps AirOut should allow the user to tune the amount of stress.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.