Contribute
Register

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

I am seeing many users add more than they need to for device properties, for example inserting card rom#, but chances are that was already working. for the performance fix you ONLY need the ATY,Type lines for at symbol 0-3.

most of other stuff is read correctly from card so the replacements are not needed unless you are spoofing device ID like XTXH then you need just the new Id, or you are inserting a custom name, usually again for XTXH cards.

Adding those 3 lines fixed the performance issue. However, it broke wake after sleep. My computer would reboot after waking.

Putting all the lines fixed everything.
 
is there any conflict to apply the framebuffer patch with the 6900 XTXH ssdt patch?

No conflict! I can confirm that they coexist peacefully.
 
Slightly off topic, apologies, but I recently just installed a 6900 XTHT after already being on 12.3 with a 590. I applied the Belknap fixes atop the XTXH SSDT+spoof and all works well. Has anyone gotten 4K120hz with this configuration? I know HDMI 2.1 isn't supported, but even with an active DP1.4->HDMI2.1 adapter I can't select 120hz.
 
Slightly off topic, apologies, but I recently just installed a 6900 XTHT after already being on 12.3 with a 590. I applied the Belknap fixes atop the XTXH SSDT+spoof and all works well. Has anyone gotten 4K120hz with this configuration? I know HDMI 2.1 isn't supported, but even with an active DP1.4->HDMI2.1 adapter I can't select 120hz.
RX 6800 XT
 

Attachments

  • 1.png
    1.png
    203.2 KB · Views: 270
Try spoofing device-id to "40730000" or "41730000".
I mentioned in a different comment that I'm using @mattystonnie's .aml for the 5500 and either it added the 40730000 deviceid or it was already identified that way without anything other than my iGPU added in deviceid in my config.plist. I'll see if I can edit it and change the deviceid to 4173000 in there and see if that makes any difference. EDIT: I forgot to add that IOReg shows device-id for GFX0 as <"@s">
Screen Shot 2022-03-18 at 10.55.01 AM.png
 
Hi guys

If you check the discussion on the macrumors site that tmaxxtigger linked in the first post:


There is a link to another hackintosh site which has the same information that I got from @WaTeZHUANGJIDINGZHI. In addition, the poster posted an ACPI patch that he said is necessary to correct the framebuffer injection. I think the ACPI path has to be adjusted for one's card, but I am wondering if this is necessary? He thanked acidanthera, so I think this is important.

_DSM ACPI PATCH (Need change to correct "ATY,xxxxx" for your GPU)

Note: this is for an ACPI path of PC00.PEG1.PEGP.EGP1, and for a Navi 10 card.

Code:
Device (PEGP)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Device (EGP1)
                    {
                        Name (_ADR, Zero)  // _ADR: Address
                        Device (PEGP)
                        {
                            Name (_ADR, Zero)  // _ADR: Address
                            Name (_SUN, One)  // _SUN: Slot User Number
                            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                            {
                                If (!Arg2)
                                {
                                    Return (Buffer ()
                                    {
                                         0x03                                           
                                    })
                                }

                                Return (Package ()
                                {
                                    "@0,name",
                                    Buffer ()
                                    {
                                        "ATY,Adder"
                                    },

                                    "@1,name",
                                    Buffer ()
                                    {
                                        "ATY,Adder"
                                    },

                                    "@2,name",
                                    Buffer ()
                                    {
                                        "ATY,Adder"
                                    },

                                    "@3,name",
                                    Buffer ()
                                    {
                                        "ATY,Adder"
                                    }
                                })
                            }
                        }

                        Device (HDAU)
                        {
                            Name (_ADR, One)  // _ADR: Address
                            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                            {
                                If ((Arg2 == Zero))
                                {
                                    Return (Buffer ()
                                    {
                                         0x03                                         
                                    })
                                }

                                Return (Package ()
                                {
                                    "AAPL,slot-name",
                                    "Built In",
                                    "name",
                                    "HDMI Controller",
                                    "built-in",
                                    Buffer ()
                                    {
                                         0x00                                             // .
                                    },

                                    "model",
                                    Buffer ()
                                    {
                                        "Apple HDMI Audio Controller"
                                    },

                                    "device_type",
                                    Buffer ()
                                    {
                                        "HDMI Controller"
                                    }
                                })
                            }
                        }
                    }
                }
            }

I claim no expertise in this! I freely copied this information from his site to get it in front of this community! If this is not allowed, please take this down. I do not mean to offend anyone! I'm just looking how to fix the problem in the update.
 
Last edited:
Can you elaborate on this? I am curious how to find out which are the correct framebuffers except owning original hardware and dumping the EFI.
I deduced this from the AMDRadeonX6000Framebuffer.kext

for example, the Carswell framebuffer definition references GEMINI with 400 watt, which refers to the Duo MPX module which has two (twins, gemini) Navi 21 cores at 200 watt each.
 
Yes, in Brazil! MaLd0n is a world reference in the Clover art of patching whole DSDTs.
The code you quoted is incomplete to use as a SSDT for OpenCore (and would read to a path of PEGP.EGP1.PEGP) but does the same job of injecting framebuffer properties as other SSDTs or config.plist snippets. This code also injects properties for audio output through HDMI, and the question is whether this is also required or useful.
I use this and all is rock solid. The SSDT is for iMacPro1,1 with RX 6800 XT on Z690 Aorus Master.
 

Attachments

  • SSDT-NAVI.aml
    584 bytes · Views: 151
Back
Top