Jump to content

GMA X4500


aldo77
 Share

1,615 posts in this topic

Recommended Posts

Ok did as you described.

Only file left after patch was : 2a42AppleIntelGMAX3100FB.kext.

 

So i did not deleted this file.

 

After reboot, nothing changed. resolution still 1024 x 768. Info about the video card the same.

Now deleted the 2a42appleIntelGMAX3100FB.kext. Nothing changed.

 

Same story.

Display:

Type Display

Bus built in

Vram (total) 64 mb of shared memory

Vendor : Intel (0x8086)

Device id : 0X2a42

Revision id 0x0007

Kernel extension info : No kext loaded.

(reso 1024 x 768)

 

Tried again the patch as described above.

Now deleted the 2a42AppleIntelGMAX3100FB.kext. after patch

(did not reinstall the os).

 

Same story.

as above.

 

Thought let me try the 2a42AppleIntelGMAX3100FB.kext from Trauma. Did install via Kexthelper.

After reboot screen goes black. Computer reponds, but screen is black (not off btw)

 

At the moment i install osx fresh (ideneb 10.5.6), will try the patch without the 10.5.7 update.

Link to comment
Share on other sites

Hello all.

Thanks for your great work so far!

 

Here come's the but.

 

I have an Lenovo W500 (laptop 1680 x 1050 )

So far i get a little stuck.

(using ideneb 10.5.7)

 

What did i do :

 

download the Trauma's Archive (GMA_4500v2). And runned the patch as it is installed with the package. Nothing more, nothing less (was confused about the kext's files in it, but ok i didnt see anything about it in the readme).

After a reboot, bleuscreen pops away, and then a black screen (or screen went of) and then its over.

 

i'm now reinstallting the os again (5th time :poster_oops: )

 

What im wondering is, do i miss steps in this ? I read the topic, but it confuse me a little.

I see kexts from Trauma, other kexts, patch files.

 

What is the best way to do in my case ?

 

You don't need to reinstall just boot in -s -x

then /sbin/ .....

sudo rm ---R /system/library/extensions/(this will delete the kext you install)

the delete Extensions.mkext

Repair premissions

 

done!!!

Link to comment
Share on other sites

I have not given up.

 

I spent some time yesterday, re-reading the Intel docs. I specifically compared the older docs (3100) to the new ones (4500). I still have not found a key difference that would invalidate our working hypothesis.

 

I also PMed some of the folks working on alternate video drivers (ATI, etc). I have gotten replies that are tangentially helpful. I need to think more.

 

The lspci logs have proven to be a bit of a dead-end because, unlike the Linux versions, they do not print the size of the memory regions.

 

That said, I am hampered by not having a 4500 to work on. So I will be putting this aside until mid- to late-July when I should have a 4500 based laptop to work on. It's frustrating of me to have to ask all of you to carry out experiments that I could do myself, if I had the hardware.

 

I will check back on this thread every few days, but right now I have two opportunities (that may pay money, and money is tight now) that I must focus on. If one of them does fall my way, I will have even less time to work on the 4500.

 

To several of you who have problems with the patch4500 script. Please make sure (using the -v option) that you have version 20090705.2. That version fixes two bugs that cropped up.

 

The earlier versions WILL NOT work.

 

Also, regarding the lenovo issues:

 

1. I agree with Tienneke, that it would be way cool if the 2a42AppleIntelGMAX3100.kext was indeed running along with the 2a42AppleIntelGMAX3100FB.kext (framebuffer). We need to verify whether it is true or not. If true, we may need to run some tests to figure out what makes that lenovo machine different (the developer tool reggie_se, which is part of the CHUD tools) could help us there.

 

2. Regarding the mouse pointer-- are there any settings in the lenovo bios that might help fix the problem?

 

-u

 

One other thing...

 

Trauma's patches specifically only work with device code 2a42 (4500MHD) which is what all of you with laptops probably have. However, his code will not work with any of the budget desktops which will have a device code of 2e12, 2e02, or 2e22. Budget desktop 4500 users could try patch4500, but a simpler (but not cheaper) solution is to buy a graphics card that is supported by Leopard.

 

