Jump to content

[HOW TO] Modification of AMD FB + Clover injection

AMD Radeon Frame Buffer

  • Please log in to reply
381 replies to this topic

#321
dauren

dauren

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts

Hello, I am trying to make my  PowerColor R9 290 to work with 2 displays on El Capitan, using DP and HDMI. Bootloader is clover.

My current config is:

 

00080000 04020000 00010201 22050203
00040000 04030000 00010101 12040101
00040000 04030000 00010600 21030602
04000000 14020000 00010300 11020304
00040000 04030000 00010500 10000505
00020000 04020000 00010400 10000406

What works, after apple logo DP display goes dark and HDMI continues  to work.

 

ATOM BIOS Rom:
	SubsystemVendorID: 0x1002 SubsystemID: 0x0b00
	IOBaseAddress: 0x0000
	Filename: C6711100.101
	BIOS Bootup Message:
C67111 HAWAII PRO 300W GDDR5 4GB 64MX32 300E/150M CC

PCI ID: 1002:67b1
Connector at index 0
	Type [@offset 42846]: DisplayPort (10)
	Encoder [@offset 42850]: INTERNAL_UNIPHY2 (0x21)
	i2cid [@offset 42938]: 0x90, OSX senseid: 0x1
Connector at index 1
	Type [@offset 42856]: HDMI-A (11)
	Encoder [@offset 42860]: INTERNAL_UNIPHY2 (0x21)
	i2cid [@offset 42965]: 0x92, OSX senseid: 0x3
Connector at index 2
	Type [@offset 42866]: DVI-D (3)
	Encoder [@offset 42870]: INTERNAL_UNIPHY1 (0x20)
	i2cid [@offset 42992]: 0x93, OSX senseid: 0x4
Connector at index 3
	Type [@offset 42876]: DVI-D (3)
	Encoder [@offset 42880]: INTERNAL_UNIPHY (0x1e)
	i2cid [@offset 43019]: 0x95, OSX senseid: 0x6
C67111 HAWAII PRO 300W GDDR5 4GB 64MX32 300E/150M CC

Subsystem Vendor ID: 1002
       Subsystem ID: b00
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

I've tried this 

 

00040000 04030000 00010000 12040101
00080000 00020000 00010000 22050203
04000000 14020000 00010000 11020304
04000000 14020000 00010000 10000406
00040000 04030000 00010500 10000505 
00020000 04020000 00010400 10000406

but this results in both screens going black.



#322
Matthew82

Matthew82

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 324 posts
  • Gender:Male
  • Location:Poland

Sierra or El Capitan? You have IGPU in MB? 



#323
dauren

dauren

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts

El Capitan, CPU Intel Core i5-3470, MB GA-z77mx-d3h



#324
Matthew82

Matthew82

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 324 posts
  • Gender:Male
  • Location:Poland

You can try this app http://www.insanelym...injector-tool/ 

Ad to to Clover devices section fake ATI ID 0x67b01002 



#325
dauren

dauren

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts

I already have done that, and need fb modification for dual screen to work. My FB is Baladi, and fakeID is the one you posted.

 

lR0BO9d.png
 

M78qQFP.png



#326
Matthew82

Matthew82

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 324 posts
  • Gender:Male
  • Location:Poland

This one working for me Asus 290X:

00080000040200000001030022050303

00040000040300000001010012040101

00040000040300000001020012040201

04000000040000000001040001020404

04000000040000000001050000000506

00040000040300000001060020010605



#327
ricoc90

ricoc90

    InsanelyMac Legend

  • Donators
  • 666 posts
  • Gender:Male
  • Location:The Netherlands

Hi, 

 

I am on Sierra 10.12.2 and I have a Sapphire Radeon HD 6450. I did not really had to patch the kext, since my monitors work fine (VGA as well as DVI-D), but I wanted to understand the patching (I like to learn stuff  :D) and since I could only use AMDRadeonFramebuffer (AND thus my graphics card showed up as AMD Radeon 6xxx in 'about this Mac') I thought I'd give it a try. 

 

