Jump to content

290X/390X 10.12 FB patch thread


MattsCreative
 Share

17 posts in this topic

Recommended Posts

So in 10.11.5 this patch worked for booting two monitors with clover 

 

  1. <key>ATIConnectorsController</key>
  2.         <string>8000</string>
  3.         <key>ATIConnectorsData</key>
  4.         <string>000400000403000000010300120403030004000004030000000101001102010100040000040300000001020021030202000400000403000000010400220504040004000004030000000105001000050500040000040300000001060020010606</string>
  5.         <key>ATIConnectorsPatch</key>
  6.         <string>000800000402000000010200220502030004000004030000000101011204010100040000040300000001020021030202040000001402000000010300110203040004000004030000000105001000050500020000040200000001040110000406</string>
 
So with that as a road map maybe we can get some of this patch working on 10.12 with dual monitors or 3 monitors
  ,
 
 
https://community.amd.com/message/2735210join here to try and get official driver support
  • Like 1
Link to comment
Share on other sites

Just look here.

I have explained here, how to get framebuffers from 10.x running under macOS 10.12 aka SIERRA. Hope, that helps.

the 290x is a bit harder than other amd cards to get working that's why i made the thread

Link to comment
Share on other sites

i've tried that patch wardev provided at irc, still no gui loading

 

the thing that crazes me is the recovery and the installer loads the gui with full support.

any ideas?

 

Saphire Vapor-X R9 290X Tri-X OC 4GB

Link to comment
Share on other sites

  • 2 weeks later...

Thanks so much for posting this! I was trying to fix dual monitor issue on el capitan for days..

 

 

So in 10.11.5 this patch worked for booting two monitors with clover 

 

  1. <key>ATIConnectorsController</key>
  2.         <string>8000</string>
  3.         <key>ATIConnectorsData</key>
  4.         <string>000400000403000000010300120403030004000004030000000101001102010100040000040300000001020021030202000400000403000000010400220504040004000004030000000105001000050500040000040300000001060020010606</string>
  5.         <key>ATIConnectorsPatch</key>
  6.         <string>000800000402000000010200220502030004000004030000000101011204010100040000040300000001020021030202040000001402000000010300110203040004000004030000000105001000050500020000040200000001040110000406</string>
 
So with that as a road map maybe we can get some of this patch working on 10.12 with dual monitors or 3 monitors
  ,

 

Link to comment
Share on other sites

I followed Mork's instructions and patched the AMD800Controller but had no luck.

 

Anyone else has any other idea?

 

Saphire R9 390X

can you give me that patch you made so i can test it 

Link to comment
Share on other sites

I will post tomorrow what I did, not sure if it'll work for anyone though.
 

Edit: 

 

Here are the changes that I made, let me know if I messed up anywhere:

 

I originally had it working for El Capitan with the following patch (Clover):

<key>ATIConnectorsController</key>
  <string>8000</string>
  <key>ATIConnectorsData</key>
  <string>000400000403000000010300120403030004000004030000000101001102010100040000040300000001020021030202000400000403000000010400220504040004000004030000000105001000050500040000040300000001060020010606</string>
  <key>ATIConnectorsPatch</key>
  <string>000800000402000000010200220504030004000004030000000101001204010100040000040300000001020020010306040000001402000000010300110205040004000004030000000104001000020500040000040300000001050020010606</string>

Here is the Original Baladi framebuffer for AMD8000Controller (290X and 390X) in Sierra:

00040000 04030000 00010300 00000000 12040303 00000000
00040000 04030000 00010100 00000000 11020101 00000000
00040000 04030000 00010200 00000000 21030202 00000000
00040000 04030000 00010400 00000000 22050404 00000000
00040000 04030000 00010500 00000000 10000505 00000000
00040000 04030000 00010600 00000000 20010606 00000000

So the modified buffer string should be: 

000800000402000000010200000000002205040300000000000400000403000000010100000000001204010100000000000400000403000000010200000000002001030600000000040000001402000000010300000000001102050400000000000400000403000000010400000000001000020500000000000400000403000000010500000000002001060600000000

In all the new patch should look as follows:

<key>ATIConnectorsController</key>
  <string>8000</string>
  <key>ATIConnectorsData</key>
  <string>000400000403000000010300000000001204030300000000000400000403000000010100000000001102010100000000000400000403000000010200000000002103020200000000000400000403000000010400000000002205040400000000000400000403000000010500000000001000050500000000000400000403000000010600000000002001060600000000</string>
  <key>ATIConnectorsPatch</key>
  <string>000800000402000000010200000000002205040300000000000400000403000000010100000000001204010100000000000400000403000000010200000000002001030600000000040000001402000000010300000000001102050400000000000400000403000000010400000000001000020500000000000400000403000000010500000000002001060600000000</string>

But it didn't work for me, although I think we are on the right track. While testing with the new patch I noticed that one of the screens flashed white for less than a second every 3 minutes or so, but I haven't had more time to continue troubleshooting.

 

Hopefully someone can help us out.

  • Like 1
Link to comment
Share on other sites

Try this:

<key>ATIConnectorsController</key>
    <string>8000</string>
        <key>ATIConnectorsData</key>
    <string>000400000403000000010300000000001204030300000000000400000403000000010100000000001102010100000000000400000403000000010200000000002103020200000000000400000403000000010400000000002205040400000000000400000403000000010500000000001000050500000000000400000403000000010600000000002001060600000000</string>
        <key>ATIConnectorsPatch</key>
    <string>000800000402000000010200000000002205020300000000000400000403000000010101000000001204010100000000000400000403000000010200000000002103020200000000040000001402000000010300000000001102030400000000000400000403000000010500000000001000050500000000000200000402000000010401000000001000040600000000</string>
Link to comment
Share on other sites

Help needed i don,t have any idea how to patch or what to do  AMD5000Controller.kext .  sorry if i'm wrong here

 

147X0000.S26:

 

JUNIPER BIOS UCODEv:122                                                     

 

Subsystem Vendor ID: 174b

       Subsystem ID: e147

Object Header Structure Size: 413

Connector Object Table Offset: 52

Router Object Table Offset: 0

Encoder Object Table Offset: 12c

Display Path Table Offset: 12

Connector Object Id [19] which is [DISPLAY_PORT]

encoder obj id [0x21] which is [iNTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false

 

Connector Object Id [12] which is [HDMI_TYPE_A]

encoder obj id [0x21] which is [iNTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true

 

Connector Object Id [2] which is [DVI_I]

encoder obj id [0x20] which is [iNTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false

 

Connector Object Id [2] which is [DVI_I]

encoder obj id [0x16] which is [iNTERNAL_KLDSCP_DAC2] linkb: false

 

Connector Object Id [2] which is [DVI_I]

encoder obj id [0x1e] which is [iNTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false

 

Connector Object Id [2] which is [DVI_I]

encoder obj id [0x15] which is [iNTERNAL_KLDSCP_DAC1 (osx txmit 0x00  enc 0x10?)]  linkb: false

 

 

 

 

ATOM BIOS Rom: 

SubsystemVendorID: 0x174b SubsystemID: 0xe147

IOBaseAddress: 0x0000

Filename: 147X0000.S26

BIOS Bootup Message: 

JUNIPER BIOS UCODEv:122                                                     

 

PCI ID: 1002:68b8

Connector at index 0

Type [@offset 44352]: DisplayPort (10)

Encoder [@offset 44356]: INTERNAL_UNIPHY2 (0x21)

i2cid [@offset 44480]: 0x91, OSX senseid: 0x2

Connector at index 1

Type [@offset 44362]: HDMI-A (11)

Encoder [@offset 44366]: INTERNAL_UNIPHY2 (0x21)

i2cid [@offset 44507]: 0x90, OSX senseid: 0x1

Connector at index 2

Type [@offset 44372]: DVI-I (2)

Encoder [@offset 44376]: INTERNAL_UNIPHY1 (0x20)

i2cid [@offset 44544]: 0x93, OSX senseid: 0x4

Connector at index 3

Type [@offset 44382]: DVI-I (2)

Encoder [@offset 44386]: INTERNAL_KLDSCP_DAC2 (0x16)

i2cid [@offset 44544]: 0x93, OSX senseid: 0x4

Connector at index 4

Type [@offset 44392]: DVI-I (2)

Encoder [@offset 44396]: INTERNAL_UNIPHY (0x1e)

i2cid [@offset 44581]: 0x92, OSX senseid: 0x3

Connector at index 5

Type [@offset 44402]: DVI-I (2)

Encoder [@offset 44406]: INTERNAL_KLDSCP_DAC1 (0x15)

i2cid [@offset 44581]: 0x92, OSX senseid: 0x3

 

i want to patch this 

 

-------------------------AMD5000Controller.kext------------------------- outputs from macOS Sierra DP 2

 

Vervet (4) @ 0x1af1a0

DP, , , SDVI

00040000000400000071000000000000

12040402000000000400000014000000

00710000000000000112010400000000

00020000140000000071000000000000

 

 

the card is sapphire radeon hd 5770

wrong card for this thread sorry 

Link to comment
Share on other sites

  • 2 weeks later...

Hi wardoc,

 

I tested your patch on my system with Yosemite (10.10.5) and had the same mixed results as we many other patches: it works with 2 DVI screens but I get random freezes with always the same error message in the log:

 

WindowsServer: Surface testing not allowed for .......

 

I patch with Clover, Card ID etc. is well recognised, graphic accelerations is working fine.

 

Can I expect an improvement with El Capitan for my card?

 

thanks, Haegar.

 

My config: Saphire RX290 4GB, Board: Gigabyte Z87X-UD7-TH

redsock_bios_decoder < Hawaii.rom
289X0500.X4F:

E289 Hawaii XT TRIX A0 GDDR5 4GB 64Mx32 300e/150m                           

Subsystem Vendor ID: 174b

       Subsystem ID: e289

Object Header Structure Size: 271

Connector Object Table Offset: 3e

Router Object Table Offset: 0

Encoder Object Table Offset: ce

Display Path Table Offset: 12

Connector Object Id [19] which is [DISPLAY_PORT]

	encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false

Connector Object Id [12] which is [HDMI_TYPE_A]

	encoder obj id [0x21] which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true

Connector Object Id [4] which is [DVI_D]

	encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false

Connector Object Id [4] which is [DVI_D]

	encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false
Link to comment
Share on other sites

  • 1 month later...
 Share

×
×
  • Create New...