Jump to content

Final solution (FIX) for GMA950 Desktop edition - NEW 28 DEC 08


Dr. Hurt
 Share

486 posts in this topic

Recommended Posts

hi there, i havn't believed that there would be movement again

i'm on a elitegroup (ECS) 945GCT - M2/1333, installed pc efi v9 on my test disk. installed the kexts plugins and buffers.

 

copied in the DSDT.aml to the root, tried V3 and V2,

 

booting process will stuck.

ok, i can create my on DSDT.aml with this fassl thingy, could anyone hold my hand so i can alter it with the necessary code?

 

post your dsdt and ioreg saved with ioregistryexplorer.

Link to comment
Share on other sites

post your dsdt and ioreg saved with ioregistryexplorer.

 

had to install 2,6gb of developer tools first, 

 

ok i put the file wich i saved from the ioregistryexplorer and the DSDT.aml in the zip file uder this post

 

i don't know where this is leading but i appreciate your help

Archiv.zip

Link to comment
Share on other sites

yes, thats it

 

you have done it. you are now my personel hackintosh hero :D

 

i don't know what you have done to the aml but it solved the problem with the glitches that was there with the old framebuffer, not even office does make it glitch now and this was so unuseable before that i rather used parallels.

 

 

 

hope some other guys with this board (and telling from the search engine there are some) will find this dsdt too, so that your work will come to greater use than only on my hackintosh

 

 

 

now i only have to find a way to get my networking back, i think it's not related to the aml but to the 10.5.6.

 

 

 

however, thanks, thanks, thanks i lived with the problem or over a year and you solved it

Link to comment
Share on other sites

this is the code of the macbook with X3100 , i don´t know if it will work, i´m sorry but i don´t have the hardware to test it out. I think all the code is not needed, it must be cleaned out...

 

Device (GFX)
{
Name (_ADR, XXXXX)//use a proper ADR
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x54)
{

"device_type",
Buffer (0x08)
{
"display"
},

"model",
Buffer (0x0D)
{
"X3100"
},

"built-in"
Buffer (One)
{
0x01
},

"AAPL,aux-power-connected",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

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

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

"AAPL,DisplayConfig",
Buffer (0x20)
{
/* 0000 */ 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
/* 0008 */ 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0018 */ 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
},

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

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

"AAPL,NumDisplays",
Buffer (0x04)
{
0x04, 0x00, 0x00, 0x00
},

"AAPL,NumFramebuffers",
Buffer (0x04)
{
0x02, 0x00, 0x00, 0x00
},

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

"AAPL00,blackscreen-preferences",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x08
},

"AAPL01,BacklightIntensity",
Buffer (0x04)
{
0x64, 0x00, 0x00, 0x00
},

"AAPL01,blackscreen-preferences",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x08
},

"AAPL01,BootDisplay",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"AAPL01,CurrentDisplay",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},

"AAPL01,DataJustify",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"AAPL01,Depth",
Buffer (0x04)
{
0x20, 0x00, 0x00, 0x00
},

"AAPL01,Dither",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},

"AAPL01,DualLink",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"AAPL01,EDID",
Buffer (0x80)
{
/* 0000 */ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
/* 0008 */ 0x06, 0x10, 0x5f, 0x9c, 0x00, 0x00, 0x00, 0x00,
/* 0010 */ 0x08, 0x10, 0x01, 0x03, 0x80, 0x1d, 0x12, 0x78,
/* 0018 */ 0x0A, 0x2f, 0x30, 0x97, 0x58, 0x53, 0x8b, 0x29,
/* 0020 */ 0x25, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01,
/* 0028 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/* 0030 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xBC, 0x1B,
/* 0038 */ 0x00, 0xA0, 0x50, 0x20, 0x17, 0x30, 0x30, 0x20,
/* 0040 */ 0x36, 0x00, 0x1E, 0xB3, 0x10, 0x00, 0x00, 0x18,
/* 0048 */ 0x00, 0x00, 0x00, 0x0F, 0x00, 0x06, 0x10, 0x20,
/* 0050 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* 0058 */ 0x0A, 0x20, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4C,
/* 0060 */ 0x54, 0x31, 0x33, 0x33, 0x57, 0x58, 0x31, 0x2D,
/* 0068 */ 0x00, 0x43, 0x41, 0x31, 0x00, 0x00, 0x00, 0xFE,
/* 0070 */ 0x00, 0x43, 0x6F, 0x6C, 0x6F, 0x72, 0x20, 0x4C,
/* 0078 */ 0x43, 0x44, 0x0A, 0x20, 0x20, 0x20, 0x00, 0xC2
},

"AAPL01,Height",
Buffer (0x04)
{
0x20, 0x03, 0x00, 0x00
},

"AAPL01,Interlace",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},

"AAPL01,Inverter",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},

"AAPL01,InverterCurrent",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},

"AAPL01,InverterFrequency",
Buffer (0x04)
{
0x08, 0x52, 0x00, 0x00
},

"AAPL01,IODisplayMode",
Buffer (0x04)
{
0x00, 0x10 0x00, 0x80
},

"AAPL01,LinkFormat",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},

"AAPL01,LinkType",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},

"AAPL01,Pipe",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"AAPL01,PixelFormat",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},

"AAPL01,Refresh",
Buffer (0x04)
{
0x3B, 0x00, 0x00, 0x00
},

"AAPL01,Stretched",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},

"AAPL01,T0",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},

"AAPL01,T1",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"AAPL01,T2",
Buffer (0x04)
{
0xC8, 0x00, 0x00, 0x00
},

"AAPL01,T3",
Buffer (0x04)
{
0xC8, 0x00, 0x00, 0x00
},

"AAPL01,T4",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
},

"AAPL01,T5",
Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
},

"AAPL01,T6",
Buffer (0x04)
{
0x90, 0x01, 0x00, 0x00
},

"AAPL01,Width",
Buffer (0x04)
{
0x00, 0x05, 0x00, 0x00
}

}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}

 

and all these is inserted where again? Sorry but I missed dsdt lessons last semester. If it's too much work don't bother to answer, thanks once again for tryin 2 help :P

Greetings 2 all of ya from not-so-sunny-these-days-and-rather-snowy Greece and happy new year

Link to comment
Share on other sites

Hey Dr. Hurt,

 

I'm trying to get this to compile, and getting a syntax error with your source. Any ideas?

 

dsdt.dsl  5720: {d718, 0\'d713, 0\'d71C, 0\'d744,\
Error	4095 - ^ syntax error, unexpected '{', expecting $end

 

I have tried removing the back slashes in vi with:

 

%s/\\/^M/g		 (with that being a carriage return not a carrot M)

 

Which gives me the same results, so don't think that the slashes are the problem. However, I'm having a heck of a time understanding this so not sure where to start troubleshooting. I should note, if I am able to recompile my dsdt.dsl without any errors, so the compilation problem is with the added code. I've also attached a copy of my DSDT.aml from my Dell Mini if you want to give it a go.

 

Any help would be greatly appreciated!

nvrmore100_dsdt.aml.zip

Link to comment
Share on other sites

Just remove one of the "{" after the code you inserted!

This problem had me going crazy too.

 

Dr. Hurt, great work! I am trying to apply your patch for the Dell Mini 9 but can't compile the resulting dsl. I keep getting errors like:

 

Non-ASCII character [0xC3] found in line 426, file offset 0x24D0

 

What editor do you used to insert the code? Also, do you have any guidance as to where to add the PCI0 code... should I replace the existing on with yours? Should I put it before, etc.

 

Any way, I am attaching my modified dsl file just in case you want to look at it.

 

try the attached dsdts

 

DellM9_DSDT.aml.zip

 

DellM92_DSDT.aml.zip

 

roisoft, are those Dell Mini 9 files to which you have applied the patch? If so, do you mind sharing the source dsl files?

dsdt2.dsl.zip

Link to comment
Share on other sites

"iasl -d dsdt.aml" and you will get the dsdt.dsl

 

if this doesn´t work i can try adding more stuff , so please give it a shot and report back...

OK, I see you have added only the 1st section on the patch? The remaining 2 are not needed?

 

I will give it a try later.

Link to comment
Share on other sites

"iasl -d dsdt.aml" and you will get the dsdt.dsl

 

if this doesn´t work i can try adding more stuff , so please give it a shot and report back...

 

Neither gave CI/QE. I managed to get the data out of the RTF file properly, and found the same compilation errors with the non-ASCII characters. Not sure how you are getting around that, seems my terminal goes crazy with just about anything I do with it (changing ## signs in where the device id's should be). Here is a snippet:

 

Gimli:DSDT_Patcher1 rmacdona$ Tools/iasl -tc dsdt.dsl

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20080926 [Oct  4 2008]
Copyright (C) 2000 - 2008 Intel Corporation
Supports ACPI Specification Revision 3.0a

Non-ASCII character [0xC3] found in line 5724, file offset 0x2DDCE
Non-ASCII character [0x97] found in line 5724, file offset 0x2DDCF
Non-ASCII character [0xC3] found in line 5726, file offset 0x2DE03
Non-ASCII character [0x97] found in line 5726, file offset 0x2DE04
Non-ASCII character [0xC3] found in line 5726, file offset 0x2DE0A
Non-ASCII character [0x97] found in line 5726, file offset 0x2DE0B
Non-ASCII character [0xC3] found in line 5726, file offset 0x2DE11
Non-ASCII character [0x97] found in line 5726, file offset 0x2DE12
Non-ASCII character [0xC3] found in line 5726, file offset 0x2DE18
Non-ASCII character [0x97] found in line 5726, file offset 0x2DE19
44 non-ASCII characters found in input source text, could be a binary file
Error	4062 - Invalid characters found in file dsdt.dsl

Link to comment
Share on other sites

Neither gave CI/QE. I managed to get the data out of the RTF file properly, and found the same compilation errors with the non-ASCII characters. Not sure how you are getting around that, seems my terminal goes crazy with just about anything I do with it (changing ## signs in where the device id's should be).

 

To get ride of the non-ASCII characters, do as follows (If the problem comes from a wrong text formatting as happends sometimes on windows).

Open .dsl with text utility,

Menu format>convert to rtf

Save as the file, close main file.

Open the .rtf file with text edit

Menu format again> Convert to plain text

Save as> and be sure to be "UTF-8" format,close text file.

Right click on text file>more info

Change extension from .txt to .dsl

Now you have it on the correct format for compiling under osx.

 

Your error, can be a different one, such a wrong code placement or sintax, recheck it.

 

EDIT

The very fast way to make it osx compatible:

Open the .dsl file with textmate, save as .dsl, be sure flie encoding it´s UTF8 and line endings are LF.

Link to comment
Share on other sites

OK,

I reformatted the source code into plain text to avoid the ASCII error. You can now copy the code from the source to the .dsl without any problems in compiling using the textedit app in OS X.

 

I'm sorry for putting the source code in RTF in the first place. I'm using a different editor.

 

To compile the file properly, use:

iasl -sa /path/to/dsdt.dsl

 

If all goes well you should get a DSDT.aml with not errors.

Link to comment
Share on other sites

I will give it a shot and come back with results...

 

EDIT: quick question.... If I try these will my system have even a slight chance of not starting back up right?

 

I just tried em, don't notice a difference in these kexts vs the other 1s I was using. I still have no resolution change, or rotation :/

Link to comment
Share on other sites

Awesome thanks!

 

Just to clarify on this comment "just after the end of this method". I assume we adding this after the Scope section of that Method, and right before the next Method?

 

I'm sorry, I don't understand your question!!

 

By the way, 18 more minutes till 2009 in Cairo..

Happy New Year...

 

I just tried em, don't notice a difference in these kexts vs the other 1s I was using. I still have no resolution change, or rotation :/

 

Are you using a laptop?

This method will ONLY work with desktops, unless you modify the source code with your GMA950 address.

Link to comment
Share on other sites

I'm sorry, I don't understand your question!!

 

By the way, 18 more minutes till 2009 in Cairo..

Happy New Year...

 

In your source you have a comment "just after the end of this method" where I'm assuming we are inserting the source after that Method. In my dsl file, there the method appears to end, and a Scope definition begins. I guess I just need some extra information on where to insert the source into the dsl.

 

I found if I insert the first section of the code, it does compile without error. However, the other two sections give me the error I listed before. I assume it may have to do with an incorrect device where you listed "look for the location using ioreg". Can you explain how to find this? In an "ioreg -l" output, I find an acpi-path for my GMA950 at /_SB/PCI0@0/GFX0@20000. Reading this, I'm assuming that PCI0 is correct, but I might be in completely the wrong area.

 

Sorry for all the questions, I'm running kind of blind at this (this is completely out of my league) but having this work would be awesome.

 

Happy New Year!!!!!!

Link to comment
Share on other sites

I pretty confident I got it into plain text ok, but it doesn't like the addresses during the compile process. If I do a :set list in VI, there are no special characters hiding in there, but still same result.

 

This is the section is doesnt like:

 

	 If (LEqual (Arg0, Buffer (0×10)
  {
  /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0×18, 0×13, 0×1C, 0×44,
  /* 0008 */ 0xB0, 0xC9, 0xFE, 0×69, 0×5E, 0xAF, 0×94, 0×9B

 

Hmm, even that pasted funny. I'll poke around in it some more, and type out the address by hand, maybe its still messed somehow.

 

 

 

 

EDIT: Ok I finally got around that problem, that was a pain. :) I've attached what I think is a "clean" copy of the source, so it can make it easier for people next time. Now I have a completing different error, not sure if anyone can lend some ideas to that:

 

dsdt.dsl  5824: [*** iASL: Read error on source code temp file dsdt.src ***]
Error	4095 -^ syntax error, unexpected $end

 

 

Please, when using code, always respect the original code situation, as in the way you have post it is really a hell to read/place on an dsdt....

 

This should be the way:

 

Method (DTGP, 5, NotSerialized)
{
	If (LEqual (Arg0, Buffer (0x10)
			{
				/* 0000 */	0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, 
				/* 0008 */	0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
			}))
	{
		If (LEqual (Arg1, One))
		{
			If (LEqual (Arg2, Zero))
			{
				Store (Buffer (One)
					{
						0x03
					}, Arg4)
				Return (One)
			}

			If (LEqual (Arg2, One))
			{
				Return (One)
			}
		}
	}

	Store (Buffer (One)
		{
			0x00
		}, Arg4)
	Return (Zero)
}

 

 

Now the one you have provided:

 

Method (DTGP, 5, NotSerialized)
 {
 If (LEqual (Arg0, Buffer (0x10)
 {
 /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
 /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
 }))
 {
 If (LEqual (Arg1, One))
 {
 If (LEqual (Arg2, Zero))
 {
 Store (Buffer (One)
 {
 0x03
 }, Arg4)
 Return (One)
 }

 If (LEqual (Arg2, One))
 {
 Return (One)
 }
 }
 }

 Store (Buffer (One)
 {
 0x00
 }, Arg4)
 Return (Zero)
 }

 

Just a recommendation, not a complaint. ;)

Link to comment
Share on other sites

Well I got it to compile, but no luck on booting. The source appears to be missing two ending brackets }. These should go at the end of the middle section, and end of the last section. With these in place, the compiling works are it should, with no errors. However, in my case, I'm getting USB errors on boot, which prevent it from booting fully. :D I might play with this a bit later on.

 

Thanks for the help everyone!

Link to comment
Share on other sites

 Share

×
×
  • Create New...