Jump to content

Editing custom personalities for ATI Radeon HD[45]xx


  • Please log in to reply
771 replies to this topic

#761
tntmaxx

tntmaxx

    InsanelyMac Protégé

  • Members
  • Pip
  • 32 posts
  • Gender:Male

Hello.

 

My XFX HD 5570 does not display an image on my monitor. 
I am trying to patch the Vervet framebuffer. 
 
Could you send me the binary ATI-kext-Utility tool?
 
I describe my problem here: http://www.insanelym...s-and-yosemite/
 
Thank you very much


#762
polyzargone

polyzargone

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 755 posts
  • Gender:Male
  • Location:France

I'm really interested too, could you give me a link in PM ?

 

Thanks



#763
eʍwe

eʍwe

    InsanelyMac Protégé

  • Members
  • PipPip
  • 83 posts
  • Gender:Male
  • Location:Jongen
  • Interests:Respect to the others

mr Bcc.. is possible to make ati hd4350 work fully..? i used Mountain lion. now i have QE/CI, but i can't used chess game, it will make my pc freezed, in photoshop, black color appears as green, and i can't used all 3D features.

 

Any guidance and clue please.. :)



#764
mitch_de

mitch_de

    InsanelyMacaholic

  • Retired
  • 2,914 posts
  • Gender:Male
  • Location:Stuttgart / Germany

I dl that ATI Kext Util source code but build failed. Some file is missing in the source code.

CustomTableView.h

 

Attached File  Bildschirmfoto 2014-11-18 um 12.03.38.jpg   83.97KB   2 downloads

 

 

I will soon switch to XFX 7750 card (Yosemite).

 

Any hints (FB patching needed? - GOAL: i only need VGA or DVI output, HDMI not needed)

 

 

CARD INFOS (using BIOS DL, i dont have the card already):

 

GA-EP35:radeon_bios_decode.0.2 andreasm$ ./radeon_bios_decode < XFX.HD7750.1024.120514.rom

ATOM BIOS Rom: 

SubsystemVendorID: 0x1682 SubsystemID: 0x3246

IOBaseAddress: 0x0000

Filename: 775aznj1.BIN

BIOS Bootup Message: 

C44501 MOCHA Verde PRO 1G GDDR5 64Mx32                                      

 

PCI ID: 1002:683f

Connector at index 0

Type [@offset 45618]: DisplayPort (10)

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

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

Connector at index 1

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

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

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

Connector at index 2

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

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

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

Connector at index 3

Type [@offset 45648]: VGA (1)

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

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

 

So i have 4 Ports.

 

But what Framebuffer should i use by chameleon (default would be Chutoro if i use GE=Yes)?

 

And if i need patch FB what excat (with what FB ) must i do?

I understand that the above radeon decode output shows some info about oder / kind of Ports 

which may be in wrong order of the orig. FB in ATI7000 FBs.

 

 

 

php script outout of FB personality (Yosemite kexts)

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

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

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

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

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

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

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

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

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

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

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

Ikura (1) @ 0x19cbf0
HDMI
00080000040200000001010012040301

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

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

Kani (1) @ 0x19ccc0
HDMI
00080000040200000001010012040301

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

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

Maguro (1) @ 0x19cd70
HDMI
00080000040200000001010012040301

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

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


#765
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,282 posts
  • Gender:Male

I dl that ATI Kext Util source code but build failed. Some file is missing in the source code.
CustomTableView.h

I think you need to ask pedah about ati-kext-utility, I only wrote the perl script in this thread and cobbled together readeon_bios_decode. I've never tried ati-kext-utility myself.

#766
polyzargone

polyzargone

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 755 posts
  • Gender:Male
  • Location:France

Hello !

I need some help with the edits of Aji Framebuffer, it drives me crazy :P
Model : Sapphire AMD Radeon HD 7770 1 GB

 

Here's my radeon_bios_decode :

ATOM BIOS Rom:
    SubsystemVendorID: 0x174b SubsystemID: 0xe214
    IOBaseAddress: 0x0000
    Filename: 214X0300.O47
    BIOS Bootup Message:
C44101 CAPPUCINO Verde XT 1G GDDR5 64Mx32                                   

