Jump to content

Solved | Ati Mobility HD5470: Getting closer to getting LVDS working, need help


  • Please log in to reply
26 replies to this topic

#1
mac-fish

mac-fish

    InsanelyMac Protégé

  • Members
  • PipPip
  • 94 posts
So i've been trying to get LVDS on my Toshiba C660-1H6 with a mobility HD5470 512MB gpu to work for days. So far i've tried:

- 10.6.4 + Graphics Update + 10.6 kexts + Chameleon with kabyls AtiConfig parameter
- 10.6.8 + same as above
- 10.7 + patched ATI5000Controller.kext + ##### with ATI patches too (most successful until now)
- Patching the personality myself by reading Encoder / Transmitter from Ubuntu
- Injecting EDID

I tried upgrading my SL installation to Lion and after some initial issues got it running.
I installed the kext from here: http://www.kexts.com...ci_lion_gm.html and got QE / CI working again. on VGA only though.
However, unlike in SL in system settings there was a second display listed. Changing its resolution did not affect the LVDS at all. However it was listed under the same name as the internal display was in about this mac ( the new system profiler replacement with way less info ) (something along the lines of spdisplay_etc) Also, the backlight of the LVDS was on.

So I tried adjusting the patched Eulemur FB from the kext to fit the senseid of my LVDS that i got from the vgabios dump from everest. The result was that either the kext was screwed up and OS X would just lock up where the ATI kext gets initiated, or VGA stopped working too. I edited it this way:

Personality of my patched framebuff appled to "Eulemur" as below:
0000000 02 00 00 00 40 00 00 00 09 01 00 00 12 01 00 04 <-- senseid byte
0000010 00 08 00 00 00 02 00 00 00 01 00 00 20 00 01 01 <-- senseid byte
0000020 10 00 00 00 10 00 00 00 00 00 00 00 10 10 02 08 <-- senseid byte


to

0000000 02 00 00 00 40 00 00 00 09 01 00 00 12 01 00 07 <-- senseid byte
0000010 00 08 00 00 00 02 00 00 00 01 00 00 20 00 01 01 <-- senseid byte
0000020 10 00 00 00 10 00 00 00 00 00 00 00 10 10 02 08 <-- senseid byte

(left the other values as they were since VGA was working)

So can someone explain to me why editing this kext in 0xED will screw it up totally? And also, why is there only one occurence of the patched Eulemur in this kext and not even vanilla Eulemur appears anywhere in this kext? According to the personality editing tutorials, there are 2 occurences of each personality in the kext: the 32bit and the 64bit one. Also, arch=x86_64 makes the bootloader lock up at Graphics Card initialization.

Can anyone help?

EDIT: Check last post for kext and info

#2
nami

nami

    InsanelyMac Protégé

  • Members
  • PipPip
  • 51 posts
I get QE/CI in Lion 10.7 with edid injection and graphics enabler enabled. No patched Framebuffer. Howeve my internal screen is recognized as CRT, so i get a black screen when wake up from sleep. Try this, hex edit de framebuffer, and use aty_init with your deviceid inside. For some people aty_init works and graphics enabler dont.

#3
mac-fish

mac-fish

    InsanelyMac Protégé

  • Members
  • PipPip
  • 94 posts
I'll try this as soon as possible and report back ;) Thank you

#4
ankh_red

ankh_red

    InsanelyMac Protégé

  • Members
  • Pip
  • 32 posts
  • Gender:Male
Attached File  Lion_kexts.zip   228.95KB   107 downloads Hi, try to use this..
its for lion 10.7.1 with sleepenabler
;)

#5
iSoprano

iSoprano

    InsanelyMac Protégé

  • Members
  • PipPip
  • 59 posts
  • Gender:Male

I get QE/CI in Lion 10.7 with edid injection and graphics enabler enabled. No patched Framebuffer. Howeve my internal screen is recognized as CRT, so i get a black screen when wake up from sleep. Try this, hex edit de framebuffer, and use aty_init with your deviceid inside. For some people aty_init works and graphics enabler dont.


Nami, try and add this for wake from sleep issue

sudo pmset -a hibernatemode 0

#6
mac-fish

mac-fish

    InsanelyMac Protégé

  • Members
  • PipPip
  • 94 posts

