Contribute
Register

[Success] AMD RX6000 Series working in macOS

Hey @tedyun just trying to follow your guide here to get my 6900XT working as per the needed spoofing. I've added the SSDT-BRG0.aml file and added the PCI path under DEVICE PROPERTIES>ADD however i'm unsure how to get the AAPL,slot-name, device-id and model rows to populate. Do i add these in manually? Or should these automatically get populated somehow? Do i just copy the text you have in your screenshot?

Any help appreciated! Thanks heaps.
Hi @nathanaelweir

I use a plist editor - PlistEdit Pro but there are others that are free like ProperTree or even using a text editor. You have to add the AAPL,slot-name, device-id and model fields manually. The easiest way I did it was to find another DeviceProperties entry that had the same fields, copy/paste it as a sibling, the enter all the information manually.

The AAPL,slot-name is not important I think. I believe it is just cosmetic and tells the OS what to report in the System Information application.

The device-id is important -- I think this tells WEG to spoof the 6900XT instead of the XTXH. I don't know how WEG works its magic, but this is the only spot that I'm aware of where you specify the device id of the 6900XT.

The model is not important. Again, it's cosmetic, and for the System Information application. I could be wrong though. I haven't played around with it.

With the SSDT, did you modify it properly? Because your's is an ASUS, it may have the same path as ac9001, but I would definitely check before using it.

Ted
 
Hey @tedyun,

So i ended up just implementing your SSDT and then added the fields to my config.plist as per your outline using Propertree. I ensured the correct PCI path as per OCC.

I have no idea if the SSDT is modified properly as you've pointed out as per my ASUS mb? But it certainly made a difference to the graphics when i implemented it.. And my About This Mac has picked up on the card.

How can i double check it's all correct? Or do you think the fact it's all working is sweet?
 
@nathanaelweir -- Interesting! The SSDT should be specific to the motherboard, but since ac9001's is an ASUS as well, they may use the same address. The Gigabytes seem to use the same address.

You can use Hackintool to check. Navigate to the PCIe tab, then look down the list, under "Class" for "Display controller" You should see your card.

Check under "Device" and it should have the spoofed id, "0x73BF" and the IOReg Name should be the correct path. It should end in "...BRG0@0/GFX0@0"

If you upload a screenshot of this tab, we can confirm that the spoof worked correctly.
 
Hey @tedyun looks correct to me?
Screen Shot 2022-01-22 at 8.54.14 am.png
 
Hey folks.

I just got a XFX Speedster MERC 319 Radeon RX 6900 XT Limited Black. It's a XTXH card and I try to inject a proper Device-ID. Without success.

Clean path without SSDT:

Bildschirmfoto 2022-01-26 um 12.54.23.png


That's the one with my (non working) SSDT (display is reneamed to GFX0):
Bildschirmfoto 2022-01-25 um 10.22.19.png


That's the ACPI tree on ASUS X299 Sage10G. And this is the content of my custom SSDT:
Code:
/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20200925 (64-bit version)
 * Copyright (c) 2000 - 2020 Intel Corporation
 *
 * Disassembling to symbolic ASL+ operators
 *
 * Disassembly of iASLxtp8Gc.aml, Wed Jan 26 08:58:03 2022
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x0000006C (108)
 *     Revision         0x02
 *     Checksum         0x3A
 *     OEM ID           "ACDT"
 *     OEM Table ID     "BRG0"
 *     OEM Revision     0x00000000 (0)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20200925 (538970405)
 */
DefinitionBlock ("", "SSDT", 2, "ACDT", "BRG0", 0x00000000)
{
    External (_SB_.PC02.BR2A.SL05, DeviceObj)

    Scope (\_SB.PC02.BR2A.SL05)
    {
        Device (BRG0)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Device (GFX0)
            {
                Name (_ADR, Zero)  // _ADR: Address
            }
        }
    }
}
I guess there is something wrong with my path?

These are the prperties I try to inject:
Bildschirmfoto 2022-01-26 um 09.06.10.png


And the SSDT-BRG0-6900XT.aml is activated:
Bildschirmfoto 2022-01-26 um 09.08.36.png


Anything else missing? Flashing the vBIOS is no option, the GPU is not mine.

All Kexts are uptodate:
Bildschirmfoto 2022-01-26 um 09.16.54.png


I'm runnig MacOS 12.1. There is a graphic output, but without Metal support/hardware accelleration and everything is very laggi. Any ideas?
 

Attachments

  • Bildschirmfoto 2022-01-26 um 12.21.15.png
    Bildschirmfoto 2022-01-26 um 12.21.15.png
    135.5 KB · Views: 52
Last edited:
Hey folks.