PCI ID: 1002:683d
Connector at index 0
    Type [@offset 45256]: DisplayPort (10)
    Encoder [@offset 45260]: INTERNAL_UNIPHY2 (0x21)
    i2cid [@offset 45366]: 0x91, OSX senseid: 0x2
Connector at index 1
    Type [@offset 45266]: DisplayPort (10)
    Encoder [@offset 45270]: INTERNAL_UNIPHY2 (0x21)
    i2cid [@offset 45393]: 0x94, OSX senseid: 0x5
Connector at index 2
    Type [@offset 45276]: HDMI-A (11)
    Encoder [@offset 45280]: INTERNAL_UNIPHY1 (0x20)
    i2cid [@offset 45420]: 0x90, OSX senseid: 0x1
Connector at index 3
    Type [@offset 45286]: DVI-I (2)
    Encoder [@offset 45290]: INTERNAL_UNIPHY (0x1e)
    i2cid [@offset 45457]: 0x93, OSX senseid: 0x4
Connector at index 4
    Type [@offset 45296]: DVI-I (2)
    Encoder [@offset 45300]: INTERNAL_KLDSCP_DAC1 (0x15)
    i2cid [@offset 45457]: 0x93, OSX senseid: 0x4

and the redsock_bios_decode :

214X0300.O47:

C44101 CAPPUCINO Verde XT 1G GDDR5 64Mx32                                   

Subsystem Vendor ID: 174b
       Subsystem ID: e214
Object Header Structure Size: 360
Connector Object Table Offset: 48
Router Object Table Offset: 0
Encoder Object Table Offset: fd
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

According to them, I have a 5 ports AMD RAdeon HD 7770. If I made no mistake the 2 DVI-I can be merge into one because it's a DualLink DVI and the 5th connector is actually a VGA signal. So I am trying to patch Aji Framebuffer which has 4 ports.

I made a table for my edits but only the ports 00 and 01 are matched according to IOReg. Also, I'm loosing audio when HDMI is selected but it's OK with DVI/VGA (I use an adaptator). With non-patched framebuffer, I have analog audio with both HDMI & DVI/VGA but no HDMI audio at all in all case (output does not appear in System Preference).

 

Here the Aji original :

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

here's my edits :

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

 

Attached : IOReg + DSDT + the table I made

Attached Files



#767
SiddRamesh

SiddRamesh

    InsanelyMac Protégé

  • Members
  • PipPip
  • 91 posts
  • Gender:Male
  • Location:Mumbai
  • Interests:Developing

Nice job!, bcc9

:)

its not working for me :(



#768
Pavo

Pavo

    InsanelyMac Sage

  • Developers
  • 265 posts
  • Gender:Male
  • Location:Fort Gordon, GA
  • Interests:MSI Z97 Gaming G45 motherboard, i7 4790, 24Gb ram, Sapphire Vapor R9 290x 8Gb, ALC1150 on board...

bcc9, mind taking a look at my 290x 8Gb outputs? I can get DP working by itself but as soon as I connect anything to either DVI or HDMI it causes them all to go out, the card has 2xDVI, 1xDP, 1xHDMI

282X08E0.OU4:

C67101 Hawaii XT A0 GDDR5 8GB 128Mx32 300e/150m                             

Subsystem Vendor ID: 174b
       Subsystem ID: e282
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] (10)
encoder obj id [0x21] 0x90 which is [INTERNAL_UNIPHY2 (osx txmit 0x12 [duallink 0x2] enc 0x4)] linkb: false senseid: 0x1
Connector Object Id [12] 0x92 which is [HDMI_TYPE_A] (11)
encoder obj id [0x21] 0x93 which is [INTERNAL_UNIPHY2 (osx txmit 0x22 [duallink 0x2] enc 0x5)] linkb: true senseid: 0x3
Connector Object Id [4] which is [DVI_D] (3)
encoder obj id [0x20] 0x95 which is [INTERNAL_UNIPHY1 (osx txmit 0x11 [duallink 0x1] enc 0x2)] linkb: false senseid: 0x4
Connector Object Id [4] which is [DVI_D] (3)
encoder obj id [0x1e] which is [INTERNAL_UNIPHY (osx txmit 0x10 [duallink 0x0] enc 0x0)] linkb: false senseid: 0x6
Kext /System/Library/Extensions/AMD8000Controller.kext/Contents/MacOS/AMD8000Controller
Personality: Baladi
ConnectorInfo count in decimal: 6
Disk offset in decimal 1660288
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