Attached File  Lion_kexts.zip   228.95KB   107 downloads Hi, try to use this..
its for lion 10.7.1 with sleepenabler
:(


which personality was edited in this kext? or is it just vanilla ATI5000Controller? It doesn't detect the LVDS at all :P


I get QE/CI in Lion 10.7 with edid injection and graphics enabler enabled. No patched Framebuffer. Howeve my internal screen is recognized as CRT, so i get a black screen when wake up from sleep. Try this, hex edit de framebuffer, and use aty_init with your deviceid inside. For some people aty_init works and graphics enabler dont.


So i tried installing ATY_init, but how do i get it to recognize the 5400 series? ATY_Init is obviously not made for this card, but the IOPCIMatch has it within its range. I just have to make an entry in Info.plist about 5400 but there's so much Information about it that you have to type in that i do not know. How to fix this?

#7
mac-fish

mac-fish

    InsanelyMac Protégé

  • Members
  • PipPip
  • 94 posts
Okay, so i got a tiny bit closer to getting it to work, i edited the personality further so now the 2nd connector looks like this:

02000000 14000000 09010000 0112 0107

This makes the Display show up as LVDS screen (it shows up as 13inch for some reason, but i guess that doesn't matter)
So, the screen is still black on the LVDS though; i guess it's due to the ControlFlags (0x0014 here(?)) which stands for

0x0200 : DVI-? > ControlFlag : 0x0014


anyway, editing it to LVDS ControlFlag:

0x0002 : LVDS > ControlFlag : 0x0040 / 0x0100

which means the ControlFlag portion is now:
40000000
or
00010000
(is this correct?)
this results in the LVDS / second connector not being recognized at all anymore.

so my thoughts are: Are Encoder/Transmitter even important for me to get it to work? Because when i was on Ubuntu trying to get that combination once, i got
DIG0 as output, which results in the transmitter being 00. That means that only the combos: 10 00, 00 00 or, if you take some assumptions from members around here into account, also 22 05, are available.
Is this correct?

Also, the ControlFlags are, according to guide
http://www.insanelym...p...252061&st=0
important. Should i leave the DVI flag? Its not correct for LVDS, but it does break the connector if i change it (also, why?)

#8
Mietas

Mietas

    InsanelyMac Protégé

  • Members
  • Pip
  • 32 posts
  • Gender:Male
  • Location:Poland
I have similiar problem, but my LVDS screen works on original personalities of Hoolock after EDID injection. My screen is working in this config, but it not wake from sleep - black. When I try patch framebuffer, I have blackscreen and non-detected screen in system (I see this in IORegistryExplorer with using VNC). I trying AtiConfig=RadeonFramebuffer, all ports is detected, HDMI works, VGA works, LVDS screen not detected. I don't have any idea :blink: and need sleep. Anyone have idea for resolving this problem?

#9
mac-fish

mac-fish

    InsanelyMac Protégé

  • Members
  • PipPip
  • 94 posts

I have similiar problem, but my LVDS screen works on original personalities of Hoolock after EDID injection. My screen is working in this config, but it not wake from sleep - black. When I try patch framebuffer, I have blackscreen and non-detected screen in system (I see this in IORegistryExplorer with using VNC). I trying AtiConfig=RadeonFramebuffer, all ports is detected, HDMI works, VGA works, LVDS screen not detected. I don't have any idea :blink: and need sleep. Anyone have idea for resolving this problem?


Did you try the SleepEnabler and ATI5000 kext posted by someone here? Also, what did your screen look like without EDID injection? And how to find the VendorID of a display if its never been reported in IOReg?

#10
Mietas

Mietas

    InsanelyMac Protégé

  • Members
  • Pip
  • 32 posts
  • Gender:Male
  • Location:Poland
I think that SleepEnabler is only for enabling sleep on systems without DSDT, but I have fully patched DSDT with patched GFX section (i have nice sh** in this section :blink:). Of course I try SleepEnabler, never before I don't try this.
My screen without EDID is... black, because of lack of resolution. Try EDID inject, Hoolock framebuffer, and change resolution with VNC - for me it's working fine.

#11
mac-fish

mac-fish

    InsanelyMac Protégé

  • Members
  • PipPip
  • 94 posts

I think that SleepEnabler is only for enabling sleep on systems without DSDT, but I have fully patched DSDT with patched GFX section (i have nice sh** in this section :blink:). Of course I try SleepEnabler, never before I don't try this.
My screen without EDID is... black, because of lack of resolution. Try EDID inject, Hoolock framebuffer, and change resolution with VNC - for me it's working fine.


I just tried injecting EDID... but it stays the same generic EDID as before! from my EDID i got Vendor and Display IDs

it's ....0030e46a02.....
therefore: DisplayVendorID-30e4 and DisplayProductID-02a6
is this correct? the EDID when i export it from switchresX is different however... so its not getting injected... but why?

#12
Mietas

Mietas

    InsanelyMac Protégé

  • Members
  • Pip
  • 32 posts
  • Gender:Male
  • Location:Poland
You doing it wrong. :blink:
You must inject EDID in DisplayVendorID-756e6b6e and DisplayProductID-717.

#13
mac-fish

mac-fish

    InsanelyMac Protégé

  • Members
  • PipPip
  • 94 posts

You doing it wrong. ;)
You must inject EDID in DisplayVendorID-756e6b6e and DisplayProductID-717.


Yep i just realized that and it works!!! :D After so much time of wrong approaches!!! Will upload kext soon for others that try to get LVDS on this device :)

