Jump to content

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


Dr. Hurt
 Share

486 posts in this topic

Recommended Posts

try this guys, thats how its put in on my dsdt

 

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

Nice work Dr Hurt (hope the exams went well) and roisoft, THANX

 

Used the patch on Advent 4211 netbook 10.5.6 and works great should work ok for MSI Wind. Not tried mirrored mode as yet as I dont use an external monitor with this box.

 

Advent does not have Scope (_SI) so it took a little while to find where to put the two sections. Those struggling to find where to put the patches should take a look at the attached dsdt fixed it might give them a clue where to put theirs.

 

Attached DSDT.aml & dsdt fixed txt:

 

Advent4211_MSI_Wind_DSDT.zip

Link to comment
Share on other sites

Used the patch on Advent 4211 netbook 10.5.6 and works great should work ok for MSI Wind.

 

Wait a second - are you saying that you are using stock GMA950 and framebuffer kexts now? That would be impressive, since the Wind uses the 27ae mobile version of the chipset (which means that we had to use 27aepatch.command and Natit). Or what else is the advantage of doing this on a Wind?

Link to comment
Share on other sites

@vani - yes stock vanilla GMA950 & Framebuffer kext (10.5.6), only addition is GMA950 EFI string in com.apple.boot.pist.

 

I previously had a DSDT setup but had to use some hacked kexts to stop artifacts even with EFI string. Modifying the DSDT as per Dr Hurt / riosoft I put back the stock kexts and hey presto.

 

Current set up is Vanilla virgin, only additional kexts in S/L/E are LaptopDisplay, Clamshell, AppleAzaliaAudio,RealtekR1000, AppleSMBIOSEFI. On the booter partition I have NullCPUPowerManagement & AppleDecrypt. + the com.apple.boot.plist EFII string.

 

The advantage is you can forget about video problems in future software updates!

 

Bear in mind im on the munky EFI boot partition setup (v6.1) and have not tried this on any other method. eg. boot 132, PCEFIv9 etc.

Link to comment
Share on other sites

I can't seem to find where i need to put the two "add-ins". I can't find "Scope (_SI)". I can find "Device (PCI0)", but i can't figure out where to put the "add-in" after it. It is different from the example shown. Can anyone help? I have attached my DSDT.dsl (in form of an RTF) on here. Someone please check it out for me, i've been trying to get this to work for a week straight and i'm getting tired of it!

Any help is accepted!!!

 

DSDT.rtf

Link to comment
Share on other sites

I can't find "Scope (_SI)".

 

Hi chance9888,

 

I didn't either, but I found the place to put the patch on my file. I'm running on a Intel D945DCPE motherboard, with a Core 2 duo CPU.

After I patched and compiled, I have no more artifacts and full control of all resolutions with stock 10.5.6 kexts. And I've been running this for 2 days.

Here's my DSDT.aml file. Give it a try and let us know if it works on your board!

http://www.up4file.org/download.php?file=2...e36ad02d044bbcd

 

Decompress it as: "tar xzvf DSDT.aml.tgz"

 

Cheers!,

-Karl

Link to comment
Share on other sites

@DB1

 

I put your DSDT.aml in my / folder and installed PC-EFI v9.

 

Also I have this string in my Boot.plist

 

<key>device-properties</key>
<string>6d0000000100000001000000610000000200000002010c00d041030a00000000010106000002
fff0400100000006d006f00640065006c0000000b000000474d41203935302000000041004100500
4c002c00480061007300500061006e0065006c0000000800000001000000</string>

 

Put in the stock 10.5.6 Kexts and I donot even have QE/CI working. I am here on a MSI Wind. Any ideas?

 

Did you patch the 10.5.6 kexts with patch27ae.command?

Link to comment
Share on other sites

@DB1

 

I put your DSDT.aml in my / folder and installed PC-EFI v9.

 

Also I have this string in my Boot.plist

 

<key>device-properties</key>
<string>6d0000000100000001000000610000000200000002010c00d041030a00000000010106000002
fff0400100000006d006f00640065006c0000000b000000474d41203935302000000041004100500
4c002c00480061007300500061006e0065006c0000000800000001000000</string>

 

Put in the stock 10.5.6 Kexts and I donot even have QE/CI working. I am here on a MSI Wind. Any ideas?

 

Did you patch the 10.5.6 kexts with patch27ae.command?

 

 

Yes, i could finally enabling my GMA950, thanks to DSDT.aml from vani (thanks vani) and someone roisoft.

Well when GMA was enabled core image and qurtz extreme not was enabled, but I then tested place kexts 1.5.24.9 and OpenGL.framework 1.5.6 source 50617 from and old Leopard and success it work, Quartz extreme and Core Image.

Link to comment
Share on other sites

the msi wind owners and similars can to try out this code

 

Device (PEGP)

{

Name (_ADR, 0x00020000) // use the ioreg for the proper ADR

Device (GFX0)

{

Name (_ADR, Zero)

Method (_DSM, 4, NotSerialized)

{

Store (Package (0x08)

{

 

"AAPL,HasPanel",

"Buffer (0x04)"

{

0x01, 0x00, 0x00, 0x00

},

 

"device_type",

Buffer (0x08)

{

"display"

},

 

"model",

Buffer (0x08)

{

"GMA 950"

},

 

"built-in",

Buffer (one)

{

0x01

}

 

}, Local0)

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

Return (Local0)

}

}

Link to comment
Share on other sites

try with this code

 

Device (PEGP)

{

Name (_ADR, 0x00020000) // use the ioreg for the proper ADR

Device (GFX0)

{

Name (_ADR, Zero)

Method (_DSM, 4, NotSerialized)

{

Store (Package (0x16)

{

 

 

"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,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 (0x4)

{

0x02, 0x00, 0x00, 0x00

},

 

"AAPL,SelfRefreshSupported",

Buffer (0x04)

{

0x01 0x00, 0x00, 0x00

},

 

"device_type",

Buffer (0x08)

{

"display"

},

 

"model",

Buffer (0x08)

{

"GMA 950"

},

 

"built-in",

Buffer (one)

{

0x01

}

 

}, Local0)

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

Return (Local0)

}

}

Link to comment
Share on other sites

 Share

×
×
  • Create New...