Update:

Got some more info and added it, I have tried replacing this new layout with hex editor but its not working at all.

0000000    
00  04  00  00  ConnectorType
04  03  00  00  ATY,ControlFlag
00  01  		Features
00  00  		Unknown
12  			Transmitter
04  			Encoder
01  			HotPlug
01			Sense ID

0000010    
00  08  00  00  ConnectorType
04  02  00  00  ATY,ControlFlag
00  01  		Features
00  00  		Unknown
22  			Transmitter
05  			Encoder
03  			HotPlug
03			Sense ID

0000020    
04  00  00  00  ConnectorType
14  02  00  00  ATY,ControlFlag
00  01  		Features
00  00  		Unknown
11  			Transmitter
02  			Encoder
04  			HotPlug
04			Sense ID

0000030    
00  02  00  00  ConnectorType
04  02  00  00  ATY,ControlFlag
00  01  		Features
00  00  		Unknown
10  			Transmitter
00  			Encoder
05  			HotPlug
06			Sense ID


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


#769
SiddRamesh

SiddRamesh

    InsanelyMac Protégé

  • Members
  • PipPip
  • 91 posts
  • Gender:Male
  • Location:Mumbai
  • Interests:Developing

M using ROM for my AMD Radeon HD 7650m from internet resources, is it ok coz I've tried GPU-Z, AIDA64,DarwinDumper,DPCI Manager but no luck.

M getting Full QE/CI, only wanted to know if its ok to use someone ROM(same device) or it will cause problem to my graphics card.

Is VBios ROM device specific ! 

Also m having Gradient Issue !

 

 

i can see rom in Ubuntu 14.01 (Live USB)!

ubuntu@ubuntu:~$ find /sys/devices -name "rom"

/sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/rom <- this is Bios (131kb)

/sys/devices/pci0000:00/0000:00:1c.0/0000:02:00.0/rom <- this is VBios ROM (65kb)

 

only need to copy !

Ive used Sudo but no luck !

But y does ubuntu is giving I/O error !

 
I finally managed to dump Bios using Intel Flash Tool 

http://www.insanelym...io-sve1712bcxb/

 

But m unable to open the file !

 

i used this cmd 

FPTW64.EXE -BIOS -D BACKUP.ROM

 

n i got this file.


how can i get VBios using this

 

FPTW64.exe

 

Attached Files



#770
Pavo

Pavo

    InsanelyMac Sage

  • Developers
  • 265 posts
  • Gender:Male
  • Location:Fort Gordon, GA
  • Interests:MSI Z97 Gaming G45 motherboard, i7 4790, 24Gb ram, Sapphire Vapor R9 290x 8Gb, ALC1150 on board...

Can someone please take a look at my post and tell me what I am doing wrong



#771
Krazubu

Krazubu

    InsanelyMac Legend

  • Retired
  • 875 posts

Pavo, I have a MSI 290 (non x) gaming. My output layout dump seems to be exactly the same as yours.

I also get poor results, depending on what I try, I can get HDMI or a DVI working, but that DVI actually seems to be the HDMI driven to a wrong port.
I currently got 2 screens working at once for the 1st time, but still doesn't work straight from boot, I have to make a redetection, and I only get generic 4:3 modes.
 
I use almost the same table as you, except I suggest you use transmitters 01 and 00 for the DVI-D ports (not 11 and 10), since those are dual link.
 
Something interesting is that even the 8XXX generic driver (that you get without injecting anything) doesn't give working output on all the screens, while it should.
My guess is that either the driver is too experimental to support those cards properly, or that the "rules" changed with this generation of card, making the guide and scripts outdated.


#772
mlighted

mlighted

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

This would probably be a question for bcc9, as an author of scripts. I've got ATIX1300Contoller.kext from 10.6.8 and ati-personality script is only showing single connector type for each of Caretta and Sphyrna frame buffers. And it only shows those in i386 mode. No connectors are shown for x86_64 mode. Is that possible ?

 

x86_64 mode

