Contribute
Register

[Success] AMD RX6000 Series working in macOS

Gigamaxx

Moderator
Joined
May 15, 2016
Messages
6,558
Motherboard
GIGABYTE X470 Arous Gaming 7 WiFi
CPU
Ryzen R9 3900X
Graphics
RX 480
Mac
  1. iMac
Let me know if this is correct:

Using gfxutil:
48:00.0 1002:73af /PCI0@0/PEG2@1,2/UPSB@0/DSB1@1/UPS0@0/pci-bridge@1/pci-bridge@0/pci-bridge@0/display@0 = PciRoot(0x0)/Pci(0x1,0x2)/Pci(0x0,0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)

So:

External (_SB_.PCI0.PEG2.UPSB.DSB1.UPS0, DeviceObj)

Scope (\_SB.PCI0.PEG2.UPSB.DSB1.UPS0)

And then I just compile it and add it to EFI/OC/ACPI (already added to the plist of course).



Gigamaxx mentioned something about "Device/Properties." Is there something further I still need to do?
Yes, are you using Open Core?

Is this a real Mac, or a Hackintosh?
 
Joined
Jan 14, 2016
Messages
65
Motherboard
Intel NUC10i5FNH
CPU
i5-10210U
Graphics
UHD 630 / RX 6900 XT
Mac
  1. Mac mini
Mobile Phone
  1. iOS
hi.. I need help.. I had Intel NUC 10gen i5, razor core x and Asus tug gaming rx6900xt.. I used open core 0.74... so, I cannot run my external graph. card.. can someone help me.. what should do in bios config plist etc..
 
Joined
May 29, 2012
Messages
833
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
hi.. I need help.. I had Intel NUC 10gen i5, razor core x and Asus tug gaming rx6900xt.. I used open core 0.74... so, I cannot run my external graph. card.. can someone help me.. what should do in bios config plist etc..

I'm not sure how to do it with an external, but hopefully someone can jump in.

Do you have IORegistryExplorer? Can you run it with your eGPU plugged in, then do a search for "GFX0" and post a screenshot of the output?
 

Gigamaxx

Moderator
Joined
May 15, 2016
Messages
6,558
Motherboard
GIGABYTE X470 Arous Gaming 7 WiFi
CPU
Ryzen R9 3900X
Graphics
RX 480
Mac
  1. iMac
Kryptonite which is based off of Open Core... This is a genuine mac.
OK, That explains the path for the device.

This is what open Core would look like for this edit with ProperTree editor.


The Blue is your device PCI path which you can get from Hackintool PCIi tab. You need to add yours.


BRG0, Device ID Kernel:Add.png
 
Joined
Jan 14, 2016
Messages
65
Motherboard
Intel NUC10i5FNH
CPU
i5-10210U
Graphics
UHD 630 / RX 6900 XT
Mac
  1. Mac mini
Mobile Phone
  1. iOS
I'm not sure how to do it with an external, but hopefully someone can jump in.

Do you have IORegistryExplorer? Can you run it with your eGPU plugged in, then do a search for "GFX0" and post a screenshot of the output?
Hi.. tnx for u help:)

under desktop and tab arangament i saw screen (i saw both monitor) but my second (connect on DP) screen was still black (off).. work only with hdmi, whit DP not..
 
Joined
May 29, 2012
Messages
833
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
Hi.. tnx for u help:)

under desktop and tab arangament i saw screen (i saw both monitor) but my second (connect on DP) screen was still black (off).. work only with hdmi, whit DP not..

Hi @Sebseb82 -

I'm not sure what you meant :( .

This is what I'm talking about with the screenshot from IORegistryExplorer. It will help tremendously to get your eGPU up and running. If I can't figure it out, I'm sure others here can help.

Image 10-23-21 at 2.11 PM.jpeg
 
Joined
Apr 20, 2012
Messages
37
Motherboard
ASUS MAXIMUS VIII HERO
CPU
i7-6700K
Graphics
GTX 1080
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. iOS
Good evening / day / basement?

I've got a MSI RX 6900 XT Gaming Z Trio which is the XTXH model and I'm attempting to get this to work. The device-id doesn't appear to be taking but the model rename does so I'm not sure where to go next. Any guidance would be helpful.

From gfxtool
Code:
03:00.0 1002:73af /PCI0@0/PEG1@1/PEGP@0/pci-bridge@0/GFX0@0 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)

