Contribute
Register

X299 Big Sur Support

Status
Not open for further replies.
I apologize for asking all these question and posting large screenshot but my next question if someone can help I want to try this RX5500XT SSDT posted by mattystonnie back a few months ago this is data is from a real mac and just want to figure out how to get this to load. I can see I need to change a few things adding additional DefinitionBlock external paths and modify the existing paths in External and Device path and have tried it just won't load. I think I also have to add a _STA method 0 for SL05 not sure why though. I am a bit confused on the SSDT from this thread lot of DATA in SSDT not sure where it comes from before the Method _DSM starting with Built in this is where I start to understand what is going on but the code before this the added methods OperationRegion and additional Device LCD, none of this to be found in my DSDT.

Would changing the paths removing his method starting with _PRW OSDW and replacing this method with DTGP make it load? Also the way the code is written he has a return package before loading AAPL,Slot-name rahter than using Method _DSM before the script Built-in starts.

I could try to load all the data in DeviceProperties but there is a huge amount of EFIBootmode data in the SSDT not sure how well this would sit in OC's DeviceProperties.

I attached the file if someone can give me some clues on what changes need to be made.


This is what seems to be in most of the SSDTs shared from this github

Code:
DefinitionBlock ("", "SSDT", 1, "KGP", "X299R580", 0x00000000)
{
    External (_SB_.PC02.BR2A, DeviceObj)
    External (_SB_.PC02.BR2A.PEGP, DeviceObj)
    External (_SB_.PC02.BR2A.SL05, DeviceObj)
    External (_SB_.PNLF.BSET, MethodObj)    // 1 Arguments
    External (BRTL, IntObj)
    External (DTGP, MethodObj)    // 5 Arguments
    External (EGPS, IntObj)

    Scope (_SB.PC02.BR2A)
    {
        Scope (SL05)
        {
            Name (_STA, Zero)  // _STA: Status
        }

        Scope (PEGP)
        {
            Name (_STA, Zero)  // _STA: Status
        }

        Device (GFX0)

Versus the file I attached:

Code:
DefinitionBlock ("", "SSDT", 2, "hack", "matty", 0x00000000)
{
    External (_SB_.PCI0.PEG0.PEGP.EGP1, DeviceObj)
    External (OSDW, MethodObj)    // 0 Arguments

    Device (_SB.PCI0.PEG0.PEGP.EGP1)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Device (GFX0)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If ((Arg2 == Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                             // .
                    })
                }

                Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                {
                    If (OSDW ())
                    {
                        Return (Package (0x02)
                        {
                            0x69,
                            0x03
                        })
                    }
                    Else
                    {
                        Return (Package (0x02)
                        {
                            0x69,
                            0x03
                        })
                    }
                }

                Return (Package (0x16)
                {
                    "AAPL,slot-name",
                    Buffer (0x19)
                    {
                        "Slot-1@0,1,0/0,0/0,0/0,0"
                    },

                    "@0,ATY,EFIDisplay",
                    Buffer (0x04)
                    {
                        "DP1"
                    },

                    "ATY,EFIVersionB",
                    Buffer (0x0F)


Just like that :
Capture d’écran 2020-09-30 à 22.24.37.png


Maybe you will need to add some
Code:
        }
    }

At the end of the SSDT to correctly set it.
 
Last edited:
@Loloflatsix

Sounds great I’ll try that. Did you get a chance to get a copy of the ioreg and look for device EC do you have AppleBusPowerController off EC and AppleACPIEC off EC0.
 
That SSDT still won't load I am wondering if you can add a second method in this case DTGP as it is in the original. There is already an existing MethodObj not sure if you can have two MethodObj? Not sure if that is all I need to do add the method and add DTGP at the end of each section would go in the SSDT in two places I think I tried this no luck, unless the SSDT code would need more modification throughout and not just as easy as adding the MethodObj and adding the DTGP string at the end?
 
That SSDT still won't load I am wondering if you can add a second method in this case DTGP as it is in the original. There is already an existing MethodObj not sure if you can have two MethodObj? Not sure if that is all I need to do add the method and add DTGP at the end of each section would go in the SSDT in two places I think I tried this no luck, unless the SSDT code would need more modification throughout and not just as easy as adding the MethodObj and adding the DTGP string at the end?
Try this one :

( adapted from X299 distribution and enhanced credit @mattystonnie )
 

Attachments

  • SSDT-5500XT-V1.aml
    1.9 KB · Views: 58
Last edited:
Thanks for helping just not sure why it doesn't want to load if it did we would see the framebuffer Python, hda-gfx onboard-1 would show onboard-2 and PCI System information would be different. Do I need a SSDT just for PCIe slot and the SSDT you just made together possibly?

I can try to add this to Device Properties would it be only the orange/red code that would go there besides of course the PCI address from hackentool and would HDAU be a separate Device Property? Not sure how Device Porperties would handle the ATY,EFIBootmode hex block. Is there a SSDT code to Device Property converter tool?

Thanks Again maybe eventually I will get this to work want to post my EFI when done.

Screen Shot 2020-10-01 at 9.35.54 PM.png


Screen Shot 2020-10-01 at 9.49.09 PM.png



Screen Shot 2020-10-01 at 9.36.16 PM.png
 
Last edited:
Thanks for helping just not sure why it doesn't want to load if it did we would see the framebuffer Python, hda-gfx onboard-1 would show onboard-2 and PCI System information would be different. Do I need a SSDT just for PCIe slot and the SSDT you just made together possibly?

I can try to add this to Device Properties would it be only the orange/red code that would go there besides of course the PCI address from hackentool and would HDAU be a separate Device Property? Not sure how Device Porperties would handle the ATY,EFIBootmode hex block. Is there a SSDT code to Device Property converter tool?

Thanks Again maybe eventually I will get this to work want to post my EFI when done.

View attachment 490211

View attachment 490213


View attachment 490212
The Asus Pro WS x299 Sage is similar to the Gigabyte WU-8. The two bridges make the creation of SSDTs less than trivial :lol:. Try this SSDT. It might work for you. The first part of the SSDT is working on the WU-8. I copied the other part from the SSDT posted previously.
Make sure that the descriptions on your SSDT match the Infos in your IOReg or it might never load.
EDIT: Do not forget the SSDT-DTGP.aml in your ACPI folder!

If it fails; here's a good read to create your own SSDT for GPU Injection:

The last & simpler option is to load your GPU via device properties; You'll need two for your GPU ( GFX & HDAU ). Check out my post here about this method:
I even saw people add some custom properties like SoftPowerplayTables for fan speed, memory, die clock frequency's and voltages with this quirk.

Best of luck, I'm sure you'll succeed :thumbup:
 

Attachments

  • SSDT-5500XT-V3.aml
    2 KB · Views: 67
Last edited:
11.0.20A5384c macOS Big Sur Beta
New public beta :

Screenshot 2020-09-30 at 14.01.39.png


Available via software update .
Not yet installed, the notification arrived after installing Big Sur beta on my GA X299 Aorus UG Pro on Wednesday, Maybe I'll try it later.
 
Thanks for helping just not sure why it doesn't want to load if it did we would see the framebuffer Python, hda-gfx onboard-1 would show onboard-2 and PCI System information would be different. Do I need a SSDT just for PCIe slot and the SSDT you just made together possibly?

I can try to add this to Device Properties would it be only the orange/red code that would go there besides of course the PCI address from hackentool and would HDAU be a separate Device Property? Not sure how Device Porperties would handle the ATY,EFIBootmode hex block. Is there a SSDT code to Device Property converter tool?

Thanks Again maybe eventually I will get this to work want to post my EFI when done.

View attachment 490211

View attachment 490213


View attachment 490212

As explained @Ellybz is missed some pci-bridges , so the SSDT shared on his post will worK.
 
Thanks for helping out that did not load but OC DeviceProperties loads it. Is there a good tutorial or tool to convert SSDT string byte data to the proper format in device properties of OpenCore. I don't know if you choose string or data to begin with when I chose Data it did not like the format 0x00 so maybe I need to convert another way?

For the RX5500XT the PCIRoot on my SAGE II is:

PciRoot(0x2)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x10,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)

Loading that in DeviceProperties I can add some code and see the changes in Ioreg such as @0,name string as ATY,Python

Below I tried Boa Framebuffer first gave a much lower Geekbench score back to Python gives the same scores with or without it.


Screen Shot 2020-10-02 at 12.26.42 PM.png


Screen Shot 2020-10-02 at 12.29.15 PM.png



Screen Shot 2020-10-02 at 12.01.16 PM.png


Now just want to add the rest from SSDT but this ATY,EFIBootMode has a huge chunk of data. I am using PlistEditorPro so with this go under Data most likely using PlistEditorPro? Cleaning all this up is a challenge to remove all the commas for example, then converting all the string byte array below to what?



Screen Shot 2020-10-02 at 12.04.05 PM.png
 
Last edited:
Thanks for helping out that did not load but OC DeviceProperties loads it. Is there a good tutorial on what the hexadecimal data in the SSDT should be converted to what type and added to device properties in OpenCore. I don't know if you choose string or data to begin with when I chose Data it did not like the format 0x00 so maybe I need to convert to decimal?

For the RX5500XT the PCIRoot on my SAGE II is:

PciRoot(0x2)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x10,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)

Loading that in DeviceProperties I can add some code and see the changes in Ioreg such as @0,name string as ATY,Python


View attachment 490247

Now just want to add the rest from SSDT but this ATY,EFIBootMode has a huge chunk of data. I am using PlistEditorPro so with this go under Data most likely as converted from hexadecimal to decimal using PlistEditorPro?



View attachment 490249
I made some research here #2,768 and maybe some improvement :

Please try this SSDT ;)
enhanced credit @mattystonnie


We should check on your DSDT
 

Attachments

  • SSDT-X299 -RX5500XT.aml
    2 KB · Views: 72
Last edited:
Status
Not open for further replies.
Back
Top