Jump to content

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


Dr. Hurt
 Share

486 posts in this topic

Recommended Posts

Does anyone know how to get secondary display to work with dsdt patch? I have an Abit il90-MV mainboard, i945GT chipset, GMA950 device 0x27a2. The board has VGA and HDMI output (HDMI can work in DVI mode).

 

So, without the patch, I have both primary (VGA) and secondary (DVI) display working, same picture on both, limited to 1024x768.

 

With the patch, both seem to work during boot, and then when the driver loads, DVI gets no signal and VGA keeps working, at proper resolution (1680x1050). System profiler shows "No display connected" on first Display Connector, and correctly detected analog monitor on second.

 

I'd really like to use DVI, since the VGA output at this resolution is very blurry. I tried adding another Device in the dsdt, but that didn't help at all...

Link to comment
Share on other sites

Working for me to on a D945GCLF Intel Board with Retail Install/Kernel, Chameleon DSDT.

 

One Problem on the install: There was no "Scope (_SI)" in my DSDT.dsl so i pasted it above "Scope (_SB)" but it works too.

 

OS X recognized two monitors and extended the desktop to this two, but physically this board just has one graphics-connector, so the second screen is not existing. If you select syncronisizing/mirrroring the screen gets scrambled an you can't see anything clear but the cursor.

 

Nevertheless, QE/CI working, no tearing, no graphic errors, resolution/refresh rate selection possible, Color-profiles working ... Great Work!

 

rick

post-271506-1234821546_thumb.jpg

Link to comment
Share on other sites

OS X recognized two monitors and extended the desktop to this two, but physically this board just has one graphics-connector, so the second screen is not existing. If you select syncronisizing/mirrroring the screen gets scrambled an you can't see anything clear but the cursor.

 

In my case, it looks like the second AppleIntelFramebuffer is detected, but the display attached to it is not. I'm also getting some "family specific matching fails" errors with GFX0 in system.log.

 

post-353035-1234905184_thumb.jpg

 

And another strange thing, there is one other GMA 950 display adapter at the address 00020001. I created Device section for it in dsdt, and gets detected as GFX1. But it has device id 0x27a6 so stock GMA 950 kext doesn't recognize it correctly.

Link to comment
Share on other sites

Thanks to all the people on this topic and forum. I've gotten my ASUS N4LVM-DH with the i945GM and GMA950 working w/ munky's boot EFI partition and stock retail Leopard 10.5.6 + iLife '09! QE/CI/QGL are all working, on first appearance. I've been trying to get iPhoto '09 to play the sliding panes slideshow and it finally works, instead of crashing iPhoto (w/ incorrect pixel format errors in the system.log)

 

Similar to rickberman66, I had to add the patches to the DSDT.dsl around the same areas.

[This should also help with my Intel D945GCLF2 (yes, the dual-core Atom mobo!) install.]

 

Here is what System Profiler recognized on the third reboot (finally, recognized 1440x900 monitor!):

 

Intel GMA 950:

 

Chipset Model: GMA 950

Type: Display

Bus: Built-In

VRAM (Total): 64 MB of shared system memory

Vendor: Intel (0x8086)

Device ID: 0x27a2

Revision ID: 0x0003

Displays:

Display Connector:

Status: No display connected

MW19B-ADD:

Resolution: 1440 x 900 @ 75 Hz

Depth: 32-bit Color

Core Image: Hardware Accelerated

Main Display: Yes

Mirror: Off

Online: Yes

Quartz Extreme: Supported

Rotation: Supported

QuartzGL: Supported

 

 

Working for me to on a D945GCLF Intel Board with Retail Install/Kernel, Chameleon DSDT.

 

One Problem on the install: There was no "Scope (_SI)" in my DSDT.dsl so i pasted it above "Scope (_SB)" but it works too.

 

OS X recognized two monitors and extended the desktop to this two, but physically this board just has one graphics-connector, so the second screen is not existing. If you select syncronisizing/mirrroring the screen gets scrambled an you can't see anything clear but the cursor.

 

Nevertheless, QE/CI working, no tearing, no graphic errors, resolution/refresh rate selection possible, Color-profiles working ... Great Work!

 

rick

Link to comment
Share on other sites

Dr Hurt, Ive been following this thread with interest as i have a Asrock Conroe 1333 DVI/H mobo with GMA950, i have had glitches and artifacts etc, so i thought id give it a go!,

 

I first installed the PC EFI chameleon bootloader that posted on the start of this thread and then installed the stock kexts also supplied.

 

Following the first part of your guide I created a normal DSDT.aml file and did the reboot to test as stated by the guide!

 

now when it restarted with this 'normal DSDT.aml' file I had:

 

All resolutions

Core image - Hardware Accelerated

