Jump to content

5470 HD Mobility Framebuffer Patch


Title101
 Share

8 posts in this topic

Recommended Posts

I have a Acer 7740G that has a ATI 5470 HD Mobility card. currently I have Mac Lion 10.7 installed. I have tried various kext files, dual-link patch to the dsdt, and various framebuffers with the same result. When using GraphicsEnabler set to yes, the built-in screen is always dark but the backlight is enabled.

 

Here is my radeon_bios_decode output:

 

ATOM BIOS Rom: 
SubsystemVendorID: 0x1025 SubsystemID: 0x0348
IOBaseAddress: 0x2000
Filename: BR035535.007
BIOS Bootup Message: 
Acer JV70-CP PARK M2 XT DDR3 64Mx16 512MB </p><p>PCI ID: 1002:68e0
Connector at index 0
Type [@offset 45014]: LVDS (7)
Encoder [@offset 45018]: INTERNAL_UNIPHY (0x1e)
i2cid [@offset 45088]: 0x96, OSX senseid: 0x7
Connector at index 1
Type [@offset 45024]: HDMI-A (11)
Encoder [@offset 45028]: INTERNAL_UNIPHY1 (0x20)
i2cid [@offset 45111]: 0x91, OSX senseid: 0x2
Connector at index 2
Type [@offset 45034]: VGA (1)
Encoder [@offset 45038]: INTERNAL_KLDSCP_DAC1 (0x15)
i2cid [@offset 45138]: 0x90, OSX senseid: 0x1

 

Here is my redsock_bios_decode:

 

BR035535.007:</p><p>Acer JV70-CP PARK M2 XT DDR3 64Mx16 512MB</p><p>Subsystem Vendor ID: 1025
Subsystem ID: 348
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 also have attached a picture of the bootup process that seems to imply that it's the Eulemur framebuffer that I need to use (no matter the buffer I set, Eulemur is shown here).

 

Based on the above infomratio, I have modified the ATI5000Controller.kext file so that the first Eulemur personalitie looks like this:

 

02 00 00 00 40 00 00 00 09 01 00 00 10 00 00 07

 

All three personalities:

 

02 00 00 00 40 00 00 00 09 01 00 00 10 00 00 07 ==> LVDS

00 08 00 00 00 02 00 00 00 71 00 00 12 04 04 02 ==> HDMI

10 00 00 00 10 00 00 00 00 00 00 00 00 10 00 01 ==> VGA

 

Unfortunately, my built-in LVDS screen is black. If I VNC into it, I can see that no display is detected. If I modify the LVDS entry to this:

 

02 00 00 00 14 00 00 00 09 01 00 00 10 00 01 07 ==> LVDS

 

My built-in screen is still blank but the backlight is enabled. It appears that the ATY,ControlFlags has to be DVI (0x0014) and the HotplugID has to be 01 in order to recognise the internal display.

 

This is the output from my ioreg:

 

ATY,Eulemur@0 <class AtiFbStub, id 0x100000320, registered, matched, active, busy 0 (4842 ms), retain 7>
{
"port-number" = 0
"display-type" = "CRT"
"connector-type" = 2
"ATY,ActiveFlags" = 16
"IOFBDependentIndex" = 0
"IOFBDependentID" = 18446743524148467712
"ATY,ControlFlags" = 20
"AAPL,gray-page" = <01000000>
"device_type" = "display"
"av-signal-type" = 1
"AAPL,iokit-ndrv" = <a017b1807fffffff>
"AAPL,gray-value" = <c38c6400>
"display-connect-flags" = <00000000>
"name" = "ATY,Eulemur"
"AAPL,boot-display" = <01000000>
}

 

Does anyone know why this is not working and what else I could possible try? I'm just not sure what I am missing at this point.

 

I have also included my Xorg.0.log file from my Ubuntu installation. One interesting entry I found is this:

 

Adapter ATI Mobility Radeon HD 5000 Series has 2 configurable heads and 1 displays connected.

 

I am not sure what that means and if it may explain why it's not working.

 

The log file also show two separate EDID values. One appears to be a valid entry which I have injected already for the Mac OS (I can verify through VNC I get the correct 1600x900 resolution).

post-733746-1316215223_thumb.jpg

Xorg.0.log.txt

ioreg.txt

Link to comment
Share on other sites

  • 3 weeks later...

I have same problem but on eMachines E730G (1366x768). With ControlFlags=0x10 it's working fine, but if I set ControlFlags=0x40 screen is black with backlight enabled. I can't solve this. Anyone know how to solve this problem?

 

@Title101: Have you VGA working?

Link to comment
Share on other sites

I have same problem but on eMachines E730G (1366x768). With ControlFlags=0x10 it's working fine, but if I set ControlFlags=0x40 screen is black with backlight enabled. I can't solve this. Anyone know how to solve this problem?

 

@Title101: Have you VGA working?

 

I have not tried the VGA or HDMI yet. I have just been focusing on the internal display. Looking over my initial post I noticed I need to make a correction. I have to use the DVI ATY,ControlFlags (0x0014) in order to have the internal display even recognized:

 

02 00 00 00 14 00 00 00 09 01 00 00 10 00 01 07 ==> LVDS

 

Also the HotplugID has to be set to 01 as well it appears.

Link to comment
Share on other sites

  • 3 weeks later...

Just a quick update, I did try it with a Sharp LCD TV connected to it using a VGA cable. That worked fine, full QE/CI, however, the internal display still remains blank. The framebuffer personality that it uses for the VGA is the default one for Eulemur:

 

10 00 00 00 10 00 00 00 00 00 00 00 00 10 00 01

  • Like 1
Link to comment
Share on other sites

  • 5 months later...
  • 3 weeks later...

Check this two options and comment:

 

0000000 02 00 00 00 00 01 00 00 09 01 00 00 10 00 00 07 -> LVDS

0000010 00 08 00 00 00 02 00 00 00 71 00 00 11 02 01 02 -> HDMI

0000020 10 00 00 00 10 00 00 00 00 00 00 00 00 10 02 01 -> VGA

 

0000000 02 00 00 00 00 05 00 00 09 01 00 00 10 00 00 07 -> LVDS

0000010 00 08 00 00 00 02 00 00 00 71 00 00 11 02 01 02 -> HDMI

0000020 10 00 00 00 10 00 00 00 00 00 00 00 00 10 02 01 -> VGA

 

Good Luck :)

Link to comment
Share on other sites

 Share

×
×
  • Create New...