My Graphics card has 1 HDMI, 1 DVI-D and 1 VGA port. currently I am on the VGA port. Since the only framebuffer with a VGA port was "Ipomoea", I thought I'd give that one a shot. My system boots up fine with the original values of Ipomoea, but the system recognizes my monitor as a VGA projector then. So I changed the values of Ipomoea and it worked. My system boots, my monitor gets recognized and 'about this Mac' shows my graphics card. There's just one problem: My monitor won't turn to sleep anymore. Or actually, the screen goes 'black', but is lighten up and the monitor stays powered on. Did I miss something?

radeon_bios_decode:

ATOM BIOS Rom: 
	SubsystemVendorID: 0x174b SubsystemID: 0xe164
	IOBaseAddress: 0x0000
	Filename: 164P03N5.NI2
	BIOS Bootup Message: 
C26401 Junbonator DDR3 128Mx16                                              

PCI ID: 1002:6779
Connector at index 0
	Type [@offset 44578]: HDMI-A (11)
	Encoder [@offset 44582]: INTERNAL_UNIPHY1 (0x20)
	i2cid [@offset 44652]: 0x91, OSX senseid: 0x2
Connector at index 1
	Type [@offset 44588]: DVI-D (3)
	Encoder [@offset 44592]: INTERNAL_UNIPHY (0x1e)
	i2cid [@offset 44679]: 0x93, OSX senseid: 0x4
Connector at index 2
	Type [@offset 44598]: VGA (1)
	Encoder [@offset 44602]: INTERNAL_KLDSCP_DAC1 (0x15)
	i2cid [@offset 44706]: 0x90, OSX senseid: 0x1

redsock_bios_decoder:

164P03N5.NI2:

C26401 Junbonator DDR3 128Mx16                                              

Subsystem Vendor ID: 174b
       Subsystem ID: e164
Object Header Structure Size: 203
Connector Object Table Offset: 34
Router Object Table Offset: 0
Encoder Object Table Offset: 9d
Display Path Table Offset: 12
Connector Object Id [12] which is [HDMI_TYPE_A]
	encoder obj id [0x20] which is [INTERNAL_UNIPHY1 (osx txmit 0x21 [duallink 0x1] enc 0x3)] linkb: true
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
Connector Object Id [5] which is [VGA]
	encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false

which gives me: 00 10 03 01

 

Original:

00040000 04030000 00010000 00000000 12040105 00000000
00080000 04020000 00010000 00000000 11020403 00000000
10000000 10000000 00010000 00000000 00000002 00000000

Patched:

00040000 04030000 00010000 00000000 12040105 00000000
00080000 04020000 00010000 00000000 11020403 00000000
10000000 10000000 00010100 00000000 00100301 00000000

IOReg Aty:

ioreg | grep ATY
    | |   |   | +-o ATY,Ipomoea@0  <class AtiFbStub, id 0x100000292, registered, matched, active, busy 0 (410 ms), retain 8>
    | |   |   | +-o ATY,Ipomoea@1  <class AtiFbStub, id 0x100000293, registered, matched, active, busy 0 (1 ms), retain 8>
    | |   |   | +-o ATY,Ipomoea@2  <class AtiFbStub, id 0x100000294, registered, matched, active, busy 0 (1 ms), retain 8>

Thanks in advance



#328
Matteo88

Matteo88

    InsanelyMac Protégé

  • Members
  • PipPip
  • 66 posts
  • Gender:Male
  • Location:Italia

thanks to all in advance.

 

I've installed 10.12.3 Sierra and I have an video card Sapphire Radeon HD 4350 with 1GB of VRAM.
When I run in the terminal "radeon_bios_decode" script and "redsock_bios_decoder" I wrote out:
 
No signature found AtomBios
 
what should I do?
when the system recognizes the video card but with only 5 MB of VRAM
 
help me because it is so long since I am trying to resolve the situation :wallbash:  :wallbash:  :wallbash:

Attached Files

  • Attached File  foto.jpg   158.83KB   2 downloads


#329
marhesk

marhesk

    InsanelyMac Protégé

  • Members
  • Pip
  • 2 posts

do you have the same modification tutorial for sierra? 



#330
Si Vis Pacem

Si Vis Pacem

    InsanelyMac Protégé

  • Members
  • PipPip
  • 65 posts

do you have the same modification tutorial for sierra? 

 

Framebuffer <= 10.11:

 

e.g. Baladi AMD8000

 

00040000 04030000 00010300 12040303

00040000 04030000 00010100 11020101
00040000 04030000 00010200 21030202
00040000 04030000 00010400 22050404
00040000 04030000 00010500 10000505
00040000 04030000 00010600 20010606
 
Framebuffer 10.12:
 
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


#331
tosbaha2k

tosbaha2k

    InsanelyMac Protégé

  • Members
  • Pip
  • 34 posts

Could you point me for correct patches for following?

radeon_bios_decode:

ATOM BIOS Rom:
    SubsystemVendorID: 0x1025 SubsystemID: 0x033f
    IOBaseAddress: 0x0000
    Filename: BR035223.009
    BIOS Bootup Message:
Acer JV50-CP Madison SG DDR3 64Mx16 550E/750M                              
PCI ID: 1002:68c1
Connector at index 0
    Type [@offset 45036]: LVDS (7)
    Encoder [@offset 45040]: INTERNAL_UNIPHY (0x1e)
    i2cid [@offset 45110]: 0x96, OSX senseid: 0x7
Connector at index 1
    Type [@offset 45046]: HDMI-A (11)
    Encoder [@offset 45050]: INTERNAL_UNIPHY1 (0x20)
    i2cid [@offset 45133]: 0x91, OSX senseid: 0x2
Connector at index 2
    Type [@offset 45056]: VGA (1)
    Encoder [@offset 45060]: INTERNAL_KLDSCP_DAC1 (0x15)
    i2cid [@offset 45160]: 0x90, OSX senseid: 0x1

 

redsock_bios_decoder:

Subsystem Vendor ID: 1025
       Subsystem ID: 33f
Object Header Structure Size: 199
Connector Object Table Offset: 34
Router Object Table Offset: 0
Encoder Object Table Offset: 99
Display Path Table Offset: 12
Connector Object Id [14] which is [LVDS]
    encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit [0x10] [duallink 0x0] enc [0x0])] linkb: false

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 [5] which is [VGA]
    encoder obj id [0x15] which is [INTERNAL_KLDSCP_DAC1 (osx txmit 0x00 enc 0x10?)] linkb: false

 

I calculated the following but I don't know how to patch

 

01 LDVS
10 00 01 07

02 HDMI

11 02 02 02

03 VGA

00 10 03 01



#332
Vlada.

Vlada.

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 114 posts
  • Gender:Male
  • Location:Serbia

Check the first post because everything is explained there!!!

 

Basically you need this:

 

02000000 40000000 08010000 / LVDS + (add your code construction)

10000000 10000000 00010000 / VGA + (add your code construction)
00040000 04030000 00010000 / DP + (add your code construction)
00020000 04020000 00010000 / DVI-SL + (add your code construction)
04000000 14020000 00010000 / DVI-DL + (add your code construction)
00080000 00020000 00010000 / HDMI 
+ (add your code construction)

 

When you finish with code construction, translate whole code in single line and add it in kexttopatch field in Clover Configurator.

 

[EDIT]

 

Sierra is using additional digits in the code, so you'll need to add those extra zero segments in front of your code construction and after it. Check example bellow:

 

00080000 00020000 00010000 00000000 + (add your code construction) 00000000



#333
sistoelemento

sistoelemento

    InsanelyMac Protégé

  • Members
  • PipPip
  • 89 posts
  • Gender:Male
  • Location:Pluto

Looking to update my Yosemite to sierra, currently working 5470M with sleep.
Used another guide to enable sleep but it was not detailed as this , and used only one ROM dump, but HDMI is not working,

 

i hope to fix it with this tutorial. Will post after trying this out.



#334
cyberdevs

cyberdevs

    InsanelyMacaholic

  • Donators
  • 2,626 posts
  • Gender:Male

Hey guys,

 

I recently bought a HIS Radeon R9 390X which works OOB with El Capitan with one display connected to HDMI port, but when I boot with second display connected to DVI port I get black screen, the only way to get the second display to work is to wait until El Capitan is completely loaded then attach the second screen.

 

Here is more info:

 

002_67b0_20201787.rom 

ATOM BIOS Rom: 

SubsystemVendorID: 0x1787 SubsystemID: 0x2020

IOBaseAddress: 0x0000

Filename: T36G04.001  

BIOS Bootup Message: 

GRENADA XT PCIE 8G/512B GDDR5 2XDVI-D/HDMI/DP 1050E/1500M                   

 

PCI ID: 1002:67b0

Connector at index 0

Type [@offset 42596]: DisplayPort (10)

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

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

HotPlugID: 2

Connector at index 1

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

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

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

HotPlugID: 3

Connector at index 2

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

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

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

HotPlugID: 1

Connector at index 3

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

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

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

HotPlugID: 6

 

 

GRENADA XT PCIE 8G/512B GDDR5 2XDVI-D/HDMI/DP 1050E/1500M                   

 

Subsystem Vendor ID: 1787

       Subsystem ID: 2020

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

 

I'll be appreciated if someone can help me out to get the second display to work.

 

Cheers!



#335
VirusX

VirusX

    InsanelyMac Sage

  • Donators
  • 465 posts
  • Gender:Male
  • Location:Germany

Hey guys,

I'll be appreciated if someone can help me out to get the second display to work.

 

Cheers!

Have you even tried to get it to work? Follow the guide and post your solution. Then someone might look over it and try to help you troubleshoot. Don't expect us to do all the work...



#336
cyberdevs

cyberdevs

    InsanelyMacaholic

  • Donators
  • 2,626 posts
  • Gender:Male

of course I did, but It did't work at all, I'm not sure if it's the correct calculation that's why I asked you guys.

 

here it is:

00 04 00 00 04 03 00 00 00 01 02 01 12 04 01 01

04 00 00 00 14 02 00 00 00 01 03 00 11 02 03 04

04 00 00 00 14 02 00 00 00 01 03 00 11 00 04 06

00 08 00 00 00 02 00 00 00 01 04 00 22 05 02 03

 

The wired thing is my Sapphire 7790 is working fine with the framebuffer Baladi following settings:

 

ATI Connectors Data

000400000403000000010300120403030004000004030000000101001102010100040000040300000001020021030202000400000403000000010400220504040004000004030000000105001000050500040000040300000001060020010606

 

ATI Connectors Patch:

000800000400000000010300220503030004000004000000000101002103010200040000040000000001020012040201040000000400000000010400010204040400000004000000000105000000050600040000040000000001060020010605

and

ATI Connectors Controller is set to 8000.



#337
cyberdevs

cyberdevs

    InsanelyMacaholic

  • Donators
  • 2,626 posts
  • Gender:Male
I figured it out.   :thumbsup_anim:
 
 
Thanks to @Vlada. and @Fl0r!an for their instructions.
 
Now I have Dual Display one connected to DisplayPort and the other one is Connected to HDMI.
 
Here’s what I did.
FB=Baladi
Inject ATI=True
Under kernel and Kext Patches
 
KextsToPatch
Name: AMD8000Controller
 
Find*[HEX]
000400000403000000010300120403030004000004030000000101001102010100040000040300000001020021030202000400000403000000010400220504040004000004030000000105001000050500040000040300000001060020010606
 
 
Replace*[HEX]
000800000400000000010300220503030004000004000000000106001204020100040000040000000001060012040201040000000400000000010600120204010400000004000000000105000000060600040000040000000001060012040201
 
 
There are only some minor setbacks:
 
