Jump to content

Intel GMA945 (0x27AE8086+0x27A28086) resolution + CI/QE/OpenGL solution


Andy Vandijck
 Share

189 posts in this topic

Recommended Posts

try this for DELLS with messed up display port out method in dsdt (black screen LCD but vga out is ok= switch assignment in DSDT see my next post further down )

 

but inject under the vid the id 27A6 which i believe is your 27AE secondary (AGP) (VID) with DTGP method .. ps this works with boot.com.plist data added in post of beta pack that the </dict> is missing the < but its in my zip for 10.5.8

and im loaded as macpro 4,1 in smbios.plist

 

http://www.insanelymac.com/forum/index.php...11&st=1020#

p.s. don't forget to add arch_X X being your 64 or 86 to the boot.com.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>

<key>Timeout</key>
<string>5</string>

<key>device-properties</key>
<string>6d0000000100000001000000610000000200000002010c00d041030a00000000010106000002
7fff0400100000006d006f00640065006c0000000b000000474d4120393530200000004100410050
0
04c002c00480061007300500061006e0065006c0000000800000001000000</string>

<key>Graphics Mode</key>
<string>1440x900x32</string>

<key>AAPL,HasPanel</key>
<string>0x00000001</string>
<key>model</key>
<string>GMA 950</string>
</dict>

</dict>
</plist>

 

this got me full Q/E that i been searching for a while ON VANILLA KEXTS by dsdt and plist fix but on 1280x800

 

i think if i add dual-link 4 to top Device (AGP) vid DSDT section it might enable 1440x900 cause i read somewhere it needs dual link for res past 1280x800

Link to comment
Share on other sites

Here it is, BTW, it's 1.4.18, not 1.4.8.

 

Hi Noodle09,

Thanks for these results.

I have got a Dell inspiron 640m with GMA950 (27a2 and 27a6), my current running combination is :

AppleIntelIntegratedFramebuffer: 1.4.2

AppleIntelGMA950xxx:1.6.10 (the one from this thread that adresses only 27AE). Mirroring is working but no wake from sleep. I am not using Aperture 3.x so I can not tell about it.

Tell me please, are you using stock AppleIntelGMA950xxx or patched one from this thread (in this case which of the files do you use ? the one that adresses both cards of the one that adresses only 27AE)? Please could you send or attach AppleIntelIntegratedFramebuffer: 1.4.8 for me to upgrade my AppleIntelIntegratedFramebuffer?

 

Thanks

AppleIntelIntegratedFramebuffer.kext.zip

Link to comment
Share on other sites

Here it is, BTW, it's 1.4.18, not 1.4.8.

Thanks very much! Humm mine is 1.4.20.28 so yours is older :-)

I finnaly got 1.6.10 working using this combination :

Stock ApleIntelGMA950.kext

Stock AppleIntelIntegratedFramebuffer.kext patched this way : 86 80 72 27 changed to 86 80 A2 27 in binary and 0x27728086 to 0x27A28086 in plist (change original A2 entries in both files to something else).

 

Again : mirror and wake from sleep not working .

I m looking for the Screen Solution Installer that solves the LCD sleep problem and report results.

 

Cius

 

Here it is, BTW, it's 1.4.18, not 1.4.8.

Thanks very much! Humm mine is 1.4.20.28 so yours is older :-)

I finnaly got 1.6.10 working using this combination :

Stock ApleIntelGMA950.kext

Stock AppleIntelIntegratedFramebuffer.kext patched this way : 86 80 72 27 changed to 86 80 A2 27 in binary and 0x27728086 to 0x27A28086 in plist (change original A2 entries in both files to something else).

 

Again : mirror and wake from sleep not working .

I m looking for the Screen Solution Installer that solves the LCD sleep problem and report results.

 

Cius

Link to comment
Share on other sites

Some laptop GMA950 (27a2) work with all original 10.6.* kexts, just injecting the "AAPL,HasPanel" property.

                Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x04)
                       {
                           "AAPL,HasPanel",
                           Buffer (0x04)
                           {
                               0x01, 0x00, 0x00, 0x00
                           },

                           "model",
                           Buffer (0x07)
                           {
                               "GMA950"
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }

Without that it gets stuck in a gray screen.

Link to comment
Share on other sites

Some laptop GMA950 (27a2) work with all original 10.6.* kexts, just injecting the "AAPL,HasPanel" property.

                Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x04)
                       {
                           "AAPL,HasPanel",
                           Buffer (0x04)
                           {
                               0x01, 0x00, 0x00, 0x00
                           },

                           "model",
                           Buffer (0x07)
                           {
                               "GMA950"
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }

Without that it gets stuck in a gray screen.

Thanks for the trick oldnapalm

I guess this is what is done by the andy, prasys and co boot GraphicsEnabler=Yes for Intel GMA and also by the Natit kext from Paulicat.

Have some questions if you don't mind :-)

This is for which device in DSDT, VID, LCD, CRT or all? Do you have mirror/wake from sleep working?

Cius

Link to comment
Share on other sites

Hi,

Thanks for the hint on the LCD sleep !

I looked for the program and installed it! I put also vanilla AIFB as well as GMA950 kexts. The program does not work in itsself. the solution was the hot corner that on autologin helps making the trick works, because if you're not logged in, then no hot corners and so this trick does not work.

 

But unfortunately, I have no mirror working :-(

Cius

 

Search Screen Solution Installer. With stocked kexts from 10.6.3, your LCD isn't dead, it's sleeping. Somebody wrote a program that wake up the LCD, works well, but still painful because if you are not login, your screen will fresh itself every few seconds or minutes.

 

 

 

 

I'm currently using 1.6.6 from 10.6.2, works fine in most cases. I'm not using 1.4.8 because it still cannot give me correct display at fatwallet forum. Aperture 3.x isn't a big issue to me.

 

I'm on desktop right now, will upload 1.4.8 AppleIntelIntegratedFramebuffer.kext later.

Link to comment
Share on other sites

I guess this is what is done by the andy, prasys and co boot GraphicsEnabler=Yes for Intel GMA and also by the Natit kext from Paulicat.

I believe you are right. Some also use device-properties in com.apple.Boot.plist

6d0000000100000001000000610000000200000002010c00d041030a000000000101060000027fff
0400100000006d006f00640065006c0000000b000000474d4120393530200000004100410050004c0
02c00480061007300500061006e0065006c0000000800000001000000

plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
	<key>AAPL,HasPanel</key>
	<string>0x00000001</string>
	<key>model</key>
	<string>GMA 950</string>
</dict>
</dict>
</plist>

 

This is for which device in DSDT, VID, LCD, CRT or all? Do you have mirror/wake from sleep working?

It's for the device which has VID, LCD, CRT, ... inside it. I add the _DSM in device GFX0. It may be PEGP, AGP, IGP, ...

 

I have not tested mirror. Sleep/wake works fine. It's an Acer Aspire 3690

http://www.insanelymac.com/forum/index.php?showtopic=216641 (sorry, in portuguese)

Link to comment
Share on other sites

:( I'm going to have to start my first post on this forum with an apology. I've tried hard to find an easy entry point here, but to no avail. Not sure where I'm supposed to ask this question- or where to look- most of these posts are for really advanced users who have already had success with getting OSX running on thier machines and have extremely intricate issues.

 

I'm in the research phase prior to purchasing new PC hardware, and want to be able to run OSX as well, but it seems most of the posts here refer to older motherboards which wouldn't make a good investment for me to purchase at this point. USB3 motherboards are here, and I have no idea if they'll work with OSX.

 

Is there any kind of rule which determines whether or not a board will work? Or is it all simply trial and error? Are some brands easier to install with or more stable than others? Please point me to the beginners area so I can ask these questions of the right people... Sorry again & I hope to be joining the ranks of you power-users in a few weeks!

 

=)

Link to comment
Share on other sites

Hi

Thanks for the link, I understood latin familly words and DSDT tricks :-)

 

I added it to my DSDT and it worked fine, I removed the Prasys and co chameleon 5 pre 7 boot and used the version 4 which has not GraphicsEnabler parameter to my best knowledge. Still have the problem of waking my LCD, only hot corners and autologin save me for the moment. The Screen Solution for GMA 950 (from A fix for GMA950 laptops)seems to not to work, I suspect the binary not ready for snow.

I have this message in my logs, I wonder what is the problem!

5/4/10 7:49:21 PM	SystemStarter[22]	/Library/StartupItems/GMA_Sleep
5/4/10 7:50:42 PM	SystemStarter[22]	GMA950 Startup Utility (83) did not complete successfully

Cius

 

I believe you are right. Some also use device-properties in com.apple.Boot.plist

6d0000000100000001000000610000000200000002010c00d041030a000000000101060000027fff
0400100000006d006f00640065006c0000000b000000474d4120393530200000004100410050004c
0
02c00480061007300500061006e0065006c0000000800000001000000

plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
	<key>AAPL,HasPanel</key>
	<string>0x00000001</string>
	<key>model</key>
	<string>GMA 950</string>
</dict>
</dict>
</plist>

 

 

It's for the device which has VID, LCD, CRT, ... inside it. I add the _DSM in device GFX0. It may be PEGP, AGP, IGP, ...

 

I have not tested mirror. Sleep/wake works fine. It's an Acer Aspire 3690

http://www.insanelymac.com/forum/index.php?showtopic=216641 (sorry, in portuguese)

Link to comment
Share on other sites

Still have the problem of waking my LCD, only hot corners and autologin save me for the moment.

The problem is when it wakes from sleep? Have you tried removing other devices (VID, CRT) and leaving only LCD?

Link to comment
Share on other sites

Screen Solution should work, I tried by myself on 10.6.3. You need to follow the install instruction exactly. In order to make it work, you still need to disable autologin and set a hot corner for screen sleep.

 

Hi

Thanks for the link, I understood latin familly words and DSDT tricks :-)

 

I added it to my DSDT and it worked fine, I removed the Prasys and co chameleon 5 pre 7 boot and used the version 4 which has not GraphicsEnabler parameter to my best knowledge. Still have the problem of waking my LCD, only hot corners and autologin save me for the moment. The Screen Solution for GMA 950 (from A fix for GMA950 laptops)seems to not to work, I suspect the binary not ready for snow.

I have this message in my logs, I wonder what is the problem!

5/4/10 7:49:21 PM	SystemStarter[22]	/Library/StartupItems/GMA_Sleep
5/4/10 7:50:42 PM	SystemStarter[22]	GMA950 Startup Utility (83) did not complete successfully

Cius

Link to comment
Share on other sites

Hello!

Just to be sure, are we talking about the same thing? I mean your Screen Solution and the GMA 950 fix link I provide are the same?

Indeed I fellowed the instructions but I activated autologin because I found it like this in the discussion therein. The Installer didn't finish all successfully. The decompressed file serves only to uninstall the stuff and all needed files namely sleepdisplay to /usr/bin, GMA_Sleep to /Library/startupitems along with its startup.plist file are installed (I checked with Pacifist). Today, I disabled the autologin and got stuck ;-) So I am back to my old AIIFB 1.4.20 with which I have mirror working at least :-)

I in fact pursue a threefold purpose : mirror, Vanilla AIIFB and AIGMA950, and sleep/wake from sleep in this order !

Thanks for your help.

Screen Solution should work, I tried by myself on 10.6.3. You need to follow the install instruction exactly. In order to make it work, you still need to disable autologin and set a hot corner for screen sleep.

 

 

Yes, the problem is with waking, the laptop starts, a little sound is emitted by the DVD player and then nothing else, I have no error message in the console, no kp message nothing else :-(

 

No, I did not try to remove other devices other than LCD, because, I need mirror :-) My current best solution is AppleIntelFrameBuffer.kext version 1.4.20. It automatically adjusts resolution when I plug in an external monitor, mirror is working, no hack for my display is needed since the LCD gets alive as soon as the AppleSMCPlugin kext outs its last message; which is the normal behaviour.

I wonder what this kext has in particular that does not exist in current vanilla kernel.

Maybe the problem is with my DSDT also, I overloaded the OSID function to emulate a win xp system but maybe it is not so wise!

 

The problem is when it wakes from sleep? Have you tried removing other devices (VID, CRT) and leaving only LCD?
Link to comment
Share on other sites

No, this is not the one I mentioned, the one I mentioned has something has Redxxxx or something in the install package I will try to see if I can find it., I don't remember because I'm not using it.

 

Anyway, why don't you just use 1.6.6 of all? it works for me. Sleep/Wakeup partially work as well (If you boot up the machine on the dock, otherwise, it will not wake up). Aperture 3.x not working, but iPhoto works, almost everything else works.

 

I don't like that screen solution because it keep refresh the screen if you are not login.

 

Attached should be the one.

 

Hello!

Just to be sure, are we talking about the same thing? I mean your Screen Solution and the GMA 950 fix link I provide are the same?

Indeed I fellowed the instructions but I activated autologin because I found it like this in the discussion therein. The Installer didn't finish all successfully. The decompressed file serves only to uninstall the stuff and all needed files namely sleepdisplay to /usr/bin, GMA_Sleep to /Library/startupitems along with its startup.plist file are installed (I checked with Pacifist). Today, I disabled the autologin and got stuck ;-) So I am back to my old AIIFB 1.4.20 with which I have mirror working at least :-)

I in fact pursue a threefold purpose : mirror, Vanilla AIIFB and AIGMA950, and sleep/wake from sleep in this order !

Thanks for your help.

 

 

 

Yes, the problem is with waking, the laptop starts, a little sound is emitted by the DVD player and then nothing else, I have no error message in the console, no kp message nothing else :-(

 

No, I did not try to remove other devices other than LCD, because, I need mirror :-) My current best solution is AppleIntelFrameBuffer.kext version 1.4.20. It automatically adjusts resolution when I plug in an external monitor, mirror is working, no hack for my display is needed since the LCD gets alive as soon as the AppleSMCPlugin kext outs its last message; which is the normal behaviour.

I wonder what this kext has in particular that does not exist in current vanilla kernel.

Maybe the problem is with my DSDT also, I overloaded the OSID function to emulate a win xp system but maybe it is not so wise!

Screen_Sleeper_Solution_Installer.pkg.zip

Link to comment
Share on other sites

this works fine for D620 with the AAPL has panel in plist

			Device (AGP)
		{
			Name (_ADR, 0x00010000)
			Name (PIC1, Package (0x01)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					LNKA, 
					Zero
				}
			})
			Name (API1, Package (0x01)
			{
				Package (0x04)
				{
					0xFFFF, 
					Zero, 
					Zero, 
					0x10
				}
			})
			Method (_PRT, 0, NotSerialized)
			{
				Store (API1, Local0)
				If (LNot (GPIC))
				{
					Store (PIC1, Local0)
				}

				Return (Local0)
			}

			Device (VID)
			{
				Name (_ADR, Zero)
				Method (_DOS, 1, NotSerialized)
				{
					Store (Arg0, MIS4)
					SMI (0x9E, MIS4)
				}

				Method (_DOD, 0, NotSerialized)
				{
					Return (Package (0x02)
					{
						0x00010400, 
						0x00010100
					})
				}

				Device (CRT)
				{
					Method (_ADR, 0, NotSerialized)
					{
						Return (0x0100)
					}

					Method (_DCS, 0, NotSerialized)
					{
						Store (SMI (0x8E, 0x02), Local0)
						Return (Local0)
					}

					Method (_DGS, 0, NotSerialized)
					{
						Store (SMI (0x99, 0x02), Local0)
						Return (Local0)
					}

					Method (_DSS, 1, NotSerialized)
					{
						DSS (0x02, Arg0)
					}
				}

				Device (LCD)
				{
					Method (_ADR, 0, NotSerialized)
					{
						Return (0x0400)
					}

					Method (_DCS, 0, NotSerialized)
					{
						Store (SMI (0x8E, One), Local0)
						Return (Local0)
					}

					Method (_DGS, 0, NotSerialized)
					{
						Store (SMI (0x99, One), Local0)
						Return (Local0)
					}

					Method (_DSS, 1, NotSerialized)
					{
						DSS (One, Arg0)
					}
				}
			}
		}

		Device (GFX0)
		{
			Name (_ADR, 0x00020000)
			Method (_DOS, 1, NotSerialized)
			{
				Store (Arg0, MIS4)
				SMI (0x9E, MIS4)
			}

			Method (_DOD, 0, NotSerialized)
			{
				Return (Package (0x02)
				{
					0x00010400, 
					0x00010100
				})
			}

			Device (VGA)
			{
				Method (_ADR, 0, NotSerialized)
				{
					Return (0x0100)
				}

				Method (_DCS, 0, NotSerialized)
				{
					Store (SMI (0x8E, 0x02), Local0)
					Return (Local0)
				}

				Method (_DGS, 0, NotSerialized)
				{
					Store (SMI (0x99, 0x02), Local0)
					Return (Local0)
				}

				Method (_DSS, 1, NotSerialized)
				{
					DSS (0x02, Arg0)
				}
			}

			Device (LCD)
			{
				Method (_ADR, 0, NotSerialized)
				{
					Return (0x0400)
				}

				Method (_DCS, 0, NotSerialized)
				{
					Store (SMI (0x8E, One), Local0)
					Return (Local0)
				}

				Method (_DGS, 0, NotSerialized)
				{
					Store (SMI (0x99, One), Local0)
					Return (Local0)
				}

				Method (_DSS, 1, NotSerialized)
				{
					DSS (One, Arg0)
				}
			}
		}

 

The Key part to not getting black screen or blue or gray is

Method (_DOD, 0, NotSerialized)

{

Return (Package (0x02)

{

0x00010400, < LCD AKA PNLF FIRST

0x00010100 <VGA CRT SECOND

})

}

 

Im on stock original 10.5.8 with no framebuf changes at all. Vanilla 27A2 27A6

Link to comment
Share on other sites

The Key part to not getting black screen or blue or gray is

Method (_DOD, 0, NotSerialized)

{

Return (Package (0x02)

{

0x00010400, < LCD AKA PNLF FIRST

0x00010100 <VGA CRT SECOND

})

}

 

Im on stock original 10.5.8 with no framebuf changes at all. Vanilla 27A2 27A6

hi McGyver;

Thanks for sharing your solution. I just tryed to adapt it to my situation, I have a VID device with adress 0x00020000 that contains LCD (adr 0400), DVI (0x0300), CRT (0x0100) and TV (0x200). Another device named VID2 exist but it contains no other devices and its adress is 0x00020001 with an empty DOD method (I guess it points on CRT ???).

I have renamed VID to GFX0, LCD to PNLF and modified the DOD method within GFX0 to :

 

Method (_DOD, 0, NotSerialized)
			{
				Return (Package (0x04)
				{
					0x00010400, 
					0x00010100, 
					0x00010200, 
					0x00010300
				})
			}

 

It is not working so far but I wonder wether I should change it to

Method (_DOD, 0, NotSerialized)
			{
				Return (Package (0x04)
				{
					0x000[b]0[/b]0400, 
					0x000[b]0[/b]0100, 
					0x000[b]0[/b]0200, 
					0x000[b]0[/b]0300
				})
			}

in order that it returns correct adresses i.e in the GFX0 device!

I will test it and report on :-) (I just notice this!)

 

 

 

Here is my current DSDT

Device (GFX0)
		{
			Name (_ADR, 0x00020000)
	Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x04)
					{
						"AAPL,HasPanel",
						Buffer (0x04)
						{
							0x01, 0x00, 0x00, 0x00
						},
						"model",
						Buffer (0x07)
						{
							"GMA950"
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
			Method (_DOS, 1, NotSerialized)
			{
				Store (Arg0, MIS4)
				SMI (0x9E, MIS4)
			}

			Method (_DOD, 0, NotSerialized)
			{
				Return (Package (0x04)
				{
					0x00010400, 
					0x00010100, 
					0x00010200, 
					0x00010300
				})
			}

			Device (TV)
			{
				Method (_ADR, 0, NotSerialized)
				{
					Return (0x0200)
				}

				Method (_DCS, 0, NotSerialized)
				{
					Store (SMI (0x8E, 0x04), Local0)
					Return (Local0)
				}

				Method (_DGS, 0, NotSerialized)
				{
					Store (SMI (0x99, 0x04), Local0)
					Return (Local0)
				}

				Method (_DSS, 1, NotSerialized)
				{
					DSS (0x04, Arg0)
				}
			}

			Device (CRT)
			{
				Method (_ADR, 0, NotSerialized)
				{
					Return (0x0100)
				}

				Method (_DCS, 0, NotSerialized)
				{
					Store (SMI (0x8E, 0x02), Local0)
					Return (Local0)
				}

				Method (_DGS, 0, NotSerialized)
				{
					Store (SMI (0x99, 0x02), Local0)
					Return (Local0)
				}

				Method (_DSS, 1, NotSerialized)
				{
					DSS (0x02, Arg0)
				}
			}

			Device (PNLF)
			{
				Method (_ADR, 0, NotSerialized)
				{
					Return (0x0400)
				}

				Method (_DCS, 0, NotSerialized)
				{
					Store (SMI (0x8E, One), Local0)
					Return (Local0)
				}

				Method (_DGS, 0, NotSerialized)
				{
					Store (SMI (0x99, One), Local0)
					Return (Local0)
				}

				Method (_DSS, 1, NotSerialized)
				{
					DSS (One, Arg0)
				}

				Name (BTVL, 0x64)
				Name (DBCL, Package (0x0A) {})
				Method (_BCL, 0, NotSerialized)
				{
					SX10 ()
					SX30 (0x19)
					SX30 (Zero)
					SX11 ()
					Store (SX40 (), Index (DBCL, Zero))
					Store (SX40 (), Index (DBCL, One))
					Store (SX40 (), Index (DBCL, 0x02))
					Store (SX40 (), Index (DBCL, 0x03))
					Store (SX40 (), Index (DBCL, 0x04))
					Store (SX40 (), Index (DBCL, 0x05))
					Store (SX40 (), Index (DBCL, 0x06))
					Store (SX40 (), Index (DBCL, 0x07))
					Store (SX40 (), Index (DBCL, 0x08))
					Store (SX40 (), Index (DBCL, 0x09))
					SX12 ()
					Return (DBCL)
				}

				Method (_BCM, 1, NotSerialized)
				{
					SX10 ()
					SX30 (0x19)
					SX30 (One)
					SX30 (Arg0)
					Store (Arg0, BTVL)
					SX11 ()
					SX12 ()
				}

				Method (_BQC, 0, NotSerialized)
				{
					SX10 ()
					SX30 (0x19)
					SX30 (0x02)
					SX11 ()
					Store (SX40 (), Local0)
					Store (Local0, BTVL)
					SX12 ()
					Return (Local0)
				}
			}

			Device (DVI)
			{
				Method (_ADR, 0, NotSerialized)
				{
					Return (0x0300)
				}

				Method (_DCS, 0, NotSerialized)
				{
					Store (SMI (0x8E, 0x08), Local0)
					Return (Local0)
				}

				Method (_DGS, 0, NotSerialized)
				{
					Store (SMI (0x99, 0x08), Local0)
					Return (Local0)
				}

				Method (_DSS, 1, NotSerialized)
				{
					DSS (0x08, Arg0)
				}
			}
		}

		Device (VID2)
		{
			Name (_ADR, 0x00020001)
			Method (_DOS, 1, NotSerialized)
			{
			}

			Method (_DOD, 0, NotSerialized)
			{
				Return (Package (0x00) {})
			}
		}

Cius

Link to comment
Share on other sites

just get rid of tv and dvi sections

the order would be lcd aka pnlf then vga aka crt (tv aka s-video wont work)

PNLF is the control for backlight as posted by andy below.. its clamshell fix. ( edited to correct my mistake of PNLF renamed back to LCD)

 

btw theres a call in WAK usualy for VID ..which i renamed to GFX0 = make sure u adjust that to GFX0

 

Device (GFX0)
		 {
			 Name (_ADR,  0x00020000)
			 Method (_DSM, 4, NotSerialized)
			 {
				 Store  (Package (0x04)
					 {
						 "AAPL,HasPanel",
						 Buffer  (0x04)
						 {
							 0x01,  0x00, 0x00, 0x00
						 },
						 "model",
						 Buffer  (0x08)
						 {
							 "GMA 950"
						 }
					 },  Local0)
				 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf  (Local0))
				 Return (Local0)
			 }
			 Method  (_DOS, 1, NotSerialized)
			 {
				 Store  (Arg0, MIS4)
				 SMI (0x9E, MIS4)
			 }

			 Method  (_DOD, 0, NotSerialized)
			 {
				 Return  (Package (0x02)
				 {
					 0x00010400,  
					 0x00010100
				 })
			 }

			 Device  (VGA)
			 {
				 Method (_ADR, 0,  NotSerialized)
				 {
					 Return  (0x0100)
				 }

				 Method  (_DCS, 0, NotSerialized)
				 {
					 Store  (SMI (0x8E, 0x02), Local0)
					 Return (Local0)
				 }

				 Method  (_DGS, 0, NotSerialized)
				 {
					 Store  (SMI (0x99, 0x02), Local0)
					 Return (Local0)
				 }

				 Method  (_DSS, 1, NotSerialized)
				 {
					 DSS  (0x02, Arg0)
				 }
			 }

			 Device  (LCD)
			 {
				 Method (_ADR, 0,  NotSerialized)
				 {
					 Return  (0x0400)
				 }

				 Method  (_DCS, 0, NotSerialized)
				 {
					 Store  (SMI (0x8E, One), Local0)
					 Return (Local0)
				 }

				 Method  (_DGS, 0, NotSerialized)
				 {
					 Store  (SMI (0x99, One), Local0)
					 Return (Local0)
				 }

				 Method  (_DSS, 1, NotSerialized)
				 {
					 DSS  (One, Arg0)
				 }
			 }
		 }

 

by the way your model in DSM method says GMA950 i think u need a space to GMA 950 ( i think its fixed here)

i changed buffer from 0x07 to 0x08 as i added a space to the "GMA950" now "GMA 950" as i saw this in a ioreg of a gma 950 apple laptop.

by the way is your screen able to go higher than 1280x800 ? i think it needs AAPL dual-link 4 or something.. look at ioregs of real macs.

Link to comment
Share on other sites

just get rid of tv and dvi sections

the order would be lcd aka pnlf then vga aka crt (tv aka s-video wont work)

PNLF i believe is cosmetic but not sure.. with clamshell fix.

 

btw theres a call in WAK usualy for VID .. make sure u adjust that to GFX0

 

Device (GFX0)
		{
			Name (_ADR,  0x00020000)
			Method (_DSM, 4, NotSerialized)
			{
				Store  (Package (0x04)
					{
						"AAPL,HasPanel",
						Buffer  (0x04)
						{
							0x01,  0x00, 0x00, 0x00
						},
						"model",
						Buffer  (0x08)
						{
							"GMA 950"
						}
					},  Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf  (Local0))
				Return (Local0)
			}
			Method  (_DOS, 1, NotSerialized)
			{
				Store  (Arg0, MIS4)
				SMI (0x9E, MIS4)
			}

			Method  (_DOD, 0, NotSerialized)
			{
				Return  (Package (0x02)
				{
					0x00010400,  
					0x00010100
				})
			}

			Device  (VGA)
			{
				Method (_ADR, 0,  NotSerialized)
				{
					Return  (0x0100)
				}

				Method  (_DCS, 0, NotSerialized)
				{
					Store  (SMI (0x8E, 0x02), Local0)
					Return (Local0)
				}

				Method  (_DGS, 0, NotSerialized)
				{
					Store  (SMI (0x99, 0x02), Local0)
					Return (Local0)
				}

				Method  (_DSS, 1, NotSerialized)
				{
					DSS  (0x02, Arg0)
				}
			}

			Device  (PNLF)
			{
				Method (_ADR, 0,  NotSerialized)
				{
					Return  (0x0400)
				}

				Method  (_DCS, 0, NotSerialized)
				{
					Store  (SMI (0x8E, One), Local0)
					Return (Local0)
				}

				Method  (_DGS, 0, NotSerialized)
				{
					Store  (SMI (0x99, One), Local0)
					Return (Local0)
				}

				Method  (_DSS, 1, NotSerialized)
				{
					DSS  (One, Arg0)
				}
			}
		}

 

by the way your model in DSM method says GMA950 i think u need a space to GMA 950 ( i think its fixed here)

i changed buffer to 08 as i added a space to the GMA950 now GMA 950 as i saw this in a ioreg of a gma 950 apple laptop.

by the way is your screen able to go higher than 1280x800 ?

The PNLF device is different than the one used by Apple.

You can merge both (see first package) to get backlight control support...

Link to comment
Share on other sites

Hi

The Screen Solution, you provide me worked just fine for the LCD sleeping issue.

I m not using 1.6.6 and I didn't try since I wanted to have vanilla i.e. 1.6.10 kexts :-) What I do have now with the DSDT solution of the same problem given just in the post from LatinMcGyver :-)

 

Thanks again for your help.

Cius

No, this is not the one I mentioned, the one I mentioned has something has Redxxxx or something in the install package I will try to see if I can find it., I don't remember because I'm not using it.

 

Anyway, why don't you just use 1.6.6 of all? it works for me. Sleep/Wakeup partially work as well (If you boot up the machine on the dock, otherwise, it will not wake up). Aperture 3.x not working, but iPhoto works, almost everything else works.

 

I don't like that screen solution because it keep refresh the screen if you are not login.

 

Attached should be the one.

 

 

Thanks for your help

I modified my DSDT and now, the LCD sleeping problem is solved. The only issue I still have is with mirror. When I plug in an external monitor to VGA (DVI is disabled and I don't understand what the TV device is for), the laptop tries to find a resolution that can be used by both VGA and LCD, but the result is unusable! With the AppleIntelIntegratedFrameBuffer 1.4.20 I don't have neither the problem of LCD sleeping nor mirror not working.

 

PNLF is related according to my experience with the brightness slider in System Prefrences-> Displays so I renamed back LCD !

Finnaly my screen is working by the time I m writing this at 1490*900*32 :-)

I wonder wether I should populate the VID2 device (aka 27a6 ???) with the same entries in the GFX part, or should I at least add the HasPanel property to it in order to get mirror! Any idea?

Sleep is ok but not waking from sleep.

 

Cius

 

just get rid of tv and dvi sections

the order would be lcd aka pnlf then vga aka crt (tv aka s-video wont work)

PNLF i believe is cosmetic but not sure.. with clamshell fix.

 

btw theres a call in WAK usualy for VID .. make sure u adjust that to GFX0

 

Device (GFX0)
		{
			Name (_ADR,  0x00020000)
			Method (_DSM, 4, NotSerialized)
			{
				Store  (Package (0x04)
					{
						"AAPL,HasPanel",
						Buffer  (0x04)
						{
							0x01,  0x00, 0x00, 0x00
						},
						"model",
						Buffer  (0x08)
						{
							"GMA 950"
						}
					},  Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf  (Local0))
				Return (Local0)
			}
			Method  (_DOS, 1, NotSerialized)
			{
				Store  (Arg0, MIS4)
				SMI (0x9E, MIS4)
			}

			Method  (_DOD, 0, NotSerialized)
			{
				Return  (Package (0x02)
				{
					0x00010400,  
					0x00010100
				})
			}

			Device  (VGA)
			{
				Method (_ADR, 0,  NotSerialized)
				{
					Return  (0x0100)
				}

				Method  (_DCS, 0, NotSerialized)
				{
					Store  (SMI (0x8E, 0x02), Local0)
					Return (Local0)
				}

				Method  (_DGS, 0, NotSerialized)
				{
					Store  (SMI (0x99, 0x02), Local0)
					Return (Local0)
				}

				Method  (_DSS, 1, NotSerialized)
				{
					DSS  (0x02, Arg0)
				}
			}

			Device  (PNLF)
			{
				Method (_ADR, 0,  NotSerialized)
				{
					Return  (0x0400)
				}

				Method  (_DCS, 0, NotSerialized)
				{
					Store  (SMI (0x8E, One), Local0)
					Return (Local0)
				}

				Method  (_DGS, 0, NotSerialized)
				{
					Store  (SMI (0x99, One), Local0)
					Return (Local0)
				}

				Method  (_DSS, 1, NotSerialized)
				{
					DSS  (One, Arg0)
				}
			}
		}

 

by the way your model in DSM method says GMA950 i think u need a space to GMA 950 ( i think its fixed here)

i changed buffer to 08 as i added a space to the GMA950 now GMA 950 as i saw this in a ioreg of a gma 950 apple laptop.

by the way is your screen able to go higher than 1280x800 ?

Link to comment
Share on other sites

sleep could be a number of issues.. bad WAK calls or not returning the value. it could also be all the mods u done so far.

 

checkout the dsdt fixes for gigabytes post.. a lot to learn there of dsdt but not all applies ( might have to adjust principle to different values)

also check system logs of the time u invoked a wake.. or sleep.

 

what mainboard is this ? your dsdt.dsl anywhere posted ? anyone else has had working sleep/wake with this same system?

 

on Lattitude D620 im able to sleep but when it wakes it shows screen and kp happens with smartcard issue saying power something is missing or mute.

 

heres a post to see (a post that shows what is run on sleep and wake)

Link to comment
Share on other sites

Hi everyone,

 

I have the 27a2 graphics card, and have added only the Intel GMA 950 kext. I've added Yes to the boot plist in Graphics Enabler. I've also modified my DSDT to include the text under (Scope SB) area. Now when I try to boot it gets stuck on the spinning icon boot screen. Booting verbose shows many lines of text with the chameleon boot screen, before switching to the usual black background boot screen with more lines of usual text. About when it gets to the handshake for Airport, the text stops scrolling and it never boots past that. Did I edit the DSDT incorrectly?

 

Thanks

Link to comment
Share on other sites

Is there a chance to make this work for gma 950 with the id 0x2772 ? (Desktop with AsRock 945G-DVI board)

 

Till 10.6.2 we could use the ElliottAppleIntelGMA950LegacyEnabler. But with 10.6.3 I'm stuck at 1280x1024. Reinstalling the gma 950 kexts from the 10.6.0 DVD didn't help.

 

So I installed Chameleon-2.0-RC5pre7-r69.pkg (had to do it with the terminal for any reason after exctracting the i386 folder with pacifist), edited com.apple.Boot.plist and dsdt.aml as described in the first post.

With the 0x27AE kexts for 10.6.3 the machine boots - but at 1280x1024. With the 0x27A2 kexts it hangs at the spinning ball.

 

I should mention that dsdt patching is a miracle for me. I made the required patch with DSDTSE and it got compiled without errors anyway.

Link to comment
Share on other sites

Is there a chance to make this work for gma 950 with the id 0x2772 ? (Desktop with AsRock 945G-DVI board)

 

Till 10.6.2 we could use the ElliottAppleIntelGMA950LegacyEnabler. But with 10.6.3 I'm stuck at 1280x1024. Reinstalling the gma 950 kexts from the 10.6.0 DVD didn't help.

 

So I installed Chameleon-2.0-RC5pre7-r69.pkg (had to do it with the terminal for any reason after exctracting the i386 folder with pacifist), edited com.apple.Boot.plist and dsdt.aml as described in the first post.

With the 0x27AE kexts for 10.6.3 the machine boots - but at 1280x1024. With the 0x27A2 kexts it hangs at the spinning ball.

 

I should mention that dsdt patching is a miracle for me. I made the required patch with DSDTSE and it got compiled without errors anyway.

0x27728086 should work by adding PNLF device in DSDT and enabling GraphicsEnabler=Yes with stock Apple kexts.

The booter will do the rest :D

Link to comment
Share on other sites

Hey, I tried your Kext fix for 10.6.3 on two types of netbook. Eeepc 1001HA, which the kext works . However on my Lenova, I only get mouse pointer moving and desktop stuck on grey apple startup phase.

Do you know what might cause the problem? I installed them in S/L/E. BTW thanks for your work.

Link to comment
Share on other sites

If the normal kexts worked fine (gave OpenGL, CI and QE)m wouldn't those work better then this mod?

 

I can use normal 10.6.3 kexts with my Mobile Intel 945GM (laptop) GPU.

 

Requirements:

Stock Kexts

OSx86 Tools

Device IDs: 27A2 (main) and 27A6 (external on Windows anyway)

 

1. Open OSx86 Tools

2. Add EFI strings (add the Graphics Intel GMA950 (laptop) one to com.apple.boot.plist)

3. Restart

 

This works best when:

- The com.apple.boot.plist is put in /Extra

- Your using Chameleon RC3 or RC4

- Stock drivers

Link to comment
Share on other sites

 Share

×
×
  • Create New...