Jump to content

GMA X4500


aldo77
 Share

1,615 posts in this topic

Recommended Posts

Ok looks good so !

 

But do you have Qe/Ci enabled ?

 

If you have IORegistry Explorer you could make a save with it, wich is definitely more human readable :(

 

Good night :)

 

Edit :

 

After looking at your IOreg it seems the AppleIntelX3100.kext is not loaded, i've also take a look at the plist of this kext you've posted earlier. I was a bit surprised you did not edited the AppleIntelX3100.kext plist to match your Dev/Ven ID's ? Did you also patch the bin of this kext ? I think it's needed to load the Intel965 Services.

 

I'm terribly sorry, it seems I didn't copy the kext back.. And on top of that it seems indeed that I forgot to edit the plist, so that's prolly the reason that it did what it did.. Changing my kext right now, and reporting back very soon :) (couldn't sleep because of the heat...)

 

With the kext edited and in place I get the old blue screen, so doesn't boot into complete interface. Before the hard drive stops rattling, the screen blinks black for like 0.5 seconds, and then gets back to blue (actually does this too in normal boot withouth the AppleIntelGMAX3100.kext..)

 

I'll add my boot log to this post as soon as I get networking back up..

 

Do you need an ioreg as well? Because it seems useless to give one from text mode (-v -s), for there will not be a kext loaded..

system.log.zip

Edited by Tienneke
Link to comment
Share on other sites

I'm terribly sorry, it seems I didn't copy the kext back.. And on top of that it seems indeed that I forgot to edit the plist, so that's prolly the reason that it did what it did.. Changing my kext right now, and reporting back very soon ;) (couldn't sleep because of the heat...)

 

With the kext edited and in place I get the old blue screen, so doesn't boot into complete interface. Before the hard drive stops rattling, the screen blinks black for like 0.5 seconds, and then gets back to blue (actually does this too in normal boot withouth the AppleIntelGMAX3100.kext..)

 

I'll add my boot log to this post as soon as I get networking back up..

 

Do you need an ioreg as well? Because it seems useless to give one from text mode (-v -s), for there will not be a kext loaded..

 

 

Well i'm not sure editing the AppleGMAX3100.kext plist is really usefull. btw editing the bin with your dev id seems to be needed.

If you can access to your computer from another computer using VNC it could be usefull ! Try to setup remote desktop sharing in prefpane to let VNC client acces to the remote access. I think via VNC you will be able to use your computer while the screen is blue !

 

If this works try to save ioreg outputs and system info output please, or "kextstat" and "ioreg" dumps via terminal.

 

Your system logs seems to clean and won't be usefull any more ;)

 

Before the hard drive stops rattling, the screen blinks black for like 0.5 seconds, and then gets back to blue

 

To me this is the symptoms that 3D and framebuffer driver are running, normally just after that the desktop appears.....

 

I'll try to mode a script to automaticly patch the drivers, and build a moded natit so more people can test.

 

Cya!

Link to comment
Share on other sites

Well i'm not sure editing the AppleGMAX3100.kext plist is really usefull. btw editing the bin with your dev id seems to be needed.

If you can access to your computer from another computer using VNC it could be usefull ! Try to setup remote desktop sharing in prefpane to let VNC client acces to the remote access. I think via VNC you will be able to use your computer while the screen is blue !

 

If this works try to save ioreg outputs and system info output please, or "kextstat" and "ioreg" dumps via terminal.

 

Your system logs seems to clean and won't be usefull any more ;)

To me this is the symptoms that 3D and framebuffer driver are running, normally just after that the desktop appears.....

 

I'll try to mode a script to automaticly patch the drivers, and build a moded natit so more people can test.

 

Cya!

 

 

Great idea! How could I forget about that???? ;)

 

Can't connect using vnc, so did a SSH dump of ioreg, but very strangely, I cant get a full ioreg dump, ioreg crashes at a certain point (full dump being the ioreg -l -s -w 0..) So I did a ioreg -s -w 0 dump, which went well..

 

Also give you a process list after waiting 10 minutes at the white screen, it seems to me like it didn't boot up..

system.log.zip

Link to comment
Share on other sites

