Contribute
Register

macOS 12.3 Update Causes Problems for 5700/6800/6900 Graphics Cards

Joined
May 11, 2011
Messages
2,374
Motherboard
Gigabyte B550 Vision D
CPU
Ryzen 5900X
Graphics
RX 6800
Mac
  1. iMac
  2. MacBook
  3. MacBook Air
  4. MacBook Pro
  5. Mac mini
  6. Mac Pro
Classic Mac
  1. Power Mac
  2. PowerBook
Mobile Phone
  1. iOS
Looking at the above, we see your device-id is 7340 (shown under the Compatible key). If I were to add it to the device properties under the card's PCI root address (in the config.plist) it would be need to be shown as device-id 40730000. You will also need to add a framebuffer-fbmem value of 00009000.
 
Joined
May 29, 2012
Messages
800
Motherboard
Gigabyte Z390 Gaming X
CPU
i9-9900K
Graphics
6900XT
Mac
  1. iMac
Classic Mac
  1. LC
  2. Power Mac
  3. PowerBook
Mobile Phone
  1. iOS
I have created a SSDT which forces my RX 6800 XT to use the Belknap framebuffer. This brings the Metal score back to normal (from 30k to 160k). HEIC glitch remains.

View attachment 544171
I have attached the basic idea as aml, but you have to specify the correct ACPI path.

@Gaulomatic

Nice job! How did you find the name for the 6800 framebuffer? Can you also find the name for the 6900 framebuffer?
 
Joined
May 20, 2011
Messages
45
Motherboard
ga-z68x-ud3h-UEFI
CPU
i5-2500K
Graphics
GTX 970
Mobile Phone
  1. Android
  2. iOS

Attachments

  • ioreg.txt
    10.5 KB · Views: 24
Joined
Jan 28, 2012
Messages
65
Motherboard
Asus Rampage VI Extreme Omega
CPU
Core i9 10980XE
Graphics
Radeon 6800 XT
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
@tedyun There are three framebuffers defined in AMDRadeonX6000Framebuffer.kext:
1647488147295.png

It would have been guess work if not for this post: https://www.tonymacx86.com/threads/...-i7-12700k-amd-rx-6800-xt.318311/post-2307877

1647488275938.png


I am not entirely sure, but 6900 XT could be Carswell.
 

Jamesbond007

Moderator
Joined
May 21, 2011
Messages
6,521
Motherboard
Z390 Designare
CPU
i7 9700KF
Graphics
RX 580
Mac
  1. Mac mini
Mobile Phone
  1. iOS
1. It's not just initial release. It's just minor update of OS. Why I should wait?
2. It brings blender cyclesX support. I start to upgrade immediately for professional using.
3. A lot of other stuff (Universal Control and other) that was advert a lot of time ago and people would like to start use after official release as soon as it released.

Nobody could imagine that somebody could broke Metal balls in absolutely empty room : )
(1) Well, I don't think MacOS 12.3 is a "minor" update in any sense. As you said it brings back many of the promised features like Universal Control, and it is quite a substantial update.

If you don't want to wait and want to install the update immediately, it is your call. I certainly won't do that if I were running Monterey myself. Now knowing about this performance degradation (and other issues like with VMware Fusion) I would stay away from Monterey for as long as I can.

It seems that this issue is already a known problem in the betas, and Apple did not address it before release :

Having been burned myself by "immediately" installing new OS updates (macOS / Windows) in the past, I now adopt a strict waiting policy on new OS updates. I will wait for as long as I can (even weeks / months) until I can be reasonably sure the new OS updates won't cause significant issues before I attempt to update.

(2) Noted. I don't need it myself so I don't need 12.3 right now.
 
Joined
May 11, 2011
Messages
2,374
Motherboard
Gigabyte B550 Vision D
CPU
Ryzen 5900X
Graphics
RX 6800
Mac
  1. iMac
  2. MacBook
  3. MacBook Air
  4. MacBook Pro
  5. Mac mini
  6. Mac Pro
Classic Mac
  1. Power Mac
  2. PowerBook
Mobile Phone
  1. iOS
