Jump to content

New ATI Drivers


438 posts in this topic

Recommended Posts

ok before to go sleep i do deassembly ATIDriver.bunle

 

and i can't see EFI involved in some way for now but need to that be check deeply

 

but there is new think like AppleSence seems to work on 10.4.4 - also IODisplay too

 

that very big progress from apple side, need also to checkout darwin last sources - strange they are PPC only for now ...wonder why (http://darwinsource.opendarwin.org/10.4.4.ppc/)

 

tomorow i will deassembly rest ATI**.kext's

 

good night

I believe the reason you are not seeing any references to EFI is because the ATI firmware is stored in the FlashROM and loaded at power on time, just like it would if you had a normal Mac ATI graphics card. The ATINDRV uses IONDRVDevice to find the Radeon chip and it's ROM, VRAM etc (remember the NDRV.cpp you had me look at, it has the loader for ROM there) so I guess ATINDRV is based on something like that, afterall it instantiates IONDRVDevice. :)

 

Now that you mention it, perhaps it would be interesting to try the new Apple kexts for AppleSense, I2C, AppleBackLight etc...

Link to comment
Share on other sites

Just grabbed the framework files, took a backup of my current ones (luckily enough) and copied the new ones over the existing ones. A reboot and no more desktop...

Just restored back to previous situation now...

 

Independent verification that I didn't just screw it up... yea!

Link to comment
Share on other sites

By the way: do we already know the meaning of "Accel caps:" as found in the WindowServer log?

 

Whenever I'm not trying to use the ATI driver and the modified AppleI386PIC.kext the log says: Accel caps: 00000000 so I guess this is something like "disabled"...

 

Whenever i get the black with white stripes desktop (ATI kext loaded and AGP bridge loaded) the log reads: Accel caps: 00000001

 

Now apparently other have a value of 00000003 for Accel caps...

 

What is this value telling us???

Link to comment
Share on other sites

Kossi, that is the exact same behaviour as I had (login and back out again): I guess next time I need to be a bit more specific :graduated:

 

I first tried keeping the new OpenGL.framework and only restoring the AGL.framework but that didn't bring the desktop back...

Link to comment
Share on other sites

np_ said he was going to disassemble the driver to see why its not matching. i guess its something to do with this ATY/Wormy thing.

 

with a bit of luck he'll be posting some good news on that front soon :graduated:

Link to comment
Share on other sites

Same here. With 10.4.4 Framework (OpenGL and AGL) plus 10.4.4 Ati kexts (for my 9600pro -> ATIRadeon9700*) the login screen appears in his full beauty but when I'm trying to login he drops me to the console login.

 

witch mean OpenGL framework depend on one or more frameworks from 10.4.4 ( function missing in that framework )

 

drop you in console because window server fails to load

 

there is two framebuffers one for console ( startup ) and one for UI - they switch on login exacly

 

i don't have time now to check that deep but at weekend i will do

 

thanks

Link to comment
Share on other sites

I believe the reason you are not seeing any references to EFI is because the ATI firmware is stored in the FlashROM and loaded at power on time, just like it would if you had a normal Mac ATI graphics card. The ATINDRV uses IONDRVDevice to find the Radeon chip and it's ROM, VRAM etc (remember the NDRV.cpp you had me look at, it has the loader for ROM there) so I guess ATINDRV is based on something like that, afterall it instantiates IONDRVDevice. :graduated:

 

Now that you mention it, perhaps it would be interesting to try the new Apple kexts for AppleSense, I2C, AppleBackLight etc...

 

Omni , i can tell you there is no EFI involved from this i see , need more diassembly to be %100 sure

 

for example i get AppleYukon.kext from 10.4.4 and work perfect under 10.4.3

 

if there was some depence on EFI no way to work at all

 

also IONDRVDevice is replasment for nub then find some of these "NVDRV's" or there is second head present ( see IONDRVFRamebuffer look for "device_type" = "display")

 

apple treat two head video card as two single head cards , because you can't have two cards using same i/o resources - here comes IONDRVDevice :P

 

simple

Link to comment
Share on other sites

what do these bits mean then? this is taken from the system dump of a Macbook (and the full text can be found http://wiki.osx86project.org/wiki/index.php/System_Profiler )

 

 

 

<key>_name</key>

<string>kHW_ATIr520Item</string>

<key>spdisplays_device-id</key>

<string>0x71c5</string>

<key>spdisplays_efi-version</key>

<string>01.00.063</string>

<key>spdisplays_ndrvs</key>

<array>

<dict>

<key>_name</key>

<string>Color LCD</string>

<key>_spdisplays_edid</key>

<string>0xffffff0000ffffff.....etc (edited cos its very long)</string>

<key>spdisplays_builtin</key>

<string>spdisplays_yes</string>

<key>spdisplays_coreimage</key>

<string>spdisplays_supported</string>

<key>spdisplays_depth</key>

<string>CGSThirtytwoBitColor</string>

<key>spdisplays_display_type</key>

<string>spdisplays_LCD</string>

<key>spdisplays_main</key>

<string>spdisplays_yes</string>

<key>spdisplays_mirror</key>

<string>spdisplays_off</string>

<key>spdisplays_online</key>

<string>spdisplays_yes</string>

<key>spdisplays_quartzextreme</key>

<string>spdisplays_supported</string>

<key>spdisplays_resolution</key>

<string>1440 x 900</string>

</dict>

<dict>

<key>_name</key>

<string>spdisplays_display</string>

<key>spdisplays_status</key>

<string>spdisplays_not_connected</string>

</dict>

</array>

<key>spdisplays_revision-id</key>

<string>0x0000</string>

<key>spdisplays_vendor</key>

<string>ATI (0x1002)</string>

<key>spdisplays_vram</key>

<string>128 MB</string>

<key>sppci_bus</key>

<string>spdisplays_pcie_device</string>

<key>sppci_device_type</key>

<string>display</string>

<key>sppci_model</key>

<string>ATY,RadeonX1600</string>

</dict>

</array>

 

that mentions EFI device? (not mentioned anywhere else though, but there must be a check or something for profile to mention it).

Link to comment
Share on other sites

i think if EFI have something to do with ATI**.kext's from 10.4.4

 

they will be not able to load at all ...

 

 

but from xiberia post i can see EFI is used for "display" ie LCD and mostly info for windows server

 

but i can be wrong on all this too ...

 

i don't have time to play with ATI**.kext's now but at weekend i will check whole think deeply

Link to comment
Share on other sites

i think if EFI have something to do with ATI**.kext's from 10.4.4

 

they will be not able to load at all ...

but from xiberia post i can see EFI is used for "display" ie LCD and mostly info for windows server

 

but i can be wrong on all this too ...

 

i don't have time to play with ATI**.kext's now but at weekend i will check whole think deeply

I agree with you on this one... seems pretty logical.

*can't wait for this weekend*

Link to comment
Share on other sites

Greets,

I have a X800GTO and I get the same problems as with the 10.4.3 Kext. The screen does not go black, just garbled.

Also, I tried VNC the MacOSX just to give it a try, and the same thing happens.

One more things I tried was to VNC an working MacOSX when I put @refreshrate, and I can change res on the VNC app. On my real monitor, I only see ascii text.

Link to comment
Share on other sites

witch mean OpenGL framework depend on one or more frameworks from 10.4.4 ( function missing in that framework )

 

drop you in console because window server fails to load

 

The ATIRadeonX1000GLDriver (the one that fixes the blackout when removed) depends on:

 

/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLProgrammability.dylib (compatibility version 1.0.0, current version 1.0.0)

/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLImage.dylib (compatibility version 1.0.0, current version 1.0.0)

/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 368.26.0)

/System/Library/Frameworks/IOKit.framework/Versions/A/IOKit (compatibility version 1.0.0, current version 275.0.0)

/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.4.0)