Also, I tested that Trauma's patcha24a and my patch4500 (based on Trauma's code) *produce the same result*. So if it doesn't work with one, it won't work with the other. Moreover, Trauma's kexts are for 10.5.7 Leopard; they may not work on your version of Leopard.

 

Therefore, I'd suggest that all of you who have a working resolution fix post more details about your setup: hardware, OS version, etc. That will help others who would like to get the resolution fix working understand what they need, and whether it will work. *PLEASE POST this in Tienneke's Genius Bar thread, not here.*

 

Also, Tienneke if you haven't done it, could you post the latest patch4500 in your Genius Bar thread. Thanks!!!

 

If possible, we should keep this thread oriented around experimentation, designed to get the full QE/CI going, not tons of posts about the resolution fix, since Tienneke has kindly created a thread specific for that. Is that OK?

 

Now about experimentation:

 

Another thought that occurred to me: the display connector between the LCD panel in a GMA950, X3100 and 4500MHD may be different. It may be worth trying to use patch4500 without the -r option (which does not delete 2a42AppleIntelGMAX3100.kext), and try booting with an external monitor plugged in.

 

I have no reason to expect this to work, but I suggest only someone with more OS X experience try this, as it may require Natit, or DSDT changes to tell your laptop that the display is external.

 

-u

Link to comment
Share on other sites

Hello friends! :D

 

Thanks for all the work you are doing is very important for the community.

I could solve the problem, solve it with the information described here. Above all thank you "Tienneke" who was the person who guided me and was very helpful despite my frustration of not knowing the language. :)

Thank you very much "Tienneke! :)

I must also thank the entire team that worked on this, complete the work under the guidance and comment that I "coldequation," Whose idea was download the file "patch4500 script (20090705.2)" and this can help you successfully install the patch. Finally after all this time I can have the proper resolution of my monitor and play movies in all formats for non-conventional "LEOPARD" as the format is. MKV and. RMVB. Formats that are difficult to reproduce in my previous resolution of 1024 * 768.

 

(((I'll describe what I did to solve the problem, I hope that helps somewhat as follows:

1 .- As remarked "Tienneke" delete file "2A42AppleIntelGMAX3100.kext" but every time I reset the machine back up the file. So what I did was to delete the file "2A42AppleIntelGMAX3100.kex, Natit.kext" then a folder named "GMA900Backup" which included the following files: "AppleIntelGMA950.kext, AppleIntelGMA950GA.plugin, AppleIntelGMA950VADriver. bundle "among others. Folder "GMA900Backup" was inside / System / Library / Extensions /. ))) -_-

So I restart the machine without those files. Then install "patch4500 script (20090705.2)" with the information they gave me "Tienneke"

 

Run the script / Users/sergiocaloca/Documents/MacOSx/script/patch4500.bash VRF-2a42

Reboot

 

When starting my machine again and had the resolution of 1280 * 800.

 

Attention! The information that appears in all three brackets was something made in a desperate attempt to remove the famous file 2A42AppleIntelGMAX3100.kex "I do not know if this worked there for proper operation. Or really "patch4500 script (20090705.2)" works fine by changing the version before you install "patch4500 script (20090705.1) 'and now install the" patch4500 script (20090705.2) "so maybe there resides the difference. Do not take much account of what this in brackets (((---))).

Even I do not know I am no expert on this, but I know is that my monitor resolution change really works, I can now play back video that makes me very happy! Sending images to see a change HOHOHOHO!

Thank you all! :):):thumbsup_anim:

post-434062-1247079818_thumb.png

post-434062-1247080042_thumb.png

post-434062-1247080161_thumb.png

Link to comment
Share on other sites

Hello friends! :D

 

Thanks for all the work you are doing is very important for the community.

I could solve the problem, solve it with the information described here. Above all thank you "Tienneke" who was the person who guided me and was very helpful despite my frustration of not knowing the language. :D

Thank you very much "Tienneke! :)

I must also thank the entire team that worked on this, complete the work under the guidance and comment that I "coldequation," Whose idea was download the file "patch4500 script (20090705.2)" and this can help you successfully install the patch. Finally after all this time I can have the proper resolution of my monitor and play movies in all formats for non-conventional "LEOPARD" as the format is. MKV and. RMVB. Formats that are difficult to reproduce in my previous resolution of 1024 * 768.

 