@tedyun There are three framebuffers defined in AMDRadeonX6000Framebuffer.kext:
View attachment 544177
It would have been guess work if not for this post: https://www.tonymacx86.com/threads/...-i7-12700k-amd-rx-6800-xt.318311/post-2307877

View attachment 544178

I am not entirely sure, but 6900 XT could be Carswell.
Call me strange but I've just been looking at what you've posted here and somehow think I've come up with a likely solution on how to enable the RX6700 on Monterey!

AMDRadeonX6000Framebuffer.kext seems to be the key behind this. When we check it with the PCI IDs listing for the RX6700 we know that 73df is the device-id and that it is a Navi 22 chipset. However it is not present in the Info.plist of the X6000 kext, so we will likely need to add that in manually by adding another IOKitPersonality but as AMDNavi22GraphicsAccelerator (just dupe and rename from one of the other keys listed). Then under the IOPCIMatch we will need to add 0x73DF1002 on the end, plus add the device-id and other GPU relevant info under the PCI root of the OC config.plist such as model of RX 6700. That will likely work IMHO.
 
Joined
Sep 8, 2018
Messages
87
Motherboard
Asus Z690-Creator WIFI
CPU
i7-12700K
Graphics
RX 5700 XT
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
maybe it is this:
Code:
<key>DeviceProperties</key>
    <dict>
        <key>Add</key>
        <dict>
            <key>PciRoot(0x0)/Pci(0x3,0x1)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
            <dict>
                <key>@0,name</key>
                <string>ATY,Adder</string>
                <key>@1,name</key>
                <string>ATY,Adder</string>
                <key>@2,name</key>
                <string>ATY,Adder</string>
                <key>@3,name</key>
                <string>ATY,Adder</string>
                <key>device_type</key>
                <string>ATY,AdderParent</string>
                <key>AAPL00,DualLink</key>
                <data>AQAAAA==</data>
                <key>ATY,Card#</key>
                <string>102-D32200-00</string>
                <key>ATY,Copyright</key>
                <string>Copyright AMD Inc. All Rights Reserved. 2005-2019</string>
                <key>ATY,DeviceName</key>
                <string>W5700X</string>
                <key>ATY,EFIVersion</key>
                <string>01.01.190</string>
                <key>ATY,FamilyName</key>
                <string>Radeon Pro</string>
                <key>ATY,Rom#</key>
                <string>113-D3220E-190</string>
                <key>CAIL_EnableLBPWSupport</key>
                <integer>0</integer>
                <key>CAIL_EnableMaxPlayloadSizeSync</key>
                <integer>1</integer>
                <key>CFG_CAA</key>
                <integer>0</integer>
                <key>CFG_FB_LIMIT</key>
                <integer>0</integer>
                <key>CFG_FORCE_MAX_DPS</key>
                <integer>1</integer>
                <key>CFG_GEN_FLAGS</key>
                <integer>0</integer>
                <key>CFG_NO_MST</key>
                <integer>0</integer>
                <key>CFG_NVV</key>
                <integer>2</integer>
                <key>CFG_PAA</key>
                <integer>0</integer>
                <key>CFG_PULSE_INT</key>
                <integer>1</integer>
                <key>CFG_TPS1S</key>
                <integer>1</integer>
                <key>CFG_TRANS_WSRV</key>
                <integer>1</integer>
                <key>CFG_UFL_CHK</key>
                <integer>0</integer>
                <key>CFG_UFL_STP</key>
                <integer>0</integer>
                <key>CFG_USE_AGDC</key>
                <integer>1</integer>
                <key>CFG_USE_CP2</key>
                <integer>1</integer>
                <key>CFG_USE_CPSTATUS</key>
                <integer>1</integer>
                <key>CFG_USE_DPT</key>
                <integer>1</integer>
                <key>CFG_USE_FBC</key>
                <integer>0</integer>
                <key>CFG_USE_FBWRKLP</key>
                <integer>1</integer>
                <key>CFG_USE_FEDS</key>
                <integer>1</integer>
                <key>CFG_USE_LPT</key>
                <integer>1</integer>
                <key>CFG_USE_PSR</key>
                <integer>0</integer>
                <key>CFG_USE_SCANOUT</key>
                <integer>1</integer>
                <key>CFG_USE_SRRB</key>
                <integer>0</integer>
                <key>CFG_USE_STUTTER</key>
                <integer>1</integer>
                <key>CFG_USE_TCON</key>
                <integer>1</integer>
                <key>PP_DisableDIDT</key>
                <integer>1</integer>
                <key>PP_DisablePowerContainment</key>
                <integer>1</integer>
                <key>PP_DisableVoltageIsland</key>
                <integer>0</integer>
                <key>PP_FuzzyFanControl</key>
                <integer>1</integer>
                <key>hda-gfx</key>
                <string>onboard-1</string>
                <key>model</key>
                <string>Radeon Pro W5700X</string>
                <key>name</key>
                <string>ATY_GPU</string>
            </dict>
        </dict>
        <key>Delete</key>
        <dict/>
    </dict>
