As many of you know, the GMA 3100 is the last, and fastest, of the 915 family. After successfully enabling the rest of the 965 family, I turned my attention toward getting the rest of the 915 family working. Andy4Life inspired my work by getting the GMA950 kexts to load for the GMA900 with some hex and DEVID editing. With his accomplishment, we now have two of the four in the family working. GMA 3000 and GMA 3100 are not working, and I have been able to get a hold of a 3100 to do some work.
My status right now is that I have monitor recognition and resolution change (framebuffer) and the system profiler shows QE/CI enabled. However, it goes very very slow. Meaning, it takes about 45 minutes to go from the blue screen to loaded desktop. Once the desktop is up, it is so slow that even dock magnification on mouseover takes five to ten minutes. Also, the mouse is an odd colored hash. It looks like red, blue, yellow, and green pencil shavings contained within the shape of a square. The Tiger framebuffer makes the square about twice the height and width of a normal mac cursor. Using any Leopard framebuffer makes the square hash size about six or seven times the size of a cursor. The upper left corner of this square of colored hash is the target of the cursor. In some kext combinations, it will display a normal black cursor for a split second when the blue screen comes up. However, that split second later the hash square appears over the same area.
SSH appears to be responsive, as much as command line really can be. When I run system_profiler it does show QE and CI as enabled, along with my monitor information.
I will try to get some screenshots up later.
I've used hex and DEVID edits to get here. For specifics on which IDs and where (hex), please PM me. Two files are involved, AppleIntelIntegratedFramebuffer and AppleIntelGMA950.
As I mentioned above, I've tried Tiger framebuffers (10.4.3, 10.4.4, 10.4.6) and all produce a small square of hash. Of course, Tiger kexts don't give Rotation (Not that it really matters right now anyway). I've also tried every Leopard framebuffer version. All produce the same result, a large square of hash. This hash is also present in safe mode.
AppleIntelGMA950 either "works" or it doesn't. I can't seem to detect any changes between versions. Tiger versions didn't work. Leopard beta didn't work. Leopard GM - 10.5.3 didn't work. 10.5.4 with 10.5.5 OpenGL Framework "worked" (both on 10.5.4 and 10.5.5 systems). 10.5.5 doesn't work. 10.5.5 graphics update and 10.5.6 (framebuffer, GMA950, OpenGL) "works."
Disabling DVMT in the BIOS seems to be a requirement before 10.5.5 graphics update. After, it seems to improve the odds of getting the desktop to come up. I don't know why, but it is sometimes hit or miss. I've tried replacing the Quartz framework with different versions, but that did nothing except screw me up a couple times. I've also tried adding the DSDT GMA950 fix, but it didn't seem to help any. I know the DSDT was loaded and everything, but it didn't help. Tried adding EFI strings (with modded kexts), no go.
So, basically I'm at my wit's end. I've ran out of new ideas, and I'm looking for intelligent suggestions. I don't have much time these days, but for promising assistance I'll work with it some more. I do have some questions, if anybody could help.
- There isn't a way to trick the system profiler is there? I'm hoping this means that the driver can truly provide hardware acceleration, and not that I've somehow bypassed some check.
- Is there a way to determine OpenGL functionality from the terminal (SSH)?
- Could this be a framebuffer problem, as the mouse is hash even when in safe mode and AppleIntelGMA950 is not loaded? Safe mode on other GPUs still makes a normal looking mouse, perhaps this is the clue to the problem.
- If I'm not truly hardware accelerated, and have just 'tricked' the system profiler, why is load time taking longer than if I have no kexts loaded at all?
- Shouldn't there be an error log being inundated with errors during these slow loads? None of the logs I've seen show anything special.