Tuesday, September 1, 2009

X3000 and X3500 for Snow Leopard

To christen my new blog, I'd like to present some new and improved kexts! These complete G965 "family" support for Snow Leopard, just as my previous release did for Leopard. With that designation, it might be a good time to cover the following...

There is a difference between GMA 3000/3100 GPUs and GMA X3000/X3100/X3500 GPUs. Those without the X are related to the GMA 950. We are not discussing those in this post! Most desktop boards, that I have seen, are without the X and are related to the GMA 950. Quite commonly retailers, or even manufactures, mislabel the products and add Xs. Usually the chipsets are correct, so please reference below.

Chipsets not in scope of this post: 946GZ, GL960, GM965, Q965, Q963, G31, G33, Q33 and Q35

Chipsets in scope of this post: G965, G35

I'm fairly pleased that in my previous two threads on Insanelymac only two people posted questions regarding inapplicable hardware, hopefully we can even better that track record here. A little time spent researching your hardware on Google will assure that nobody wastes time diagnosing a problem that can't be fixed.

Now that the hardware warning is covered, let's talk about these new kexts. They are for Snow Leopard only, as they will not work in Leopard because of OpenGL issues. They are 32 bit only, just like the vanilla version I modified to create them. I did not magically recompile or otherwise add 64 bit capability to a closed-source driver. But, they do have a few new improvements:
  • Performance is improved. I'm not talking about Snow Leopard vs. Leopard, I'm talking about the way I made the previous kexts vs. how I made these. I started making a Snow Leopard version using the old method and was later able to improve upon it. I believe, to the best I can tell, that has led to approximately a 1/8th increase in performance. Additionally, preliminary cross-platform benchmarks showed Snow Leopard X3000 performing 2/3rds again as fast as Vista.
  • Sleep issues resolved (for me, anyway). I wasn't able to get Leopard to sleep with the X3000, but that appears to now be fixed. I don't own a machine that has had the 'blue screen' issue on boot, but theoretically there could be a relation. I'm just hypothesizing. Perhaps it could fix/help that issue as well?
  • System Profiler now displays the correct chipset.
  • Maybe a little future protection. Looking at the GMA-related changes that took place after 10.5.4, I think I may have found where some of the problems came from in later kext revisions. However, only time will show if I'm right. I may very well not be.
Before I leave you to the download links, I'd like to make two disclaimers: One, I don't have a machine with an X3500. I cannot guarantee that it will work, I only made the appropriate changes for what should enable that chipset. If you have errors, I need all the relevant information and offer no promises. Two, I don't have a machine on which I've ever been able to replicate the 'blue screen' error. If you have errors, I need all the relevant information and offer no promises.

Download the X3000 kexts here
Download the X3500 kexts here

I recommend using cVaD's Kext Utility to install kexts in Snow Leopard if you don't feel comfortable doing it manually.

Good luck,
theStevo

