Jump to content

[How To] GMA900 with QE and CI support on Leopard.


Andy4life
 Share

365 posts in this topic

Recommended Posts

I'm pretty sure I have done all correctly but it doesn't work :( I generated the two files and the folder as per the instructions placing them in both the locations you told me and did the modification you told me but it seems the script doesn't start at all at boot time. I checked the console and it sayd there were problems on the plist file permissions, I fixed them but it still doesn't work

 

My permissions are:

 

drwxr-xr-x  3 root  wheel  102 Dec 10 23:26 org.gizmolabs.setMAC
-rw-r--r--  1 root  wheel  697 Dec 10 01:29 org.gizmolabs.setMAC.plist

 

chown -R root:wheel org.gizmolabs.setMAC

chown -R root:wheel org.gizmolabs.setMAC.plist

 

I didn't have to set anything else. If it helps, I have attached my files. Please change the mac address

 

LaunchDaemons.zip

 

I have the same warnings in the Console log, but the MAC address change is made correctly. Make sure it's using the correct ethernet port. Does the command work when you run it manually? My full output for this is:

 

12/11/08 11:02:24 AM com.apple.launchctl.System[2] launchctl: CFURLCreateDataAndPropertiesFromResource(/Library/LaunchDaemons/org.gizmolabs.setMAC) failed: -10 
12/11/08 11:02:24 AM com.apple.launchctl.System[2] launchctl: propertyList is NULL 
12/11/08 11:02:24 AM com.apple.launchctl.System[2] launchctl: no plist was returned for: /Library/LaunchDaemons/org.gizmolabs.setMAC 
12/11/08 11:02:24 AM com.apple.launchctl.System[2] launchctl: no plist was returned for: /Library/LaunchDaemons/org.gizmolabs.setMAC 
12/11/08 11:02:26 AM com.apple.launchctl.System[2] launchctl: CFURLCreateDataAndPropertiesFromResource(/System/Library/LaunchDaemons/org.gizmolabs.setMAC) failed: -10 
12/11/08 11:02:26 AM com.apple.launchctl.System[2] launchctl: propertyList is NULL 
12/11/08 11:02:26 AM com.apple.launchctl.System[2] launchctl: no plist was returned for: /System/Library/LaunchDaemons/org.gizmolabs.setMAC 
12/11/08 11:02:26 AM com.apple.launchctl.System[2] launchctl: no plist was returned for: /System/Library/LaunchDaemons/org.gizmolabs.setMAC
12/11/08 11:02:27 AM com.apple.launchd[1] (org.gizmolabs.setMAC) Unknown key: ServiceDescription  
12/11/08 11:02:27 AM com.apple.launchctl.System[2] org.gizmolabs.setMAC: Already loaded 
12/11/08 11:02:37 AM org.gizmolabs.setMAC[37] Changing built-in ethernet MAC

 

it doesn't work here the automatic switch between headphones and external speakers. if I connect the headphones I can hear sound from them, but also the external speakers still work....

 

this is the kexts I am using:

 

Moly$ kextstat | grep AC97
  66	2 0x208c6000 0xd000	 0xc000	 com.apple.driver.AppleAC97Audio (1.0.0) <65 12>
  67	0 0x208d3000 0x4000	 0x3000	 com.apple.driver.AppleAC97AudioIntelICH (1.0.0) <66 17 12>
  80	0 0x1ad59000 0x2000	 0x1000	 com.apple.driver.AppleAC97CodecAD198x (1.0.0) <66 12>

 

could you please show me the output of your terminal if you run this command? So I can check if we are using the same kext....

"kextstat | grep AC97"

 

Here's mine:

 

   58	2 0x47826000 0xd000	 0xc000	 com.apple.driver.AppleAC97Audio (1.0.0) <57 12>
  59	0 0x4778f000 0x4000	 0x3000	 com.apple.driver.AppleAC97AudioIntelICH (1.0.0) <58 17 12>
  72	0 0x476dd000 0x2000	 0x1000	 com.apple.driver.AppleAC97CodecAD198x (1.0.0) <58 12>

 

We have the same kexts and same chipset but your laptop is doing something odd, sorry. It's not something I could help with. When I plug headphones into my front panel connector, it silents the external speakers. Built-in mono speaker doesn't work anyway (thank god).

 

I have tried the kexts by Nick, choosing the correct Intel950 kext according to my Device ID, but I still have mouse tearings and now I need the paperclip trick again.... so I am switching back to the ones I was using before..... :(

 

Thanks for the report.

  • Like 1
Link to comment
Share on other sites

flibblesan

 

did you get the internal Sound working on the DC7100 ?

 

I have sound working on the front ports and the rear ports. The internal mono speaker does not work, which in my opinion is a good thing because I find it annoying.

Link to comment
Share on other sites

My permissions are:

 

drwxr-xr-x  3 root  wheel  102 Dec 10 23:26 org.gizmolabs.setMAC
-rw-r--r--  1 root  wheel  697 Dec 10 01:29 org.gizmolabs.setMAC.plist

 

chown -R root:wheel org.gizmolabs.setMAC

chown -R root:wheel org.gizmolabs.setMAC.plist

 

[CUT]

 

thanks a lot fibblesan! with your files it is working, I don't know why as they look the same as mines.. the only difference was that my files were originally RTF files and then I changed the extensions to .plist and .sh, while yours are simple text files.... maybe that was the problem.. by the way the MAC address seems to be correctly initialized now:

 

Moly$ ifconfig | grep ether
ether 00:15:60:b0:a0:7b

 

The only weird thing is that booting in verbose mode I still see this:

 

Moly$ cat /var/log/system.log | grep address
[CUT]
Dec 11 15:16:19 molys-macpro31 kernel[0]: BCM5751Enet: Ethernet address 00:00:00:00:00:00

 

and from the GUI going to System Preferences - Network - Advanced - Ethernet again I see: Ethernet ID: 00:00:00:00:00:00

 

that's the same for you too? Wrong information in both the system logs and in system preferences but correct information from the terminal running ifconfig?

 

about the audio, not a big problem I'll keep it as it is.. by the way I know that is the same problem present on some netbook hackintoshes as some eeepc models.. someone fixed it with a small app to do the switch.. I don't know if this will work with my chip too I will try :)

 

 

For everyone with a laptop and AC97 audio: were you able to enable the automatic switch between externel speakers and headphones?

 

(....and sorry all for the offtopic....)

 

bye!!

Link to comment
Share on other sites

thanks a lot fibblesan! with your files it is working, I don't know why as they look the same as mines.. the only difference was that my files were originally RTF files and then I changed the extensions to .plist and .sh, while yours are simple text files.... maybe that was the problem.. by the way the MAC address seems to be correctly initialized now:

 

Moly$ ifconfig | grep ether
ether 00:15:60:b0:a0:7b

 

The only weird thing is that booting in verbose mode I still see this:

 

Moly$ cat /var/log/system.log | grep address
[CUT]
Dec 11 15:16:19 molys-macpro31 kernel[0]: BCM5751Enet: Ethernet address 00:00:00:00:00:00

 

and from the GUI going to System Preferences - Network - Advanced - Ethernet again I see: Ethernet ID: 00:00:00:00:00:00

bye!!

 

System Preferences will show the zero mac address as it is getting that information from the kext itself. However if you check SystemProfiler, you will see the updated mac address. The information you see in the logs is when the kext is first loaded. The script waits for the kext to be loaded and en0 setup before it changes the MAC address.

 

Don't worry about the off-topicness. There is a few of us using similar setups so it should be useful for many people. I may start a topic off for the DC7100 and similar machines if it's useful.

Link to comment
Share on other sites

System Preferences will show the zero mac address as it is getting that information from the kext itself. However if you check SystemProfiler, you will see the updated mac address. The information you see in the logs is when the kext is first loaded. The script waits for the kext to be loaded and en0 setup before it changes the MAC address.

 

Don't worry about the off-topicness. There is a few of us using similar setups so it should be useful for many people. I may start a topic off for the DC7100 and similar machines if it's useful.

 

 

also from system profiler I see 00:00:00:00:00:00 .... :(:( while from the terminal everything seems correct and now from the logs I see the script has been loaded properly....

 

12/11/08 11:02:27 AM com.apple.launchd[1] (org.gizmolabs.setMAC) Unknown key: ServiceDescription  
12/11/08 11:02:37 AM org.gizmolabs.setMAC[37] Changing built-in ethernet MAC

 

well I am confident I can trust what the terminals says.. :P

 

bye and thanks again for your patience! :) :)

 

PS: interesting the link, I didn't know there was a way to avoid going through the wizard that appears at the first boot! :|

Link to comment
Share on other sites

moly82

 

Try the 10.4.4 Framebuffer then you dont need papper clip

 

 

Ciao Nick, everything is working here and no need of the paperclip! I have just some problems with the mouse cursor that's why I tried the kexts from your post.... but using them I needed the paperclip and I still had mouse tearings so I have already installed the previous kexts.. the mouse tearing is not such a big problem for me.. but you confirm you don't have any problems like this? if you press apple + k to connect a server and move the mouse over the window that shows up, can you see several mouse cursors or no problems at all?

 

 

byeeee

Link to comment
Share on other sites

It's a shame that there is not a single solution for everybody. Whilst Nicks 10.5.5 kexts work fine for myself, some others get black screens unless they replace the OpenGL framework. It's a pain in the backside to be honest, but considering that GMA900 is not suppose to be working in Leopard, we've achieved a lot!

 

Hope you get something working soon.

 

There IS a solution which works for everyone and it needs NO patched driver - you can use stock Leopard GMA950 kext with GMA900 using just an enabler kext (like the SMBIOS enabler) which you put in your extension folder.

 

GMA900 is supported quite well in Leopard via the GMA950 drivers, the only difference is that the ::probe() function of the GMA950 driver refuses to load on GMA900. The enabler kext simply forces it to load and the stock drivers work.

 

I have only compiled a version for my dev ID 2592, but I will make one for all 3 dev IDs together and upload it when I have time. This excellent idea (and the code) was done by dfe, who has it on his website but no one probably bothered to use other methods than binary patching the drivers.

 

Binary patching is so 2005! ;)

Link to comment
Share on other sites

There IS a solution which works for everyone and it needs NO patched driver - you can use stock Leopard GMA950 kext with GMA900 using just an enabler kext (like the SMBIOS enabler) which you put in your extension folder.

 

GMA900 is supported quite well in Leopard via the GMA950 drivers, the only difference is that the ::probe() function of the GMA950 driver refuses to load on GMA900. The enabler kext simply forces it to load and the stock drivers work.

 

I have only compiled a version for my dev ID 2592, but I will make one for all 3 dev IDs together and upload it when I have time. This excellent idea (and the code) was done by dfe, who has it on his website but no one probably bothered to use other methods than binary patching the drivers.

 

Binary patching is so 2005! ;)

 

Mate, you are awesome. First Voodoo kernel, now this.

 

My device ID is 2582 which is used in the HP DC7100. Would it be possible for me to try this out please?

Link to comment
Share on other sites

Here's the kext.

 

You need to -

 

1. Revert all your AppleIntelGMA* kexts to the stock ones that come with Leopard. Do NOT use any patched kext from any version other than the proper one for your version of Leopard. I have tested on 10.5.1 as well as 10.5.5. Please also no OpenGL.framework hacking or anything.

 

2. Use the old AppleIntelIntegratedFramebuffer.kext (1.4.20..., not 1.5.xx...). I have attached a copy. So far I've not tried to find a way to use the updated leopard framebuffer kext, though it is possible with some IOKit hacking.

 

Once your kexts are all the default ones, install the old framebuffer AND this enabler kext. Reboot.

 

This is for all GMA900 cards (hopefully). If this works for you, I will make a new HOWTO thread and this thread should be closed because patched drivers are not cool!

 

And to say this again: This brilliant idea was by dfe - I am just the messenger.

ElliottAppleIntelGMA950LegacyEnabler.kext.zip

AppleIntelIntegratedFramebuffer.kext.zip

Link to comment
Share on other sites

Here's the kext.

 

You need to -

 

1. Revert all your AppleIntelGMA* kexts to the stock ones that come with Leopard. Do NOT use any patched kext from any version other than the proper one for your version of Leopard. I have tested on 10.5.1 as well as 10.5.5.

 

2. Use the old AppleIntelIntegratedFramebuffer.kext (1.4.20..., not 1.5.xx...). I have attached a copy. So far I've not tried to find a way to use the updated leopard framebuffer kext, though it is possible with some IOKit hacking.

 

Once your kexts are all the default ones, install the old framebuffer AND this enabler kext. Reboot.

 

This is for all GMA900 cards (hopefully). If this works for you, I will make a new HOWTO thread and this thread should be closed because patched drivers are not cool!

 

And to say this again: This brilliant idea was by dfe - I am just the messenger.

 

HOLY COW!

 

It bloody works! Fantastic! DFE is a genius! Thanks for compiling it!

 

I'm using the 10.5.6 kexts and framebuffer. No resolution change as expected, but I have no artifacts and Quicktime movies play in colour!

 

I'll drop the older framebuffer in and see what happens.

 

Thank you again. I agree, this thread should be locked and first page edited with a link to this kext.

Link to comment
Share on other sites

I'm using the 10.5.6 kexts and framebuffer. No resolution change as expected, but I have no artifacts and Quicktime movies play in colour!

I'll drop the older framebuffer in and see what happens.

If the stock framebuffer from 10.5.6 worked then you shouldn't use the old framebuffer. And I'll be happy if you can attach your new fb so I can try it too as I have very minor artifacts with the old fb.

 

And yes DFE is made of pure awesome! This trick is so very simple yet so brilliant.

Link to comment
Share on other sites

If the stock framebuffer from 10.5.6 worked then you shouldn't use the old framebuffer. And I'll be happy if you can attach your new fb so I can try it too as I have very minor artifacts with the old fb.

 

And yes DFE is made of pure awesome! This trick is so very simple yet so brilliant.

 

Old framebuffer gives me artifacts, one from 10.5.6 doesn't. However, I lose the ability to change resolutions. I've had to set a manual resolution in the com.apple.Boot.plist to 1280x1024 which is a bit {censored} on my CRT monitor (which will be replaced end of this week).

 

1152x864 didn't work though, strangely.

 

10.5.6 kexts here: http://www.mediafire.com/download.php?mj3hkik1zql

 

Framebuffer alone: http://www.mediafire.com/download.php?qzxyc0mu2km or AppleIntelIntegratedFramebuffer.10.5.6.zip

Link to comment
Share on other sites

Thanks a lot. I'll try it after a while (not in OSX right now).

 

I think the framebuffer worked for you because you are using an external monitor. Not sure how it'll pan out for laptop LCD. We'll see.. the artifacts are occasional and minor anyway.

Link to comment
Share on other sites

Thanks a lot. I'll try it after a while (not in OSX right now).

 

I think the framebuffer worked for you because you are using an external monitor. Not sure how it'll pan out for laptop LCD. We'll see.. the artifacts are occasional and minor anyway.

 

Yes, but when I use Photoshop Elements, I get mad artifacts all over the place :(

 

No problem with the new kext. I can live without resolution change.

 

EDIT: Any application that tries to set a resolution (World of Goo for example) causes a kernal panic when using stock Framebuffer. I've gone back to the older one you provided. If there was a way to get resolution change working with the new framebuffers, I believe the KPs will go away. I can't find any source for the framebuffers though...

Link to comment
Share on other sites

 Share

×
×
  • Create New...