Jump to content

Rx480 DSDT Injection


Mehrab
 Share

17 posts in this topic

Recommended Posts

Hey,

 

I am trying to inject my DSDT.aml with the AMD patch found here:

http://www.insanelymac.com/forum/topic/312582-amd-polaris-ids-on-1012-sierra/

 

I found my GFX0 string in the DSDT file, however every time I compile I get the error 6084 DTGP Object does not exist (Using MaciASL)

 

I was wondering if anyone had a solution for this? or could inject my DSDT.aml file?

 

Thank you.

DSDT.aml.zip

Link to comment
Share on other sites

AMD 3xx and 4xx not easy, u need reat topic calm like a bomb ;)

 

My r380 for work, i need enable integrated graphics and use second dvi, very suck, work, but i prefer nvidia

Link to comment
Share on other sites

Finally got it working. Reverted back to my original dsdt file then changed the amdradeon4100.kext file plist. Just added my PCI match key and it worked.

If you want to have it running with 36 CUs, you'll need to patch the AMDRadeonX4100.kext!

Link to comment
Share on other sites

Mehrab,

 

may i ask what kind of board you are using? And did you make it work without the use of any helper card, like IGPU or any smaller AMD/NVIDIA card?

Just patched your DSDT (like MaLd0n did it for you) and the patch of info.plist from AMDRadeonX4100.kext?

 

EDIT: just answered the question myself by patching my DSDT same way MaLd0n did - and guess what? Right, it DOESN'T work w/o a helper card. But i don't give up.

 

BTW: Framebuffer DAYMAN doesn't work anymore for a RX480. One have to use EXMOOR, BALADI or BERBICE (which i prefer for my Sapphire RX480 Nitro).

Link to comment
Share on other sites

Mehrab,

 

may i ask what kind of board you are using? And did you make it work without the use of any helper card, like IGPU or any smaller AMD/NVIDIA card?

Just patched your DSDT (like MaLd0n did it for you) and the patch of info.plist from AMDRadeonX4100.kext?

 

EDIT: just answered the question myself by patching my DSDT same way MaLd0n did - and guess what? Right, it DOESN'T work w/o a helper card. But i don't give up.

 

BTW: Framebuffer DAYMAN doesn't work anymore for a RX480. One have to use EXMOOR, BALADI or BERBICE (which i prefer for my Sapphire RX480 Nitro).

Why not just patch the vbios & boot blind? :)

Link to comment
Share on other sites