IOReg:
Code:
    | +-o PCI0@0  <class IOACPIPlatformDevice, id 0x100000168, registered, matched, active, busy 0 (7375 ms), retain 170>
    | | +-o AppleACPIPCI  <class AppleACPIPCI, id 0x1000002b8, registered, matched, active, busy 0 (6877 ms), retain 82>
    | |   +-o pci8086,9b33@0  <class IOPCIDevice, id 0x1000002e9, registered, matched, active, busy 0 (0 ms), retain 28>
    | |   +-o PEG1@1  <class IOPCIDevice, id 0x10000023a, registered, matched, active, busy 0 (215 ms), retain 33>
    | |   | +-o IOPP  <class IOPCI2PCIBridge, id 0x1000002f4, registered, matched, active, busy 0 (215 ms), retain 30>
    | |   |   +-o PEGP@0  <class IOPCIDevice, id 0x10000023b, registered, matched, active, busy 0 (215 ms), retain 33>
    | |   |     +-o IOPP  <class IOPCI2PCIBridge, id 0x1000002fd, registered, matched, active, busy 0 (214 ms), retain 30>
    | |   |       +-o pci-bridge@0  <class IOPCIDevice, id 0x1000002ed, registered, matched, active, busy 0 (214 ms), retain 34>
    | |   |         +-o IOPP  <class IOPCI2PCIBridge, id 0x100000313, registered, matched, active, busy 0 (212 ms), retain 32>
    | |   |           +-o GFX0@0  <class IOPCIDevice, id 0x1000002ee, registered, matched, active, busy 0 (212 ms), retain 32>
    | |   |           | +-o AMDSupport  <class AMDSupport, id 0x1000004be, registered, matched, active, busy 0 (0 ms), retain 25>
    | |   |           | +-o .Display_boot  <class IONDRVFramebuffer, id 0x1000004bf, registered, matched, active, busy 0 (89 ms), retain 46>
    | |   |           |   +-o AppleMCCSControlModule  <class AppleMCCSControlModule, id 0x1000004d0, registered, matched, active, busy 0 (17 ms), retain 27>
    | |   |           |   | +-o AppleMCCSParameterHandler  <class AppleMCCSParameterHandler, id 0x1000004d7, registered, matched, active, busy 0 (0 ms), retain 25>
    | |   |           |   +-o AppleUpstreamUserClientDriver  <class AppleUpstreamUserClientDriver, id 0x1000004d1, registered, matched, active, busy 0 (0 ms), retain 25>
    | |   |           |   +-o AGPM  <class AGPM, id 0x100000521, registered, matched, active, busy 0 (0 ms), retain 28>
    | |   |           |   +-o display0  <class IODisplayConnect, id 0x100000555, registered, matched, active, busy 0 (0 ms), retain 26>
    | |   |           |   | +-o AppleDisplay  <class AppleDisplay, id 0x100000557, registered, matched, active, busy 0 (0 ms), retain 28>
    | |   |           |   +-o IOFramebufferUserClient  <class IOFramebufferUserClient, id 0x10000055b, !registered, !matched, active, busy 0, retain 25>
    | |   |           |   +-o IOFramebufferSharedUserClient  <class IOFramebufferSharedUserClient, id 0x1000006a9, !registered, !matched, active, busy 0, retain 25>
    | |   |           +-o HDAU@0,1  <class IOPCIDevice, id 0x1000002ef, registered, matched, active, busy 0 (121 ms), retain 32>
    | |   |             +-o AppleGFXHDAEGController@0,1  <class AppleGFXHDAEGController, id 0x1000004a3, registered, matched, active, busy 0 (0 ms), retain 32>
    | |   |               +-o AppleGFXHDADriver@0,1,0  <class AppleGFXHDADriver, id 0x1000004da, registered, matched, active, busy 0 (0 ms), retain 29>

config.plist:
Code:
                        <dict>
                                <key>Comment</key>
                                <string>BRG0</string>
                                <key>Enabled</key>
                                <true/>
                                <key>Path</key>
                                <string>SSDT-BRG0.aml</string>
                        </dict>


                        <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
                        <dict>
                                <key>device-id</key>
                                <data>v3MAAA==</data>
                                <key>model</key>
                                <string>Radeon RX 6900 XT (XTXH)</string>
                        </dict>

Used the DSL as set in the example and as my PCI path matched what vandroly had in #1317 and compiled it then included it. Is there anywhere I can check that all the SSDTs are loading correctly and the BRG0 is having an effect?
 
Joined
Jan 14, 2016
Messages
65
Motherboard
Intel NUC10i5FNH
CPU
i5-10210U
Graphics
UHD 630 / RX 6900 XT
Mac
  1. Mac mini
Mobile Phone
  1. iOS
Hi @Sebseb82 -

I'm not sure what you meant :( .

This is what I'm talking about with the screenshot from IORegistryExplorer. It will help tremendously to get your eGPU up and running. If I can't figure it out, I'm sure others here can help.

View attachment 531753


today started to work.. i changed a few dp and hdmi cabels:( but what is importand was that it started to work

i now i need help to confirate that this external gpu is my main (primery) and disabled internal gpu.. so switch from internal to external
 

Attachments

  • Screenshot 2021-10-24 at 13.50.00 (2).png
    Screenshot 2021-10-24 at 13.50.00 (2).png
    734.1 KB · Views: 58
Joined
May 29, 2012
Messages
833
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
Good evening / day / basement?

I've got a MSI RX 6900 XT Gaming Z Trio which is the XTXH model and I'm attempting to get this to work. The device-id doesn't appear to be taking but the model rename does so I'm not sure where to go next. Any guidance would be helpful.

From gfxtool
Code:
03:00.0 1002:73af /PCI0@0/PEG1@1/PEGP@0/pci-bridge@0/GFX0@0 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)

