Jump to content

[HOW TO] Modification of AMD FB + Clover injection


Vlada.
 Share

397 posts in this topic

Recommended Posts

Have I done everything right?

 

Gigabyte HD6770, monitor connected to dual-dvi.

radeon_bios_decode:                                                 
          
PCI ID: 1002:68ba
Connector at index 0
	Type [@offset 44342]: DisplayPort (10)
	Encoder [@offset 44346]: INTERNAL_UNIPHY2 (0x21)
	i2cid [@offset 44434]: 0x91, OSX senseid: 0x2
Connector at index 1
	Type [@offset 44352]: HDMI-A (11)
	Encoder [@offset 44356]: INTERNAL_UNIPHY2 (0x21)
	i2cid [@offset 44461]: 0x93, OSX senseid: 0x4
Connector at index 2
	Type [@offset 44362]: DVI-I (2)
	Encoder [@offset 44366]: INTERNAL_UNIPHY1 (0x20)
	i2cid [@offset 44498]: 0x92, OSX senseid: 0x3
Connector at index 3
	Type [@offset 44372]: DVI-I (2)
	Encoder [@offset 44376]: INTERNAL_KLDSCP_DAC1 (0x15)
	i2cid [@offset 44498]: 0x92, OSX senseid: 0x3



redsock_bios_decoder:

Subsystem Vendor ID: 1458
       Subsystem ID: 2543
Object Header Structure Size: 291
Connector Object Table Offset: 3e
Router Object Table Offset: 0
Encoder Object Table Offset: d0
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 [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false


01 [DISPLAYPORT]
12 04 01 02

02 [HDMI]
22 05 02 04

03 [DVI-DL]
11 02 03 03

04 [DVI]
00 10 04 03

Personality Hoolock:

—>original

00  04  00  00  04  06  00  00  00  01  00  00  21  03  05  01 DP
00  04  00  00  04  06  00  00  00  01  00  00  11  02  04  02 DP
04  00  00  00  14  02  00  00  00  01  00  00  02  04  01  03 DVI-DL

—>new

00  04  00  00  04  06  00  00  00  01  03  00  12  04  01  02 DP
00  08  00  00  00  02  00  00  00  01  02  00  22  05  02  04 HDMI
04  00  00  00  14  02  00  00  00  01  01  00  11  02  03  03 DVI-DL

So all I have to do now is patch my AMD5000Controller kext? Can someone look if I made any mistakes?

 

Thanks! 

 

EDIT: worked only if I set Radeon FB name. Not sure why.

Link to comment
Share on other sites

I am trying to get my XFX R9 270X working. It has 2xMini-DP, 1xHDMI, 1xDVI-I, and 1xDVI-D. It is loading the AMD7000Controller kext. I can get 2 monitors working, but can't get my third.

 

ATOM BIOS Rom: 

SubsystemVendorID: 0x1682 SubsystemID: 0x9275

IOBaseAddress: 0x0000

Filename: 270CDF22.W8 

BIOS Bootup Message: 

C63101 CURACAO XT GDDR5 64Mx32 2GB 150e/150m                             

 

PCI ID: 1002:6810

Connector at index 0

Type [@offset 43056]: DisplayPort (10)

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

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

Connector at index 1

Type [@offset 43066]: DisplayPort (10)

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

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

Connector at index 2

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

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

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

Connector at index 3

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

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

i2cid [@offset 43275]: 0x95, OSX senseid: 0x6

Connector at index 4

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

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

i2cid [@offset 43275]: 0x95, OSX senseid: 0x6

Connector at index 5

Type [@offset 43106]: DVI-D (3)

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

i2cid [@offset 43302]: 0x94, OSX senseid: 0x5

 

270CDF22.W8 :

 

C63101 CURACAO XT GDDR5 64Mx32 2GB 150e/150m                             

 

Subsystem Vendor ID: 1682

       Subsystem ID: 9275

Object Header Structure Size: 419

Connector Object Table Offset: 52

Router Object Table Offset: 0

Encoder Object Table Offset: 12a

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 [19] which is [DISPLAY_PORT]

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

Connector Object Id [12] which is [HDMI_TYPE_A]

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 [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

Connector Object Id [3] which is [DVI_D]

encoder obj id [0x20] which is [iNTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true

 

I tried manually patching as MaguroS

MaguroS (6) @ 0x1a3250

DP, DP, DP, DP, DP, DP

00040000040300000001010711020103

00040000040300000001020721030204

00040000040300000001030712040301

00040000040300000001040722050402

00040000040300000001050710000505

00040000040300000001060720010606

 

Patched:

00040000040300000001010712040101 Mini DP

00040000040300000001020722050202 Mini DP

00080000000200000001030711020303 HDMI

00020000040200000001040710000406 DVI-I

00020000040200000001050700100506 DVI-I

04000000140200000001060721030605 DVI-D

 

But that didn't work. Any insight into this would be helpful.

Link to comment
Share on other sites

I am trying to get my XFX R9 270X working. It has 2xMini-DP, 1xHDMI, 1xDVI-I, and 1xDVI-D. It is loading the AMD7000Controller kext. I can get 2 monitors working, but can't get my third.

 

ATOM BIOS Rom: 

SubsystemVendorID: 0x1682 SubsystemID: 0x9275

IOBaseAddress: 0x0000

Filename: 270CDF22.W8 

BIOS Bootup Message: 

C63101 CURACAO XT GDDR5 64Mx32 2GB 150e/150m                             

 

PCI ID: 1002:6810

Connector at index 0

Type [@offset 43056]: DisplayPort (10)

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

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

Connector at index 1

Type [@offset 43066]: DisplayPort (10)

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

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

Connector at index 2

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

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

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

Connector at index 3

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

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

i2cid [@offset 43275]: 0x95, OSX senseid: 0x6

Connector at index 4

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

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

i2cid [@offset 43275]: 0x95, OSX senseid: 0x6

Connector at index 5

Type [@offset 43106]: DVI-D (3)

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

i2cid [@offset 43302]: 0x94, OSX senseid: 0x5

 

270CDF22.W8 :

 

C63101 CURACAO XT GDDR5 64Mx32 2GB 150e/150m                             

 

Subsystem Vendor ID: 1682

       Subsystem ID: 9275

Object Header Structure Size: 419

Connector Object Table Offset: 52

Router Object Table Offset: 0

Encoder Object Table Offset: 12a

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 [19] which is [DISPLAY_PORT]

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

Connector Object Id [12] which is [HDMI_TYPE_A]

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 [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

Connector Object Id [3] which is [DVI_D]

encoder obj id [0x20] which is [iNTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true

 

I tried manually patching as MaguroS

MaguroS (6) @ 0x1a3250

DP, DP, DP, DP, DP, DP

00040000040300000001010711020103

00040000040300000001020721030204

00040000040300000001030712040301

00040000040300000001040722050402

00040000040300000001050710000505

00040000040300000001060720010606

 

Patched:

00040000040300000001010712040101 Mini DP

00040000040300000001020722050202 Mini DP

00080000000200000001030711020303 HDMI

00020000040200000001040710000406 DVI-I

00020000040200000001050700100506 DVI-I

04000000140200000001060721030605 DVI-D

 

But that didn't work. Any insight into this would be helpful.

Which ports are you using for your 3 monitors? I can tell you that on my R9 270x I was never able to use DP and DVI-D at the same time. I am good with DP and HDMI or HDMI and DVI-D (2 monitors).

Link to comment
Share on other sites

Can someone post FB list for 10.11 GM (15A282a) please ?

 

ati-personality.pl.0.15 doesn't work with the last OS X and my previous FB patch for my Sapphire AMD Radeon HD 7770 1 Gb doesn't work anymore :(.

Video outputs for Sapphire AMD Radeon HD 7770 1 Gb DVI-I/HDMI/DP/DP

0000000 00 04 00 00 04 03 00 00 00 01 00 00 12 04 01 02
0000010 00 04 00 00 04 02 00 00 00 01 00 00 22 05 02 05
0000020 00 08 00 00 00 02 00 00 00 01 00 00 11 02 03 01
0000030 04 00 00 00 14 02 00 00 00 01 00 00 10 00 04 04

Personality: Futomaki
ConnectorInfo count in decimal: 4
Disk offset in decimal 1690320
0000000    00  04  00  00  04  03  00  00  00  01  01  01  12  04  04  01
0000010    00  04  00  00  04  03  00  00  00  01  02  01  22  05  05  02
0000020    04  00  00  00  14  02  00  00  00  01  03  00  00  00  06  06
0000030    00  08  00  00  04  02  00  00  00  01  04  00  11  02  01  03
0000040



original

00040000040300000001010112040401000400000403000000010201220505020400000014020000000103000000060600080000040200000001040011020103

patch

00040000040300000001000012040102000400000402000000010000220502050008000000020000000100001102030104000000140200000001000010000404
Link to comment
Share on other sites

Here you go, also I have attached a php script that does the same thing that ati-personality.pl.0.15 does, just open terminal and type php and then drag and drop the php script in and hit enter:

-------------------------AMD2400Controller.kext-------------------------

Iago (2) @ 0xa0b60
LVDS, ????
02000000400000000900000000010012
0010000016000000c400000010000111

-------------------------AMD2600Controller.kext-------------------------

Hypoprion (2) @ 0xa0b40
LVDS, ????
02000000400000000900000000010012
0010000016000000c400000010000111

Lamna (2) @ 0xa0b60
SDVI, DDVI
00020000140000008000000000010211
04000000160000008000000000100112

-------------------------AMD3800Controller.kext-------------------------

Megalodon (3) @ 0xa1b30
SDVI, DDVI, SVIDEO
00020000140000000000000000010211
04000000160000000000000000100112
80000000020000000400000000100000

Triakis (2) @ 0xa1b60
SDVI, DDVI
00020000140000000000000000010211
04000000160000000000000000100112

-------------------------AMD4600Controller.kext-------------------------

Flicker (3) @ 0x9eaf0
DP, DP, SDVI
00040000000400000001000002010305
00040000000400000001000001000202
00020000140200000001000000100104

Gliff (3) @ 0x9eb20
LVDS, LVDS, DP
02000000400000000901000002010003
02000000000100000901000020010202
00040000040600000001000010000101

Shrike (3) @ 0x9eb50
LVDS, LVDS, DP
02000000400000000901000002010003
02000000000100000901000020010202
00040000040300000001000010000101

-------------------------AMD4800Controller.kext-------------------------

Cardinal (2) @ 0x9db00
SDVI, DDVI
00020000140200000001000001010104
04000000140200000001000000100203

MotMot (2) @ 0x9db20
DP, DDVI
00040000040100000001000010000203
04000000140200000001000001110104

Quail (3) @ 0x9db40
LVDS, LVDS, DP
02000000400000000901000022010007
02000000000100000901000020010304
00040000040300000001000010000203

-------------------------AMD5000Controller.kext-------------------------

Douc (2) @ 0x1bf8d0
LVDS, DP
02000000000500000903000021030202
00040000040200000003000011020101

Langur (3) @ 0x1bf8f0
DP, DP, DDVI
00040000040600000001000021030402
00040000040600000001000011020101
04000000140200000001000002040503

Uakari (4) @ 0x1bf920
DP, DDVI, SDVI, HDMI
00040000000400000071000012040401
04000000140000000071000001120103
00020000140000000071000000000605
00080000000200000071000022050504

Zonalis (6) @ 0x1bf960
DP, DP, DP, DP, DP, DP
00040000040600000071000020010606
00040000040600000071000010000505
00040000040600000071000021030204
00040000040600000071000011020103
00040000040600000071000022050402
00040000040600000071000012040301

Alouatta (4) @ 0x1bf9c0
LVDS, DP, DP, DP
02000000000100000901000012040303
00040000040600000071000011020101
00040000040600000071000021030202
00040000040600000071000022050404

Hoolock (3) @ 0x1bfa00
DP, DP, DDVI
00040000040600000001000021030501
00040000040600000001000011020402
04000000140200000001000002040103

Vervet (4) @ 0x1bfa30
DP, DDVI, SDVI, HDMI
00040000000400000071000012040402
04000000140000000071000001120104
00020000140000000071000000000603
00080000000200000071000022050501

Baboon (3) @ 0x1bfa70
DDVI, HDMI, VGA
04000000140000000001000001020103
00080000000200000071000022050201
10000000100000000001000000100002

Eulemur (3) @ 0x1bfaa0
DDVI, HDMI, VGA
04000000140000000001000001020104
00080000000200000071000012040402
10000000100000000000000000100001

Galago (2) @ 0x1bfae0
LVDS, DP
02000000000100000903000021030202
00040000040600000073000011020101

Colobus (2) @ 0x1bfb10
LVDS, DP
02000000000100000903000021030202
00040000040600000073000011020101

Mangabey (2) @ 0x1bfb40
LVDS, DP
02000000400000000901000000000003
00040000040600000073000011020101

Nomascus (4) @ 0x1bfb70
LVDS, LVDS, DP, DP
02000000400000000901000000000005
02000000000100000903000012040303
00040000040600000073000011020101
00040000040700000073000021030202

Orangutan (2) @ 0x1bfbc0
LVDS, DP
02000000400000000901000000000005
00040000040600000073000011020101

-------------------------AMD6000Controller.kext-------------------------

Pithecia (2) @ 0x1c4de0
DP, DDVI
00040000040300000001000021030204
04000000140200000001000000000403

Bulrushes (6) @ 0x1c4e00
DP, DP, DP, DP, DP, DP
00040000040300000001000011020101
00040000040300000001000021030202
00040000040300000001000012040303
00040000040300000001000022050404
00040000040300000001000010000505
00040000040300000001000020010606

Cattail (4) @ 0x1c4e60
LVDS, DP, DP, DP
02000000400000002905000000000005
00040000040300000001000011020101
00040000000100000009100021030202
00040000000100000009100012040303

Hydrilla (5) @ 0x1c4ea0
LVDS, DP, DP, DP, DP
02000000000100000901000012040303
00040000040300000001000011020101
00040000000100000009100021030202
00040000000100000009100022050504
00040000040300000001000010000405

Duckweed (4) @ 0x1c4ef0
DP, DP, HDMI, SDVI
00040000040300000001000012040401
00040000040300000001000022050502
00080000040200000001000011020304
00020000140200000001000000000605

Fanwort (4) @ 0x1c4f30
LVDS, DP, DP, DP
02000000400000002905000000000004
00040000040300000001000011020101
00040000000100000009100021030202
00040000000100000009100012040303

Elodea (5) @ 0x1c4f70
LVDS, DP, DP, DP, DP
02000000000100000901000012040303
00040000040300000001000010000505
00040000040300000001000011020101
00040000000100000009100021030202
00040000000100000009100022050404

Kudzu (2) @ 0x1c4fc0
DP, HDMI
00040000040300000001000012040303
00080000040200000001000011020101

Gibba (5) @ 0x1c4fe0
DP, DP, HDMI, SDVI, DDVI
00040000040300000001000012040501
00040000040300000001000022050402
00080000040200000001000011020604
00020000140200000001000000000305
04000000040200000001000011020103

Lotus (3) @ 0x1c5030
DP, HDMI, DP
00040000040300000001000011020101
00080000040200000001000022050404
00040000000100000001000021030202

Ipomoea (3) @ 0x1c5060
DP, HDMI, VGA
00040000040300000001000012040105
00080000040200000001000011020403
10000000100000000001000000000002

Muskgrass (4) @ 0x1c5090
DP, DP, DP, HDMI
00040000040300000001010011020101
00040000000100000009120021030202
00040000000100000009130022050404
00080000040200000001040012040303

Juncus (4) @ 0x1c50d0
DP, DP, DP, DP
00040000040300000001000012040303
00040000040300000001000010000405
00040000040300000001000011020101
00040000040300000001000021030202

Osmunda (4) @ 0x1c5110
LVDS, DP, DP, HDMI
02000000000100002905010010000505
00040000040300000009020011020101
00040000040300000009030021030202
00080000040200000001040012040303

Pondweed (3) @ 0x1c5150
LVDS, DP, DP
02000000000100000901010010000505
00040000040300000001020011020101
00040000040300000001030021030202

Spikerush (4) @ 0x1c5180
LVDS, DP, DP, DP
02000000400000002905010000000005
00040000040300000001020011020101
00040000000100000009020021030202
00040000000100000009030012040303

Typha (5) @ 0x1c51c0
DP, DP, DP, DP, DDVI
00040000040300000001010011020401
00040000040300000001020021030502
00040000000100000009030010000205
00040000000100000009040020010306
04000000140200000001050002040103

-------------------------AMD7000Controller.kext-------------------------

Ramen (6) @ 0x1cc220
LVDS, HDMI, DP, DP, DP, DP
02000000000100002905011020010506
00080000040200000001020010000305
00040000040300000001030711020101
00040000000100000001040321030403
00040000040300000001050712040202
00040000000100000001060322050403

Tako (6) @ 0x1cc2f0
LVDS, LVDS, DP, DP, DP, DP
02000000000100000001010322050204
02000000000100000001020312040103
00040000040300000001030711020301
00040000000100000001040321030505
00040000040300000001050710000402
00040000000100000001060320010505

Namako (4) @ 0x1cc350
LVDS, LVDS, DP, DP
02000000000100000001010322050202
02000000000100000001020312040101
00040000040300000001030711020303
00040000040300000001040721030404

Aji (4) @ 0x1cc3f0
DP, DP, DDVI, HDMI
00040000040300000001010112040501
00040000040300000001020122050402
04000000140200000001030000000306
00080000040200000001040011020104

Buri (4) @ 0x1cc430
LVDS, DP, DP, HDMI
02000000000100002905010010000505
00040000040300000009020011020101
00040000040300000009030021030202
00080000040200000001040012040303

Chutoro (5) @ 0x1cc470
LVDS, DP, DP, DP, DP
02000000000100000901010012040303
00040000040300000001020111020101
00040000000100000009030021030202
00040000000100000009040022050404
00040000040300000001050010000505

Dashimaki (4) @ 0x1cc4c0
DP, DP, DDVI, HDMI
00040000040300000001010112040202
00040000040300000001020022050305
04000000140200000001030100000404
00080000040200000001040011020101

Ebi (5) @ 0x1cc500
LVDS, DP, DP, DP, DP
02000000000100000901010012040303
00040000040300000001020111020101
00040000000100000009030121030202
00040000000100000009040122050404
00040000040300000001050110000505

Gari (5) @ 0x1cc550
LVDS, DP, DP, DP, DP
02000000000100000901010012040303
00040000040300000001020111020101
00040000000100000009030021030202
00040000000100000009040022050404
00040000040300000001050010000505

Futomaki (4) @ 0x1cc5d0
DP, DP, DDVI, HDMI
00040000040300000001010112040401
00040000040300000001020122050502
04000000140200000001030000000606
00080000040200000001040011020103

Hamachi (4) @ 0x1cc610
DP, DP, DDVI, HDMI
00040000040300000001010112040501
00040000040300000001020122050402
04000000140200000001030000000306
00080000040200000001040011020104

OPM (6) @ 0x1cc690
DP, DP, DP, DP, DP, DP
00040000040300000001000111020101
00040000040300000001000121030202
00040000040300000001000112040303
00040000040300000001000122050404
00040000040300000001000110000505
00040000140300000001000120010606

Ikura (1) @ 0x1cc6f0
HDMI
00080000040200000001010012040301

IkuraS (6) @ 0x1cc700
DP, DP, DP, DP, DP, DP
00040000040300000001010711020103
00040000040300000001020721030204
00040000040300000001030712040301
00040000040300000001040722050402
00040000040300000001050710000505
00040000040300000001060720010606

Junsai (6) @ 0x1cc760
DP, DP, DP, DP, DP, DP
00040000040300000001000112040301
00040000040300000001000122050402
00040000040300000001000111020103
00040000040300000001000121030204
00040000040300000001000110000505
00040000040300000001000120010606

Kani (1) @ 0x1cc7c0
HDMI
00080000040200000001010012040301

KaniS (6) @ 0x1cc7d0
DP, DP, DP, DP, DP, DP
00040000040300000001010711020103
00040000040300000001020721030204
00040000040300000001030712040301
00040000040300000001040722050402
00040000040300000001050710000505
00040000040300000001060720010606

DashimakiS (4) @ 0x1cc830
DP, DP, DDVI, HDMI
00040000040300000001010112040202
00040000040300000001020122050305
04000000140200000001030000000404
00080000040200000001040011020101

Maguro (1) @ 0x1cc870
HDMI
00080000040200000001010012040301

MaguroS (6) @ 0x1cc880
DP, DP, DP, DP, DP, DP
00040000040300000001010711020103
00040000040300000001020721030204
00040000040300000001030712040301
00040000040300000001040722050402
00040000040300000001050710000505
00040000040300000001060720010606

-------------------------AMD8000Controller.kext-------------------------

Exmoor (6) @ 0x1c5f20
LVDS, LVDS, DP, DP, DP, DP
02000000000100000001010322050204
02000000000100000001020312040103
00040000040300000001030711020301
00040000000100000001040321030505
00040000040300000001050710000402
00040000000100000001060320010505

Baladi (6) @ 0x1c6080
DP, DP, DP, DP, DP, DP
00040000040300000001030012040303
00040000040300000001010011020101
00040000040300000001020021030202
00040000040300000001040022050404
00040000040300000001050010000505
00040000040300000001060020010606

-------------------------AMD9000Controller.kext-------------------------

Exmoor (6) @ 0x1c3c50
LVDS, LVDS, DP, DP, DP, DP
02000000000100000001010322050204
02000000000100000001020312040103
00040000040300000001030711020301
00040000000100000001040321030505
00040000040300000001050710000402
00040000000100000001060320010505

OPM (6) @ 0x1c3cb0
DP, DP, DP, DP, DP, DP
00040000040300000000000110000101
00040000040300000000000120010202
00040000040300000000000111020303
00040000040300000000000121030404
00040000040300000000000112040505
00040000040300000000000122050606

GreyhoundS (1) @ 0x1c3d10
HDMI
00080000040200000001010012040301

Labrador (6) @ 0x1c3db0
LVDS, LVDS, DP, DP, DP, DP
02000000000100000001010321030204
02000000000100000001020311020103
00040000040300000001030710000301
00040000000100000001040320010505
00040000040300000001050712040402
00040000000100000001060322050505

Basset (4) @ 0x1c3e10
LVDS, LVDS, DP, DP
02000000000100000001010321030202
02000000000100000001020311020101
00040000040300000001030710000303
00040000040300000001040720010404

Greyhound (6) @ 0x1c3ed0
DP, DP, DP, DP, DP, DP
00040000040300000001010710000103
00040000040300000001020720010204
00040000040300000001030711020301
00040000040300000001040721030402
00040000040300000001050712040505
00040000040300000001060722050606

Baladi (6) @ 0x1c3f50
DP, DP, DP, DP, DP, DP
00040000040300000001030012040303
00040000040300000001010011020101
00040000040300000001020021030202
00040000040300000001040022050404
00040000040300000001050010000505
00040000040300000001060020010606

ATI_FrameBuffers.php.zip

  • Like 2
Link to comment
Share on other sites

Thanks !
 
Surprisingly, I just removed Futomaki FB Name in Clover's config.plist and it now works perfect :surprised:  !
 
Anyway, I guess this will be helpful for the others :thumbsup_anim: .
 

Here you go, also I have attached a php script that does the same thing that ati-personality.pl.0.15 does, just open terminal and type php and then drag and drop the php script in and hit enter

Thanks too for that ! I was looking for such a tool :D !

post-1163891-0-71016200-1442277578_thumb.png

post-1163891-0-43879300-1442277582_thumb.png

Link to comment
Share on other sites

Surprisingly, I just removed Futomaki FB Name in Clover's config.plist and it now works perfect :surprised:  !

 

[EDIT] Forget it. The problem occurred only when updating via "OS X Install app" method. Once done, with FB name back in Clover, the patch works… randomly :surprised:.

 

Seems like I need to make another one based on new FB values.

 

Damn. I just realized reading the new values that they are the same :blush:. So it's a problem with the new AMD kexts I guess…

 

Let's wait the final release then.

Link to comment
Share on other sites

Which ports are you using for your 3 monitors? I can tell you that on my R9 270x I was never able to use DP and DVI-D at the same time. I am good with DP and HDMI or HDMI and DVI-D (2 monitors).

 

I have tried multiple scenarios. I have tried DP, DVI-I and DVI-D, I have tried moving third from DP to HDMI and still having issue. I know the ports are working, because when I unplug a monitor from one of the ports, the third will come up on which ever port it is plugged into. It seems that it wants to only run 2 monitors.

Link to comment
Share on other sites

  • 3 weeks later...

Hi all,

 

I'm trying to patch my Sapphire R9 290X Tri-X O/C 4GB card, but the monitor goes to sleep after patching (I have only 1 Full HD monitor, so no multi-monitor setup and the monitor is plugged into the HDMI slot). I followed the guide to the letter and did exactly how it was explained.

 

My graphics card has 4 connectors, but in the 8000Controller kext are only 2 framebuffers (baladi & exmoor) which are both defined as 6 connectors.

 

I previously used the below patch in Yosemite with the Baladi FB which worked beautifully (credits to Pavo for his great patch work :D). In El Capitan I can still boot with it, but I get image tearing on the screen (only when moving windows around). It does have QE/CI, just as it had in Yosemite. Color depth in System Profiler says CGSThirtyBitColor :S. I can also boot without any patches and injection, but then I need to replug the cable (screen is black, but not to sleep). Also, Clover sets the default framebuffer to Futomaki (but it doesn't is inside the 8000Controller?!).

00 08 00 00  04 02 00 00  00 01 02 00  22 05 02 03
00 04 00 00  04 03 00 00  00 01 01 01  12 04 01 01
00 04 00 00  04 03 00 00  00 01 02 00  21 03 02 02
04 00 00 00  14 02 00 00  00 01 03 00  11 02 03 04
00 04 00 00  04 03 00 00  00 01 05 00  10 00 05 05
00 02 00 00  04 02 00 00  00 01 04 01  10 00 04 06

---

 

The current Baladi framebuffer as it is present in the released El Capitan 10.11 is as follows:

Personality: Baladi
ConnectorInfo count in decimal: 6
Disk offset in decimal 1859712
0000000    00  04  00  00  04  03  00  00  00  01  03  00  12  04  03  03
0000010    00  04  00  00  04  03  00  00  00  01  01  00  11  02  01  01
0000020    00  04  00  00  04  03  00  00  00  01  02  00  21  03  02  02
0000030    00  04  00  00  04  03  00  00  00  01  04  00  22  05  04  04
0000040    00  04  00  00  04  03  00  00  00  01  05  00  10  00  05  05
0000050    00  04  00  00  04  03  00  00  00  01  06  00  20  01  06  06
0000060

Now, the output from both BIOS decoders are as follows:

 

Redsock decoder:

285X0500.OU5:

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

Subsystem Vendor ID: 174b
       Subsystem ID: e285
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

Radeon decoder:

ATOM BIOS Rom: 
	SubsystemVendorID: 0x174b SubsystemID: 0xe285
	IOBaseAddress: 0x0000
	Filename: 285X0500.OU5
	BIOS Bootup Message: 
C67101 Hawaii XT A0 GDDR5 4GB 64Mx32 300e/150m                              

PCI ID: 1002:67b0

Connector at index 0
	Type [@offset 43532]: DisplayPort (10)
	Encoder [@offset 43536]: INTERNAL_UNIPHY2 (0x21)
	i2cid [@offset 43624]: 0x90, OSX senseid: 0x1

Connector at index 1
	Type [@offset 43542]: HDMI-A (11)
	Encoder [@offset 43546]: INTERNAL_UNIPHY2 (0x21)
	i2cid [@offset 43651]: 0x92, OSX senseid: 0x3

Connector at index 2
	Type [@offset 43552]: DVI-D (3)
	Encoder [@offset 43556]: INTERNAL_UNIPHY1 (0x20)
	i2cid [@offset 43678]: 0x93, OSX senseid: 0x4

Connector at index 3
	Type [@offset 43562]: DVI-D (3)
	Encoder [@offset 43566]: INTERNAL_UNIPHY (0x1e)
	i2cid [@offset 43705]: 0x95, OSX senseid: 0x6

The guide said to combine values from both BIOS decoder outputs, for me it looks like this:

12 04 01 01      //DP
22 05 02 03      //HDMI-A
11 02 05 04      //DVI-D #1 (top)
10 00 05 06      //DVI-D #2 (bottom)

The constructed framebuffer in the end looks like this:

00 04 00 00  04 03 00 00  00 01 02 00  12 04 01 01    //DP
00 08 00 00  00 02 00 00  00 01 01 00  22 05 02 03    //HDMI-A
04 00 00 00  14 02 00 00  00 01 03 00  11 02 05 04    //DVI-DL
04 00 00 00  14 02 00 00  00 01 04 00  10 00 05 06    //DVI-DL

I have put this in the ATIConnectorsData and ATIConnectorsPatch fields in Clover configuration like so:

ATIConnectorsData:
000400000403000000010300120403030004000004030000000101001102010100040000040300000001020021030202000400000403000000010400220504040004000004030000000105001000050500040000040300000001060020010606

ATIConnectorsPatch:
00040000040300000001020012040101000800000002000000010100220502030400000014020000000103001102050404000000140200000001040010000506

But when rebooting, the screen goes black and to standby mode.

 

I must be doing something wrong (maybe I need to append the original 2 connectors or have the ordering wrong, I don't know), but I can't figure it out. If there is somebody who could help, that would be awesome!

 

I have also attached my ROM just in case it is useful :)

 

 

edit: typo

1002_67b0_e285174b.rom.zip

Edited by MacFaulty
Link to comment
Share on other sites

What if you force Clover to use the Baladi FB and set InjectATI=true in config.plist (in case you didn't set it) ?

 

Hi there,

 

Thanks for the quick response. This is with injectATI and explicitly setting the baladi framebuffer.

Now, if I clear everything (no GFX patching) and leave the Clover defaults (InjectATI + Futomaki FB), the screen is black, but after replug it is stable (the known bug sort to speak).

 

I wonder what I need to try to make it work...

Link to comment
Share on other sites

It won't break anything. Keep in mind that all of this is just software related. It's not like flashing the vbios or anything like that ;).

 

Don't have time to look deeply in your patch (and I'm not an expert at all :P) but from my experience, FB values haven't changed in OS X 10.11 so the patch should work just like it did in Yosemite.

 

That said, I had experienced some weird behavior (random black screen :P) as reported in this post and my guess was that AMD new kexts was the culprit :unsure:

Link to comment
Share on other sites

It won't break anything. Keep in mind that all of this is just software related. It's not like flashing the vbios or anything like that ;).

 

Don't have time to look deeply in your patch (and I'm not an expert at all :P) but from my experience, FB values haven't changed in OS X 10.11 so the patch should work just like it did in Yosemite.

 

That said, I had experienced some weird behavior (random black screen :P) as reported in this post and my guess was that AMD new kexts was the culprit :unsure:

 

Thanks for the reply. I do hope that AMD drivers are a) not altered, or b ) only improved :). Otherwise it would mean a rollback :sigh:

Link to comment
Share on other sites

A quick follow-up on post 175 (also posted by me):

 

I did some testing with injecting and not and playing with framebuffers in Clover bootloader screen and there are some interesting things when I'm using my own patch:

 

- No injection with Futomaki FB = OK (Card is recognized as a HD8970 in DPCIManager).

- No injection with Baladi FB = Kernel Panic just after booting.

- Injection + Baladi FB = Screen goes to standby mode (blinking LED on monitor).

- Injection + Futomaki FB = Kernel Panic just after booting.

 

I can also confirm that DP is working as well with option 1 above (DP -> HDMI converter, passive).

 

The framebuffer column in DPCIManager when booting with option 1 above reads the following: ATY,AMD,RadeonFrameBuffer. This confirms that Baladi was not injected (as well as Futomaki??), because when booting with a injection and framebuffer (using Pavo's patch) I get ATY,Baladi in that column.

Link to comment
Share on other sites

A quick follow-up on post 175 (also posted by me):

 

I did some testing with injecting and not and playing with framebuffers in Clover bootloader screen and there are some interesting things when I'm using my own patch:

 

- No injection with Futomaki FB = OK (Card is recognized as a HD8970 in DPCIManager).

- No injection with Baladi FB = Kernel Panic just after booting.

- Injection + Baladi FB = Screen goes to standby mode (blinking LED on monitor).

- Injection + Futomaki FB = Kernel Panic just after booting.

 

I can also confirm that DP is working as well with option 1 above (DP -> HDMI converter, passive).

 

The framebuffer column in DPCIManager when booting with option 1 above reads the following: ATY,AMD,RadeonFrameBuffer. This confirms that Baladi was not injected (as well as Futomaki??), because when booting with a injection and framebuffer (using Pavo's patch) I get ATY,Baladi in that column.

290x uses the AMD8000Controller.kext which only has 2 framebuffers. Futomaki framebuffer is not one of them, also using a framebuffer without injection does nothing at all, see below:

-------------------------AMD8000Controller.kext-------------------------

Exmoor (6) @ 0x1c5f20
LVDS, LVDS, DP, DP, DP, DP
02000000000100000001010322050204
02000000000100000001020312040103
00040000040300000001030711020301
00040000000100000001040321030505
00040000040300000001050710000402
00040000000100000001060320010505

Baladi (6) @ 0x1c6080
DP, DP, DP, DP, DP, DP
00040000040300000001030012040303
00040000040300000001010011020101
00040000040300000001020021030202
00040000040300000001040022050404
00040000040300000001050010000505
00040000040300000001060020010606
Link to comment
Share on other sites

 

290x uses the AMD8000Controller.kext which only has 2 framebuffers. Futomaki framebuffer is not one of them, also using a framebuffer without injection does nothing at all, see below:

-------------------------AMD8000Controller.kext-------------------------

Exmoor (6) @ 0x1c5f20
LVDS, LVDS, DP, DP, DP, DP
02000000000100000001010322050204
02000000000100000001020312040103
00040000040300000001030711020301
00040000000100000001040321030505
00040000040300000001050710000402
00040000000100000001060320010505

Baladi (6) @ 0x1c6080
DP, DP, DP, DP, DP, DP
00040000040300000001030012040303
00040000040300000001010011020101
00040000040300000001020021030202
00040000040300000001040022050404
00040000040300000001050010000505
00040000040300000001060020010606

 

Thanks for the reply. I know that without injection nothing should happen, but why does he panic then? So if I boot without Injection is the kext still patched by Clover or not?

Link to comment
Share on other sites

Thanks for the reply. I know that without injection nothing should happen, but why does he panic then? So if I boot without Injection is the kext still patched by Clover or not?

It should not be patching the kext unless injection is enabled, if it is then it has to be a bug, go make a ticket and report it

Link to comment
Share on other sites

It should not be patching the kext unless injection is enabled, if it is then it has to be a bug, go make a ticket and report it

 

Hmm... This makes for some interesting stuff. I will do some more testing next week before I start to make false tickets lol :)

 

Anyway, thanks for your help :)

Link to comment
Share on other sites

I did the patch, but nothing happened. Could you please check if there is any mistake?

 

radeon_bios_decode:

ATOM BIOS Rom: 
	SubsystemVendorID: 0x174b SubsystemID: 0x3000
	IOBaseAddress: 0x0000
	Filename: 24920C00.S41
	BIOS Bootup Message: 
Tahiti B0 CR PRO2 C38640 GDDR5 3GB 500e/150m                                

PCI ID: 1002:679a
Connector at index 0
	Type [@offset 43207]: DisplayPort (10)
	Encoder [@offset 43211]: INTERNAL_UNIPHY2 (0x21)
	i2cid [@offset 43325]: 0x90, OSX senseid: 0x1
Connector at index 1
	Type [@offset 43217]: HDMI-A (11)
	Encoder [@offset 43221]: INTERNAL_UNIPHY2 (0x21)
	i2cid [@offset 43352]: 0x91, OSX senseid: 0x2
Connector at index 2
	Type [@offset 43227]: DVI-D (3)
	Encoder [@offset 43231]: INTERNAL_UNIPHY1 (0x20)
	i2cid [@offset 43379]: 0x92, OSX senseid: 0x3
Connector at index 3
	Type [@offset 43237]: DVI-I (2)
	Encoder [@offset 43241]: INTERNAL_UNIPHY (0x1e)
	i2cid [@offset 43416]: 0x95, OSX senseid: 0x6
Connector at index 4
	Type [@offset 43247]: DVI-I (2)
	Encoder [@offset 43251]: INTERNAL_KLDSCP_DAC1 (0x15)
	i2cid [@offset 43416]: 0x95, OSX senseid: 0x6

redsock_bios_decode:

24920C00.S41:

Tahiti B0 CR PRO2 C38640 GDDR5 3GB 500e/150m                                

Subsystem Vendor ID: 174b
       Subsystem ID: 3000
Object Header Structure Size: 384
Connector Object Table Offset: 48
Router Object Table Offset: 0
Encoder Object Table Offset: 118
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 [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

calculated connector patch:

00 04 00 00 04 03 00 00 00 01 01 01 12 04 01 01
00 08 00 00 00 02 00 00 00 01 04 01 22 05 02 02
04 00 00 00 14 02 00 00 00 01 02 00 11 02 03 03
00 02 00 00 04 02 00 00 00 01 03 00 10 00 04 06

I have full acceleration, but one of my three monitor is black all the time (not blinking). osx recognises all three.... Used ports: DP, DVI, DVI

 

 

(Detailed problem and setup: http://www.insanelymac.com/forum/topic/285760-help-topic-further-help-in-chatosx86hulegacykernel-irc/?p=2173341)

 

Link to comment
Share on other sites

  • 2 weeks later...

I have a Sapphire Radeon R9 270 Double-X (6811-1002).

 

I've modified the 7000Controller and X4000 kexts, my card is recognized as "HD 7xxxx" in the system settings and I have full acceleration. I'm getting about 10 FPS less on Mac than on Windows. Do you think that patching the way this thread teaches will give me more performance?

 

I've tried DSDT editing but didn't work.

 

JjUBvN9.png

#6 is on Windows. #7 and #8 are on the Mac. (Cinebench R15 benchmark)

Link to comment
Share on other sites

Hi may i know this thread will make my lvds detect as a laptop monitor rather than a display? Because basically i have qe/ci working by editing the kext and injectati=yes but the lvds doesn't work. So i use customedid and injectedid and now my lvds works but it detects as a display rather than a laptop display. I need it to detect as a laptop display as i need to get sleep to work. Every time i click sleep, the screen just turn black with a cursor. Also clamshell doesn't work too despite having implemented pnlf in my dsdt. Thank you very much. My laptop is compaq cq42-277tx, ATI 5430m.

Link to comment
Share on other sites

 Share

×
×
  • Create New...