Contribute
Register

[Success] AMD RX6000 Series working in macOS

@Janestiger good you got the Spoof working, sorry about the GFX0 - VGA error in my SSDT.

OpenCL scores tend to be a bit low when spoofing the device ID of an RX 6900 Xt on an RX 6950 XT, but not that low. Sorry but I don't know what is causing the low OpenCL scores.
 
@remix0120 the RX6500 XT isn't a supported card. Did you mean the RX 6650 XT card?
 
One stupid question, Which method your prefer? and which one works better?
There are no stupid questions (save for those which are never asked).
Both methods should give equivalent results, so it comes down to ease of maintenance. Doing all in a single SSDT is simple, but if you change card, or even move the GPU to another slot, you have to edit the SSDT accordingly. So, for maintenance, the modular approach may work best: SSDT only for naming bridges (works with any device, and can be automatically generated by SDDTTime), and DeviceProperties to adjust in config.plist according to hardware changes.
 
There are no stupid questions (save for those which are never asked).
Both methods should give equivalent results, so it comes down to ease of maintenance. Doing all in a single SSDT is simple, but if you change card, or even move the GPU to another slot, you have to edit the SSDT accordingly. So, for maintenance, the modular approach may work best: SSDT only for naming bridges (works with any device, and can be automatically generated by SDDTTime), and DeviceProperties to adjust in config.plist according to hardware changes.
Thank you for reply. If I go for a) SSDT-BRG and DeviceProperties entry
Here is steps

1. Use SSDTTime --> select 9. PCI Bridge --> Enter PciRoot(0x0)/Pci(0x0,0x0)/Pci(0x0,0x0) --> got "SSDT-Bridge.aml"
2. Download SSDT-BRG and put it in the EFI/APCI folder with SSDT-Bridge.aml
3. Modify config.plist and add DeviceProperties.

Are these correct? Do I need to modify "SSDT-BRG.aml" or "SSDT-Bridge.aml"
 
Correct.
The SSDT name is irrelevant as long as you remember what it does, for maintenance purposes.
 
Today I swapped my Radeon VII for AMD 6900 XT ref.
Geekbench 6 metal results: 234 000, OpenCL 120 000.
Geekbench 5 metal results: 196 000, OpenCL 130 000.

Are these results good? I'm a little worried about low OpenCL. When it comes to settings, I haven't changed absolutely anything, just swapped cards.
 
Today I swapped my Radeon VII for AMD 6900 XT ref.
Geekbench 6 metal results: 234 000, OpenCL 120 000.
Geekbench 5 metal results: 196 000, OpenCL 130 000.

Are these results good? I'm a little worried about low OpenCL. When it comes to settings, I haven't changed absolutely anything, just swapped cards.
those are normal results :)
 
Reviving an old thread, my i5-12400F and Asrock B660M-HDV went (poof) after a PSU issue. PSU was replaced under warranty; no such luck for the MB and CPU.

Now I'm trying to put the 6900XTXH into the older i7-8700 / Asus Z370-ITX (BIOS 3005).

I can boot into MacOS without doing anything; the graphics are slow, but it works. System Info shows "AMD Radeon Navi21 16 GB", Device ID: 0x73af, as expected. So, I need to spoof things. Bear in mind this worked great on the above setup. I already tried that old brg0 and modifications to the config.plist; no go. The colors cleaned up with the PCIList and the use of that brg0 file in ACPI section of EFI, but the acceleration and device name are still off.

Gfxutil has the following output:

01:00.0 1002:1478 /PCI0@0/PEG0@1/GFX0@0 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)
02:00.0 1002:1479 /PCI0@0/PEG0@1/GFX0@0/pci-bridge@0 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)
03:00.0 1002:73af /PCI0@0/PEG0@1/GFX0@0/pci-bridge@0/GFX0@0 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)
03:00.1 1002:ab28 /PCI0@0/PEG0@1/GFX0@0/pci-bridge@0/HDAU@0,1 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x1)

I think I care about this from gfxutil:
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)

Hackintool says this:
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)
...so it agrees with gfxutil, which I understand is good.

I went to:
https://github.com/TylerLyczak/Unsupported-6900XT-Hackintosh-Fix/tree/master

The directions are:
Write down the path to GFX0@0 : (from gfxutil)
/PCI0@0/PEG0@1/GFX0@0/pci-bridge@0/GFX0@0

From IORegEx:
IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/GFX0@0

Simplified that’s:
PCI0@0/AppleACPIPCI/PEG0@1/IOPP/GFX0@0

Errrr...now what? I'm lost on his directions for what to do with brg0:

/*
* This table provides an example of creating a missing ACPI device
* to ensure early DeviceProperty application. In this example
* a GPU device is created for a platform having an extra PCI
* bridge in the path - PCI0.PEG0.PEGP.BRG0.GFX0:
* PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)
* Such tables are particularly relevant for macOS 11.0 and newer.
*/

DefinitionBlock ("", "SSDT", 2, "ACDT", "BRG0", 0x00000000)
{
// Fix this path
External (_SB_.PCI0.PEG1.PEGP, DeviceObj)

// Fix this path
Scope (\_SB.PCI0.PEG1.PEGP)
{
/*
* This is a PCI bridge device present on PEGP.
* Normally seen as pci-bridge in I/O Registry.
*/
Device (BRG0)
{
Name (_ADR, Zero)

/*
* This is an actual GPU device present on the bridge.
* Normally seen as display in I/O Registry.
*/
Device (GFX0)
{
Name (_ADR, Zero) // _ADR: Address
}
}
}
}

....what do I change in the above? He talks about lines 13/16 and 30 (in MaciASL that's more clear...) but I have no idea WHAT to change it to....

Can anyone help? A year ago when I did this with the B660M-HDV it made a lot more sense, but now I am just a bit confused.
 
PCI0@0/AppleACPIPCI/PEG0@1/IOPP/GFX0@0
The Address you are using in the SSDT makes no sense if the device is located at the address shown above.

Scope (\_SB.PCI0.PEG1.PEGP) should be Scope (\_SB.PCI0.PEG0.IOPP) based on the address you quoted.

Then the BRG0 and GFX0 Devices should be found.
 
Back
Top