Jump to content

Leopard Laptops with NON-working GMA X3100


errandwolfe
 Share

846 posts in this topic

Recommended Posts

CharredPC: will have a look at yours too next days, i am a little busy now. after get some sparetime, we will find a solution for sure

 

Thanks a ton! I've continued to try DSDT changes, but not had any luck so far. One thing I have noticed is that adding your code in is what makes my System Profiler info look strange ( "X3100,,,,,,").

Link to comment
Share on other sites

sparrowdclxvi: slashhack is right, try to boot without appleintelgmax drivers. but i guess your problem doesnt relate to video, anyway, try slashhacks suggestion to get sure.

look at fakesmc: key not found message, dont know if that is normal :rolleyes:

to boot in 32bit use -x32 at bootpromt (the screen where you can select the drive where you want too boot from, to see that screen just press any button while chameleon shows the loading bar)

another, permanent method is to set a kernel flag in /Library/Preferences/SystemConfiguration/com.apple.Boot.plist like this:

<key>Kernel Flags</key>

<string>arch=i386</string>

with chameleon2 rc3 arch=i386 sometimes doesnt work from /Extra/com.apple.Boot.plist

rc3 and netkas boot 10.x boot 64bit mode by default. if you set arch=i386 in boot.plist, try at boot promt: -x64 or -x86_64 (dont remember whats right)

 

Thanks for the help. I found the correct string at the Chameleon boot is:

-arch=i386 -v -x32

 

If I don't use the whole string my screen won't come on at all after booting.

 

I'm leaving the 10.6.2 update for a bit, as I'm trying to get everything working on 10.6.1 first. With that in mind I noticed the following under System Profiler. If I click on the Graphics/Displays entry on the left I see this:

 

Display:

 

Type: GPU

Bus: Built-In

VRAM (Total): 64 MB of Shared System Memory

Vendor: Intel (0x8086)

Device ID: 0x2a02

Revision ID: 0x000c

Kernel Extension Info: No Kext Loaded

Displays:

Display:

Resolution: 1024 x 768

Pixel Depth: 32-Bit Color (ARGB8888)

Main Display: Yes

Mirror: Off

Online: Yes

 

Is the "No Kext Loaded" message correct?

 

Thanks

Link to comment
Share on other sites

I just need to rant about this evil, evil situation. It's driving me insane.

 

Every conceivable way, I altered my DSDT. Eventually I even replaced half the code with flame's working DSDT, hoping something would work. No luck whatsoever. Other than getting quite familiar with the DSDTSE editor, it was all wasted time. I finally gave up on trying to fix my DSDT myself. If flames can't do it, I'm just out of luck. So I racked my brains to come up with alternatives to force the retail DVD to boot without going to a black screen...

 

I next concocted a boot cd using BootCDMaker, which included my stock DSDT, some modded X3100 drivers (alternate AppleIntelGMAX3100FB.kext and Natit.kext), and all the required files to make them work. I was very excited when this actually seemed to work- it let the retail DVD setup be visible, even at the right resolution! Unfortunately, since I was forced to use a 10.5.8 ACPI file so the kexts would load, it messed up the retail 10.5.6 install a bit. Basically, the ACPI seems to be messed up sufficiently (even after updating to 10.5.8) that no PS2 controller kext would function. Since having a mouse and keyboard are important to me, this wouldn't do.

 

So I rethought the boot cd idea. Back when I was trying to mod my DSDT, it booted once using generic drivers, not loading any X3100 kext. What if I altered the DSDT again so much that it couldn't recognize the X3100 videocard, hence didn't try loading the framebuffer, hence booted properly into setup (at default unaccelerated 1024x768)? I wouldn't need any video kexts then! Back to hacking the DSDT, I did my best to re-mangle it. Nada. Changing the address, tweaking values, even ripping out the entire GFX0 device wouldn't work; IOFramebuffer match was always detected, so it either froze or booted to the black screen.

 

Okay, rethink this again. Maybe the goal is correct, but I'm going about it wrong. Starting with a fresh DSDT, I simply modded it to change the device id. If it didn't match, it wouldn't load, right? Sort of. While the device was no longer matched, there was still an IOFramebuffer match (likely due to the vendor id / IOPCI Intel 8086 value), so it froze. With the DSDT modded this way, simply removing AppleIntelGMAX3100.kext allows it to boot fine... but since I can't delete kext's off the DVD, this isn't helpful. I can't figure out how to alter the Vendor or PCI values in the DSDT, so that's as far as I can go with this idea...

 

To sum up, I'm exactly where I started, several days later, and frustrated beyond belief. No doubt flames or someone will glance at my DSDT and spot an easy fix, and I'll have a good laugh about this. In the meantime, it's difficult to stop beating my head against this brick wall. Maybe someone else can offer some advice. Here's everything I know:

 

1. The iDeneb DVD boots fine because it doesn't load any X3100 drivers to run setup. I boot to 1024x768 stretched, but it's on my laptop's LCD. After installing, I have to boot to single user mode and delete the GMA drivers in order to boot into OSX, otherwise I get the backlit black screen of death (BBSOD?). This setup works, but I want retail, not a hacked distro.

 

2. Once inside OSX, I can put back all stock drivers except AppleIntelGMAX3100FB.kext and Natit.kext. Once those are replaced, I have full QI/QE and all resolutions available. It appears that the older framebuffer allows Natit.kext, which injects values very very similar to flame's DSDT mod (I can see the APPL lines scroll by if I boot with -v). This gives me hope that his mod will work for me, though I'm unable to install it myself. Every attempt simply alters my System Profiler info to "X3100,,,,,,".

 

3. The retail 10.5.6 DVD always boots to the BBSOD, because it loads the stock X3100 drivers. If I could get a working DSDT mod, I could use it in a Boot CD, and everything would be perfect. As it is, I can't see anything, so can't install OSX, so can't apply my kext fixes afterwards.

 

I'm off to take a breather and have some turkey before I go :thumbsup_anim: insane.

 

Edit: Partially figured something out!

 

Flames' DSDT patch works to boot the retail 10.5.6 DVD, but ONLY if you use Chameleon, and ONLY if the automatic graphics injection is on (specified in the boot.plist)!

 

I found this out completely by accident. If you use BootCDMaker, select Automatic Graphics injection. It will add this to the default boot.plist:

 

<key>GraphicsEnabler</key>
<string>yes</string>

 

I've also found that you MUST let AppleIntelCPU Power management load. Include any disabler, and this trick stops working. That makes no sense to me, but I've tested it.

 

So now I have a way to boot the retail DVD... weird thing is, this trick does NOT work once OSX is installed. Still boots to a black screen, even though Chameleon is installed, DSDT edited, boot.plist flag is set... still need a proper fix!

Link to comment
Share on other sites

I've finally got 10.6.2 installed and working. Even better, my X3100 graphics are correctly detected. :P I've got the correct resolution (1280 x 800), which looks a bit weird at the moment, but is much clearer. I'm running 64 bit at the moment, I'll test 32 bit later.

 

I used this post by slashack and tested it in 10.6.1 but it didn't seem to make any difference.

I spent the weekend creating a boot disc and setting up time machine so that I could keep using a back up if needed.

 

However, the above patch worked first time. Thanks slashack. :) However, this patch that slashack posted doesn't work for me.

Sleep is also thinking about working now, so that's a start, but more work needed there. Sleep works, but the screen doesn't work when waking up. Not sure what else does and doesn't work yet.

 

What doesn't work is using an external LCD screen. After boot up, the internal LCD works. If I switch to the external LCD, I only see the verbose output, not the desk top. If I then switch back, the internal screen is all broken up.

 

I'm using a custom DSDT created using this post by immo, and the following kexts in /E/E:

 

fakesmc.kext

VoodooTSCSync.kext

VoodooBattery.kext (these first three from Superhai's boot CD)

AppleACPIPS2Nub.kext and VoodooPS2Controller.kext (these two from here: http://www.insanelymac.com/forum/index.php?showtopic=175372)

 

I also have VoodooHDA.kext (from here) but that's in /S/L/E and removed AppleHDA. I've not tested the updated version released on 30 november.

 

I've attached my DSDT for anyone that's interested. It has no SSDT tables so should work for any XPS M1330.

 

Edited to add:

 

This is what System Profiler shows when booted in 32bit mode:

Intel GMA X3100:

 Chipset Model:	GMA X3100
 Type:	GPU
 Bus:	Built-In
 VRAM (Total):	144 MB
 Vendor:	Intel (0x8086)
 Device ID:	0x2a02
 Revision ID:	0x000c
 Displays:
Display:
 Resolution:	1280 x 800
 Pixel Depth:	32-Bit Color (ARGB8888)
 Main Display:	Yes
 Mirror:	Off
 Online:	Yes
 Built-In:	Yes
Display Connector:
 Status:	No Display Connected

 

As you can see it's mostly OK apart from the refresh rate missing from the Resolution entry, and no QE/CI support. Not too bad for 100% original kexts. I'll check to see if the 64 bit info is different in a sec. Nope, identical. The only difference I can see between 32bit and 64bit is that the desktop fades in nicely in 32bit at startup but doesn't do that in 64bit.

 

Summary

Everything works with 10.6.2 kexts apart from waking up from sleep, restart and QE/CI.

DSDT.aml.zip

Link to comment
Share on other sites

MY Display:

 

Type: Display

Bus: Built-In

VRAM (Total): 64 MB of shared system memory

Vendor: Intel (0x8086)

Device ID: 0x2a12

Revision ID: 0x000c

Kernel Extension Info: No Kext Loaded

Displays:

Display:

Resolution: 1024 x 768

Depth: 32-bit Color

Core Image: Software

Main Display: Yes

Mirror: Off

Online: Yes

Quartz Extreme: Not Supported

QuartzGL: Supported

 

I AM INSTALLED MANY KEKSTS AND USE KEKST HELPER

AND MAKE MANY THINGS

BUT CANT CHANGE RESOULTION

my resoultion 1024.768

and me have black screen

and screen appear only in the center and right,left were black

 

please help me to install it and remove the black screen to make my laptop display extended

Link to comment
Share on other sites

MY Display:

 

Type: Display

Bus: Built-In

VRAM (Total): 64 MB of shared system memory

Vendor: Intel (0x8086)

Device ID: 0x2a12

Revision ID: 0x000c

Kernel Extension Info: No Kext Loaded

Displays:

Display:

Resolution: 1024 x 768

Depth: 32-bit Color

Core Image: Software

Main Display: Yes

Mirror: Off

Online: Yes

Quartz Extreme: Not Supported

QuartzGL: Supported

 

I AM INSTALLED MANY KEKSTS AND USE KEKST HELPER

AND MAKE MANY THINGS

BUT CANT CHANGE RESOULTION

my resoultion 1024.768

and me have black screen

and screen appear only in the center and right,left were black

 

please help me to install it and remove the black screen to make my laptop display extended

 

From that info from System Profiler I asume you've got some Leopard version.

 

What things have you tried?

What happens? steps to reproduce?

What kext versions?

 

This is what I would do:

1- Install latests kext versions.

2- Patch DSDT following instructions from flame's post

 

If you can't change resolution: kexts are not loading.

If kext's don't load: search your system's log for any dependency issue.

If kext's don't load and there are no dependency issues: try using Natit.kext for X3100.

If kext's don't load, there are no dependency issues and you are using Natit.kext: try with another kexts (different version)

If you can see half screen: try connecting an external monitor.

If you can see half screen but external monitor is ok: patch dsdt from flame post (i've made some instructions for dell notebooks).

If your screen goes blue and then black: try with any of the sleeps tricks.

If your screen goes blue and then black and don't wan't to use any annoying trick: patch dsdt from my post (vaag's originally)

 

If you don't understand what I'm talking about above: just google it. The solutions are in this topic/forum.

Link to comment
Share on other sites

Hi all

 

I wonder if anyone can help with the following problems I still have:

  • After sleep, the screen is black.
  • When I set the desktop to change the background every 5 minutes, close Preferences, and then open it again, the checkbox to change the background is uncheckedd again.
  • The screensaver never starts.
  • Restart doesn't work.

 

Attached is my current DSDT and kexts haven't changed from above.

 

Any help appreciated. If you need any other information, please let me know.

DSDT.aml.zip

Link to comment
Share on other sites

Hi all

 

I wonder if anyone can help with the following problems I still have:

  • After sleep, the screen is black.
  • When I set the desktop to change the background every 5 minutes, close Preferences, and then open it again, the checkbox to change the background is uncheckedd again.
  • The screensaver never starts.
  • Restart doesn't work.

 

Attached is my current DSDT and kexts haven't changed from above.

 

Any help appreciated. If you need any other information, please let me know.

 

After sleep, LCD backlight turns on, but screen remains black. It's a known issue under 10.6.2 only in 64 bit mode.

I don't know about screensaver, but display sleeping doesn't work. Known issue under 10.6.2. Set up a hot corner to sleep the display. You'll notice that the mouse pointer disappears. That's the display sleeping.

Link to comment
Share on other sites

After sleep, LCD backlight turns on, but screen remains black. It's a known issue under 10.6.2 only in 64 bit mode.

I don't know about screensaver, but display sleeping doesn't work. Known issue under 10.6.2. Set up a hot corner to sleep the display. You'll notice that the mouse pointer disappears. That's the display sleeping.

Awesome thanks. I've just tested sleep under 32bit and it worked. ;)

However, I've got the sound issue after sleep now, even with the latest version of VoodooHDA (30/11). I seem to remember that I might need to unload and reload the kext or something after sleep. Can someone point me in the right direction there?

 

I'll also check USB to see if that works.

 

I don't know what display sleep is. What's that supposed to do?

 

Thanks for your help.

Link to comment
Share on other sites

Awesome thanks. I've just tested sleep under 32bit and it worked. :)

However, I've got the sound issue after sleep now, even with the latest version of VoodooHDA (30/11). I seem to remember that I might need to unload and reload the kext or something after sleep. Can someone point me in the right direction there?

 

I'll also check USB to see if that works.

 

I don't know what display sleep is. What's that supposed to do?

 

Thanks for your help.

 

Look for VoodooHDA from slice. Remember to use kexthelper to install.

 

The screensaver is useless for me. If I wan't to save energy, then I want to power off my display automatically. That's what "sleep display" means.

 

Look for that option in Expose configuration.

Link to comment
Share on other sites

Look for VoodooHDA from slice. Remember to use kexthelper to install.

I didn't use kexthelper. I did the following:

  • cp -R VoodooHDA.kext /System/Library/Extensions/VoodooHDA.kext
  • Used Kext Utility to repair permissions etc.

Does kexthelper do anything different?

 

The screensaver is useless for me. If I wan't to save energy, then I want to power off my display automatically. That's what "sleep display" means.

 

Look for that option in Expose configuration.

Thanks I'll look at that. Had a look at Expose and that works really well thanks. I'm also using "sleep display" rather than screen saver now. :o

 

Edited to add:

Does QE/CI work with X3100? If so, any pointers on getting that working.

Link to comment
Share on other sites

I didn't use kexthelper. I did the following:

  • cp -R VoodooHDA.kext /System/Library/Extensions/VoodooHDA.kext
  • Used Kext Utility to repair permissions etc.

Does kexthelper do anything different?

 

 

Thanks I'll look at that. Had a look at Expose and that works really well thanks. I'm also using "sleep display" rather than screen saver now. :rolleyes:

 

Edited to add:

Does QE/CI work with X3100? If so, any pointers on getting that working.

Yes it works, but there's no "official" way of checking like in leopard's system profiler.

 

Check this out: http://prasys.co.cc/tag/qeci-snow-leopard/

Link to comment
Share on other sites

Yes it works, but there's no "official" way of checking like in leopard's system profiler.

 

Check this out: http://prasys.co.cc/tag/qeci-snow-leopard/

 

Excellent, it's working correctly then. :D

 

I didn't use kexthelper. I did the following:

  • cp -R VoodooHDA.kext /System/Library/Extensions/VoodooHDA.kext
  • Used Kext Utility to repair permissions etc.

Does kexthelper do anything different?

 

Is this OK?

Link to comment
Share on other sites

KrasuTengu, try the attached dsdt, mods done:

1. added method _dsm to the video device at address 0x00020000

2. removed all output heads except of lcd

3. added method dtgp

 

 

CharredPC, you have a really buggy dsdt, tonns of errors, you need first to correct them all. otherwise it doesnt compile.

i dont have the time to correct all those errors. read about how to patch dsdt, look for fixes, and learn that.

anyway, that you can see how the video injection works, following mods done:

1. added method _dsm to the video device at address 0x00020000

2. removed all output heads except of lcd

3. method dtgp

 

good luck

krasutengu_dsdt_lcdonly_method_dtgp_metod_dsm.aml.zip

charredpc_initial_dsdt_lcdonly_method_dsm.dsl.zip

Link to comment
Share on other sites

Thanx for tryng Flames... but this doesn't work for me :shock:

I'm desperate with this damn buggy card... I can't understand why this damn thing works on windows and linux and it doesn't on mac! :angry2:

Link to comment
Share on other sites

CharredPC, you have a really buggy dsdt, tonns of errors, you need first to correct them all. otherwise it doesnt compile.

i dont have the time to correct all those errors. read about how to patch dsdt, look for fixes, and learn that.

 

That's odd, it compiles just fine for me. I get seven warnings, but nothing that stops it from compiling. What issues did you run into?

 

I copied the code you changed into my DSDT, but it didn't work. No change, still boots to a black screen. Only way I can boot in is replacing the 1.5.48.6 AppleIntelGMAX3100FB.kext with the 1.5.18.7 version and adding Natit.kext. No longer need Natit.kext- see addendum below. Unfortunately doesn't solve the black screen issue when using original stock kexts...

 

Any thoughts on why your trick might work to launch the Retail DVD properly, but won't work on OSX itself?

 

I'm comparing ioreg -l results from both AppleIntelGMAX3100FB.kext's; there are some differences. Such as, the black screen has "AAPL, iokit-ndrv"=<a0c59e54>, while the alternate framebuffer gives <a0c59d54>. Also, the "IOFBDetailedTimings" and "IOFBConfig" values are drastically different- the black screen ones look sort of empty ("dims"=<a0050000840300000002000007000000> vs "dims"=<ffffffffffffffff0000000000000000>).

 

Perhaps most important are the differences in the AppleDisplay section. Specifically, the black version completely lacks an EDID, plus the DisplayProductID, DisplayVendorID, and IODisplayPrefsKey are completely different. To my very untrained eye, it looks to me like the older kext had a different default display value. Or perhaps the new one isn't capable of reading my LCD's EDID. Can anyone suggest a way of injecting some of these values? DSDT, boot.plist...? I did try adding my EDID into the boot.plist, but it wasn't picked up.

 

 

PS. Workaround to remove Natit.kext-

Don't ask me why, but this requires both a DSDT and com.apple.Boot.plist edit. In the DSDT, I added the DTGP method, and this under my graphics card (GFX0):

 

Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x0A)
					{
						"device_type", 
						Buffer (0x08)
						{
							"display"
						}, 

						"model", 
						Buffer (0x0C)
						{
							"Intel X3100"
						}, 

						"AAPL,HasPanel", 
						Buffer (0x04)
						{
							0x01, 0x00, 0x00, 0x00
						}, 

						"AAPL,backlight-control", 
						Buffer (0x04)
						{
							0x01, 0x00, 0x00, 0x00
						}, 

						"AAPL01,DualLink", 
						Buffer (0x04)
						{
							0x01, 0x00, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

 

Then in the boot.plist, I added:

 

<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,HasPanel</key>
<string>0x00000001</string>
</dict>

 

Tried every combination, but couldn't put all the info into one place. This is really a stopgap measure anyhow, until a true stock-driver-solution is found. Just posting it here to help others :)

Link to comment
Share on other sites

Finally, a breakthrough for me!

 

The issue with my laptop's black screen is it can't always read the LCD's EDID data. 90% of the time it simply can't, therefore attempts to render default 4:3 resolutions, which aren't compatible with my 16:9 LCD... hence, a backlit but black display. I can VNC in and change resolutions, but none of the available ones are compatible. I can, however, watch the LCD blink as I apply them. It's "using" the screen, it just doesn't know how to talk to it.

 

The 10% of the time when it can grab the EDID, I can use 100% stock drivers with no problem. Leaving the above-described mods in place (not sure if they're helping, but I doubt they're hurting), if I try and reboot half a dozen+ times, the built-in LCD actually works! Using VNC and ScreenResX, I've managed to prove that the times I get a black screen, the EDID is not picked up, therefore only incompatible 4:3 resolutions are available. Whenever the LCD functions, it's because the EDID was acquired fine, giving all actual resolutions and Vendor / Product id.

 

The problem is how to get it use my EDID all the time... I've tried adding this to my com.apple.boot.plist:

 

<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,HasPanel</key>
<string>0x00000001</string>
<key>AAPL01,EDID</key>
<data>MDBGRkZGRkYgRkZGRkZGMDAgMzIwQzAwREYgMDAwMDAwMDAgMDAxMTAxMDMgODAyMTE1NzggMEFF
OUQ1OTkgNTk1MzhFMjggMjY1MDU0MDAgMDAwMDAxMDEgMDEwMTAxMDEgMDEwMTAxMDEgMDEwMTAx
MDEgMDEwMURFMjEgQTA3MDUwODQgMUYzMDIwMjAgNTYwMDRCQ0YgMTAwMDAwMTggREUyMUEwNzAg
NTA4NDFGMzAgMjAyMDU2MDAgNEJDRjEwMDAgMDAwMDAwMDAgMDBGRTAwNEIgNTIzNTMxMzUgMDAz
MTM1MzQgNTc1MDMxMEEgMDAwMDAwRkUgMDAyMzMzM0QgNDg2NTg0QUEgRkYwMjAxMEEgMjAyMDAw
QTM=</data>
</dict>

 

... but it doesn't seem to be using it, at least not everytime. I think there's a different way to inject the EDID than this- Hacktrix2006 played around with it a while back- but he's since removed all instructions for it. I've also tried just specifying the proper resolution, but it seems it won't do it if it's not among those listed under Displays. Anyone have any suggestions? I'm so close!

Link to comment
Share on other sites

Now I'm confused. Does OSX just randomly decide to ignore DSDT and boot.plist data, or what? Since my earlier EDID injection wasn't working, I plugged it into the DSDT as well:

 

 "AAPL01,EDID", 
 Buffer (0x80)
 {
/* 0000 */	0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 
 /* 0008 */	0x32, 0x0C, 0x00, 0xDF, 0x00, 0x00, 0x00, 0x00, 
 /* 0010 */	0x00, 0x11, 0x01, 0x03, 0x80, 0x21, 0x15, 0x78, 
/* 0018 */	0x0A, 0xE9, 0xD5, 0x99, 0x59, 0x53, 0x8E, 0x28, 
 /* 0020 */	0x26, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, 
 /* 0028 */	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
 /* 0030 */	0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xDE, 0x21, 
 /* 0038 */	0xA0, 0x70, 0x50, 0x84, 0x1F, 0x30, 0x20, 0x20, 
/* 0040 */	0x56, 0x00, 0x4B, 0xCF, 0x10, 0x00, 0x00, 0x18, 
 /* 0048 */	0xDE, 0x21, 0xA0, 0x70, 0x50, 0x84, 0x1F, 0x30, 
 /* 0050 */	0x20, 0x20, 0x56, 0x00, 0x4B, 0xCF, 0x10, 0x00, 
 /* 0058 */	0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4B, 
 /* 0060 */	0x52, 0x35, 0x31, 0x35, 0x00, 0x31, 0x35, 0x34, 
 /* 0068 */	0x57, 0x50, 0x31, 0x0A, 0x00, 0x00, 0x00, 0xFE, 
 /* 0070 */	0x00, 0x23, 0x33, 0x3D, 0x48, 0x65, 0x84, 0xAA, 
 /* 0078 */	0xFF, 0x02, 0x01, 0x0A, 0x20, 0x20, 0x00, 0xA3
 }

 

...but that isn't working either. Is AAPL01 the flaw here? Could that be a variable that changes sometimes? The LCD has the EDID data, the Boot.plist has the EDID data, the DSDT has the EDID data, and yet the majority of the time OSX boots up it can't seem to find it :)

Link to comment
Share on other sites

I have dell 1525 with custom screen (1680x1050) and the same GMAX3100 graphics. the Physical LCD is normal 15.4" only. The device id and revision ids are 0x2a02, 0x000c. I have had hard time getting it to work for past year and half. The closest I could get is 1600x1000 with the AppleIntelGMAX3100FB (1.5.18). If I boot in safe mode (-x) I get 1680x1050 but mouse pointer is distorted.

 

I am wondering if at all I could get full resolution (1680x1050). I am currently using 10.6.2.

 

[sOLVED] followed post#603.

Link to comment
Share on other sites

Is there a way to pull off getting the DSDT with vanilla kexts loaded from a command line and then edit it afterwards? I cannot get the USB wifi to fireup and connect while the x3100 kexts are there.

 

I've gotten natit to work, but cant seem to pull a 1366 resolution, so I'm hoping your guide can work Flame. I've heard that DSDT work can often open a card up completely.

 

Any advice Flame or others? Seems like we've got some heavy weights for the x3100 in here :wacko:

 

In Vesa, I can screenshare. But after restoring vanilla kexts and rebooting, wifi just can't connect (and of course I can't see {censored} with those kexts loaded haha).

 

Thanks! Would love to get this Lenovo U110 working, it'd be such a macbook nano haha!

Link to comment
Share on other sites

Mine's fixed. Finally.

 

The solution ended up being:

 

1. Using flame's DSDT edit

2. Editing the Boot.plist to include the same info

3. Identifying the EDID under @0, AAPL, and AAPL01 in Boot.plist

 

It's the messiest fix I've ever seen, but it gives me 100% functionality using stock drivers. Best of all, the fixes reside on the EFI partition, so if I ever have to reinstall OSX, they aren't touched!

 

I've attached my Boot.plist and DSDT below so the fixes can be seen.

 

Edit: The Boot.plist was NOT being used. The other half of the DSDT equation was a Display Override I'd previously created. Further explanations below, just didn't want false information here ;)

Archive.zip

Link to comment
Share on other sites

Mine's fixed. Finally.

 

The solution ended up being:

 

1. Using flame's DSDT edit

2. Editing the Boot.plist to include the same info

3. Identifying the EDID under @0, AAPL, and AAPL01 in Boot.plist

 

It's the messiest fix I've ever seen, but it gives me 100% functionality using stock drivers. Best of all, the fixes reside on the EFI partition, so if I ever have to reinstall OSX, they aren't touched!

 

I've attached my Boot.plist and DSDT below so the fixes can be seen.

 

thanks for reporting back and congratulations to your success!

the edid injection in dsdt should work fine, i dont know, why you needed to put it in com.apple.boot.plist. but anyway, the success is more important.

you are right, this whole topic is the darkest hack i have ever seen, and your edid mod is the top of that xD

 

offtopic: i like your isight mod, plan to do the same to my toshiba, will report in your isight topic.

Link to comment
Share on other sites

Just to make my hack even uglier, it turns out some previous work I did using some Display Overrides are helping as well! Since my system has a 50% chance of booting up without an EDID being detected, I added the EDID data to the unknown display override. So half the time (when it can't autodetect the EDID) it uses that Override to successfully show a picture :P

 

I've tried removing the overrides, tried removing the DSDT edits, but touching either one thing kills the fix. Pretty confusing, but true. Definitely a cludgy, ugly rig-job. Not sure why any one bit of it doesn't do all the work. Near as I can tell, here's how it's working:

 

There was absolutely no picture until the DSDT edit. Once that was in place, there was at least a chance of using the display- whenever the EDID was detected. The Overrides made it 100%. I've successfully removed all Boot.plist edits with no change, so they weren't doing a thing. DSDT + Overrides is the key here. Not sure why just the overrides won't work... the ioreg output is nearly exact, with the DSDT mod only (somehow) changing the "IOFBI2CInterfaceIDs" and "IOFBDependentID" values listed under AppleIntelFramebuffer. This is very likely the key, since the blank screen is indicative of a misloading framebuffer! Wonder if there's any way to inject those values? Will keep trying for a 100% EFI (hopefully DSDT) solution. If anyone has any suggestions, please share.

 

flames: Good luck on the iSight mod, let me know if you need any help. The tiny wires can be annoying, but the results are awesome once it's done ;) Kind of like this display hack!

 

PS. Made the IOFBI2CInterfaceIDs match by adding a line to the Override- no change. Can't seem to affect IOFBDepenentID the same way, though.

Link to comment
Share on other sites

 Share

×
×
  • Create New...