• Become a Premium Member for $25/year with no ads to improve your community experience.

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
7,776
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
13.x
Bootloader
  1. OpenCore (UEFI)
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to Disable Zero RPM FAN Mode

Overview
For a long time, NVIDIA and AMD have implemented Zero RPM FAN mode to consume less power and generate less noise. This is quite a good feature and is understood for portable devices like Laptops. However, when it comes to the Desktops, the behavior is no different. But, this feature can be modified in several ways. One of the way is using the AMD Software, where you can tune the FAN profile as per your needs. However, this is not the case when it comes to a non-Apple computer running macOS as there is no official or third party app to do so. But, there is still a way using the PowerSoftPlayTables.


What is PowerPlay Table?

AMD PowerPlay

What is Zero RPM Fan Mode

Since the release of AMD 5000 series GPUs, the Zero RPM

Since the release of AMD XXX series GPUs, there is a technology called Zero RPM FAN Mode, which functions by default and comes with factory settings i.e. no additional settings required from the user to activate the Zero RPM FAN Mode. Zero RPM FAN Mode is basically a feature that stops the GPU fans below 60c temperature and the fans will not start spinning up until the GPU temperature hits at least 60c. Depending on the workload type, the GPU fans will be automatically switched on or off. A particular temperature range is set in the VBIOS of the GPU prior to flashing on the GPU which controls this function. The advantage of this function is that during the normal graphics workload, the GPU is completely silent and becomes noisy when the GPU has a high workload during games or rendering. On the Laptops side, due to this feature, the power consumption is a bit less and saves battery but on the other hand, it generates a constant amount of heat.

Why disable Zero RPM FAN Mode?

Normally, on the Windows side, the idle temperature for these GPUs is somewhere around 35-40c. However, under macOS, it's 50-55c. Although these are pretty safe temperatures for daily usage, some users might prefer to have temperatures similar to Windows. To achieve this, the only solution is to disable the Zero RPM FAN mode so that the fans spin all the time, just not above a pre-defined temperature. It's quite easy to do it on Windows with the help of AMD Radeon Software, however, on the macOS side, there is no such option, even on Apple computers, there is no way you can disable the Zero RPM Fan mode. This option simply does not exist.

The only way to disable the Zero RPM FAN mode on macOS without changing any other parameters is by using the SoftPowerPlayTables, created on Windows. To

Requirements



Following are the requirements for disabling Zero RPM FAN Mode on macOS. Please ensure you meet the requirements before proceeding with this guide.

GPU
macOS
  • macOS Catalina or Later (Pre-installed).
Bootloader
  • Clover or OpenCore. Please ensure to use the latest version to avoid issues.
Kexts
  • Vanilla Graphics kexts in S/L/E
  • Lilu
  • WhateverGreen
Tools
  • GPU-Z
  • MorePowerTool
  • OpenCore Legacy Ptcher (OCLP) v1.0.1 or Later
  • IOReg
  • OCAT or any equivalent .plist editor

If you're attempting a clean install or an upgrade, it is highly recommended to perform a clean install or the upgrade first before you follow this guide.

Dump GPU VBIOS
The very first step is to dump the GPU VBIOS from Windows

1. Download GPU-Z
2. Open GPU-Z
3. Click on the Save BIOS icon and select Save to file.
4. Name the File and select the File type as BIOS Files (*.rom) and click on Save.
5. Close GPU-Z.

NOTE: AMD Graphics driver must be installed on Windows
AMD Radeon Software settings must be set to factory defaults.

Obtain SoftPowerPlay Table


Download MPT
Open MPT
Click on Load and browse to the VBIOS you saved in STEP #1.
Disable (uncheck) the Zero RPM option in the Features tab
Disable (uncheck) the Zero RPM Enable option in the Fan tab.
Click on Save to export the modified SPPT with Zero RPM Fan Mode disabled.
A dialogue box will appear asking for the location and the file format to save the file. Select the location of your choice and name the file. Then, select Registry File(*.reg) in the File Format option and click on Save.

Inject SoftPowerPlayTable
The next step is to inject the SoftPowerPlayTable

There are two methods to inject the SoftPowerPlayTable. Select the preferred method as per your choice

Boot to macOS and login to Desktop.
Browse to the .reg file you saved in STEP #2.
Copy the .reg file to your Desktop or your preferred location.

Using DeviceProperties Method

As the .reg files aren't supported on macOS and that you cannot load them, you'll need to convert the SPPT into a readable format which can be recognized by macOS.

1. Open the .reg file using the default TextEdit App. You can use any other Text editor (such as Text Mate).
2. Select the line beginning with Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0000]
"PP_PhmSoftPowerPlayTable"=hex: and delete it.
3. Invoke Find and Replace using Edit>Find and Replace or from the keyboard shortcut CMD+F
4. Search for , (comma) and replace it with none
5. Search for \ (backslashes) and replace it with none
6. Search for space and replace it with none
7. Remove the line breaks to get a single line string.
8. Save changes to the file or copy the whole HEX to a different text file.

The result should be similar to this:
Code:
A6090F00022203A2090000B33F00008000180000001C000000000000760000000000000000000000000001000000010000000D000000110A0000B0040000E803000094070000C904000078050000C904000078050000B0040000C1040000C10400002A030000C1040000000000000000000000000000F4010000E001000061000000260200003D0100006B0100003D0100006B010000A2010000E7010000E70100002C010000E701000000000000000000000000000081000000100000001E0000000101010101010101010001010101000100000000000000000000000000000000F00A0000F00A0000000000000000000000000000F00A000033040000330400000F000000E40C0000E40C0000640000006E000000010000000100000001000000010000000100000064000000640000006400000064000000640000006400000064000000640000006400000064000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F4010000F4010000000000000000000000000000F4010000A2020000A202000006000000FA000000E803000019000000320000000000000000000000000000000000000000000000190000000A000000190000000A000000190000000A000000190000000A000000190000000A00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006000000060006005F005F005F005F0072067206D606D606D007D007CA08CA08000000000000000000000000000000000000000000000000000000000000000006000000FFFD7FA36337000021010000000000000000000000000000210100000000000000000000000000002C0137000000000064006E006400730073007300730000000000000000000000010000000A000000000000000000000000000000000000000000000000000000FE380000730F000064006400610D740E0000000000000000C50DD80EF811F8114000000132003C00C50DC50DD80ED80E14001400000002000000803F00000000B537B83EEF1B67BF4F40A73F8B04000000000200EE7C8F3FA69B843E44349A3E43AD09BE3D0F363FF100000000010400CDCCAC3FE3A59BBD6F81E43ECAA6CCBE0421493FC0010000000002000000803F0000000072C47A3E4C8984BEDCBA433F1102000000000200098AAF3F295C0FBD85CEEB3E10CCC1BE4720463F9B010000000002006ADE893FB81E053E8E75913E284957BEE42C3C3F7301000000000200098AAF3F295C0FBD85CEEB3E10CCC1BE4720463F9B010000000002006ADE893FB81E053E8E75913E284957BEE42C3C3F73010000000002007D3F953FDD24063E1D77AA3EEE7768BEC91F3C3F55010000000002006ABC743FAE47613E732E653E52ED13BED72F383F43010000000002006ABC743FAE47613E732E653E52ED13BED72F383F43010000000002000E2D123F9A99D93E2783A33D8D28EDBCE7E3323FB6000000000002006ABC743FAE47613E732E653E52ED13BED72F383F43010000F401110A000000000000000000000000000000000000000000000000000000006B0178050000000000000000000000003D01C904000000000000000000000000E001B0040000000000000000000000006100C901A202E803A201B004000000000000000000000000E701C104000000000000000000000000E701C1040000000000000000000000002C012A03000000000000000000000000E701C1040000000000000000000000002602940700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110A0000B0040000E803000094070000C904000078050000C904000078050000B0040000C1040000C10400002A030000C104000000020303780500004C01FA01F00A800C8C0A800C480D480D8813181518151815F4012003F401010001025D0001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053130713BB126F122212D6118A113D11F110A51059100C103B0F690E970DC50C00000000030201000000000000000000000000000003010636016B0232003C0090019001900190019001900190019001900190010F00AA05BE0A480D00005B00F4010000010000020000000000000000000001000000000000000000000000000000000000000000000000000D54863DBC05D2BD1F80143E000000000000000000000000000000000000000000000000000000000000000000000000000000009A99993E0000C03F000000409A992140333333400AD7233D8716593D9A99993DBA490C3EAE47613E000000000000000000000000E56121BD04568E3EC5722BBEB000B0000101000000000000B000B0001900190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001C50D00000000CA54413C3333933EDAACFA3CCDCCCC3E000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001E06

1. Find the Device Path of your GPU
2. Mount your ESP
3. Open your config.plist using any XML editor from the EFI/Clover (for Clover) and EFI/OC (for OpenCore) directory.
4. Add the Device path that you obtained in step #1 of this guide under Devices>Properties (for Clover) and DeviceProperties (for OpenCore) section.
5. Depending on the bootloader you use, add the following properties to your config.plist under Devices>Properties (for Clover) and DeviceProperties (for OpenCore) section.
  • Key* = PP_PhmSoftPowerPlayTable
  • Value = The modified .reg file you saved in STEP #
  • Type = DATA
6. Save your config.plist
7. Restart your system for the applied changes to take effect. It is recommended to reset NVRAM twice at least.

macOS Ventura 13.4 and Later

With the release of macOS Ventura 13.4, the Zero RPM FAN Mode is broken and the SPPT does not have any effect even when loading. The result is the same with or without the SPPT i.e. the GPU fans are stopped until the GPU temperature hits 60c. This indicates that something has been changed in the vanilla Graphics kext by Apple. However, there is a workaround regarding this issue.

When modifying the VBIOS in Windows using MPT, simply keep the Zero RPM Enable option selected instead of disabling (unchecked) the Zero RPM Enable option in the Fan tab. By default, the Stop Temperature is set to 50c and the Start Temperature is set to 60c respectively, which will be the same default behavior. To fix this, simply change the Stop Temperature to 35 and Start Temperature to 40. With this change, the FAN will start and stop automatically when the GPU temperature is between 35-40c. The performance and scores are working as expected.
 
Last edited:

"Depending on the GPU series"
Use PowerPlay Tables
Little Translated Graphics workload policy

The Workload Policy can be added as a DeviceProperty. 4 and above disables zero RPM fan mode.
The following policies are available.

Value (HEX)​
Number (DEC)​
Workload Policy
0x01​
1​
DEFAULT_WORKLOAD (default)
0x02​
2​
FULLSCREEN3D_WORKLOAD
0x04​
4​
POWERSAVING_WORKLOAD
0x08​
8​
VIDEO_WORKLOAD
0x10​
16​
VR_WORKLOAD
0x20​
32​
COMPUTE_WORKLOAD
0x40​
64​
CUSTOM_WORKLOAD
 

"Depending on the GPU series"

Use PowerPlay Tables

Little Translated Graphics workload policy

The Workload Policy can be added as a DeviceProperty. 4 and above disables zero RPM fan mode.
The following policies are available.

Value (HEX)​
Number (DEC)​
Workload Policy
0x01​
1​
DEFAULT_WORKLOAD (default)
0x02​
2​
FULLSCREEN3D_WORKLOAD
0x04​
4​
POWERSAVING_WORKLOAD
0x08​
8​
VIDEO_WORKLOAD
0x10​
16​
VR_WORKLOAD
0x20​
32​
COMPUTE_WORKLOAD
0x40​
64​
CUSTOM_WORKLOAD
Guide under WIP. xD
 

Trending content

Forum statistics

Threads
1,760
Messages
16,582
Members
25,419
Latest member
moishiteru2