Jump to content

Final solution (FIX) for GMA950 Desktop edition - NEW 28 DEC 08


Dr. Hurt
 Share

486 posts in this topic

Recommended Posts

Update 10:

10.6.2 introduces 64bit drivers for GMA950. They are very buggy and monitor doesn't wake after sleep. This means you can finally use the 64bit kernel and have GMA950 working, although I personally prefer not till Apple updates the driver.

 

Update 9:

THIS WORKS WITH SNOW LEOPARD. YOU NEED TO BOOT IN 32-BIT MODE BECAUSE DRIVERS DON'T SUPPORT 64-BIT.

 

Update 8:

I've compiled a list of all prepatched DSDT made by different users for different motherboards. Huge thanks to everyone who contributed.

 

NB:

This does not work with most Laptops so please stop complaining in this thread.

 

---------------------------------------------------------------------------------------------------------

1-Gigabyte users with similar boards (ie. GA-945GCM-S2L,GA-945GCM-S2C,GA-945GCMX-S2...etc), use V4.2 (updated for better compatibility with 10.5.7) :P

2-Others, Start by searching for your board in the list at the end of post. Try to match at least the manufacturer, not necessarily the model. :)

 

3-If you can't find it, or if doesn't work try V3 or other versions. Otherwise, make your own patch.

 

NB: You need a boot-loader that supports DSDT like PC-EFI v9 or Chameleon 2!

---.--You also need to use stock kexts.

GMA950_V3.zip GMA950_V4.2.zip

If they don't work, download the patch.zip and start patching the DSDT yourself.

Patch.zipThe patch.zip contains:

-Instructions

-An example of a patched DSDT.dsl to help in figuring out the drop in location for the code and debugging!!

-DSDT patcher (by fassl)

-DSDT decompiler/compiler (iasl)

-Source Code (by roioft)

Source Code by roisoft. I feel greatly indebted to you. Thank You!!

After patching the DSDT you should get:

- Full resolution changing using the most up-to-date stock kexts.

- Quartz Extreme and Core Image support.

- Rotation support.

- ZERO artifacts.

- Sleep/Wake-up fully working (S1/S3).

- System updates will no longer break graphics.

 

Disclaimer:

We will not be held responsible for any damage happening to you, you computer, your data, or anything else due to using this. You have been warned. Proceed at your own risk.

post-21972-1230490798_thumb.png

ASUS_p5ld2_vm.zip

ECS_945GCT.zip

Intel_945_gntlkr.zip

Intel_D945GCLF2.zip

Intel_D945GTPLR.zip

New_Dell_M9.zip

Shuttle_K45_GAM950.zip

Shuttle_SD30G2_GAM950.zip

Wind.zip

Asus_P5GC_MX_1333.zip

Link to comment
Share on other sites

Thank you for your solution but i have a few questions.

How can i check which ID i have?

After i find out what it is, how can i change it into the file that you publish?

Link to comment
Share on other sites

Instructions:

 

-- Use "kext helper" to install the kexts. (find download link from google!!)

-- Put this DSDT.aml file in you root (OS X) partition - make sure your boot loader supports DSDT - and reboot!

 

NB: PC-EFI v9 and a special version of Chameleon supports this.

To download PC EFI v9 installer search Google for "PC EFI v9 + Chameleon = Happiness"

Link to comment
Share on other sites

Dr. Hurt,

 

Could you elaborate on what exactly was fixed, or where I can find that information? As you may know, I'm trying to finish up support for GMA 3100 (an overclocked GMA 950). I'd like to see if this would help with some issues I am having. Also, some people may need to make slight changes for non-Gigabyte 950 boards and it would help to know what to look for.

 

Great work, though! Awesome job Roisoft!

 

Thanks,

theStevo

Link to comment
Share on other sites

OS X had trouble detecting the proper address of the GMA950 desktop version (due to broken DSDT ) so the newer framebuffers would not load.

The proper GMA950 address was added (hard coded) to the DSDT.aml (using lspci from linux) to make OS X recognize the GMA950 and load the newer framebuffer. No EFI strings, not injectors, no nothing!!

 

This will allow you to use stock drivers and not worry about graphics in system updates.

Link to comment
Share on other sites

hi there!

 

I´ve used this fix on Asus, Intel and GA boards with GMA950 and it works fine... For the 3100 version i dont know if it will work because i dont have the hardware to try out. The point is OSX detect the Gfx like "built-in" , the same for TM fix....

 

People with differents boards (no GA) can decompile the aml, copy the code for GMA and paste it into the dsl.

Link to comment
Share on other sites

Well, I know that this alone won't get the GMA 3100 working. However, in conjunction with my edited kexts it may work now. I have QE/CI/etc working, but I can't get the framebuffer to load properly (black hash screen). I was at my wit's end as to what to do, but I will test and report back.

 

theStevo

Link to comment
Share on other sites

Thanks again roisoft. So the file attached here will not directly work with boards other than Gigabyte, unless it decompiled, and modified? Right? Should I modify the first post yet? I was waiting for people to try it out first, but of well.

 

OK, here's the code for anyone willing to do it:

 

Edit: I have updated the first post to put the source code for anyone willing to help

Link to comment
Share on other sites

This dsdt is only for your board or similars (GA), ... better to change the first post.

 

if any of you want to give me the dsdt and a proper ioreg saved with ioregistryexplorer with the GMA 3100 working , l´ll try to inject code for fix it via dsdt.

Link to comment
Share on other sites

It appears to almost work, I have everything setup, after the grey apple boot screen the blue screen comes and resolution changes (which it didn't do before) but the cursor doesn't appear and it freezes on my wallpaper, no finder, loginwindow dock or anything.

 

So its a step in the right direction, but no worky..

 

EDIT:

Gigabyte GA-GC230D with GMA 950 0x2772, revision 0x0002

Link to comment
Share on other sites

OK, i shall just go turn on my Hac....

 

EDIT: does it matter what frame buffer i use? i assume i should use the newer one, i switched back after it didn't work..

 

Ok, used no dsdt's on my drive root. got both things... on ioregexplorer i selected intel915 from the list (under "IOFramebufferUserClient" and click file save as, is that right?

NebulOSX.zip

Link to comment
Share on other sites

After seeing that 2 monitors were recognized when there was only one, i connected to the computer via VNC and put on mirror displays as i thought it would semi fix the problem but now I get crazy colour when i boot with the dsdt.aml file, hope i havn't messed up, its fine when i get rid of the aml files.

Link to comment
Share on other sites

Is there any way to use this with a laptop GMA 950? I have an Acer Aspire One and still need modified kexts and framebuffers (from 10.4! :) )

 

What Device and revision ID's does it have? (about this mac > more info > graphics/displays)

Link to comment
Share on other sites

 Share

×
×
  • Create New...