Contribute
Register

Trying to spoof r9 390 with SSDT but failed (SOLVED)

Status
Not open for further replies.
Joined
Jul 5, 2012
Messages
421
Motherboard
ProDesk 400 G1 SFF
CPU
i5-4570
Graphics
HD 4600 / HD 7750
Mac
  1. iMac
  2. Mac Pro
Mobile Phone
  1. Android
  2. iOS
Old 2011 acer predator g3610 with i7 2600. Seems like I followed the directions but its not working for the SSDT. In the Dortania Guide, He mentions needing the slot info later but never spoke of it again. Lots of people have got it working so don't know.

Catalina at the moment.

Keep thinking I got it right but then it does not work. Reset the NVRam did not help.

Info I gathered:

mint@mint:~$ lspci -vmmnnD -d 1002::0300
Slot: 0000:01:00.0
Class: VGA compatible controller [0300]
Vendor: Advanced Micro Devices, Inc. [AMD/ATI] [1002]
Device: Hawaii PRO [Radeon R9 290/390] [67b1]
SVendor: Micro-Star International Co., Ltd. [MSI] [1462]
SDevice: Hawaii PRO [Radeon R9 290/390] [2015]
Rev: 80


PCIROOT(0)#PCI(0100)#PCI(0000)
ACPI(_SB_)#ACPI(PCI0)#ACPI(P0P1)#PCI(0000)
 

Attachments

  • OC.zip
    10.8 MB · Views: 43
Last edited:
Does the PEGP device exist already in your DSDT? The last part of the output you show makes me suspect that the device does not exist. It shows _SB.PCI0.POP1 but then just gives a PCI location. Run the below command once booted in macOS and have the terminal app open:
Code:
log show --last boot | grep -i acpi
This will show errors trying to run ACPI code, as well as all the loaded ACPI tables that macOS detects. If when trying to load your SSDT, it says that the PEGP device does not exist, you need to create that device in the SSDT. This changes the SSDT as such:

Before:
Code:
DefinitionBlock ("", "SSDT", 2, "DRTNIA", "AMDGPU", 0x00001000)
{
    External (_SB_.PCI0, DeviceObj)
    External (_SB_.PCI0.P0P1.PEGP, DeviceObj)

    Scope (\_SB.PCI0.P0P1.PEGP)
    {
        If (_OSI ("Darwin"))
        {
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                // I'm not going to type this all out
            }
        }
    }

    // Insert PCI0 scope with DTGP method
}

After:
Code:
DefinitionBlock ("", "SSDT", 2, "DRTNIA", "AMDGPU", 0x00001000)
{
    External (_SB_.PCI0, DeviceObj)
    // This external changes to the slot that the GPU is connected to
    External (_SB_.PCI0.P0P1, DeviceObj)

    // This scope changes to the slot
    Scope (\_SB.PCI0.P0P1)
    {
        If (_OSI ("Darwin"))
        {
            // Define the GPU device here
            Device (PEGP)
            {
                // Address of the GPU. Take PCI(0000) from your output and insert the number from it below
                Name (_ADR, 0x00000000)
                // Now we can add the _DSM method with the device properties
                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    // I'm not going to type this all out
                }
            }
        }
    }

    // Insert PCI0 scope with DTGP method
}

Edit: I forgot to add the device address, oops! I also attached the modified dsl file
 

Attachments

  • SSDT-GPU-SPOOF.dsl
    2.7 KB · Views: 38
Last edited:
Does the PEGP device exist already in your DSDT? The last part of the output you show makes me suspect that the device does not exist. It shows _SB.PCI0.POP1 but then just gives a PCI location. Run the below command once booted in macOS and have the terminal app open:
Code:
log show --last boot | grep -i acpi
This will show errors trying to run ACPI code, as well as all the loaded ACPI tables that macOS detects. If when trying to load your SSDT, it says that the PEGP device does not exist, you need to create that device in the SSDT. This changes the SSDT as such:

Before:
Code:
DefinitionBlock ("", "SSDT", 2, "DRTNIA", "AMDGPU", 0x00001000)
{
    External (_SB_.PCI0, DeviceObj)
    External (_SB_.PCI0.P0P1.PEGP, DeviceObj)

    Scope (\_SB.PCI0.P0P1.PEGP)
    {
        If (_OSI ("Darwin"))
        {
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                // I'm not going to type this all out
            }
        }
    }

    // Insert PCI0 scope with DTGP method
}

After:
Code:
DefinitionBlock ("", "SSDT", 2, "DRTNIA", "AMDGPU", 0x00001000)
{
    External (_SB_.PCI0, DeviceObj)
    // This external changes to the slot that the GPU is connected to
    External (_SB_.PCI0.P0P1, DeviceObj)

    // This scope changes to the slot
    Scope (\_SB.PCI0.P0P1)
    {
        If (_OSI ("Darwin"))
        {
            // Address of the GPU. Take PCI(0000) from your output and insert the number from it below
            Name (_ADR, 0x00000000)
            // Define the GPU device here
            Device (PEGP)
            {
                // Now we can add the _DSM method with the device properties
                Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    // I'm not going to type this all out
                }
            }
        }
    }

    // Insert PCI0 scope with DTGP method
}

Edit: I forgot to add the device address, oops! I also attached the modified dsl file

Something, maybe a setting OC is corrupting the Data disks I throw at it. Erased one disk, installed on another then installed on what I erased and it happened to both. Maybe from taking out the USB3 board to fit the Giant card in. With disrupting the map? all i can think of.

Thanks.. will have to sort it out and get back....
 
Last edited:
If you've got debug logging enabled, OC can wear down USBs a bit when writing those logs. If your not having issues with OC itself, I'd set Misc->Debug->Target to 0.
 
Makes sense.
 
If you've got debug logging enabled, OC can wear down USBs a bit when writing those logs. If your not having issues with OC itself, I'd set Misc->Debug->Target to 0.
made it on the system. Used the edited SSDT thus far and the log showed this or mostly that would relate:

Display:default] [WARN] - IOFBSetDisplayModeAndDepth: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P1@1/IOPP/GFX0@0/.Display_boot/display0/AppleDisplay-756e6b6e-717


gpu 0xba8a pci 0x1000001c0 IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P1@1/IOPP/GFX0@0
 
If you've got debug logging enabled, OC can wear down USBs a bit when writing those logs. If your not having issues with OC itself, I'd set Misc->Debug->Target to 0.
Hi,

Fishing around net, I saw a person who had the "B1" in the id and it worked for them to switch the 1 to 0. Tried it and now its working.

Thanks for the push in the right direction.
 
Not quite solved as far as working quite right. Does not wake from sleep but Whatevergreen provides audio and about Mac shows 8gb memory instead of 7mb with only display 0. Shows probably wrong connectors. DVI has no signal on either of the two and I did not have the good means to try the single DP port.

Seems to be par for the course from what Ive gathered in reading.
 
Last edited:
Status
Not open for further replies.
Back
Top