/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)

/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 88.1.3)

 

So at least otool -L doesn't think there are any missing dependencies.

Link to comment
Share on other sites

I've been reading quickly through this thread and I noticed that some thought that the blackscreen with only the cursor working could be due to the use of EFI. I don't think so.

I have the same problem with my x700 when I try to use 10.4.3 or 10.4.4 ATIRadeon9700 and ATIRadeon9700GL. It "works" without the GL bundle, without QI or CI, and turn to this black screen when it is installed. And there was no EFI with 10.4.3.

I know this post may not be very helpful, but it would be a loss of time seaching after EFI if it is not involved.

Link to comment
Share on other sites

what about running otool on the main kexts?

 

on another note, this weekend is my birthday, so if np_ finds something useful, it will be the best birthday present ever ;)

 

cheers

 

the ATI driver is ATINDRV.kext

 

rest ATI(model).kext is just IOAccelerator loading ATI(model)GL/GA plugins

 

most import think is to get ATINDRV.kext loaded and running for now ( there is framebuffer ..etc )

 

and from diassembly i can see is much more complete that older versions

 

but still can't find noone depency on "EFI"

 

can some one do this

 

remove all ATI*.kext exept ATINDRV.kext

 

reboot and try to load kextload -vt /System/.../ATINDRV.kext

 

let us for results ( log output and ioreg -l out )

 

thanks

Link to comment
Share on other sites

 Share

×
×
  • Create New...