Quartz Extreme - Supported

Rotation - Supported

 

All that without even inserting the additional code in the second part of the guide

graphics are smooth and no glitches artifacts or mouse tearing whatsoever!

 

Is the extra code going to do something extra, or should i just stick with what i have!, is there something I can do to test all is fine and performing well?!

 

Also, if possible, is there any way of getting the full 224mb of shared memory my board has, instead of just 64mb?

 

Thanks in advance

 

Andy

post-80777-1235328383_thumb.png

Link to comment
Share on other sites

Dr Hurt, Ive been following this thread with interest as i have a Asrock Conroe 1333 DVI/H mobo with GMA950, i have had glitches and artifacts etc, so i thought id give it a go!,

 

I first installed the PC EFI chameleon bootloader that posted on the start of this thread and then installed the stock kexts also supplied.

 

Following the first part of your guide I created a normal DSDT.aml file and did the reboot to test as stated by the guide!

 

now when it restarted with this 'normal DSDT.aml' file I had:

 

All resolutions

Core image - Hardware Accelerated

Quartz Extreme - Supported

Rotation - Supported

 

All that without even inserting the additional code in the second part of the guide

graphics are smooth and no glitches artifacts or mouse tearing whatsoever!

 

Is the extra code going to do something extra, or should i just stick with what i have!, is there something I can do to test all is fine and performing well?!

 

Also, if possible, is there any way of getting the full 224mb of shared memory my board has, instead of just 64mb?

 

Thanks in advance

 

Andy

 

Strange - Are you using the stock kexts?!

If everything is working well without the extra code then its fine. Also, it's already using the whole 244MB of vram, but os x reports it as 64MB (only cosmetic issue).

Link to comment
Share on other sites

Strange - Are you using the stock kexts?!

If everything is working well without the extra code then its fine. Also, it's already using the whole 244MB of vram, but os x reports it as 64MB (only cosmetic issue).

 

Yes, using the stock kexts available at start of this thread!

 

thanks for the guide, it was the only thing that didn't work properely!, all is good now!

 

Does this work with custom kernels? im running the Voodoo 9.5.0 right now as i cant get Vanilla working :thumbsup_anim:

Anybody got this working with the ASROCK Conroe1333-D667 and has a working DSDT?

 

@Sonic-NKT Try using the, 9.4.0 StageXNU Universal Kernel it is listed on the OSX86 H.C.L for your board, (I assume you used the OSX86 install disk!)

 

My board is of the same family 'Conroe1333 DVI/H' and it worked for me too! after this patch for GMA950 everything works great for me! but like i said before I only followed the first part of the guide and it worked on the normal DSDT file without adding the extra code!

Link to comment
Share on other sites

Strange - Are you using the stock kexts?!

If everything is working well without the extra code then its fine. Also, it's already using the whole 244MB of vram, but os x reports it as 64MB (only cosmetic issue).

 

HI Dr Hurt!, Sorry, scratch what i said before i think i still had the kexts from the OSx86 installation or something when i actually created the first DSDT.aml file!, maybe,... went wrong somewhere!,

 

Anyway I was not getting proper shutdown or sleep so i decided to start form scratch

 

- i still had the stock kexts installed so i removed and trashed the current DSDT.aml file

 

- Rebooted and got default resolution (only one choice, cant remember what it was now!)

 

- Then followed part one the guide and created a new DSDT.aml file

 

- Rebooted and got same resoution!

 

- Then went on to part two entering the relevant code as described but like others here had no part where it said 'Scope (_SI)' so after a bit of trawling through others uploaded DSDT files I found they were inserting the code in different places depending on board, I found one from 'vani' who has newer revision of my board - Thanks vani!! and put my code where he did (after the "Method (GPRW, 2, NotSerialized)" bit!), like so:

 

 

Method (GPRW, 2, NotSerialized)

{

Store (Arg0, Index (PRWP, Zero))

Store (ShiftLeft (SS1, One), Local0)

Or (Local0, ShiftLeft (SS2, 0x02), Local0)

Or (Local0, ShiftLeft (SS3, 0x03), Local0)

Or (Local0, ShiftLeft (SS4, 0x04), Local0)

If (And (ShiftLeft (One, Arg1), Local0))

{

Store (Arg1, Index (PRWP, One))

}

Else

{

ShiftRight (Local0, One, Local0)

If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))

{

FindSetLeftBit (Local0, Index (PRWP, One))

}

Else

{

FindSetRightBit (Local0, Index (PRWP, One))

}

}

 

Return (PRWP)

}

 

Name (WAKP, Package (0x02)

{

Zero,

Zero

})

OperationRegion (DEB0, SystemIO, 0x80, One)

Field (DEB0, ByteAcc, NoLock, Preserve)

