Jump to content

I think I have found something,need help


  • Please log in to reply
6 replies to this topic

#1
AlexanderZhang

AlexanderZhang

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts
Hi, Slice.
I have a asus laptop with Ati Mobility HD 2600 working with internal LCD on 1024x768. ;)
and then i tested your RadeonDumpL and RadeonPCI.kext.
I think there is a bug with IOGraphicsFamily.kext to find Internal LCD's edid.(Maybe the bug is i2c command)
in my case,
without Natit and ATINDRV I found the edid for my CRT not Internal LCD(1024x768)
with Natit and ATINDRV I also found the edid for my CRT(QE supported)

Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/P0P1@1/IOPCI2PCIBridge/VGA@0/RadeonPCI
it matched on name "display"
Card device id: 0x9581
Start I2C dump
EDID at DDC 0:
0x0000: 00FFFFFFFFFFFF000609059889050000
0x0010: 260B0103081F17BEEA039EA552469724
0x0020: 10474FAFCF0045596159A940A9450101
0x0030: 010101010101EA240060410028303060
0x0040: 130036E610000000000000FC00416365
0x0050: 72203738670A20202020000000FF0030
0x0060: 313431370A20202020202020000000FD
0x0070: 0032781E560D000A2020202020200018
EDID at DDC 1:
Read EDID at DDC 1 failed
EDID at DDC 2:
Read EDID at DDC 2 failed
EDID at DDC 3:
Read EDID at DDC 3 failed


Sorry for my english :D

#2
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 3,081 posts
  • Gender:Male
  • Location:Moscow

Hi, Slice.
I have a asus laptop with Ati Mobility HD 2600 working with internal LCD on 1024x768. :D
and then i tested your RadeonDumpL and RadeonPCI.kext.
I think there is a bug with IOGraphicsFamily.kext to find Internal LCD's edid.(Maybe the bug is i2c command)
in my case,
without Natit and ATINDRV I found the edid for my CRT not Internal LCD(1024x768)
with Natit and ATINDRV I also found the edid for my CRT(QE supported)


Sorry for my english :wacko:

I didn't fully understand you. With and without natit you have the same result? And why you wonder? RadeonDump works with hardware, not with driver.
IOGraphicsFamily try to get EDID from framebuffer driver. ATINDRV is one in your case. I don't know exactly how it works but I propose that it
1. Trying to get EDID from hardware. In most cases it fails with unsupported cards and monitors by Apple.
2. Trying to get EDID from registry properties injected by natit or by EFI string. To be successful you need to know EDID for your monitor. You can get it using Windows or Linux.
I started to create new ATI framebuffer. Dong created part of the driver with getting EDID from hardware. It is RadeonDump.
Our investigations show that most of internal laptop LCD has no hardware EDID at all. It is not bug of i2c bus. It is hardware.
So we have second way. Inject appropriate EDID by injector or by EFI string.

Why my Ati.kext doesn't work for many users? Because my EDID is not good for him. They need your own EDID.

How can I expain more clear?

#3
AlexanderZhang

AlexanderZhang

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts

I didn't fully understand you. With and without natit you have the same result? And why you wonder? RadeonDump works with hardware, not with driver.
IOGraphicsFamily try to get EDID from framebuffer driver. ATINDRV is one in your case. I don't know exactly how it works but I propose that it
1. Trying to get EDID from hardware. In most cases it fails with unsupported cards and monitors by Apple.
2. Trying to get EDID from registry properties injected by natit or by EFI string. To be successful you need to know EDID for your monitor. You can get it using Windows or Linux.
I started to create new ATI framebuffer. Dong created part of the driver with getting EDID from hardware. It is RadeonDump.
Our investigations show that most of internal laptop LCD has no hardware EDID at all. It is not bug of i2c bus. It is hardware.
So we have second way. Inject appropriate EDID by injector or by EFI string.

Why my Ati.kext doesn't work for many users? Because my EDID is not good for him. They need your own EDID.

How can I expain more clear?