In name of the whole team, I thank you for posting your results here, it's great to feel the support of the community!

 

I'm really glad that it worked for you, since my moral has been dropping with all the non working cases..

 

@coldequation: I'm updating the tutorial right now, including your script and removing the need of using a hex-editor. It'll be up in 5 minutes or so..

Link to comment
Share on other sites

Also, regarding the lenovo issues:

 

1. I agree with Tienneke, that it would be way cool if the 2a42AppleIntelGMAX3100.kext was indeed running along with the 2a42AppleIntelGMAX3100FB.kext (framebuffer). We need to verify whether it is true or not. If true, we may need to run some tests to figure out what makes that lenovo machine different (the developer tool reggie_se, which is part of the CHUD tools) could help us there.

 

2. Regarding the mouse pointer-- are there any settings in the lenovo bios that might help fix the problem?

 

so let me get this straight ( sorry for not reading the whole thread haha) most people cannot get both the 2a42AppleIntelGMAX3100.kext and 2a42AppleIntelGMAX3100FB.kext running , although i had both running, and now only one, the result is the same. my knowledge of the inner workings of extensions is limited, but from i understand, the non framebuffer kext is what enables QE/CI am I right or completely off base?

 

 

also, i think it would be beneficial if we left this thread for support for getting the res switch working, and created a new thread for development.

Link to comment
Share on other sites

so let me get this straight ( sorry for not reading the whole thread haha) most people cannot get both the 2a42AppleIntelGMAX3100.kext and 2a42AppleIntelGMAX3100FB.kext running , although i had both running, and now only one, the result is the same. my knowledge of the inner workings of extensions is limited, but from i understand, the non framebuffer kext is what enables QE/CI am I right or completely off base?

also, i think it would be beneficial if we left this thread for support for getting the res switch working, and created a new thread for development.

 

Just the other way round, 2a42AppleIntelGMAX3100.kext enables QE/CI, whilst 2a42AppleIntelGMAX3100FB enables framebuffer. Framebuffer is actually a very low level driver, which enables basic functions like resolution switching. What we need to do is to be able to load the 2A42AppleIntslGMAX3100.kext, something that up till now just led to a blue screen. So what we'd need to know is if you have QE/CI if you have that kext in place (Check this through System Profiler, Graphics section). If it is enabled with both extensions in place, it would mean that it is indeed possible to get X4500 support by using injection/hexediting....

 

I actually would prefer to use my genius bar tutorial for support for resolution switching. I'm commited to update it every time there is a breakthrough, so you have the latest info in the first post..

 

The thread is over at http://www.insanelymac.com/forum/index.php?showtopic=173338. Also post your succes or failure stories over there, so we can have a view at what is happening to everybody.

Link to comment
Share on other sites

if i delete AppleIntelGMAX3100FB, my system loads AppleIntelGMAX3100 and no Native res.

and my system profiler shows AppleIntelGMAX3100 loaded in extensions section

if i use both kexts, my sysprofiler does not show AppleIntelGMAX3100 loaded but i can get 1366x768

Link to comment
Share on other sites

ok, so i reinstalled 2a42AppleIntelGMAX3100.kext and profiler now shows it as loaded. when booting in verbose mode, i saw something a bit different, it stated something along the lines of "family specific matching fails" am i correct to think that 2a42AppleIntelGMAX3100.kext needs to be further hex edited so it does not mismatch? The result with both of them loaded is the same as without 2a42AppleIntelGMAX3100.kext, i still get resolution switch, and i still get cursor artifacts. CI is software QE is not supported (same as without 2a42AppleIntelGMAX3100.kext loading)

 

also, is there a way to record all the messages displayed when booting in verbose mode? i think it may help figure out why its being loaded for me and not everyone else.

Link to comment
Share on other sites

do they (both trauma's and Tienneke's) only work on 10.5.7?

since I always get blank screen on my iatkos 10.5.5 :)

thanks

 

Read over at my genius bar thread, there's a patcher script that will work on any version of leo. The kexts provided by me and trauma should only work in 10.5.6 (mine) or 10.5.7 (trauma's)

Link to comment
Share on other sites

Very interesting, enzobelmont. Could you post the ioregs for both cases, as well as your system logs for both cases?

 

BTW, nice to see that many of you are getting native resolution.

 

On another note-- there may be hope for native 4500 support from Apple. The latest intel chips (codenamed Arrandale) will release in the fall, and they include, for the first time, a graphics core. It will probably be a version of the 4500 core. Apple will likely ship designs with these chips in January...

 

But that's all speculation and no reason not to continue experimenting.

 

@Tienneke-- thanks for updating your Genius Bar tutorial. You are doing all the hard work, supporting everyone. You're an example of the best side of the insanelymac community :) .

 

@qualchrone - check Tienneke's Genius Bar thread. Hopefully those who have it working have been posting their version of Leopard. AFAIK, it only works for 10.5.7.

 

@chopped - your system logs should have all the messages. You can start Console (in Utilities folder) and see the messages. You can cut/paste them and upload it. There are some other logs that maybe helpful, like the windowserver log.

 

 

 

if i delete AppleIntelGMAX3100FB, my system loads AppleIntelGMAX3100 and no Native res.

and my system profiler shows AppleIntelGMAX3100 loaded in extensions section

if i use both kexts, my sysprofiler does not show AppleIntelGMAX3100 loaded but i can get 1366x768

Link to comment
Share on other sites

The lspci logs have proven to be a bit of a dead-end because, unlike the Linux versions, they do not print the size of the memory regions.

 

Hi coldequation.

 

Is it necessary to generate the lspci logs from within Mac OS X? Some of us do have Linux setups (mine is built around the X3100), so we could pull in Linux versions of the lspci logs if you want.

 

Just trying to help.

Link to comment
Share on other sites

Thanks but don't bother. Since the Intel graphics uses shared memory, the addresses are likely to be different.

 

BTW, Slice shared some interesting info:

 

GA.plugin works from user space as interface (IOUserClient) between CoreGraphics and the main graphics kext-- AplleIntelGMAX3100.kext in the X3100's case.

If there are no GA.plugin then QE is not supported.

 

GLDriver.bundle also works from user space as interface between OpenGL framework and same kext

If there are no GLDriver then MacOSX uses software renderer.

 

Both are hardware dependent and contain hardware specific codes. We have no sources of them and no Linux analogs. Both contain SSE3 codes! They are strongly optimized for better performance.

 

About VA and DVD I don't know. Probably they are used by CoreVideo and DVDPlayback frameworks.

 

 

Hi coldequation.

 

Is it necessary to generate the lspci logs from within Mac OS X? Some of us do have Linux setups (mine is built around the X3100), so we could pull in Linux versions of the lspci logs if you want.

 

Just trying to help.

Link to comment
Share on other sites

did anyone got a problem with the mouse pointer? after patching with mod kext, my pointer is gone,, but sometimes become distorted about 5 cm box. sorry with my english.. but thanks for everyone that make this easier..

 

regard

Link to comment
Share on other sites

did anyone got a problem with the mouse pointer? after patching with mod kext, my pointer is gone,, but sometimes become distorted about 5 cm box. sorry with my english.. but thanks for everyone that make this easier..

 

regard

 

You are (I believe) the 5th known case, and I don't know where it comes from. I believe it's an addressing issue.. What laptop do you have? (and what's your device ID?) Is there anything special about your hardware setup (like 2 graphics cards or so..)?

Link to comment
Share on other sites

You are (I believe) the 5th known case, and I don't know where it comes from. I believe it's an addressing issue.. What laptop do you have? (and what's your device ID?) Is there anything special about your hardware setup (like 2 graphics cards or so..)?

 

mine thinkpad SL400, my dev ID 2a42. nothing special, but i use default setting in bios(just disable 1 core on installation) OS iAtkos v5i 10.5.6 (CMIIW)

 

anyway thanks a lot

 

regard

paijho

Link to comment
Share on other sites

New idea. Is Trauma still around?

 

I have a different idea that is worth trying, but it's something that would require Trauma and Tienneke's expertise, in that it requires patching the DSDT.

 

What we've tried in the past is to fool the AppleIntelGMAX3100 kexts into thinking they were built for a 4500 (by hexediting in the device id of 2A42).

 

But what if, instead, we just try to fool the AppleIntelGMAX3100 kexts into thinking that you have an X3100 installed? Has that been tried?

 

Do do that, we need to patch the device id of an X3100 (2A02 or 2A12) *onto* the 4500, using the DSDT. Now the 4500 is getting bound to GFX0 in the patched DSDT.dsl that Trauma uploaded (*note* it was specifically for Tienneke's computer-- no one else should use it!).

 

So in the code for GFX0, we'd need to use:

 

					 Device (GFX0)
			 {
 Method (_DSM, 4, NotSerialized)
  {
					 Store (Package (0x02)
						 {
							 "device-id", 
							 Buffer (0x04)
							 {
								 0x02, 0x2A, 0x00, 0x00
							 }
						 }, Local0)
					 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					 Return (Local0)
}
}

 

This is the technique that was used for getting USB devices recogniced on ICH9:

http://www.insanelymac.com/forum/index.php?showtopic=168014

Link to comment
Share on other sites

Do any of you thinkpad owners use a patched DSDT? That may make the cursor issue go away, as it makes your computer hardware appear more Mac-like to Leopard.

 

I don't know if it will work, but it's worth a try. Especially now that DSDT patching has GUI-based tools to make it easier on end-users.

 

haha, another thinkpad with the cursor issue, try making the cursor bigger, it will show up.
Link to comment
Share on other sites

But what if, instead, we just try to fool the AppleIntelGMAX3100 kexts into thinking that you have an X3100 installed? Has that been tried?

 

Do do that, we need to patch the device id of an X3100 (2A02 or 2A12) *onto* the 4500, using the DSDT. Now the 4500 is getting bound to GFX0 in the patched DSDT.dsl that Trauma uploaded (*note* it was specifically for Tienneke's computer-- no one else should use it!).

 

I'll try it tomorrow, I'm going to sleep now, had a long day.. I'll post here tomorrow :D (that'll be in about 13 hours)

Link to comment
Share on other sites

New idea. Is Trauma still around?

 

I have a different idea that is worth trying, but it's something that would require Trauma and Tienneke's expertise, in that it requires patching the DSDT.

 

What we've tried in the past is to fool the AppleIntelGMAX3100 kexts into thinking they were built for a 4500 (by hexediting in the device id of 2A42).

 

But what if, instead, we just try to fool the AppleIntelGMAX3100 kexts into thinking that you have an X3100 installed? Has that been tried?

 

Do do that, we need to patch the device id of an X3100 (2A02 or 2A12) *onto* the 4500, using the DSDT. Now the 4500 is getting bound to GFX0 in the patched DSDT.dsl that Trauma uploaded (*note* it was specifically for Tienneke's computer-- no one else should use it!).

 

So in the code for GFX0, we'd need to use:

 

					 Device (GFX0)
			 {
 Method (_DSM, 4, NotSerialized)
  {
					 Store (Package (0x02)
						 {
							 "device-id", 
							 Buffer (0x04)
							 {
								 0x02, 0x2A, 0x00, 0x00
							 }
						 }, Local0)
					 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					 Return (Local0)
}
}

 

This is the technique that was used for getting USB devices recogniced on ICH9:

http://www.insanelymac.com/forum/index.php?showtopic=168014

 

Hey i'm still around :)

 

I did try this method on my GMA 950 few weeks ago. What i can tell is:

The device ID override trick works and changes are reflected both into IOREG and System Profiler.

But, at least with GMA950 driver, it seems that the driver is not referring to the IOREG to get the hardware ID.

 

If you use patched drivers with your custom ID's and this override your GFX will look like the genuine Apple one.

But if you use the vanilla driver with this device ID trick it will simply not works.

 

What i can tell because i have experienced it in many situation is (GFX/HDEF) :

 

- It's possible to override registry values with DSDT

- It's possible to inject missing registry values with DSDT

- But it's impossible to override values setup by a kext binary inside registry

 

In other words i guess you can consider this DSDT trick a bit like a Legacy plist kext trick.

 

What we can test is injecting device ID's with Natit....

 

Don't give up ppl :)

Link to comment
Share on other sites

 Share

×
×
  • Create New...