thanks to everyone =)

EDIT: Kext should work for anyone on Lion with ##### 3.8 and senseid 7

Attached Files



#14
Mietas

Mietas

    InsanelyMac Protégé

  • Members
  • Pip
  • 32 posts
  • Gender:Male
  • Location:Poland
What framebuffer you patch? Please test sleep ;)

EDIT: Can you post your log from IORegistryExplorer?

#15
mac-fish

mac-fish

    InsanelyMac Protégé

  • Members
  • PipPip
  • 94 posts

What framebuffer you patch? Please test sleep ;)

EDIT: Can you post your log from IORegistryExplorer?


I patched Vervet, since it was the one that had the most positive results while i was testing different personalities (both displays always recognized); Sleep does not work unfortunately, also Brightness changing leads to a panic. I think this is some general ACPI problem since the panic is also about IOACPIPlatform. Someone posted a command somewhere to "fix" this (setpm someparametershere), however i didn't try that yet.

attached ioreg -l as txt file :)

#16
Mietas

Mietas

    InsanelyMac Protégé

  • Members
  • Pip
  • 32 posts
  • Gender:Male
  • Location:Poland
OK, for me it's working too... I think that the ControlFlags is important for screen to function correctly, but when I set ControlFlags to properly for LVDS, my LVDS screen is don't recognized anymore. I try with ATY_Init.

#17
nami

nami

    InsanelyMac Protégé

  • Members
  • PipPip
  • 51 posts
Cant see your ioreg. Is sleep working after running sudo pmset -a hibernatemode 0 ? Your internal display is recognizes as ldvs in ioreg ?

#18
mac-fish

mac-fish

    InsanelyMac Protégé

  • Members
  • PipPip
  • 94 posts

Cant see your ioreg. Is sleep working after running sudo pmset -a hibernatemode 0 ? Your internal display is recognizes as ldvs in ioreg ?


2nd try ;p i'll try that command. yes it should be recognized as LVDS, as it is in about mac (i edited personality so it is recognized properly, just edit the 3rd segment to 09010000 should work fine

EDIT: pmset does not fix sleep, the device turns off for a second then starts back up and i get a blackscreen (no way to VNC into it too, probably crashed) but i still have sleepenabler in there, will try some other possibilities

Attached Files



#19
nami

nami

    InsanelyMac Protégé

  • Members
  • PipPip
  • 51 posts

2nd try ;p i'll try that command. yes it should be recognized as LVDS, as it is in about mac (i edited personality so it is recognized properly, just edit the 3rd segment to 09010000 should work fine

EDIT: pmset does not fix sleep, the device turns off for a second then starts back up and i get a blackscreen (no way to VNC into it too, probably crashed) but i still have sleepenabler in there, will try some other possibilities


I think that´s because in yout ioreg yout monitor is recognizes as CRT and not LVDS. If you try to connect a vha monitor to the pc, tou will get imagem when wake from sleep. Vervet is loaded but its not right. Are you editing the right offset? They are different for 32 and 64 bits.

#20
mac-fish

mac-fish

    InsanelyMac Protégé

  • Members
  • PipPip
  • 94 posts

I think that´s because in yout ioreg yout monitor is recognizes as CRT and not LVDS. If you try to connect a vha monitor to the pc, tou will get imagem when wake from sleep. Vervet is loaded but its not right. Are you editing the right offset? They are different for 32 and 64 bits.


i've been only editing the 64bit offset, also it might be detected as CRT since i could'nt edit the ControlFlag. As soon as i edited it, the display stopped working completely.

EDIT: i updated the 32bit offset, now brightness works, but sleep causes a panic. IOReg still shows the LVDS as display type 10 (CRT?) though





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

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