yes, you expained very clear.
I know the edid for my internal laptop LCD.and i have tried inject edid. But it unsuccess.
When ATY_Hypoprion loaded, i just got CRT1,EDID and CRT2,EDID in ioreg.It can't Find LVDS,EDID. :)
I read some words,it shows my internal laptop LCD has hardware EDID.(but I am not sure)
So i want to know Wether we can correct the source of IOGraphicsFamily.kext to get the edid.
I just want to get my laptop lcd work. :D
the PDF is Product Information of my internal LCD. Page 7 shows that it has edid.

Attached Files



#4
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 3,081 posts
  • Gender:Male
  • Location:Moscow

yes, you expained very clear.
I know the edid for my internal laptop LCD.and i have tried inject edid. But it unsuccess.
When ATY_Hypoprion loaded, i just got CRT1,EDID and CRT2,EDID in ioreg.It can't Find LVDS,EDID. ;)
I read some words,it shows my internal laptop LCD has hardware EDID.(but I am not sure)
So i want to know Wether we can correct the source of IOGraphicsFamily.kext to get the edid.
I just want to get my laptop lcd work. :o
the PDF is Product Information of my internal LCD. Page 7 shows that it has edid.

Yes, I see your monitor really have EDID EEPROM accessible by i2c bus. So RadeonDump is not perfect trying to get it.
As well as ATI_Hypoprion.
You can rewrite IOGraphics (yes, sources at my thread is compilable and working) to get EDID other way.
Now it calls
framebuffer->getEDID(). But you can write here other procedure. Simplest way is injecting EDID by info.plist.
For a what?
IOGraphics needs EDID for powermanagement purpose. Framebuffer needs EDID to switch resolution.
But we can't influence on Hypoprion.
Did you see posts by Lebidou? He successfully inject LVDS,EDID using key ATY,EFIDisplay = LVDS.

#5
AlexanderZhang

AlexanderZhang

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts

Yes, I see your monitor really have EDID EEPROM accessible by i2c bus. So RadeonDump is not perfect trying to get it.
As well as ATI_Hypoprion.
You can rewrite IOGraphics (yes, sources at my thread is compilable and working) to get EDID other way.
Now it calls
framebuffer->getEDID(). But you can write here other procedure. Simplest way is injecting EDID by info.plist.
For a what?
IOGraphics needs EDID for powermanagement purpose. Framebuffer needs EDID to switch resolution.
But we can't influence on Hypoprion.
Did you see posts by Lebidou? He successfully inject LVDS,EDID using key ATY,EFIDisplay = LVDS.

Thank you for your answer. :)
I hope i can inject EDID by info.plist. :(
Correct Sources is trouble.
i saw those posts by Lebidou and iMac7 use this key too,but it failed to me when i tried using this key to make Internal LCD work.
I found a interesting thing. When i add "backlight-PWM-freq=180000" in Natit,then ATI_Hypoprion loaded.but my system hang and Internal LCD has blue screen.
Any suggestion?

#6
Slice

Slice

    InsanelyMacaholic

  • Local Moderators
  • 3,081 posts
  • Gender:Male
  • Location:Moscow

Thank you for your answer. ;)
I hope i can inject EDID by info.plist. :D
Correct Sources is trouble.
i saw those posts by Lebidou and iMac7 use this key too,but it failed to me when i tried using this key to make Internal LCD work.
I found a interesting thing. When i add "backlight-PWM-freq=180000" in Natit,then ATI_Hypoprion loaded.but my system hang and Internal LCD has blue screen.
Any suggestion?

I see no relations between backlight and blue screen. Mistake is elsewhere.

#7
hackmymac

hackmymac

    InsanelyMac Protégé

  • Members
  • PipPip
  • 62 posts
  • Gender:Male
  • Location:Hobart Tasmania
  • Interests:Breaking computers and software, Moto GP, V8 Supercars, Golf
If it is any help, I've had some what limited success with DONG's famebuffer driver and can get max res on an internal LCD screen with my 2600HD mobility (1280x800).

But, I still can not get QE/CI on the internal display.

How ever, I have had the QE/CI support on an external screen when the driver is loaded as a 2600XT.

Little confused as what to do next.

Do you guy have any idea's?? I do like your info on the IOGraphics.kext , and I may start playing with that too.

For the Internal display, you can have a look below to see what nimes and Myself gotten to.

http://www.insanelym...howtopic=196220





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