Did you try an external monitor? Blue screen may mean that the display is being sent elsewhere, not to the built-in panel (I'm assuming Tienneke is running a laptop).

 

Well i'm not sure editing the AppleGMAX3100.kext plist is really usefull. btw editing the bin with your dev id seems to be needed.

 

Perhaps-- but if you don't edit it, the ioreg ouput shows a weird device id!

 

If you can access to your computer from another computer using VNC it could be usefull ! Try to setup remote desktop sharing in prefpane to let VNC client acces to the remote access. I think via VNC you will be able to use your computer while the screen is blue !

 

If this works try to save ioreg outputs and system info output please, or "kextstat" and "ioreg" dumps via terminal.

 

Your system logs seems to clean and won't be usefull any more ;)

 

To me this is the symptoms that 3D and framebuffer driver are running, normally just after that the desktop appears.....

 

I'll try to mode a script to automaticly patch the drivers, and build a moded natit so more people can test.

 

Cya!

 

Trauma, the 4500 "drivers" from that Italian person has a modded natit, and some changed info in the plists-- might be useful to you, might not be.

 

Also, perhaps you could explain to me the modded changes in the DSDT you provided to Tienneke. In the diffs, I see three sets of changes:

 

1. s/OVGA/GFX0/g (I understand why this was done)

2. Add a DTGP method. My DSDT does not have this (I have a GMA950, and would like to do away with GMA950 a + b kexts). What does DTGP stand for? Apparently this is setting something in the device space? What does this do?

3. Add a _DSM method. What does DSM stand for? This is the bulk of your changes, injecting AAPL keys. I have a _DSM method in my DSDT, but it must have already been there, and it is long and very complex.

 

Thanks if you have the time to explain to me. I understand if you don't.

 

-u

Link to comment
Share on other sites

Trauma, the 4500 "drivers" from that Italian person has a modded natit, and some changed info in the plists-- might be useful to you, might not be.

 

where can i find that ? could you post a link please ?

 

About DSDT :

 

Changing device name is completely cosmetic ! ;) At least for graphics and other devices, but not for Audio devices (HDEF)....

But it help to have a more "Apple looking" IOreg tree.

 

DTGP method is used by apple to inject stuffs inside register at a given device address.

 

DSM method is a standard ACPI spec to override PCI device informations via DSDT.

 

Used together, as apple do, you can inject strings and data inside memory.

Link to comment
Share on other sites

Interesting.. So actually, a DSDT table is just a list of the hardware in your pc, and you can change the hardcoded data that the hardware would give, just by changing the values in the DSDT table?

 

So if I understand well, if I would add a network card to my pc, I would need to make a new DSDT.aml, because the current DSDT is not up to date? Or do I get it completely wrong?

Link to comment
Share on other sites

Actually DSDT is one of the ACPI tables, and has you certainly know that's for power management.

The purpose is not really to override data, but provide what's missing via injection. Most of the time the drivers won't look at PCI information through the DSDT table. I did test to override Vendor and Dev id's through DSDT.... it's works since changes are present in IOReg... but the driver won't use it, unfortunately.

 

But provide EFI strings that's missing in our PC's via DSDT works great ;)

 

About your "add" info to your DSDT when adding a new piece of hardware, it's not really thrue. Since the slot, were you add the device, is managed in the DSDT table of your bios it's not necessary. But you could add a new device under this slot in your DSDT for EFI strings injection purpose ;)

Link to comment
Share on other sites

Okay, I get it ;)

 

So using a custom DSDT is about the same as injecting an EFI string through an EFI injector or using an EFI bootloader.

And even with a custom DSDT the driver will still have access to the original hardware specs throug direct access or whatever you want to call the beast..

Link to comment
Share on other sites

I'm really glad you guys are working so hard for us other users to have the x4500 drivers

But I have one question though: I heard it's possible to port the driver from say... Ubuntu 9 to OSX. Why not do that? Wouldn't it be easier?

Link to comment
Share on other sites

I'm really glad you guys are working so hard for us other users to have the x4500 drivers

But I have one question though: I heard it's possible to port the driver from say... Ubuntu 9 to OSX. Why not do that? Wouldn't it be easier?

 

Actually, I think this is easier if it works as we plan. We are using the driver provided by apple for the GMAX3100, and just inject the values needed to get the driver to work properly. At the moment almost everything works like it should, we just don't have qe/ci yet.

What we're (by that I mean coldequation and trauma!) are trying to figure out is what strings are needed to get it to work. Like we used to need to do for GeForce and Ati before the first working injectors came, and now with NVKush and so on, everything is done for you. So given a little time it'll probably work as we want it to work :)

 

What I was just thinking about, I heard somewhere that as Chritianbam said that apple has the same codebase for it's osX drivers as the windows codebase. Would it be possible by any chance they do the same for ther X3100 and that maybe the driver for X3100 actually also contains the driver code for a GMA X4500? (could be a guess in the dark, but hey, I'm trying to learn a little :( )

 

@Trauma: I always try both internal screen as external, had the same with my GeForce 8600 before it got supported completely.. I get the same on both screens..

Something odd happens though if I leave the laptop on the blue screen for like 30 minutes, I get the image I had on my screen before I booted (So my desktop appears as I left it before I said to reboot) but I can't interact with my desktop.. But as I said, it takes really really long before it starts doing that..

Link to comment
Share on other sites

http://www.mediafire.com/download.php?mgoz4mmnfyl

 

Thnaks for the explanation!

 

where can i find that ? could you post a link please ?

 

About DSDT :

 

Changing device name is completely cosmetic ! :) At least for graphics and other devices, but not for Audio devices (HDEF)....

But it help to have a more "Apple looking" IOreg tree.

 

DTGP method is used by apple to inject stuffs inside register at a given device address.

 

DSM method is a standard ACPI spec to override PCI device informations via DSDT.

 

Used together, as apple do, you can inject strings and data inside memory.

 

Forget Windows drivers. They're never open source!

 

And if your guess was true about the Windows drivers (unlikely because IMHO, OSX has a cleaner kernel interface, especially with IOKit), then someone would have developed an analog to the Linux NDIS wrapper (whereby you can run Windows network drivers on Linux because of the common NDIS interface) for OSX and we would be in heaven-- running a better OS but with all the drivers we need!

 

(Sorry for the loooong sentence!)

 

@Tienneke:

 

I found this line in your syslog output curious:

Jul 3 01:38:13 localhost kernel[0]: display: match category IOFramebuffer exists

AppleIntegratedFrameBuffer.kext should not be loading, since the 3100 uses the 3100FB kext. I'm not sure if it is loading, but I'm wondering why it complains. Could you try moving or deleting the ppleIntegratedFrameBuffer.kext?

 

Also, I am encouraged by this line:

Jul 3 01:38:22 localhost kernel[0]: Surface state base address = 0xce131d40

Last time, if I recall correctly, it was 0.

 

@All:

 

Has anyone looked at the FreeBSD drivers (remember we are wondering if the X4500 drivers are different from the X3100 drivers). This is very important, as it could invalidate our working hypothesis, or at the very least, give some guidance on what properties need to be injected. For example, what if the FrameBuffer offset is different between the multiple chipsets?

 

So if any of you has the time, please look. I will try to look at it over the weekend, but I can't promise I will have the time.

 

-u

 

 

What I was just thinking about, I heard somewhere that as Chritianbam said that apple has the same codebase for it's osX drivers as the windows codebase. Would it be possible by any chance they do the same for ther X3100 and that maybe the driver for X3100 actually also contains the driver code for a GMA X4500? (could be a guess in the dark, but hey, I'm trying to learn a little :( )
Link to comment
Share on other sites

Sorry guys if I don't give any news...

In fact, the laptop was for my girlfriend, I just wanted to have native resolutions working on it before I give her...

As it works now (with the patched kexts from Tienneke, thanks again), my girlfriend litterally stole the laptop from my hands to "play" with !!

 

So, I can't test anything anymore right now

 

I just have my Macbook, but it's useless for any tests !!!!

Link to comment
Share on other sites

@All:

 

Has anyone looked at the FreeBSD drivers (remember we are wondering if the X4500 drivers are different from the X3100 drivers). This is very important, as it could invalidate our working hypothesis, or at the very least, give some guidance on what properties need to be injected. For example, what if the FrameBuffer offset is different between the multiple chipsets?

 

So if any of you has the time, please look. I will try to look at it over the weekend, but I can't promise I will have the time.

 

I tried to make the diff but I realized that Xorg has only one driver for all Intel integrated video chips, so I did not know what to compare.

I searched in the driver log to see what was added when the X4500 was first supported. Here is what I found, I am not a programmer so it does not mean much to me, except that there are not many modifications:

 

http://cgit.freedesktop.org/xorg/driver/xf...5c2dcc8273daf66

Link to comment
Share on other sites

Thank you Martin!

 

I tried to make the diff but I realized that Xorg has only one driver for all Intel integrated video chips, so I did not know what to compare.

I searched in the driver log to see what was added when the X4500 was first supported. Here is what I found, I am not a programmer so it does not mean much to me, except that there are not many modifications:

 

http://cgit.freedesktop.org/xorg/driver/xf...5c2dcc8273daf66

 

Hi Martin!

 

Thanks, I will look at this and see if I can make heads or tails of it. While I am a programmer, I'm not that well-versed in graphics chips, so I may post questions here based on what I see.

 

Wow-- Tommy Haas missed the shot between his legs...

 

-u

 

No worries! Best to keep the girls happy :(

 

I probably wouldn't be as involved if I wasn't allergic to the nickel in my MacBook Pro's aluminum case (at least I think it's the nickel). I lose sensitivity in my fingertips, and it hurts. I suppose I should try Zagg's invisibleshield...

 

What graphics card do you have in the MacBook?

 

-u

 

Sorry guys if I don't give any news...

In fact, the laptop was for my girlfriend, I just wanted to have native resolutions working on it before I give her...

As it works now (with the patched kexts from Tienneke, thanks again), my girlfriend litterally stole the laptop from my hands to "play" with !!

 

So, I can't test anything anymore right now

 

I just have my Macbook, but it's useless for any tests !!!!

Link to comment
Share on other sites

Thank you Martin!

 

 

 

Hi Martin!

 

Thanks, I will look at this and see if I can make heads or tails of it. While I am a programmer, I'm not that well-versed in graphics chips, so I may post questions here based on what I see.

 

Wow-- Tommy Haas missed the shot between his legs...

 

-u

 

No worries! Best to keep the girls happy :)

 

I probably wouldn't be as involved if I wasn't allergic to the nickel in my MacBook Pro's aluminum case (at least I think it's the nickel). I lose sensitivity in my fingertips, and it hurts. I suppose I should try Zagg's invisibleshield...

 

What graphics card do you have in the MacBook?

 

-u

 

It's a 1st generation Macbook, with a GMA950.. (device 0x27a2)

Link to comment
Share on other sites

Hi,

 

I've modded a script designed for patching GMA 950 to match our needs, and patch X3100 kexts. It's setup for patching plists and bins to match 2A42 device ID.

 

I've made a little zip with already made kext for X4500MHD :

 

2A42AppleIntelGMAX3100.kext =====> 10.5.7

2A42AppleIntelGMAX3100FB.kext =====> 10.5.7

Natit.kext

 

And the patch is inside too with a little ReadMe file. The natit.kext is a really well working and clean one for GMA950 and GMAX3100 Laptop.

 

So people with 0x2a42 device ID should give this a try, i also suggest you to setup your SMBIOS.plist to MacBook3,1 this may can help a bit. ;)

 

Thanks, and give feedback.

 

GMA_4500.zip

Link to comment
Share on other sites

Hi,

 

I've modded a script designed for patching GMA 950 to match our needs, and patch X3100 kexts. It's setup for patching plists and bins to match 2A42 device ID.

 

I've made a little zip with already made kext for X4500MHD :

 

2A42AppleIntelGMAX3100.kext

2A42AppleIntelGMAX3100FB.kext

Natit.kext

 

And the patch is inside too with a little ReadMe file. The natit.kext is a really well working and clean one for GMA950 and GMAX3100 Laptop.

 

So people with 0x2a42 device ID should give this a try, i also suggest you to setup your SMBIOS.plist to MacBook3,1 this may can help a bit. :rolleyes:

 

Thanks, and give feedback.

 

GMA_4500.zip

 

Hic, I already tried your case, and now, I cannot login because when it appears the login screen, the monitor turn off before I can see the logon screen. Pls help me to recover, thanks.

Link to comment
Share on other sites

ADN,

 

Try to boot with -x options then delete the drivers. If it's not working and if you have SSH activated use it.

Or boot in -s and remove the drivers. Or acces the hard drive from another OS.

 

Bye.

Link to comment
Share on other sites

ADN,

 

Try to boot with -x options then delete the drivers. If it's not working and if you have SSH activated use it.

Or boot in -s and remove the drivers. Or acces the hard drive from another OS.

 

Bye.

 

Hi,

 

I also login on safemode, its same. I only login to single mode. What driver do I remove? Thanks

Link to comment
Share on other sites

Mount your file system in read/write then :

 

sudo rm -R /System/Library/Extensions/2A42AppleIntelGMAX3100.kext

sudo reboot

 

Use -f for first boot.

 

Should be enough.

 

If not :

 

sudo rm -R /System/Library/Extensions/2A42AppleIntelGMAX3100FB.kext

sudo rm -R /System/Library/Extensions/Natit.kext

sudo reboot

 

Did you see natit outputs during the boot ?

Link to comment
Share on other sites

I tried it, but doesn't seem to work. What I get in my log that disturbs me is:

Jul  3 17:44:34 localhost kernel[0]: Natit: Starting.
Jul  3 17:44:34 localhost kernel[0]: Chosen model Unknown
Jul  3 17:44:34 localhost kernel[0]: Natit: Required dictionaries not found

 

Did you maybe forget something? Or do I have to add something to the plist?

Link to comment
Share on other sites

Analysis of BSD source completed.

 

I will post the details soon. My quick tease: there are signs of hope, but maybe we need a few other things to be done. We will likely have to get help from paulicat, or some of the XLabs guys who are working on alternate display drivers, perhaps Slice or netkas.

 

I need a break, back later.

 

-u

Link to comment
Share on other sites

How do I do to get Quartz Extreme

please

 

We can't answer you that yet, We don't have QE/CI working yet. This is more of an experimental thread. If you need information, read the thread from the beginning, or go to the genius bar. If we get an update about the workings of the project, and if that update is more or less reproducable for everybody, we'll update that thread. We can't do wonders at the moment :blink:

 

(Bottomline: Be patient :) )

Link to comment
Share on other sites

 Share

×
×
  • Create New...