31 comments:

  1. AnonymousSep 1, 2009 09:52 AM
    Hello, you redirected the insanely mac thread just after my post about my 10.5.7 install failing to get QE/CI. Are these new drivers for SL only or may they work on 10.5 and get QE/CI?

    Thanks for the hard work!
    ReplyDelete
  2. theStevoSep 1, 2009 01:47 PM
    Post updated.
    ReplyDelete
  3. AnonymousSep 8, 2009 12:49 PM
    Hi, im about to buy a new motherboard, i was thinking on intel dg35ec, wich is g35 / x3500 . Do you know if it works with qeci?
    ReplyDelete
  4. AnonymousSep 9, 2009 05:05 PM
    brilliant! thanks!
    ReplyDelete
  5. AnonymousSep 13, 2009 10:52 PM
    Any plans for making the GM965 kexts? The standard X3100 kexts work in leopard but not in SL. I really need video for it.
    ReplyDelete
  6. theStevoSep 22, 2009 11:34 AM
    I would say the Intel DG35EC is probably a safe bet. You'll have issues with the ethernet coming out of sleep, but theoretically it looks good. However, until you've asked somebody who has tried that board you never know for sure.

    This method isn't really applicable to the X3100 itself, mainly because all the information is already there. In your case it just isn't using it properly. There are other efforts out there to support the X3100 either using modified kexts or DSDTs.
    ReplyDelete
  7. PMSep 26, 2009 03:35 AM
    Unfortunately these do no work for me. I have a Asus P5E-VM HDMI with integrated X3500 GPU.

    In the first instance, on boot only the VGA output appears to work, anything connected to the HDMI out (via HDMI-DVI adaptor) remains blank. (not an issue with these kexts, just an observation).

    Having installed the kexts and booted using arch=i386 flag, system boots, displays blue screen for a second and then attempts to display desktop. At this point, I get display corruption in the form of horizontal lines rendering the display useless. My mouse pointer displays OK.

    This is a pity as my ATI HD2600xt card does not support QE/CI in SL and I was hoping the on board graphics would. Looks like I'm investing in a 48x0 series card...

    Thanks for the work in any case.

    P
    ReplyDelete
  8. theStevoSep 26, 2009 11:14 PM
    So, you are saying that the Leopard kexts worked with a VGA adapter but the Snow Leopard ones won't? What you're describing sounds like a framebuffer problem. I hate to ask, but are you sure both kexts got installed properly? In creating these kexts I've had it happen myself where one gets installed correctly and the other doesn't.
    ReplyDelete
  9. DaveOct 5, 2009 12:17 AM
    This comment has been removed by the author.
    ReplyDelete
  10. DaveOct 5, 2009 12:20 AM
    tested and working on a Asus P5E-VM HDMI motherboard and it's integrated GMA X3500.

    any ideas on how to 64bit them?, am currently adding arch=i386 to the chameleon boot loader as a workaround
    ReplyDelete
  11. alabamasOct 12, 2009 01:15 PM
    hi

    could you please tell me what you specifically edited in the kexts to make them work?
    as i'm trying to make them work with x4500 i i would like to knoew the way you aproached this problem.
    thank you very much
    ReplyDelete
  12. theStevoOct 12, 2009 08:56 PM
    Dave - Good news, Apple has produced 64bit versions for 10.6.2! There is no way to make them 64bit without the source, thankfully Apple will do that for us. Currently its in beta, but I hear there are quite a few bugs. I'm in no rush, particularly because people would ask me why "my" version of the 64bit kext isn't ready, when in reality it is coming all the way from Apple's originals.

    Alabamas - Nobody will ever, ever, ever... ever get the X4500 working with X3100 drivers. And, no, the framebuffer working is not at all the same thing. Many people have contacted me on this, and the answer still goes. Some research into Intel's IGP architectures will explain why this isn't possible.
    ReplyDelete
  13. DaveOct 13, 2009 01:44 AM
    That is so good to hear. Let me know if you need a bug tester. Happy to help out if I can.
    ReplyDelete
  14. RenKastleNov 5, 2009 08:23 AM
    hi! Thanks for this great work! :) but i have a trouble with my system... i have qe/ci but about 1 minute after boot the screen freezes and i only can move the mouse pointer...
    ReplyDelete
  15. RenKastleNov 7, 2009 11:00 PM
    hi again, Just Update.
    The Problem is in the IOFramebuffer... i dont have the problem but in 800x600 resolution... :(
    ReplyDelete
  16. RenKastleNov 8, 2009 07:56 AM
    Update 3: The Problem Maybe is in the framebuffer... the kext cant reserve the memory for video :) i hope u see my comments stevo :D
    ReplyDelete
  17. AnonymousNov 21, 2009 03:21 PM
    without your driver,my P5E VM HDMI has got kernel panic.

    Installed your driver, running in 32bit, no panic but blue screen via HDMI.

    Anyway thanks alot for your great effort. The problem may be the HDMI port, haven't tested VGA port.
    ReplyDelete
  18. DanielDec 24, 2009 11:47 PM
    For the network VIA RHINE was great in Leopard,
    but does not work with snow leopard any fix?
    ReplyDelete
  19. PatrickJan 18, 2010 06:20 AM
    How exactly do I get my X3500 running? I have a P5E-VM HDMI board with retail Snow Leopard installed. I have added the 3 kexts using kext helper, but they never load upon boot up. Do I have to use a GFX string in apple.boot.plist or do I have to boot using certain options? Right now I boot from 3rror1sts boot disk. I believe it loads the 64bit kernel.

    I would really appreciate some help from those who have this working.
    Thanks
    ReplyDelete
  20. DebjeetFeb 5, 2010 02:08 AM
    I have an Intel DG35EC with X3500 onboard. Will video work with this kext?? Has anyone tested?
    What about full resolution and qe/ci??
    ReplyDelete
  21. AlexanderMar 29, 2010 12:37 PM
    10.6.3 x3500 kext not working now :(
    ReplyDelete
  22. AnonymousApr 18, 2010 07:27 AM
    I am in the same boat as Patrick. Copied the two X3500 kexts into /S/L/E, chown -R root:wheel, remove Extensions.mkext cache, reboot with -f -F (I can never remember which so I use both) -arch=i386 (also tried -x32) : Snow Leopard freezes when during boot before saying anything about the new drivers. When I remove the two kext's from S/L/E, Snow Leopard boots fine.

    Colin
    Note: I am running 10.6.2 and have HDMI support without using these two kext's. My problem is that I can't change my resolution from 1280x1024 to 1680x1050, the native resolution of my monitor. I do have the 1680x1050x32 string in my com.apple.Boot.plist file, but I don't get resolution choices in Preferences.
    ReplyDelete
  23. KlausApr 19, 2010 01:13 AM
    The x3500 kext does not longer work for 10.6.3 without safemode.
    ReplyDelete
  24. KlausApr 19, 2010 01:50 AM
    I managed to get the kext working in 10.6.3 by deleting some of the other AppleIntel* kext so now I have AppleIntelCPUPowerManagement.kext, AplleIntelCPUPowerManagementClient.kext, AppleIntelGMAX3100.kext (stevos version), AppleIntelGMAX3100FB.kext (stevos version) and AppleIntelPIIXATA.kext

    Its probably only one of them you'd have to delete.

    Hopefully this helps somebody
    ReplyDelete
  25. AnonymousMay 19, 2010 09:29 PM
    Thank you, thank you, thank you!!!! You made me happy!!! it works.. x3000 works at it's full potential now.. full resolution all 3d support.. I LOVE YOU MAN!!! And I'm a guy! and I'm not gay! You made my day!
    ReplyDelete
  26. KlausJun 23, 2010 01:09 AM
    Something like it applies for 10.6.4. Delete the AppleIntelIntegrated kext, copy stevo's kexts into System/Library/Extensions and fix the permissions for both kexts with chmod -R root:wheel .
    ReplyDelete
  27. AnonymousJun 25, 2010 10:36 PM
    Any luck on GM45 support
    ReplyDelete
  28. AnonymousNov 1, 2010 04:07 AM
    Hi stevo

    nice job

    I ma using graphics:Intel Graphics Media Accelerator X3100

    I have just install mac os x 10.6.2 using retail methode

    after sucessful installation on the first boot it was working fine.but when i restarted,it is showing just blank screen after apple logo.

    it is getting booted on safe mode but without audio and video.

    second thing is that on first boot audio video usb everything was working.

    please help me how should i come out of this problem

    THANKS.
    ReplyDelete
  29. AnonymousMay 18, 2011 04:34 PM
    Great work stevo, worked for me ( Snow Leopard, 10.6.7, P5B-VM)

    silvau
    ReplyDelete
  30. silvauMay 18, 2011 06:17 PM
    Just need to know if X3000 g965 is QE capable because is disabled in 10.6.7 (i want to use imovie..jaj) but im not sure it can be enabled using something like efi studio.
    ReplyDelete
  31. AnonymousDec 24, 2011 08:52 AM
    The mediafire X3500 link is broken. Is there any other way to get these kexts?
    ReplyDelete