Scope (\_SB.PCI0)

            {
                Device (GFX0)
                {
                    Name (_ADR, 0x00020000)  // _ADR: Address
                    Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                    {
                        Store (Package (0x12)
                            {
                                "AAPL,slot-name", 
                                "Slot-1", 
                                "name", 
                                "AMD Graphics Controller", 
                                "model", 
                                Buffer (0x12)
                                {
                                    "AMD Radeon RX480"
                                }, 
 
 
look
 
duffs$ lspci
IGPU _ADR, 0x00020000 00:02.0 VGA compatible controller: Intel Corporation Unknown device 5912 (rev 04)
GFX0 _ADR, 0x01000000 01:00.0 VGA compatible controller: ATI Technologies
 
this is internal gnu.
external gpu would be on PEG0->PEGP
Link to comment
Share on other sites

If you want to have it running with 36 CUs, you'll need to patch the AMDRadeonX4100.kext!

Hey Okrasit,

What do you mean by this? Im not sure I know the difference. And how would I go about doing this patch?

Mehrab,

 

may i ask what kind of board you are using? And did you make it work without the use of any helper card, like IGPU or any smaller AMD/NVIDIA card?

Just patched your DSDT (like MaLd0n did it for you) and the patch of info.plist from AMDRadeonX4100.kext?

 

EDIT: just answered the question myself by patching my DSDT same way MaLd0n did - and guess what? Right, it DOESN'T work w/o a helper card. But i don't give up.

 

BTW: Framebuffer DAYMAN doesn't work anymore for a RX480. One have to use EXMOOR, BALADI or BERBICE (which i prefer for my Sapphire RX480 Nitro).

Hey Mark,

 

Im using the intergated GPU to boot. I have a Kaby Lake intel i5 with HD 630 graphics.

Are you lacking a iGPU or compatible graphics card? Or do you want a single monitor display?

 

For the latter, you can plug your iGPU into your monitors VGA and the RX480 into DVI port and switch sources after boot so you can navigate through the bios menu.

 

I don't know if this helps but its all I know.

 

I also read you can use FakeSMC for ATI in clover's boot config by setting it too something in the PCI Match keys, maybe that will work for you.

I believe you can use 0x67EF1002 or 0x67FF1002 but double check it.

Link to comment
Share on other sites

  • 2 months later...

Is there any information regarding the possibility of a RX480 driver that does not require a helper card?

No and there is also no solution for the new High Sierra, it will need a helper card or vbios mod (loose bios screen, clover screen and windows)

Link to comment
Share on other sites

  • 4 years later...

this also can be done using generic framebufer name ie let the driver detects it

 

in this same I'm using only 3 frame buffers if I don't do this the amd8000 controller defaults to 5

 

Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                {
                    Store (Package (0x0A)
                        {
                            "hda-gfx", 
                            Buffer (0x0A)
                            {
                                "onboard-1"
                            }, 

                            "@0,name", 
                            Buffer (0x1A)
                            {
                                "ATY,AMD,RadeonFramebuffer"
                            }, 

                            "@1,name", 
                            Buffer (0x1A)
                            {
                                "ATY,AMD,RadeonFramebuffer"
                            }, 

                            "@2,name", 
                            Buffer (0x1A)
                            {
                                "ATY,AMD,RadeonFramebuffer"
                            }, 

                            "AAPL02,override-no-edid", 
                            Buffer (0x80)
                            {
                                /* 0000 */  0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
                                /* 0008 */  0x04, 0x69, 0xD5, 0x19, 0x9C, 0x75, 0x00, 0x00,
                                /* 0010 */  0x17, 0x14, 0x01, 0x03, 0x08, 0x29, 0x1A, 0x78,
                                /* 0018 */  0xEA, 0x85, 0x85, 0xA6, 0x57, 0x4A, 0x9C, 0x26,
                                /* 0020 */  0x12, 0x50, 0x54, 0xBF, 0xEF, 0x80, 0x71, 0x4F,
                                /* 0028 */  0x81, 0x00, 0x81, 0x0F, 0x81, 0x40, 0x81, 0x80,
                                /* 0030 */  0x95, 0x00, 0x95, 0x0F, 0x01, 0x01, 0x9A, 0x29,
                                /* 0038 */  0xA0, 0xD0, 0x51, 0x84, 0x22, 0x30, 0x50, 0x98,
                                /* 0040 */  0x36, 0x00, 0x98, 0xFF, 0x10, 0x00, 0x00, 0x1C,
                                /* 0048 */  0x00, 0x00, 0x00, 0xFD, 0x00, 0x37, 0x4B, 0x1E,
                                /* 0050 */  0x53, 0x0F, 0x00, 0x0A, 0x20, 0x20, 0x20, 0x20,
                                /* 0058 */  0x20, 0x20, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x41,
                                /* 0060 */  0x53, 0x55, 0x53, 0x20, 0x56, 0x57, 0x31, 0x39,
                                /* 0068 */  0x33, 0x44, 0x0A, 0x20, 0x00, 0x00, 0x00, 0xFF,
                                /* 0070 */  0x00, 0x41, 0x36, 0x4C, 0x4D, 0x54, 0x46, 0x30,
                                /* 0078 */  0x33, 0x30, 0x31, 0x30, 0x38, 0x0A, 0x00, 0x06 
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

if u know that your card only uses 3 connectors u can fix a faulty edit this way

also edit the amd8000controller (or any) and change this

CFG_FB_LIMIT from 0 to 3 (like in this sample)

 

this allows the driver to try to probe connections and in this setup injected a custom edit on connector #3 (VGA port)

 

Link to comment
Share on other sites

 Share

×
×
  • Create New...