Jump to content

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


Dr. Hurt
 Share

486 posts in this topic

Recommended Posts

Thanks for the update Doc - and good luck on the anatomy exam! :P

 

Now for the rest of the class: Anybody else not have the "Scope (_SI)" (without quotes) in their self-created dsdt.aml file? I found a couple of other "Scope" entries but none with _SI. TIA

Link to comment
Share on other sites

Thanks for the update Doc - and good luck on the anatomy exam! :)

 

Now for the rest of the class: Anybody else not have the "Scope (_SI)" (without quotes) in their self-created dsdt.aml file? I found a couple of other "Scope" entries but none with _SI. TIA

 

 

 

 

Same here. No Scope (_Sl)

MB Intel 945gntlkr - Pent D 950

 

 

Update - I guess I should have checked the unedited version of dsdt.aml file that was originally made with your patcher. It works ! Original 10.5.6 kexts and full resolutions. All of this working on the EFI partition ! Wow have things improved in the OSX86 scene in the last few months. Thanks !!! :)

DSDT.zip

Link to comment
Share on other sites

Same here. No Scope (_Sl)

MB Intel 945gntlkr - Pent D 950

Update - I guess I should have checked the unedited version of dsdt.aml file that was originally made with your patcher. It works ! Original 10.5.6 kexts and full resolutions. All of this working on the EFI partition ! Wow have things improved in the OSX86 scene in the last few months. Thanks !!! :D

 

So what did you do exactly?

I don't understand how you figured it out.

Link to comment
Share on other sites

Thanks for the update Doc - and good luck on the anatomy exam! :)

 

Now for the rest of the class: Anybody else not have the "Scope (_SI)" (without quotes) in their self-created dsdt.aml file? I found a couple of other "Scope" entries but none with _SI. TIA

 

add it after the end of _WAK method

 

example for GA P35 boards

Method (_WAK, 1, NotSerialized)
{
	Store (0xFF, DBG1)
	If (LEqual (Arg0, 0x03))
	{
		Store (0x8F, SCP)
	}

	If (LEqual (Arg0, 0x04))
	{
		If (LEqual (OSFL, Zero))
		{
			If (LEqual (OSFX, 0x03))
			{
				Store (0x59, SMIP)
			}
			Else
			{
				Store (0x58, SMIP)
			}
		}

		If (LEqual (OSFL, One))
		{
			Store (0x56, SMIP)
		}

		If (LEqual (OSFL, 0x02))
		{
			Store (0x57, SMIP)
		}

		If (LEqual (OSFX, 0x03))
		{
			Store (0x59, SMIP)
		}
	}

	If (LEqual (Arg0, One)) {}
	If (OSFL)
	{
		Notify (\_SB.PWRB, 0x02)
	}
	Else
	{
		If (LEqual (RTCW, Zero))
		{
			Notify (\_SB.PWRB, 0x02)
		}
	}

	Notify (\_SB.PCI0.UHCI, Zero)
	Notify (\_SB.PCI0.UHC1, Zero)
	Notify (\_SB.PCI0.UHC2, Zero)
	Notify (\_SB.PCI0.UHC3, Zero)
	Notify (\_SB.PCI0.UHC4, Zero)
	Notify (\_SB.PCI0.UHC5, Zero)
	Notify (\_SB.PCI0.UHC6, Zero)
	Notify (\_SB.PCI0.EHCI, Zero)
Notify (\_SB.PCI0.EHC2, Zero)
	Return (0x00)

} //  the end of _WAK method

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)
}

 

example for ASUS P5W

Method (_WAK, 1, NotSerialized)
{
	ShiftLeft (Arg0, 0x04, DBG8)
	WAK (Arg0)
	If (IOWK) {}
	Else
	{
		Notify (\_SB.PWRB, 0x02)
	}

	If (ASSB)
	{
		Store (WSSB, ASSB)
		Store (WOTB, AOTB)
		Store (WAXB, AAXB)
	}

	If (DerefOf (Index (WAKP, Zero)))
	{
		Store (Zero, Index (WAKP, One))
	}
	Else
	{
		Store (Arg0, Index (WAKP, One))
	}

	Return (WAKP)

} // the end of _WAK method

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 (0x01)
					{
						0x03
					}, Arg4)
				Return (One)
			}

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

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

Link to comment
Share on other sites

BIG thanks to marliwahoo for posting that DSDT file. Works PERFECTLY with a D945GCLF and Doc's V4 drivers. No mouse tearing and only a TINY bit of display ripping in Firefox - most noticeably when backspacing over characters. But that's a VERY MINOR matter and one that can easily be dealt with. Thanks again!!!! :thanks_speechbubble:

Link to comment
Share on other sites

So what did you do exactly?

I don't understand how you figured it out.

 

 

 

I just ran the patcher and moved the dsdt.aml file to the root of my boot partition (in my case I'm booting from the EFI partition). I did not try to paste the text from your instructions because the location of where you said to paste it didn't exist. With my unedited dsdt.aml file from your patcher and all 10.5.6 vanilla kexts -everything works. Maybe you want to look at my file dsdt.dsl file because all the text (from your instructions) that you said to paste - was already there -just in different places.

 

See here:

 

Return (Package (0x02)

{

Zero,

Zero

})

}

 

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)

}

 

Method (_PTS, 1, NotSerialized)

 

 

 

 

 

 

 

Scope (_SB)

{

Device (PCI0)

{

Name (_HID, EisaId ("PNP0A03"))

Name (_ADR, Zero)

Device (PEGP)

{

Name (_ADR, 0x00020000)

Device (GFX0)

{

Name (_ADR, Zero)

Method (_DSM, 4, NotSerialized)

{

Store (Package (0x1A)

{

"device_type",

Buffer (0x08)

{

"display"

},

 

"model",

Buffer (0x07)

{

"GMA950"

},

 

"built-in",

Buffer (One)

{

0x01

}

}, Local0)

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

Return (Local0)

}

}

}

 

Method (_INI, 0, NotSerialized)

Link to comment
Share on other sites

I just ran the patcher and moved the dsdt.aml file to the root of my boot partition (in my case I'm booting from the EFI partition). I did not try to paste the text from your instructions because the location of where you said to paste it didn't exist. With my unedited dsdt.aml file from your patcher and all 10.5.6 vanilla kexts -everything works. Maybe you want to look at my file dsdt.dsl file because all the text (from your instructions) that you said to paste - was already there -just in different places.

 

See here:

 

Return (Package (0x02)

{

Zero,

Zero

})

}

 

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)

}

 

Method (_PTS, 1, NotSerialized)

Scope (_SB)

{

Device (PCI0)

{

Name (_HID, EisaId ("PNP0A03"))

Name (_ADR, Zero)

Device (PEGP)

{

Name (_ADR, 0x00020000)

Device (GFX0)

{

Name (_ADR, Zero)

Method (_DSM, 4, NotSerialized)

{

Store (Package (0x1A)

{

"device_type",

Buffer (0x08)

{

"display"

},

 

"model",

Buffer (0x07)

{

"GMA950"

},

 

"built-in",

Buffer (One)

{

0x01

}

}, Local0)

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

Return (Local0)

}

}

}

 

Method (_INI, 0, NotSerialized)

 

WHAT?!

You didn't put the code in the DSTD.dsl but it somehow the patcher added the code ;)

Let me guess. You were already using my patched DSDT.aml (ie. had GMA950 working with my prepatched DSDT.aml) so the GMA950 code was already loaded in the RAM, and when you ran the patcher to create your own DSDT.aml it copied the code from the RAM and added it to your custom made DSDT. That is brilliant. Kill me now.

 

I also need to update the search term to find drop off location of the first section of the code. I just don't wanna make the guide to complicated, but the differences in DSDT.aml files is huge.

Link to comment
Share on other sites

WHAT?!

You didn't put the code in the DSTD.dsl but it somehow the patcher added the code B)

Let me guess. You were already using my patched DSDT.aml (ie. had GMA950 working with my prepatched DSDT.aml) so the GMA950 code was already loaded in the RAM, and when you ran the patcher to create your own DSDT.aml it copied the code from the RAM and added it to your custom made DSDT. That is brilliant. Kill me now.

 

I also need to update the search term to find drop off location of the first section of the code. I just don't wanna make the guide to complicated, but the differences in DSDT.aml files is huge.

 

 

Yes, you are correct. That's what must have happened. To check your theory I started over, from the very beginning, and it did not work.

I added the exact portions of text from my last post and everything worked.

 

Wala ! I am a genius ! (though I had no clue as to why it was working until you told me) :)

 

MB Intel 945gntlkr

Link to comment
Share on other sites

I noticed something similar when I was trouble shooting my board. I thought I had made just a default/virgin DSDT.aml but when I placed it in my root and restarted I still had resolutions working. I said to myself this can't be cuz how would that happen. It was because I had already been messing with all the patched DSDT trials -- and files get created in the Debug folder and unless you clear that out there is a possibility that an already patched DSDT text will be used to build the DSDT.aml

Link to comment
Share on other sites

When running the patcher this is what I get.

 

 

 

./dsdt_fixed.txt 538: Method (\_WAK, 1, NotSerialized)

Warning 1080 - ^ Reserved method must return a value (_WAK)

 

./dsdt_fixed.txt 5490: WBYT (TSAD, 0x4F, Local0)

Error 4050 - ^ Method local variable is not initialized (Local0)

 

./dsdt_fixed.txt 5708: Release (PSMX)

Warning 1099 - Statement is unreachable ^

 

 

And of course with an error it does not compile. When I force compile I once again lose network. If this is not the cause of my network problems I am seriously thinking about starting over with an almost vanilla extensions folder and stealing most everything off my Macbook.

Link to comment
Share on other sites

Thanks for the update Doc - and good luck on the anatomy exam! :)

 

Now for the rest of the class: Anybody else not have the "Scope (_SI)" (without quotes) in their self-created dsdt.aml file? I found a couple of other "Scope" entries but none with _SI. TIA

 

missing it too on mine

Link to comment
Share on other sites

Hi

 

I try to patch the DSDT.aml by the how to patch from DR. Hurt, first thanks very much for do this guide and for your work, I appreciate.

 

In the first step instructions you write

"6-You should now have a DSDT.dsl folder in the root partition"

 

but after execute instruction #compiler -d /DSDT.aml, it not create folder in root

instruction create a file into patch folder named dstd.aml.

...of course when I edit dsdt.aml , not found "Scope (_SI)" why?

--------------------

In the second step you write :

3- Type -sa infront of it and then drag the DSDT.aml infront of that

4- You should have "compiler -sa /DSDT.dsl"

 

If I drag DST.aml , dfficult obtain "compiler -sa /DSDT.dsl", I obtain "compiler -sa /DSDT.aml" ¿no?

 

i do not understand, sorry.

 

Is right the "how to guide"? or marear la perdiz

 

thanks

Link to comment
Share on other sites

Thanks Dr Hurt for the detailed instructions to make the GMA950 works in my HP Compaq dx7200 running OSX 10.5.6 (iDeneb).

 

Before this, I use the stock kernels and issue the boot argument "Graphics Mode"="1280x1024x32@75" to the Chameleon bootloader on drive selection to set the desktop resolution. Later I patch that into the com.apple.Boot.plist file in /Library/Preferences/SystemConfiguration to automate that process and there is no video artifact with display or the mouse. Just that you lack the flexibility in switching the desktop resolution on the fly.

 

Anyway, there is a typo mistake in the text file "How to patch DSDT for GMA950" - no. 3 in the last paragraph concerning recompiling the DSDT.aml should read as "drag the DSDT.dsl" instead of "drag the DSDT.aml".

 

I followed all the description, including the -newHPET option. The first time it didn't work because of the lack of the tools that were missed out. I downloaded the second time with all the tools attached and got the dsdt.aml compiled with no errors except for 12 warnings. The first time I booted up with the new DSDT.aml I was dumped to a screen with only the desktop hard drives without the top menu-bar and the bottom dock. I was puzzled and launched the System Profiler in /Applications/Utilities. It showed that the Display was in 800x600 resolution while my LCD monitor Philips 170S in 1024x768. I tried to access the Displays PreferencePane via launching the /Applications/System Preferences but its window didn't show up !!

 

Having explored for a while, I noticed that there were in fact now 2 display desktop screens that were available with the dsdt.aml patch and I was in the secondary mirror page without the menu-bar. So I moved the cursor to the invisible screen space and luckily was able to drag the opened System Preferences window from the primary screen to my current desktop. From there I was able to move to the primary display via the Arrangement tab of Display PreferencePane by moving the menu-bar around to suit my need.

 

As to the site of insertion of the new codes, my dsdt.dsl doesn't have the "Scope (_SI)" either. I just find "Scope" and you should be ok by inserting the segment of code just above that section as illustrated by the "how to" instruction.

 

I hope this can help our forum members in making use of the patch.

Link to comment
Share on other sites

Hi there,

 

I'm very new to this. My system is an Asus Pundit2-P5945GC Barebone PC with 945GC Express Chipset and onboard GMA950 with ID 0x2772. The V3 and V4 DSDT are not working for me (hanging at the booting screen).

 

I tried the DSDT from an userpost here and it works and i can change resolutions but i get a very slow system performance (xbench) and missing USB and FireWire.

 

Then I tried to compile my DSDT on my own but had also the missing No Scope (_Sl) part. I will try without -newHPET. But after this I will give up.

Link to comment
Share on other sites

so from what I gather this solution will only work on systems capable of running EFI...so the core systems only right? has anybody given this a shot using boot123 suggested by munky to resolve the issue of precore systems? I'm planning on getting my system setup this way and my hope is to get a fully working, updateable system installed via retail disc. once I do that I'm planning on seeing if I can't get this working because from my understanding there is a way to install chameleon once the system is working so you no longer need the boot123 disc in to boot. That may circumvent the need to use this solution on pre-core systems. atleast thats what i'm hypothesizing and hoping will work... suggestions or comments?

Link to comment
Share on other sites

so from what I gather this solution will only work on systems capable of running EFI...so the core systems only right? has anybody given this a shot using boot123 suggested by munky to resolve the issue of precore systems? I'm planning on getting my system setup this way and my hope is to get a fully working, updateable system installed via retail disc. once I do that I'm planning on seeing if I can't get this working because from my understanding there is a way to install chameleon once the system is working so you no longer need the boot123 disc in to boot. That may circumvent the need to use this solution on pre-core systems. atleast thats what i'm hypothesizing and hoping will work... suggestions or comments?

 

It will work fine on pre core as long as the boot loader supports dsdt injection.

Link to comment
Share on other sites

ok, another success history, i have a ASUS P5LD2-VM SE mobo, which i'm providing my DSDT file here in case someone needs it.

 

i'm still fighting with ALC882 audio from EFI partition and Zydas ZD1211 extensions.

 

thanks guys for your support.

 

wait, why do i need zydas kexts in my EFI partition? jajajaja i can just install them without problems.

 

also, i got audio working with LegacyHDA method, but mic is not working yet.

DSDT.aml.zip

Link to comment
Share on other sites

hey, got problem compiling the DSL file. the thing is it gives an error saying:

If (LEqual (Arg0, Buffer (0x10) not found.

since i DO NOT HAVE

Scope (_SI) key(strings) i figured out that part one goes to the Scope(/) at the end. pasting this in the place i mentioned froze my leo at finding boot drive. without the PART 1 from your guide the file couldn't even compile.

i'm attaching 2 dsl files. one is after changes and the other is original dsdt.aml created with patcher

trying the 2 aml's from post #1 freezes booting after detecting my CPU

 

MY mobo is asus p5l-mx, cpu: core2duo e6400, disk is sata maxtor and gma950 ofcourse. everything running pci-efi v9 chameleon and on vanilla kernel. any ideas/ help greatly appriciated!

thanks in advance!

DSDT_original.zip

DSDT.dsl.zip

Link to comment
Share on other sites

try the attached dsdt

 

Eject_DSDT.aml.zip

 

 

This is also corresponding to Eject. I have elitegroup (ECS) 945GCT - M/1333 (not m2)

 

I dont really know the difference between these two boards, but i've tried v3 and v4. One gets me black screen other hangs. When i try to manually compile it, i get through the first part but i cant find "Scope (_SI)" .

 

 

 

 

from here, i cant really continue and i've tried following otherguides to this problem but none worked. If someone could help me with this, it would be great. I'm trying to do on Kalway 10.5.2

Link to comment
Share on other sites

 Share

×
×
  • Create New...