Jump to content

7970M Custom Personality editing and injection help


mattrowe
 Share

3 posts in this topic

Recommended Posts

Hello all,

 

So finally i have managed to edit my DSDT to allow the 7970M card to be enabled. I have the HDMI working 100%, this is great but as it is a laptop i would love to have to internal screen working. I have read every forum on the net on how to edit custom personalities but i just can't seem to understand it!

 

My laptop is a Alienware M17X R4, the ports from the card are: Internal screen, HDMI, VGA, DP. My frame buffer is Buri. I understand i need to inject these ports into the frame buffer, i just don't understand how to do it. I have looked everywhere on how to do it, and i have found articles that physically show me how, i just don't get it. So any help would be awesome!!

 

If you ned any dumps, extra info tell me and i will get back to you ASAP!

 

Cheers!

Personality: Buri
ConnectorInfo count in decimal: 4
Disk offset in decimal 1489792
0000000    02  00  00  00  00  01  00  00  29  05  01  00  10  00  05  05
0000010    00  04  00  00  04  03  00  00  00  09  02  00  11  02  01  01
0000020    00  04  00  00  04  03  00  00  00  09  03  00  21  03  02  02
0000030    00  08  00  00  04  02  00  00  00  01  04  00  12  04  03  03
0000040
ATOM BIOS Rom: 
        SubsystemVendorID: 0x1028 SubsystemID: 0x057b
        IOBaseAddress: 0x3000
        Filename: C42904A1.118
        BIOS Bootup Message: 
Wimbledon XT A01 MXM GDDR5 300e/150m 0.9V A1                                
PCI ID: 1002:6800
Connector at index 1
        Type [@offset 45958]: LVDS (7)
        Encoder [@offset 45962]: INTERNAL_UNIPHY (0x1e)
        i2cid [@offset 46111]: 0x94, OSX senseid: 0x5
Connector at index 2
        Type [@offset 45968]: DisplayPort (10)
        Encoder [@offset 45972]: INTERNAL_UNIPHY1 (0x20)
        i2cid [@offset 46138]: 0x91, OSX senseid: 0x2
Connector at index 3
        Type [@offset 45978]: HDMI-A (11)
        Encoder [@offset 45982]: INTERNAL_UNIPHY1 (0x20)
        i2cid [@offset 46165]: 0x90, OSX senseid: 0x1
Connector at index 4
        Type [@offset 45988]: HDMI-A (11)
        Encoder [@offset 45992]: INTERNAL_UNIPHY2 (0x21)
        i2cid [@offset 46192]: 0x92, OSX senseid: 0x3
Connector at index 5
        Type [@offset 45998]: VGA (1)
        Encoder [@offset 46002]: INTERNAL_KLDSCP_DAC1 (0x15)
        i2cid [@offset 46219]: 0x97, OSX senseid: 0x8
Link to comment
Share on other sites

  • 3 weeks later...

you will need to hexedit the ati7000controller and look for existing hex values, and replace accordingly. rampagedev has a pretty good breakdown:

http://rampagedev.wordpress.com/kext-editing/editing-atiamd-framebuffer-personality/

 

So we take connector 0000000 and split it up (the first connector)

02 00 00 00

00 01 00 00

29 05 01 00

10 00 05 05

 

And divide by the last two parts again, by two, giving us the divided Buri personality:

02 00 00 00  <-- Connector type

00 01 00 00 <--ATY control flag

29 05           <-- Features

01 00           <--Unknown

10                 <--Transmitter

00                <-- Encoder

05                 <--Hotplug ID

05                <--Sense ID

 

Now we start modification based on the data:

02 00 00 00 <--Leave this alone, we need this for LVDS

00 01 00 00 <--We have two options here, 0x0040 or 0x0100 which would translate into 00 01 00 00 or 40 00 00 00 (after byte-swapping, I believe) 

29 05 <--Features...this is where it gets tricky....I would try 09 01 because lvds/backlight (not sure...somebody else double check for this)

01 00 <-- leave aone

10      <-- you have "INTERNAL_UNIPHY"...so I would try 00, 01, or 02 here

00      <-- I would guess leave alone or try 01 or 02

05      <-- would leave alone or change to 00 or 01

05      <-- I would guess this is correct

 

In addition, you should inject your EDID via clover or DSDT

Will take a lot of trial and error

 

I have tried these two so far, no success:

02000000400000000901000000030005

02000000400000000901000010000005

Link to comment
Share on other sites

  • 1 month later...

Ok, I'd like to contribute! I have internal lcd working ok after sleep and wake, otherwise I've banding like this:

http://www.insanelymac.com/forum/topic/291117-how-to-make-radeon-desktop-or-mobility-be-working-by-using-clover/page-3?do=findComment&comment=1976199

 

So I'll comment what applehacker wrote:

 

02 00 00 00 <--ok, no comment here

 

00 01 00 00 <--With 0x0100 (00 01 00 00) have black screen, with 0x0040 (40 00 00 00) it is ok

 

29 05 <--I've tryed 2905, 0105, 0805, 0101, 0801-does not change enything

 

01 00 <-- from guide this must be 0000

 

for this entries you must use redsock_bios_decoder!

 

10 <-- you have "INTERNAL_UNIPHY"...so I would try 00, 01, or 02 here

 

00 <-- I would guess leave alone or try 01 or 02

 

05 <-- would leave alone or change to 00 or 01

 

05 <-- I would guess this is correct

 

so in my case the string is:

02000000400000000901000010000005

 

Let me know!

Link to comment
Share on other sites

 Share

×
×
  • Create New...