1. About this Mac Shows AMD Radeon R9 290X (Which I can live with but I will find a way to fix it later)
2. All the ports are active except for the lower DVI port which I don’t use.
3. Triple display support not working!
 
Cheers!


#338
skartha

skartha

    InsanelyMac Protégé

  • Members
  • Pip
  • 13 posts

Hi

 

That was a wonderful tutorial for beginners like me to get into the thick of things. I am a newbie to OSX. And this is my first post on the problem I am facing.

I have installed Sierra 10.12.3 on my new PC (skyline i7 6700 Processor, 8 GB DDR4, Gigabyte H170M D3H, Asus AMD Radeon R 9270 / R7370 4GB,120 GB SSD).

I was able to install it without any hitch but the VRAM shows just 3 MB size (PIC1). I tried the same card on my Linux PC and checked the system properties and this is what I got ( also has HD7750 1GB card installed, PIC2).Attached File  AMD PCI copy.txt   884bytes   7 downloads

 

Reading your post I extracted the GPU ROM using which is Pitcairn  and did the necessary code rework Attached File  ConnectorInfo.rtf   5.86KB   4 downloads

 

I had injected ATI and installed AMDRadeonX4000.kext which contains the Pitcairn personality using kext utility that you had recommended in an earlier post but when I run the anti-personality.pl I get see that the kext that is found in SLE is AMD2400Controller.kext and the personality is Iago. I tried EasyKextPro which I downloaded but the same result

 

Nothing seem to work try what I may. 

 

Is there a solution since I want all my ports to work in tandem with the original acceleration and VRAM

 

Thanks in advance 

 

Attached Files



#339
Vlada.

Vlada.

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 114 posts
  • Gender:Male
  • Location:Serbia

Hi

 

That was a wonderful tutorial for beginners like me to get into the thick of things. I am a newbie to OSX. And this is my first post on the problem I am facing.

I have installed Sierra 10.12.3 on my new PC (skyline i7 6700 Processor, 8 GB DDR4, Gigabyte H170M D3H, Asus AMD Radeon R 9270 / R7370 4GB,120 GB SSD).

I was able to install it without any hitch but the VRAM shows just 3 MB size (PIC1)attachicon.gifConfig.jpeg. I tried the same card on my Linux PC and checked the system properties and this is what I got ( also has HD7750 1GB card installed, PIC2).attachicon.gifAMD PCI copy.txt

 

Reading your post I extracted the GPU ROM using which is Pitcairn  and did the necessary code rework attachicon.gifConfig.jpeg attachicon.gifConnectorInfo.rtf

 

I had injected ATI and installed AMDRadeonX4000.kext which contains the Pitcairn personality using kext utility that you had recommended in an earlier post but when I run the anti-personality.pl I get see that the kext that is found in SLE is AMD2400Controller.kext and the personality is Iago. I tried EasyKextPro which I downloaded but the same result

 

Nothing seem to work try what I may. 

 

Is there a solution since I want all my ports to work in tandem with the original acceleration and VRAM

 

Thanks in advance 

 

 

For R9 270 you need to add additional patch, because it using device id that is not supported by Apple.

 

Open Clover Configurator and load your config.plist file. In KextsToPatch field you need to make a new entry, and then type next:

 

Name > AMD7000Controller

Find Hex > 0x68101002

Replace Hex > 0x68111002

Info Plist patch > Yes (check it)

 

That should do the trick, alongside with the FB patch that you can make by using this guide.



#340
ChazEXE

ChazEXE

    InsanelyMac Protégé

  • Members
  • Pip
  • 3 posts
  • Gender:Male
  • Location:New Jersey

Finally back to messing around with this stuff again.

 

Would anyone possibly know why my 270x isn't running at full performance? I'm on a clean install with only the Futomaki buffer loaded. I have dual monitors and everything working exceptionally well aside from this last thing.

 

For comparison, my novabench score is significantly lower than scores from others using the same card as me. 

 

My model is : https://www.newegg.c...N82E16814202049








2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users

© 2017 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy