Jump to content

GMA X4500


aldo77
 Share

1,615 posts in this topic

Recommended Posts

hi coldequation,

how do i run this patch4500.bash ?

 

i wanted to try.

 

can you give us a more detailed tutorial?

 

Cheers

 

 

Open up the terminal and do sudo su enter the password, then simply drag the "bash" file into the terminal and just press return, that's it. Just see but i think the script itself is missing something. Either some syntax error or some kind of typo.

Link to comment
Share on other sites

My bad. I added the resolution fix at the last minute, and didn't test that (of course!). It's fixed now, and I tested it.

 

Tutorial follows.

 

Anyway, here's what I do:

 

1. Open up a terminal

2. type sudo -s <hit return>

3. type your password

4. type the path to patch4500.bash, or drag into the terminal

5. Add any options you need. For example, I do not have a 4-series chip, so if I just hit return, it says:

 

patch4500.bash: 4 Series Chipset Integrated Graphics Controller NOT found.

 

6. The options are:

-v: print version

-h: print help

-r: Tienneke native resolution fix

-f DEVID - patch with passed DEVID instead of lspci lookup

 

The version option is just in case we make changes, so you can tell what version of the script you have. I just bumped it now, with the syntax error fix.

 

So let's say I just want native resolution, and I don't to try to see if I get QE/CI. I'd do:

 

patch4500.bash -r <hit return>

 

for me, without a 4-series, I'd do (if I wanted device id 2e12):

 

patch4500.bash -rf 2e12

 

Let me know if you need more info, or have problems.

 

-u

patch4500.bash.zip

Link to comment
Share on other sites

Here is the help:

 

This script takes stock AppleIntelGMAX3100 kexts, copies them, and patches

the copies to include the device for your Intel 4-series as determined by

lspci. Optionally the device id can be passed via the -force option to this

script. If the -res option is passed, you should be able to boot in normal mode

using native resolution, but you will NOT get QE/CI when we figure that out.

 

NOTE: Your original kexts are not touched.

 

It is hoped that eventually this script will enable Quartz Extreme and Core Image

on machines that have Intel 4-series chipsets.

 

If you update your stock kexts, just run this script again

so that your patched drivers get updated as well.

This has been tested with stock 10.5.7 kexts.

 

Usage: patch4500.bash

-v: print version

-h: print help

-r: Tienneke native resolution fix

-f DEVID - patch with passed DEVID instead of lspci lookup

 

Example: patch4500.bash -vf 2e12

 

Please let me know if it works for you. If it tests out clean, I will ask Tienneke to add it to his Genius Bar topic.

 

-u

 

Does not work for me. Tried it a couple of times. With -vf, -vrf ... patch was applied but nothing happened. After reboot no native resolution (only 1024x768) and no information in "About This Mac" about x3100 graphic chip as it was with Trauna patch.

 

By the way... I can not get any information from lspci. Tried it with sudo and without. Showed me only this:

$ lspci
lspci: Cannot find any working access method.

Link to comment
Share on other sites

My bad. I added the resolution fix at the last minute, and didn't test that (of course!). It's fixed now, and I tested it.

 

Tutorial follows.

 

Anyway, here's what I do:

 

1. Open up a terminal

2. type sudo -s <hit return>

3. type your password

4. type the path to patch4500.bash, or drag into the terminal

5. Add any options you need. For example, I do not have a 4-series chip, so if I just hit return, it says:

 

patch4500.bash: 4 Series Chipset Integrated Graphics Controller NOT found.

 

6. The options are:

-v: print version

-h: print help

-r: Tienneke native resolution fix

-f DEVID - patch with passed DEVID instead of lspci lookup

 

Tried with second version of the bash patch with this key "patch4500.bash -vrf 2a42" After reboot I have got this: -- see screenshot

post-213390-1246844775_thumb.png

Link to comment
Share on other sites

How did you call the script (exact command line you used)?

 

Did you use patch4500.bash -rf 2a42

 

If you did, and it didn't work, there's a bug and I will fix it.

 

Note: If lspci is not installed/working properly, then try reinstalling using OSx86Tools from pcwiz.

 

Otherwise, you have to use the -f (force) option. Also, it will not work unless you are root, which is why the need for sudo.

 

It should function the same as Trauma's script. I added command-line switches, help, installed device detection using lspci, and removal of the modified kext if you use the -res option. But the patching etc, should behave the same as Trauma's script, since that part is essentially the same.

 

Anyway, let me know.

 

-u

 

Does not work for me. Tried it a couple of times. With -vf, -vrf ... patch was applied but nothing happened. After reboot no native resolution (only 1024x768) and no information in "About This Mac" about x3100 graphic chip as it was with Trauna patch.

 

By the way... I can not get any information from lspci. Tried it with sudo and without. Showed me only this:

$ lspci
 lspci: Cannot find any working access method.

Link to comment
Share on other sites

How did you call the script (exact command line you used)?

 

---

Anyway, let me know.

 

-u

 

What I did:

 

1. in the terminal executed sudo -s command

2. entered my password

3. placed script into the terminal (drug and drop) from extracted zip file (patch4500.bash.zip file was extracted)

4. added -vrf 2a42 after patch4500.bash (e.g. patch4500.bash -vrf)

5. enter

6. I have got this message in the terminal:

bash-3.2# /Users/jeff/Documents/MacOSx/script/patch4500.bash -vrf 2a42
patch4500.bash version: 20090704.1
patch4500.bash: Unknown AppleIntelGMAX3100FB version (might work anyway)
patch4500.bash: Unknown AppleIntelGMAX3100 version (might work anyway)
patch4500.bash: Please reboot now!
bash-3.2#

Link to comment
Share on other sites

Argh. Silly bug. I forgot to uppercase the device id when you use -force.

 

I have fixed that, and tested it against Trauma's patch2a42.command. They now produce the same result, so it should work now. Please retest, and let me know.

 

Latest is attached. Sorry for the goofs! I think a New Rule for me must be don't code while watching a compelling tennis match....

 

-u

 

What I did:

 

1. in the terminal executed sudo -s command

2. entered my password

3. placed script into the terminal (drug and drop) from extracted zip file (patch4500.bash.zip file was extracted)

4. added -vrf 2a42 after patch4500.bash (e.g. patch4500.bash -vrf)

5. enter

6. I have got this message in the terminal:

bash-3.2# /Users/jeff/Documents/MacOSx/script/patch4500.bash -vrf 2a42
patch4500.bash version: 20090704.1
patch4500.bash: Unknown AppleIntelGMAX3100FB version (might work anyway)
patch4500.bash: Unknown AppleIntelGMAX3100 version (might work anyway)
patch4500.bash: Please reboot now!
bash-3.2#

patch4500.bash.zip

Link to comment
Share on other sites

@mindphazer - I feel for Andy though. It was a tough call-- I wanted Roger to get the record, and I wanted Andy to win Wimbledon, at least once. It's a shame they couldn't have tied! Still, I think last year's final was even more amazing, but what a run over the last three years at Wimbledon.

Here's a modified version of Trauma's patch script, edited and renamed patch4500.bash.

 

 

 

It is hoped that eventually this script will enable Quartz Extreme and Core Image

on machines that have Intel 4-series chipsets.

Hi Coldequation

 

I'm happy for Roger, because I think he's a nice guy.

But indeed, for this match, they were so close from each other, they should have been tied.... But unfortunately, there must be a winner....

 

Well,

I got back the laptop from my girlfriend just for a while so i tried to use your batch.

On stock kext from 10.5.7, without -r option, after reboot I get a blue screen for a few seconds, then a black screen for one second, and then again a blue screen. Nothing else. Booting in safe mode runs fine.

And with -r option, as it deletes AppleIntelGMAX3100.kext, I have the same result as with Tienneke's patched kext : blue screen for a few seconds, black screen for one second, then blue screen again, and finally login window... But of course, no QE / CI......

Link to comment
Share on other sites

Hey guys,

 

Let be clear "blue screen for a few seconds, black screen for one second, then blue screen again, and finally login window.." means the framebuffer runs fine, and the resolution as been changed from VESA boot one to the NATIVE os x desktop one. Tienneke and I even been able to recover the screen EDID through IOReg while the framebuffer was running. We can easily re inject that at the right place, i've done some tests one my GMA 950 and it don't hurt.

 

I've noticed that revision ID of the X3100 is "03000000" when the X4500 one is "07000000", we may need to patch that in the drivers and Natit too.

 

I've also read many time that AppleIntegratedFrameBuffer.kext may interfere with X3100 kexts when using Natit.... Since we don't need it, let's delete All GMA 950 related kext and see is this help. Or lets have a look at your system profiler to see if some GMA 950 kext are loaded. ( i've already seen X3100 kext loaded along side of my GMA 950 graphics drivers).

 

Another idea i had, maybe a wrong one :) But who knows.... Why not try to patch Intel GMA 950 kext to see what's happen ?

 

Cya.

Link to comment
Share on other sites

Hey guys,

 

Let be clear "blue screen for a few seconds, black screen for one second, then blue screen again, and finally login window.." means the framebuffer runs fine, and the resolution as been changed from VESA boot one to the NATIVE os x desktop one. We've even been able to recover the screen EDID through IOReg while the framebuffer is running. (We can easily re inject that at the right place, i've did some test one my GMA 950 and it don't hurt.

 

I've noticed that revision ID of the X3100 is "03000000" when the X4500 one is "07000000", we may need to patch that in the drivers and Natit too.

 

I've also read many time that AppleIntegratedFrameBuffer.kext may interfere with X3100 kexts when using Natit.... Since we don't need it, let's delete All GMA 950 related kext and see is this help. Or lets have a look at your system profiler to see if some GMA 950 kext are loaded. ( i've already seen X3100 kext loaded along side of my GMA 950 graphics drivers).

 

Another idea i had, maybe a wrong one :) But who knows.... Why not try to patch Intel GMA 950 kext to see what's happen ?

 

Cya.

 

 

I was just wondering, you set the AAPL,iokit-ndrv property in your natit, on what base did you get the value you entered? and what does the value do? I think that value might be a key too..

 

I already removed AppleIntegratedFrameBuffer.kext, coldequation ordered me to do it :P

 

you can set the revision ID in natit too, I believe ;)

 

About 950 kexts, aren't the 965 sub kexts located in there?

Link to comment
Share on other sites

i have used: patch4500.bash -rf 2a42

Then i deleted all gma 950 kext's.

 

using chameleon 1 bootloader.

 

I got this (see the picture)

 

but i also got the AppleIntelGMAX3100.kext cannot be used message like mnelson.

 

let me know if you need me to run some tests for you. I am glad to help.

post-440236-1246872209_thumb.png

post-440236-1246872726_thumb.png

Link to comment
Share on other sites

i have used: patch4500.bash -rf 2a42

Then i deleted all gma 950 kext's.

 

using chameleon 1 bootloader.

 

I got this (see the picture)

 

but i also got the AppleIntelGMAX3100.kext cannot be used message like mnelson.

 

let me know if you need me to run some tests for you. I am glad to help.

 

If you run repair permissions from disk utility the kext will be usable..

Link to comment
Share on other sites

First of all let me say thank you for all of you guys trying to make our life easier.

I tried the bash script on my Lenovo n500 with Intel 4500 MHD:

 

-first, i did -vf 2a42 (this is the device id from system profiler) result: few seconds of normal blur welcome screen after clean reboot, then white/colored noise like on old tv-s. I tried to boot into safe mode with -x, which i was able to, but my mouse wasn't visible, i could move it, but not see it. I managed (after some mouse hunting) however to use the bash file with -rf 2a42, then i deleted the kext, and everything went back to "normal" even in normal boot mode.

- secondly i used -rf 2a42, which made the native resolution in normal booting (no freezing in a white noised screen on boot) however, the mouse pointer is still not visible, making work a little tiresome:), but the screen worked in its glorious 1280*800 resolution. I removed it again and now the old res is back, but i have my mouse pointer.

 

Just wanted to help you guys testing, thanks again for your hard work, and if you have a solution for the disappearing mouse pointer, please share:)

 

Laci

Link to comment
Share on other sites

What do you see in your system log? Are you using a mouse or trackpad? Have you tried an external mouse?

 

You may find a clue there. I have no idea why your mouse pointer is not being displayed, but it may be related to PS2 or USB issues.

 

First of all let me say thank you for all of you guys trying to make our life easier.

I tried the bash script on my Lenovo n500 with Intel 4500 MHD:

 

-first, i did -vf 2a42 (this is the device id from system profiler) result: few seconds of normal blur welcome screen after clean reboot, then white/colored noise like on old tv-s. I tried to boot into safe mode with -x, which i was able to, but my mouse wasn't visible, i could move it, but not see it. I managed (after some mouse hunting) however to use the bash file with -rf 2a42, then i deleted the kext, and everything went back to "normal" even in normal boot mode.

- secondly i used -rf 2a42, which made the native resolution in normal booting (no freezing in a white noised screen on boot) however, the mouse pointer is still not visible, making work a little tiresome:), but the screen worked in its glorious 1280*800 resolution. I removed it again and now the old res is back, but i have my mouse pointer.

 

Just wanted to help you guys testing, thanks again for your hard work, and if you have a solution for the disappearing mouse pointer, please share:)

 

Laci

Link to comment
Share on other sites

What do you see in your system log? Are you using a mouse or trackpad? Have you tried an external mouse?

 

You may find a clue there. I have no idea why your mouse pointer is not being displayed, but it may be related to PS2 or USB issues.

 

I am using a ps/2 driver (if i remember correctly it was called voodoo) for the keyboard and the trackpad, iatkos v7 needed it (without that it couldn'd find my keyboard), interestingly iatkos v5 didn't need it. I also use a usb wireless mouse, both of them are working correctly with you patch, but i can't see the pointer. I tried to remove the usb dongle, it didn't make a difference, the trakcpad worked but no pointer. Do you think it would make a diference to apply your patch while the dongle is not in any usb ports? Cos' it was plugged in when i applied the bash. Without the bash, both of them work fine (they work with the bash too, just no pointer on screen) I am thinking it has to do with hardware accelerated mouse, which is usually done by the vga card, so i was looking for a way to disable it and to revert to software mouse rendering, but i couldn't find anything.

 

How can i see the system log you referred to?

Link to comment
Share on other sites

Patch GMA950? What a nutty idea ;):D

 

So who knows it might work! Actually, getting seriious (and an espresso machine is great for that!), someone *tried* that on Linux. They were getting a crash, that's not too dissimilar to what Tienneke got. It was on a G45 (GMA X4500HD) using the old Intel915 drivers that were there before Intel's new driver.

 

I was re-examining Tienneke's syetm log that he posted a while back, and it has some debugging info from the AppleIntelGMAX3100 kext. (A lot of the stuff before the Dumping SVG Registers). There's some base address that is incorrect, causing a graphics instruction execution failure. If you google some of the names in that system log (like ESR, page table error, etc), you see some of them used in Intel drivers on other platforms, so we might be able to understand what's causing the failure and fix it.

 

BTW, are you guys using the IRC room?

 

-u

 

Hey guys,

 

Let be clear "blue screen for a few seconds, black screen for one second, then blue screen again, and finally login window.." means the framebuffer runs fine, and the resolution as been changed from VESA boot one to the NATIVE os x desktop one. Tienneke and I even been able to recover the screen EDID through IOReg while the framebuffer was running. We can easily re inject that at the right place, i've done some tests one my GMA 950 and it don't hurt.

 

I've noticed that revision ID of the X3100 is "03000000" when the X4500 one is "07000000", we may need to patch that in the drivers and Natit too.

 

I've also read many time that AppleIntegratedFrameBuffer.kext may interfere with X3100 kexts when using Natit.... Since we don't need it, let's delete All GMA 950 related kext and see is this help. Or lets have a look at your system profiler to see if some GMA 950 kext are loaded. ( i've already seen X3100 kext loaded along side of my GMA 950 graphics drivers).

 

Another idea i had, maybe a wrong one :pirate2: But who knows.... Why not try to patch Intel GMA 950 kext to see what's happen ?

 

Cya.

Link to comment
Share on other sites

Patch GMA950? What a nutty idea :D:D

 

So who knows it might work! Actually, getting seriious (and an espresso machine is great for that!), someone *tried* that on Linux. They were getting a crash, that's not too dissimilar to what Tienneke got. It was on a G45 (GMA X4500HD) using the old Intel915 drivers that were there before Intel's new driver.

 

I was re-examining Tienneke's syetm log that he posted a while back, and it has some debugging info from the AppleIntelGMAX3100 kext. (A lot of the stuff before the Dumping SVG Registers). There's some base address that is incorrect, causing a graphics instruction execution failure. If you google some of the names in that system log (like ESR, page table error, etc), you see some of them used in Intel drivers on other platforms, so we might be able to understand what's causing the failure and fix it.

 

BTW, are you guys using the IRC room?

 

-u

 

I'm using the IRC room, and ipodtouchdude is ;) yesterday we were 7 :D

 

So, the addressing goes wrong? then there is hope for us :P

Is there a way to find the right addresses? Using windows or linux?

Link to comment
Share on other sites

Ahh-- I misread your post (caffeine hadn't kicked in yet).

 

@Laci, Icompletely missed where you said it was working, but not visible. You might try playing with the VoodooPS2 preferences and then redoing the patch4500 script afterwards. See if there's a setting for hardware acceleration and try turning it off. I don't remember much of their preferences setting as it didn't work well for me, so I deleted it.

 

Having the dongle in/out will make no difference. I'm pretty sure your supposition that it's related to hardware versus software handling of the mouse is correct.

 

Do you have lspci working? I'd like to have someone test whether it finds the correct device id from your hardware. Since I don't have a 4500, I can't test that part (patch4500 gets my device id, then says sorry, you don't have a 4-series and quits, so I have to use -f in testing).

 

-u

 

I am using a ps/2 driver (if i remember correctly it was called voodoo) for the keyboard and the trackpad, iatkos v7 needed it (without that it couldn'd find my keyboard), interestingly iatkos v5 didn't need it. I also use a usb wireless mouse, both of them are working correctly with you patch, but i can't see the pointer. I tried to remove the usb dongle, it didn't make a difference, the trakcpad worked but no pointer. Do you think it would make a diference to apply your patch while the dongle is not in any usb ports? Cos' it was plugged in when i applied the bash. Without the bash, both of them work fine (they work with the bash too, just no pointer on screen) I am thinking it has to do with hardware accelerated mouse, which is usually done by the vga card, so i was looking for a way to disable it and to revert to software mouse rendering, but i couldn't find anything.

 

How can i see the system log you referred to?

 

I need to use my voodooforum account details?

 

I tried logging into the chat yesterday with Colloquy and couldn't get in... ;)

 

I'm using the IRC room, and ipodtouchdude is :D yesterday we were 7 :D

 

So, the addressing goes wrong? then there is hope for us :D

Is there a way to find the right addresses? Using windows or linux?

Link to comment
Share on other sites

I still got a blank screen on Thinkpad t400-a98, using "-rf 2a42"

 

So which kexts are u guys used to patch, the original from 10.5.7 update DMG?

 

Could anyone give me a clue?

 

I used the iAtkos v7 install as it was, without any additional kexts. It worked fine, only having some mouse pointer problems as you can read above.

 

Ahh-- I misread your post (caffeine hadn't kicked in yet).

 

@Laci, Icompletely missed where you said it was working, but not visible. You might try playing with the VoodooPS2 preferences and then redoing the patch4500 script afterwards. See if there's a setting for hardware acceleration and try turning it off. I don't remember much of their preferences setting as it didn't work well for me, so I deleted it.

 

Having the dongle in/out will make no difference. I'm pretty sure your supposition that it's related to hardware versus software handling of the mouse is correct.

 

Do you have lspci working? I'd like to have someone test whether it finds the correct device id from your hardware. Since I don't have a 4500, I can't test that part (patch4500 gets my device id, then says sorry, you don't have a 4-series and quits, so I have to use -f in testing).

 

If by lspci working, you mean the script running without any -v or -f ****, then no, it says something about missing x4500 accelerator, and a few lines of missing methods. the only way i could get the script to do anything was with the -f selector.

 

I couldnt find anythins useful in the plist files inside the voodoo kext, so i'm now reinstalling iAtkos with another ps/driver (i was missing audio, power management, even ethernet anyway), and see if it works.

Link to comment
Share on other sites

It patches whatever is installed on your system. Tienneke has tested it with the stock 10.5.7 kexts and native resolution is enabled when the 2A42AppleIntelGMAX3100.kext is deleted, which is what the -r switch does.

 

However, it is possible that the AppleIntelGMAX3100.kext is getting loaded somehow (perhaps you hexedited it before Trauma posted his script?). So just in case, try moving AppleIntelGMAX3100.kext out of /S/L/E and seeing if that helps.

 

It's also possible that this native resolution fix ONLY works with 10.5.7. I don't know, since the people who have reported success, have not posted what versions of the kexts they started with.

 

Lastly, are you sure that 2A42 is the device id you have? Some 4500MHDs have device id of 2A43. If you have lspci installed on your system (install pcwiz's OSx86Tools and it will install it for you, once you run it and click View PCI Device/Vendor Info and click the button to install lspci) just let the patch4500 script determine your device id itself.

 

So type: patch4500.bash -vr

 

Also, make sure you have the most recent version I uploaded.

 

-u

 

I still got a blank screen on Thinkpad t400-a98, using "-rf 2a42"

 

So which kexts are u guys used to patch, the original from 10.5.7 update DMG?

 

Could anyone give me a clue?

Link to comment
Share on other sites

Well, installing apple's ps2 driver from iatkos v7 dvd didn't change anything, even though i can't find voodoo ps/2 kext in the extensions folder anymore, still, after using the script, the result is the same, native resolution working, but no pointer. I just heard about osx86tools for the first time, so i'm gonna play with it a little.

Link to comment
Share on other sites

Could you post the output when you just use patch4500.bash -vr (without the -f option)?

 

If by lspci working, you mean the script running without any -v or -f ****, then no, it says something about missing x4500 accelerator, and a few lines of missing methods. the only way i could get the script to do anything was with the -f selector.

 

I couldnt find anythins useful in the plist files inside the voodoo kext, so i'm now reinstalling iAtkos with another ps/driver (i was missing audio, power management, even ethernet anyway), and see if it works.

 

VoodooPS2 includes an (optional, I believe) preferences panel in System Preferences. That is what I was referring too (but it would just set something in the plist files anyway).

 

Do you think the problem may actually be that Leopard thinks you are connected to an external monitor?

Link to comment
Share on other sites

Could you post the output when you just use patch4500.bash -vr (without the -f option)?

 

 

 

VoodooPS2 includes an (optional, I believe) preferences panel in System Preferences. That is what I was referring too (but it would just set something in the plist files anyway).

 

Do you think the problem may actually be that Leopard thinks you are connected to an external monitor?

 

 

Wow, i didn't know that there should be one in the system preferences. I installed it from the iatkos v7 dvd, and there isn't such a panel. Any idea how make it appear?

I cant find anything about leopard thinking about a second monitor in the displays panel in syspref.

 

I ran the bash with -vr and it worked, but after reboot, no pointer.

 

Can you tell me how to undo it? I thought -r will remove it, then i deleted the kext. This is what is should do?

post-453286-1246889230_thumb.jpg

post-453286-1246889246_thumb.jpg

Link to comment
Share on other sites

 Share

×
×
  • Create New...