Tested with my AMD Radeon RX 5700 XT 50th Anniversary. It works.
 

Attachments

  • screenshot about this mac.jpg
    screenshot about this mac.jpg
    361.6 KB · Views: 104
Joined
Mar 7, 2011
Messages
259
Motherboard
Asus TUF Z690 Plus D4
CPU
i9-12900K
Graphics
RX 6900 XT (spoofed)
Mobile Phone
  1. Android
  2. iOS
Yes Me Too
Screenshot 2022-03-17 at 07.25.18.png
 
Last edited:
Joined
Nov 13, 2012
Messages
94
Motherboard
Asrock Z390 Phantom Gaming 6
CPU
i9-9900K
Graphics
RX 5700 XT
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
I tested both injecting Carswell and Belknap framebuffers for my XFX Radeon RX 6900. **Both** fix the lags but Carswell seems to perform better. Didn't test Deepbay.
Geekbench Metal Compute:
Belknap: 155932
Carswell: 174384


However, the Metal Device name is bodged now:
Screenshot 2022-03-17 at 12.29.14.png


This is what I injected using OpenCore. Determine your own device path for "GFX0" using gfxutil:

XML:
<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,Carswell</string>
        <key>@1,name</key>
        <string>ATY,Carswell</string>
        <key>@2,name</key>
        <string>ATY,Carswell</string>
        <key>@3,name</key>
        <string>ATY,Carswell</string>
        <key>ATY,EFIVersion</key>
        <data>AQABJw==</data>
        <key>device_type</key>
        <string>ATY,CarswellParent</string>
        <key>model</key>
        <string>AMD Radeon PRO W6900X</string>
        <key>name</key>
        <data>CgDKAAAA</data>
    </dict>
</dict>
 
Joined
Dec 5, 2017
Messages
166
Motherboard
ASUS ROG Maximus XIII Hero Z590
CPU
i9-10900K
Graphics
RX 6800
Mac
  1. iMac
  2. Mac Pro
Classic Mac
  1. Plus
Mobile Phone
  1. iOS
I can confirm if anyone is using RX6800 you could try BF730000 (73BF):

View attachment 544161
I have an RX 6800 (not XT), but only a vague idea what's involved in the testing being done in this thread :(

I do know that in my config.plist (OC 0.7.9), the only device-id that has ever worked to get my iGPU enabled for VDA acceleration is the one seen in the attached screenshot. It causes a significant delay in boot-up (>1 min.) during which my monitor goes completely off, but afterwards the monitor turns back on and the system finishes booting.

I put 12.3 on a separate partition of an internal SATA drive just to test. The Geekbench Metal numbers from my normal 12.2.1 (on an SSD) and the 12.3 test (on the SATA drive) are attached here. There's about 33% difference: bad, but not as severe as some people here have reported.
 

Attachments

  • 12.2.1 Metal.jpg
    12.2.1 Metal.jpg
    91 KB · Views: 46
  • 12.3 Metal.jpg
    12.3 Metal.jpg
    100.4 KB · Views: 44
  • OC 0.7.9.jpg
    OC 0.7.9.jpg
    106 KB · Views: 47
Top