I just got a XFX Speedster MERC 319 Radeon RX 6900 XT Limited Black. It's a XTXH card and I try to inject a proper Device-ID. Without success.

Clean path without SSDT:

View attachment 540385

That's the one with my (non working) SSDT (display is reneamed to GFX0):
View attachment 540365

That's the ACPI tree on ASUS X299 Sage10G. And this is the content of my custom SSDT:
Code:
/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20200925 (64-bit version)
 * Copyright (c) 2000 - 2020 Intel Corporation
 *
 * Disassembling to symbolic ASL+ operators
 *
 * Disassembly of iASLxtp8Gc.aml, Wed Jan 26 08:58:03 2022
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x0000006C (108)
 *     Revision         0x02
 *     Checksum         0x3A
 *     OEM ID           "ACDT"
 *     OEM Table ID     "BRG0"
 *     OEM Revision     0x00000000 (0)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20200925 (538970405)
 */
DefinitionBlock ("", "SSDT", 2, "ACDT", "BRG0", 0x00000000)
{
    External (_SB_.PC02.BR2A.SL05, DeviceObj)

    Scope (\_SB.PC02.BR2A.SL05)
    {
        Device (BRG0)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Device (GFX0)
            {
                Name (_ADR, Zero)  // _ADR: Address
            }
        }
    }
}
I guess there is something wrong with my path?

These are the prperties I try to inject:
View attachment 540366

And the SSDT-BRG0-6900XT.aml is activated:
View attachment 540367

Anything else missing? Flashing the vBIOS is no option, the GPU is not mine.

All Kexts are uptodate:
View attachment 540368

I'm runnig MacOS 12.1. There is a graphic output, but without Metal support/hardware accelleration and everything is very laggi. Any ideas?


@jan2ooo - I'm not sure why, but your ACPI path has 2 extra levels and I think that is why the standard SSDT that we've been using doesn't work in your system. I don't know enough about this procedure to name those levels, and I'm not even sure the spoof would work.

There was a fellow who was trying to get the spoof to work on an eGPU box. He wasn't successful, but I seem to recall in his case that he had multiple extra levels as well. Maybe scroll back a few pages and see what he attempted.
 
Hey folks.

I just got a XFX Speedster MERC 319 Radeon RX 6900 XT Limited Black. It's a XTXH card and I try to inject a proper Device-ID. Without success.

Clean path without SSDT:

View attachment 540385

That's the one with my (non working) SSDT (display is reneamed to GFX0):
View attachment 540365

That's the ACPI tree on ASUS X299 Sage10G. And this is the content of my custom SSDT:
Code:
/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20200925 (64-bit version)
 * Copyright (c) 2000 - 2020 Intel Corporation
 *
 * Disassembling to symbolic ASL+ operators
 *
 * Disassembly of iASLxtp8Gc.aml, Wed Jan 26 08:58:03 2022
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x0000006C (108)
 *     Revision         0x02
 *     Checksum         0x3A
 *     OEM ID           "ACDT"
 *     OEM Table ID     "BRG0"
 *     OEM Revision     0x00000000 (0)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20200925 (538970405)
 */
DefinitionBlock ("", "SSDT", 2, "ACDT", "BRG0", 0x00000000)
{
    External (_SB_.PC02.BR2A.SL05, DeviceObj)

    Scope (\_SB.PC02.BR2A.SL05)
    {
        Device (BRG0)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Device (GFX0)
            {
                Name (_ADR, Zero)  // _ADR: Address
            }
        }
    }
}
I guess there is something wrong with my path?

These are the prperties I try to inject:
View attachment 540366

And the SSDT-BRG0-6900XT.aml is activated:
View attachment 540367

Anything else missing? Flashing the vBIOS is no option, the GPU is not mine.

All Kexts are uptodate:
View attachment 540368

I'm runnig MacOS 12.1. There is a graphic output, but without Metal support/hardware accelleration and everything is very laggi. Any ideas?

The Sage boards use plx chips that add extra pci-bridges you have to account for.
Try the modified SSDT attached and double check your path for device properties.
 

Attachments

  • SSDT-BRG0-6900XT.aml
    276 bytes · Views: 113
Last edited:
This seems to work. Thank you! I was able to make a quick test. But the Geekbench Metal score is only around 160000 which seems to low for a XTXH Card :think:
 
The Sage boards use plx chips that add extra pci-bridges you have to account for.
Try the modified SSDT attached and double check your path for device properties.
HI djlild7hina could you have a look at my IOReg please I have similar prob as jan2ooo with device_id 73af for Msi rx 6900 xt.thanks for any help
 

Attachments

  • Mac Pro.zip
    953.4 KB · Views: 55
Back
Top