IOReg:
Code:
    | +-o PCI0@0  <class IOACPIPlatformDevice, id 0x100000168, registered, matched, active, busy 0 (7375 ms), retain 170>
    | | +-o AppleACPIPCI  <class AppleACPIPCI, id 0x1000002b8, registered, matched, active, busy 0 (6877 ms), retain 82>
    | |   +-o pci8086,9b33@0  <class IOPCIDevice, id 0x1000002e9, registered, matched, active, busy 0 (0 ms), retain 28>
    | |   +-o PEG1@1  <class IOPCIDevice, id 0x10000023a, registered, matched, active, busy 0 (215 ms), retain 33>
    | |   | +-o IOPP  <class IOPCI2PCIBridge, id 0x1000002f4, registered, matched, active, busy 0 (215 ms), retain 30>
    | |   |   +-o PEGP@0  <class IOPCIDevice, id 0x10000023b, registered, matched, active, busy 0 (215 ms), retain 33>
    | |   |     +-o IOPP  <class IOPCI2PCIBridge, id 0x1000002fd, registered, matched, active, busy 0 (214 ms), retain 30>
    | |   |       +-o pci-bridge@0  <class IOPCIDevice, id 0x1000002ed, registered, matched, active, busy 0 (214 ms), retain 34>
    | |   |         +-o IOPP  <class IOPCI2PCIBridge, id 0x100000313, registered, matched, active, busy 0 (212 ms), retain 32>
    | |   |           +-o GFX0@0  <class IOPCIDevice, id 0x1000002ee, registered, matched, active, busy 0 (212 ms), retain 32>
    | |   |           | +-o AMDSupport  <class AMDSupport, id 0x1000004be, registered, matched, active, busy 0 (0 ms), retain 25>
    | |   |           | +-o .Display_boot  <class IONDRVFramebuffer, id 0x1000004bf, registered, matched, active, busy 0 (89 ms), retain 46>
    | |   |           |   +-o AppleMCCSControlModule  <class AppleMCCSControlModule, id 0x1000004d0, registered, matched, active, busy 0 (17 ms), retain 27>
    | |   |           |   | +-o AppleMCCSParameterHandler  <class AppleMCCSParameterHandler, id 0x1000004d7, registered, matched, active, busy 0 (0 ms), retain 25>
    | |   |           |   +-o AppleUpstreamUserClientDriver  <class AppleUpstreamUserClientDriver, id 0x1000004d1, registered, matched, active, busy 0 (0 ms), retain 25>
    | |   |           |   +-o AGPM  <class AGPM, id 0x100000521, registered, matched, active, busy 0 (0 ms), retain 28>
    | |   |           |   +-o display0  <class IODisplayConnect, id 0x100000555, registered, matched, active, busy 0 (0 ms), retain 26>
    | |   |           |   | +-o AppleDisplay  <class AppleDisplay, id 0x100000557, registered, matched, active, busy 0 (0 ms), retain 28>
    | |   |           |   +-o IOFramebufferUserClient  <class IOFramebufferUserClient, id 0x10000055b, !registered, !matched, active, busy 0, retain 25>
    | |   |           |   +-o IOFramebufferSharedUserClient  <class IOFramebufferSharedUserClient, id 0x1000006a9, !registered, !matched, active, busy 0, retain 25>
    | |   |           +-o HDAU@0,1  <class IOPCIDevice, id 0x1000002ef, registered, matched, active, busy 0 (121 ms), retain 32>
    | |   |             +-o AppleGFXHDAEGController@0,1  <class AppleGFXHDAEGController, id 0x1000004a3, registered, matched, active, busy 0 (0 ms), retain 32>
    | |   |               +-o AppleGFXHDADriver@0,1,0  <class AppleGFXHDADriver, id 0x1000004da, registered, matched, active, busy 0 (0 ms), retain 29>

config.plist:
Code:
                        <dict>
                                <key>Comment</key>
                                <string>BRG0</string>
                                <key>Enabled</key>
                                <true/>
                                <key>Path</key>
                                <string>SSDT-BRG0.aml</string>
                        </dict>


                        <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
                        <dict>
                                <key>device-id</key>
                                <data>v3MAAA==</data>
                                <key>model</key>
                                <string>Radeon RX 6900 XT (XTXH)</string>
                        </dict>

Used the DSL as set in the example and as my PCI path matched what vandroly had in #1317 and compiled it then included it. Is there anywhere I can check that all the SSDTs are loading correctly and the BRG0 is having an effect?


Hi @surgeinc

It looks like your path should be:

PCI0.PEG1.PEGP.BRG0.GFX0

I think you have to make that change. You can check if the SSDT correctly specifies the path by using IORegistryExplorer, then search for "GFX0"

Image 10-23-21 at 2.11 PM.jpeg



Then look down the list in the right panel for device-id. It should be <bf 73 00 00>. Ignore my example -- for some reason I had 2 device-id's, so I had to go an extra step to fix it. Everyone else seems to have 1 device-id and I hope you will too.
 
Top