{

DBG8, 8

}

 

OperationRegion (DEB1, SystemIO, 0x90, 0x02)

Field (DEB1, WordAcc, NoLock, Preserve)

{

DBG9, 16

}

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)

}

 

Scope (_SB)

{

Name (PR00, Package (0x12)

{

Package (0x04)

 

 

 

- Then added the second bit of code as described in the guide, saved it, recompiled and rebooted!

 

restarted with all resolutions, Core Image , Quartz Extreme etc. and shutdown, sleep and restart all work fine now!! pheww!

 

Thanks again!

 

 

 

which version did you use? V3 or V4?

i installed the different kext with OSX86 tool and installed the bootloader but couldnt get it working (it crashed on the boot screen)

Is it save to use 9.4.0 on 10.5.6? voodoo 9.5.0 runs fine.

 

@Sonic-NKT

 

from the 10.5.6 OSx86 disc I installed:

- 9.4.0 StageXNU Universal Kernel - works fine!

- Intel ICHx SATA Drivers (in the chipsets folder)

- GMA 950 Video Driver (but skip this and let it install stock ones so you can patch your DSDT.aml)

- Realtek 1000 network driver

- Azalia Audio Driver

- Patched USB Drivers

 

there is also the chameleon bootloader in "alternative bootloaders" but i used the one at the beginning of this thread after install - not sure if its the same one!

 

...and now with this GMA 950 patch found here thanks to the guys involved!, everything works sweet!

 

Hope this helps..., I have also attached my DSDT.aml file and DSDT.dsl files incase they might help with the placement of you code

ASROCK_Conroe1333_DVI_H.zip

Link to comment
Share on other sites

Hi,

After installing 10.5.6, i lost resolution change. I then followed the guide on this thread and got all the graphics goodies i missed with the updates. However, after this restart worked only maybe a couple more times and now it stopped working - sleep and shutdown are working greatly, tho´. When i put my system to restart, it works as if it was going to restart, the wallpaper disappears, the screen turns black, my monitor turns to if it was no signal connected and stop as that.

 

Can anyone help me ?

 

My system is a Intel Celeron E1200, Gigabyte GCM945-S2C motherboard, 1 gb of ram, a bunch of IDE and SATA HDs, Ideneb 1.3 with the graphics update ffrom this thread (v4 - v3 does not work) and sound update from another link i cant remeber where i found vanilla kernel, stock netkas smbios, nothing fancy at all.

Link to comment
Share on other sites

Hi,

After installing 10.5.6, i lost resolution change. I then followed the guide on this thread and got all the graphics goodies i missed with the updates. However, after this restart worked only maybe a couple more times and now it stopped working - sleep and shutdown are working greatly, tho´. When i put my system to restart, it works as if it was going to restart, the wallpaper disappears, the screen turns black, my monitor turns to if it was no signal connected and stop as that.

 

Can anyone help me ?

 

My system is a Intel Celeron E1200, Gigabyte GCM945-S2C motherboard, 1 gb of ram, a bunch of IDE and SATA HDs, Ideneb 1.3 with the graphics update ffrom this thread (v4 - v3 does not work) and sound update from another link i cant remeber where i found vanilla kernel, stock netkas smbios, nothing fancy at all.

 

Install openhaltrestart.kext

Link to comment
Share on other sites

I have a ASUS P2-P5945G (945 ICH7 chipset, onboard GMA950 0x2772 rev 2).

 

1) No luck with V3-V4 (both makes boot hang).

 

2) Patching my DSDT:

I haven't found "Scope (_SI)", so I followed post# 204, and tried also other places.

I got some compilation warnings -

Last login: Fri Mar  6 07:58:47 on console
macrv:~ rvendrame$ /Patch/compiler -sa /Patch/DSDT.dsl 

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

/Patch/DSDT.dsl  2480:                         Method (OCOP, 1, Serialized)
Warning  1087 -      Not all control paths return a value ^  (OCOP)

/Patch/DSDT.dsl  2755:                         Method (PROC, 3, Serialized)
Warning  1087 -      Not all control paths return a value ^  (PROC)

/Patch/DSDT.dsl  2892:                                             Subtract (Local2, 0x1E)
Warning  1105 -                        Result is not used, operator has no effect ^ 

/Patch/DSDT.dsl  2893:                                             Subtract (Local4, 0x4B)
Warning  1105 -                        Result is not used, operator has no effect ^ 

/Patch/DSDT.dsl  2992:                             Store (PROC (Local0, Local1, Zero), Local2)
Warning  1092 -  Called method may not always return a value ^ 

/Patch/DSDT.dsl  4880:     Method (WFZF, 1, NotSerialized)
Warning  1087 -                       ^ Not all control paths return a value (WFZF)

/Patch/DSDT.dsl  5417:         Method (VGET, 1, NotSerialized)
Warning  1087 -                           ^ Not all control paths return a value (VGET)

/Patch/DSDT.dsl  5462:         Method (TGET, 1, NotSerialized)
Warning  1087 -                           ^ Not all control paths return a value (TGET)

/Patch/DSDT.dsl  5497:         Method (FGET, 1, NotSerialized)
Warning  1087 -                           ^ Not all control paths return a value (FGET)

/Patch/DSDT.dsl  5518:             Store (VGET (Local0), Local1)
Warning  1092 -                              ^ Called method may not always return a value

/Patch/DSDT.dsl  5560:             Store (TGET (Local0), Local1)
Warning  1092 -                              ^ Called method may not always return a value

/Patch/DSDT.dsl  5593:             Store (FGET (Local0), Local1)
Warning  1092 -                              ^ Called method may not always return a value

ASL Input:  /Patch/DSDT.dsl - 5898 lines, 187410 bytes, 2752 keywords
AML Output: /Patch//DSDT.aml - 21628 bytes, 746 named objects, 2006 executable opcodes

Compilation complete. 0 Errors, 12 Warnings, 0 Remarks, 44 Optimizations
macrv:~ rvendrame$ 

... and everything I get is only a blue screen at the end of boot. :D

Tried also to disconnect/connect VGA cable as mentioned previouly here, blue screen stills there.

 

Here's my DSDT.dsl --- in case someone wants to analyze it :D

 

DSDT.dsl.zip

 

Cheers

Ricardo

Link to comment
Share on other sites

Dr. Hurt, please help.

 

My motherboard is foxconn 45CMV-K (ICH7 and Intel 945GC).

Video GMA950, id 0x2772, 82945G/GZ (rev 02).

My system is iDeneb 10.5.6.

 

Problem that my resolution only 1024x768, but I need resolution 1440x900.

 

First I tried use GMA950_V3.zip + PC_EFI_V9.pkg.zip , I install kexts with kext helper b7 and install PC EFI V9, reboot, but this not fix my problem.

 

Second I tried patched and compiled DSDT.aml with patcher and compiler, I put it in root, reboot, but nothing changed.

 

Also I install my OS with Vanilla kernel, this is can be problem for this? Maybe I need install OS with patched kernel?

 

Where I maked mistake?

 

Thanks!

 

 

UPDATE:

WOW!

I just then installed with kext helper kexts from 10.5.6_stock_kexts.zip, reboot, and then my resolutions accessed :( Now I with 1440x900, THANKS!

Link to comment
Share on other sites

I have a ASUS P2-P5945G (945 ICH7 chipset, onboard GMA950 0x2772 rev 2).

 

1) No luck with V3-V4 (both makes boot hang).

 

2) Patching my DSDT:

I haven't found "Scope (_SI)", so I followed post# 204, and tried also other places.

I got some compilation warnings -

 

What happens if you don't edit the DSDT.dsl file? I guess it still gives you that warnings.

 

Try updating the BIOS if you haven't already. Maybe that fixes it. And don't forget to use the unmodified video driver kexts.

 

If that doesn't help, you could also try to use my baked DSDT.aml in the previous post (#320). Maybe it also works for you.

 

 

Good luck :(

Link to comment
Share on other sites

Thanks to everyone involved in making this possible!!

 

I was able to create and patch my own dsdt and it works great. The only problem I'm having is the phantom display issue. Like NebulOSX I was able to use VNC and set the real monitor as primary but I was wondering if there is a way to completely do away with this second nonexistant display? I tried to enable mirroring (even used switchresx to change the resolution of the phantom screen to match the real one) but all that got me was a garbled display and a trip into safe mode to sort it out.

 

Any help would be appreciated.

 

Tony

Link to comment
Share on other sites

I was able to create and patch my own dsdt and it works great. The only problem I'm having is the phantom display issue. Like NebulOSX I was able to use VNC and set the real monitor as primary but I was wondering if there is a way to completely do away with this second nonexistant display? I tried to enable mirroring (even used switchresx to change the resolution of the phantom screen to match the real one) but all that got me was a garbled display and a trip into safe mode to sort it out.

 

I had exactly the same! I realized I had natit.kext still installed, so I removed it, made sure I had stock GMA950 kexts and all was perfect.

Link to comment
Share on other sites

Absolutely perfect for my Intel D945GCLF2 setup...

 

Hi.

With this dsdt, with native kext and vanila you have all resolutions and working CI and QE?

I try it with my D945GCLF2 and no luck. Can you share ioreg from your D945GCLF2, and your BIOS version.

Thank you.

Link to comment
Share on other sites

 Share

×
×
  • Create New...