/Users/yo > gfxutil
03:00.0 1002:73ff /PCI0@0/PEG0@1/PEGP@0/GFX0@0 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)
External (SB.PCI0.PEG0.PEGP, DeviceObj)
Scope (_SB.PCI0.PEG0.PEGP)
/*
* 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)
{
External (_SB_.PCI0.PEG0.PEGP, DeviceObj)
Scope (\_SB.PCI0.PEG0.PEGP)
{
/*
* This is a PCI bridge device present on PEGP.
* Normally seen as pci-bridge in I/O Registry.
*/
Device (BRG0)
{
Name (_ADR, Zero)
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0F)
}
Else
{
Return (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
}
}
}
}
Much appreciated! Thanks for you prompt response. Is it advisable to use this method for RX 6600 nowadays? Please@Detectivepundit
How to get the PCI path to the dGPU?
Check your PCI path, e.g. mine is /PCI0@0/PEG0@1/PEGP@0/GFX0@0 so my path is PCI0.PEG0.PEGP and my SSDT has these 2 lines:
- gfxutil utility in Terminal, look for the line containing GFX0@0 at the end
Code:/Users/yo > gfxutil 03:00.0 1002:73ff /PCI0@0/PEG0@1/PEGP@0/GFX0@0 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)
- Hackintool >> PCIe tab >> mouse over the line Navi 23 >> copy IOReg path.
C-like:External (SB.PCI0.PEG0.PEGP, DeviceObj) Scope (_SB.PCI0.PEG0.PEGP)
Modify the SSDT to your system.
This is the SSDT-BRG0 I have:
C-like:/* * 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) { External (_SB_.PCI0.PEG0.PEGP, DeviceObj) Scope (\_SB.PCI0.PEG0.PEGP) { /* * This is a PCI bridge device present on PEGP. * Normally seen as pci-bridge in I/O Registry. */ Device (BRG0) { Name (_ADR, Zero) Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (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 } } } }
Yes, it’s useful although most of the cards works good enough without it. I have the ssdt in both my 2 hacks with 6600 XT.Much appreciated! Thanks for you prompt response. Is it advisable to use this method for RX 6600 nowadays? Please
I wish I could find your post beforeYes, it’s useful although most of the cards works good enough without it. I have the ssdt in both my 2 hacks with 6600 XT.
Do you know that these cards can work without WhateverGreen and without agdpmod=pikera if SMBIOS is MacPro7,1 or iMacPro1,1?
Should I try disabling Whatevergreen and removing boot args?Yes, it’s useful although most of the cards works good enough without it. I have the ssdt in both my 2 hacks with 6600 XT.
Do you know that these cards can work without WhateverGreen and without agdpmod=pikera if SMBIOS is MacPro7,1 or iMacPro1,1?
It's worth trying.Should I try disabling Whatevergreen and removing boot args?
My SMBIOS model is set to MacPro7.1 already, and yes it boots without both WhateverGreen and agdpmod=pikera.It's worth trying.
Change the SMBIOS model to MacPro7.1 and see if it works better than now. Disabling WhateverGreen and removing agdpmod=pikera.
Remember to always have an EFI that boots macOS, on a USB or another disk, in case the one you try fails and macOS does not boot correctly.