Posted 27 June 2008 - 07:56 PM

Slice

InsanelyMacaholic

Local Moderators

3,741 posts

Gender:Male

Location:Moscow

Thanks Dong. I'll try your RadeonDump as soon as possible.

New idea.Why ATINDRV.kext is not working for you? It is intended for R5xx.But different I2C methods! So it simply can't get EDID for your card!If so you need ONLY to rewrite getEDID in IONDRVSupport as you already done and leave all other methods doStatus/doControl by default to be performed by ATINDRV.Thus your working configuration (I hope ):ATILead.kext to inject name "ATY,Wormy" (or other?)IONDRVSupport.kext with corrected getEDIDATINDRV.kext as is.To check you need not more then one hour.Victory?

The same for OLE2.Not for me. I will go by Joblo's way. Callisto003 works for me but without AGP acceleration - old story.

Posted 27 June 2008 - 09:27 PM

dong

InsanelyMac Sage

Retired Developers

366 posts

Gender:Male

New idea.Why ATINDRV.kext is not working for you? It is intended for R5xx.But different I2C methods! So it simply can't get EDID for your card!If so you need ONLY to rewrite getEDID in IONDRVSupport as you already done and leave all other methods doStatus/doControl by default to be performed by ATINDRV.Thus your working configuration (I hope ):ATILead.kext to inject name "ATY,Wormy" (or other?)IONDRVSupport.kext with corrected getEDIDATINDRV.kext as is.To check you need not more then one hour.Victory?

I hope it will work cause that will be really nice. But how if ATINDRV overwrites and only uses its own version of getEDID?

Posted 27 June 2008 - 10:55 PM

asstastic

InsanelyMac Sage

Members

329 posts

Gender:Male

Location:Austin, TX

I've been testing out latest version of RadeonDump on my mobility x1600.

At first it did nothing, then I realized I should probably have RadeonPCI kext installed. So I install kext, check to make sure it's loaded and try again. This time I get output but it still can't find EDID:

gojiras-aspire-5670:~ gojira$ /Users/gojira/Desktop/Radeon\ PCI/RadeonPCI_compiled/RadeonDump -i
Found a device of class RadeonPCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEGP@1/IOPCI2PCIBridge/VGA@0/RadeonPCI
it matched on name "ATY,WormyParent"
Start I2C dump
Read EDID at position 0 failed
Read EDID at position 1 failed

For some reason it seems to be trying to read from the VGA port(no monitor attached btw) instead of LVDS. Perhaps error is caused by com.apple.boot.plist EFI device strings(Same function as ATIinject/Natit) conflicts with RadeonPCI. If there is a possibility of conflict I can restore original boot.plist and test again. Otherwise, is there a way to get more verbose info to track down the error?

Posted 28 June 2008 - 04:04 PM

I'm still looking into the linux source to find out how connector information is taken into account. At the mean time, please try this to see if your card is in the known card list.

I am not successful with new RadeonDump. It is much more complex code. Grates Dong! No problem with known card list. Problem is in different pins for clock and data from different manufactures.I am still trying to find data_mask/clock_mask in different combination with different registers.What is strange: Linux uses revers 0<->1 bits (High=0 Low=1) while Windows and Wormy drivers High=1 Low=0.

Posted 28 June 2008 - 06:03 PM

clefmeister

InsanelyMac Protégé

Just Joined

1 posts

Slice and Dong:

If either of your efforts would lead to a good driver for the X1200 series, I'd like to offer my help testing. I'm no programmer, but I can certainly test drivers with a wee bit of instruction. I'm running on a Dell Inspiron 1521, and the information I've managed to get on my graphics card is thus:

Radeon X1270 IGP (based on X700)
Codename: M690T

I'm currently using Natit on Leopard 10.5.2. System Profiler has this to say about the graphics:

As you can see it is working fine. We just need to fix the code so that it runs through all possible displays connections. Should be easy to run a dump on every output (VGA, HDMI, S-Video and LVDS) and then check to see which ones have monitors attached by whether they dump an edid or not.

I've tested new IONDRVSupport.kext with Natit, nothing improved. I guess ATINDRV subclassed IONDRVFramebuffer and overwrited these member functions instead of only providing low level implementations in IOBootNDRV class.

JAs you can see it is working fine. We just need to fix the code so that it runs through all possible displays connections. Should be easy to run a dump on every output (VGA, HDMI, S-Video and LVDS) and then check to see which ones have monitors attached by whether they dump an edid or not.

The DDC line seems determined by corresponding MASK register value. All DDC lines are forced to be detected in this new code without consideration of card type. Please give it a try.RadeonDump.zip57.23KB35 downloads

Posted 30 June 2008 - 08:51 AM

Slice

InsanelyMacaholic

Local Moderators

3,741 posts

Gender:Male

Location:Moscow

I've tested new IONDRVSupport.kext with Natit, nothing improved. I guess ATINDRV subclassed IONDRVFramebuffer and overwrited these member functions instead of only providing low level implementations in IOBootNDRV class.

Complex relationsIn constructor (; ATY_Wormy::ATY_Wormy(void)) I understand that when the class is created it create an instance of IONDRVFramebuffer but not override its members.

These masks doesn't work for me. Windows driver has other masks (see my posts above) and doesn't work too. I don't know what is the problem. I did several attempts to change the masks in your codes but had no success yet.Very nice that two men are successful!I think for other it is easy to make

Posted 30 June 2008 - 07:33 PM

asstastic

InsanelyMac Sage

Members

329 posts

Gender:Male

Location:Austin, TX

I've tested new IONDRVSupport.kext with Natit, nothing improved. I guess ATINDRV subclassed IONDRVFramebuffer and overwrited these member functions instead of only providing low level implementations in IOBootNDRV class.

The DDC line seems determined by corresponding MASK register value. All DDC lines are forced to be detected in this new code without consideration of card type. Please give it a try.RadeonDump.zip57.23KB35 downloads

No Luck with the new RadeonDump detecting the internal LCD. Looks like the problem is something else. Would a clipping from my IO Registry help in any way?

Posted 01 July 2008 - 02:57 AM

dong

InsanelyMac Sage

Retired Developers

366 posts

Gender:Male

As I previously said I don't trust Linux codes.These masks doesn't work for me. Windows driver has other masks (see my posts above) and doesn't work too. I don't know what is the problem. I did several attempts to change the masks in your codes but had no success yet.

I know it's a little frustrating for you when testing all this, but would you give another try with this RadeonDump.zip70.94KB15 downloadsThis time, register masks have a possiblity to be set by BIOS values for legacy BIOS cards.Frankly say, corresponding code (from radeon_atombios.c) for my ATOMBIOS card is not working and thus not included here.That also means: no new things for asstastic to test yet.