./ati-personality.pl -s Install/SL-libs-10.6.8/
Script version 0.15
Kext Install/SL-libs-10.6.8//ATI1300Controller.kext/Contents/MacOS/ATI1300Controller
Personality: Caretta
ConnectorInfo count in decimal: 0
Disk offset in decimal 110544
Personality: Sphyrna
ConnectorInfo count in decimal: 0
Disk offset in decimal 110576

 i386 mode

./ati-personality.pl -i386 -s Install/SL-libs-10.6.8/
Script version 0.15
Kext Install/SL-libs-10.6.8//ATI1300Controller.kext/Contents/MacOS/ATI1300Controller
Personality: Caretta
ConnectorInfo count in decimal: 1
Disk offset in decimal 377996
0000000    00  02  00  00  14  00  00  00  00  00  00  00  10  01  02  01
0000010
Personality: Sphyrna
ConnectorInfo count in decimal: 1
Disk offset in decimal 378060
0000000    04  00  00  00  14  00  00  00  00  00  00  00  10  10  01  01
0000010

I have tried to configure EVOenabler with 0x00000002 connector in both 0 and 1 slots. In any case I have black screen on laptop (LVDS) and can only see display if I connect via VNC. I can see both ATI1300Controller and ATIRadenX1000 ketxs loaded. It look like they are loaded in 64bit mode. IORegistryExplorer indicates that Caretta frame buffer is matched to whichever slot in EVOenabler with 0x00000002 type. It also seems that acceleration is on via ATIRadeonX1000.

 

My problem is black screen of laptop. I guess there is a mismatch between LVDS index in BIOS and definitions in frame buffer. But I cannot figure out how to fix it. Beside fact that there is only one connector entry in each frame buffer only in i386 and none in x86_64, puzzles me a lot.

 

Below are results from radeon_bios_decode and redsock_bios_decoder, which both look a bit weird to me. Certainly not the same as for other people.

./radeon_bios_decode <Install/nc6400/X1300/X1300\ \(M52P\).ROM 
ATOM BIOS Rom: 
SubsystemVendorID: 0x1025 SubsystemID: 0x0094
IOBaseAddress: 0x0000
Filename: BR20835.bin 
BIOS Bootup Message: 
M52P BIOS 400e/325m                                                         

PCI ID: 1002:7149
Connector at index 0 type: VGA
Connector at index 1 type: LVDS
Connector at index 2 type: Composite
Connector at index 3 type: DVI-I
./redsock_bios_decoder <Install/nc6400/X1300/X1300\ \(M52P\).ROM 
BR20835.bin :

M52P BIOS 400e/325m                                                         

Subsystem Vendor ID: 1025
       Subsystem ID: 94
Object Header Structure Size: 43605
Connector Object Table Offset: 0
Router Object Table Offset: 0
Encoder Object Table Offset: 0
Display Path Table Offset: 0
Connector Object Id [0] which is [NONE]
Connector Object Id [0] which is [NONE]
Connector Object Id [0] which is [NONE]
Connector Object Id [0] which is [NONE]
...

What am I missing here ? And is there a way to get my LVDS screen on laptop to work ? 

 

Any help would be greatly appreciated. That is the main problem for me currently in otherwise acceptable Mavericks install on this laptop.

 

Some details on laptop's hardware:

Intel Core2Duo CPU, 4Gb of memory, Mavericks 10.9.5 installed 

ATI Radeon X1300 Mobility with 64Mb dedicated RAM video card

HP nc6400 model

 

Updated 2015/03/19 - installed Clover and it injects more information for video card now. I've got 1440x900 resolution, which is

the maximum for my screen. Still no QE/CI. Connector info string I've constructed based on guessing, leads to garbled graphics on internal

display. I'm still searching for BIOS image for my video card. Tried to extract it with Clover, GPU-Z and Everest, with no success. Somehow

I need to figure out correct values for transmitter, encoder and sense id bytes.

 

Updated 2015/03/20 - Huge Thank you to all developers of Clover ! After Clover was installed all that I needed to do is to change to

Sphyrna frame buffer. Now QE/CI seem to work, resolution is at maximum and laptop's display is working great. In fact I'm writing this from

my own hackintosh. I'm a very happy man.







0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2015 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy