Jump to content

RX 6600 XT: Henbury framebuffer and Zero RPM in Monterey 12.3


miliuco
 Share

3 posts in this topic

Recommended Posts

Note: this post is about a way to disable Zero RPM feature in a RX 6600 XT graphic card and and his relationship with the graphic issues seen in 5000 and 6000 AMD GPUs after updating to Monterey 12.3.

 

Zero RPM

 

By default, fans of the RX 6600 XT (like other AMD cards) are stopped below 60º, it is what is known as Zero RPM. This has as main advantage the absence of noise except when there is a high graphic requirement.

Users who have this card in a Hackintosh with dual boot have observed that temperature, at idle system, is usually 10-15º lower in Windows than in macOS (35-40º vs 50º). In both systems Zero RPM keeps fans stopped until 60º is reached.

 

On Windows it is easy to enable/disable Zero RPM from the Radeon software that has this option in custom settings. But on macOS there is no such possibility. So far, existing option to disable Zero RPM in macOS is the creation on Windows, from the AMD card ROM, of a SoftPowerPlayTable (sPPT) (contains the graphics card settings in the form of a hexadecimal value) that OpenCore can load into DeviceProperties. If the sPPT is saved in Windows after disabling Zero RPM, macOS when loading the sPPT also works with Zero RPM disabled. But it is a complex task that requires specific programs and is not within the reach of the inexperienced user.

 

AMD 5000 and 6000 in Monterey 12.3

 

As you can read in this and other sites, the release of macOS Monterey 12.3 has broken the operation of Radeon 5000 and 6000 families, not in all cases but in quite a few of them judging by comments posted on the forums. This problem has also happened on real Macs but it seems to be more much more frequent on Hackintosh. 5500, 5700, 6800 and 6900 models (XT and non XT) have been most affected. 6600 models (XT and non XT) seem to be free of the issue that manifests itself in a very evident drop in graphic performance after updating to 12.3, in some cases the system becomes unusable and in other cases a big part of the graphic power is simply lost.

 

My GPU is RX 6600 XT so it has not been affected by this issue.
 

Solutions have been proposed to fix this. The simplest is to add in DeviceProperties of config.plist some properties that set Henbury framebuffer for each of the 4 ports of this GPU. By default Radeon framebuffer (ATY,Radeon) is loaded. But, in AMDRadeonX6000Framebuffer.kext >> Contents >> Info.plist, AMDRadeonNavi23Controller has "ATY,Henbury" and 6600 series are Navi 23. This is why this framebuffer is specifically proposed.

 

The patch is added in this way:

<key>DeviceProperties</key>
    <dict>
        <key>Add</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
            <dict>
                <key>@0,name</key>
                <string>ATY,Henbury</string>
                <key>@1,name</key>
                <string>ATY,Henbury</string>
                <key>@2,name</key>
                <string>ATY,Henbury</string>
                <key>@3,name</key>
                <string>ATY,Henbury</string>
            </dict>
        </dict>
        <key>Delete</key>
        <dict/>
    </dict>

Note: PCI path to the GPU may be the same on your system but it is convenient to check it with Hackintool (app) or gfxutil (Terminal utility).

 

Patch and Zero RPM

 

Although my GPU has not been affected by this Monterey 12.3 issue, I have tried the patch motivated by curiosity to check if the card works differently (better or worse).

 

When booting with the patch, it gets my attention that the GPU temperature is, at idle system, 10-15º below the usual 50º. The cause of this is in the deactivation of the Zero RPM feature: fans spin all the time with a small drawback that is the noise generated (very low volume, almost imperceptible except in quiet environment).
 

Graphics performance is good with the patch. GeekBench 5 metal scores are lower but in other benchmarks such as Unigine Valley or GFXBench M they are almost identical. Maximum temperature when forcing the GPU has not changed, about 80-82º, the same as without the patch. But basic temperature at iddle system ranges from 35 to 40º. Sensations when performing common tasks on macOS are the same (excellent) with or without patch.
 

Unexpectedly, I have seen a new way to disable Zero RPM in macOS, it is easier to implement than creating sPPT in Windows and its subsequent transfer to macOS.
 

It's up to you to choose what you prefer.

  • Without patch: base temperature is around 50º, fans are usually stopped and GeekBench 5 score is higher.
  • With patch: base temperature is below 40º, fans are always running although the noise produced is very low and GeekBench 5 score is lower.

Framebuffers

 

This patch can be applied to the other Radeon models affected by the Monterey 12.3 issue to fix that bad behaviour and not only to disable Zero RPM.

 

Edited by miliuco
  • Like 5
Link to comment
Share on other sites

Framebuffers are different for each serie, they are available in AMDRadeonX6000Framebuffer.kext >> Contents >> Info.plist.

  • 5700 - Navi 10
    AMDRadeonNavi10Controller
    device-id: 0x73101002 0x73121002 0x73181002 0x73191002 0x731A1002 0x731B1002 0x731F1002 0x73BF1002
    framebuffer: ATY,Adder / ATY,Ikaheka
  • 5600 - Navi 12
    AMDRadeonNavi12Controller
    device-id: 0x73601002 0x73621002
    framebuffer: ATY,Sunbeam
     
  • 5500 - Navi 14
    AMDRadeonNavi14Controller
    device-id: 0x73401002 0x73411002 0x73431002 0x73471002 0x734F1002
    framebuffer: ATY,Python / ATY,Keelback / ATY,Boa
     
  • 6800 and 6900 - Navi 21
    AMDRadeonNavi21Controller
    device-id: 0x73A01002 0x73A21002 0x73A31002 0x73AB1002 0x73AE1002 0x73AF1002 0x73BF1002
    framebuffer: ATY,Belknap / ATY,Carswell / ATY,Deepbay
     
  • 6600 - Navi 23
    AMDRadeonNavi23Controller
    device-id: 0x73E31002 0x73FF1002 0x73E01002
    framebuffer: ATY,Henbury

 

Edited by miliuco
  • Like 2
Link to comment
Share on other sites

 Share

×
×
  • Create New...