Jump to content

Intel HD Graphics / GMA 5700


sockerkid
 Share

1,324 posts in this topic

Recommended Posts

1 is wrong ... GPU is detected also the memory position is not the problem ... EDID is read correctly, also in my case connector info is set corr.

 

Please show me your connector info correctly detected by AppleIntelHDGraphicsFB.

Link to comment
Share on other sites

Following properties are supplied by AppleGraphicsControl as a first part of "doSetup" procedure of setting up framebuffer:

 

"AAPL00,Dither"

"AAPL00,DualLink"

"AAPL00,LinkFormat"

"AAPL00,LinkType"

"AAPL00,PixelFormat"

 

"AAPL,display-alias"

"AAPL,alias-policy"

"AAPL0,T1" - "AAPL0,T7"

"AAPL01,override-has-edid-digital"

 

Those are red on start of AppleIntelHDGraphicsFB.

 

I am currently rewriting someones GMA enabler part of Chameleon (can't remember who is the author) to supply those data prior to FB loading. This should be the first part. Later will follow the rest.

 

Oki

 

P.S. If someone knows exact meaning of all those parameters and how are they interpreted by FB driver - it would speed the things up :).

Link to comment
Share on other sites

Note to self - model must be MacBookPro6,1 due to check in FB kext:

 

__data:00013880 _osinfoList dd offset aMacbookpro61

__data:00013888 dd offset aMacbookpro62

 

 

Anyone has smbios.plist from MacBookPro6,2 with real board and serial number?

Link to comment
Share on other sites

As you wish.. Included DSDT etc.. get it from somehwere in this forum.. credit to that person..

 

 

 

Note to self - model must be MacBookPro6,1 due to check in FB kext:

 

__data:00013880 _osinfoList dd offset aMacbookpro61

__data:00013888 dd offset aMacbookpro62

 

 

Anyone has smbios.plist from MacBookPro6,2 with real board and serial number?

MacBookPro6_2.rar

Link to comment
Share on other sites

By The Way.. i got a HP ProBook 4520s..

Updating to 10.7.1 and my System doesn´t boot anymore

but it seems that my graphic was found...

have a look ..

Well.. i write again later times, when my system is running =P

 

 

Loading VoodooHDA 0.2.1 (based on hdac version 20090401_0132)
Controller: Intel PCH (vendor ID:8086, device ID: 3b56)
warning: couldn´t set recording source to microphone
warning: couldn´t set recording source to microphone
Codec #0: IDT 92HD81B1X (vendor ID: 111d, device ID: 7605)
VoodooPS2SynapticsTouchPad loaded
Codec #1: Lucent/Agere Systems (Unknown) (vendor ID: 11c1, device ID: 1040)
Codec #3: Intel (Unknown) (vendor ID: 8086, device ID: 2804)
warning: found invalid min/max dB (using default -22.5 -> 0.0 range)
warning: found invalid min/max dB (using default -22.5 -> 0.0 range)
warning: found invalid min/max dB (using default -22.5 -> 0.0 range)
No interval found for . Using 8000000
VoodooPS2Trackpad: Synaptics TouchPad v7.4
Sound assertion "!fProvider-> open ( this )" failed in AppleHDAController at line 351 goto Exit
DSMOS has arrived
VoodooHDAEngine[0x625da00]::volumeChanged(0x4e82e00, 75, 100)
VoodooHDAEngine[0x625da00]::volumeChanged(0x6237900, 75, 100)
VoodooHDAEngine[0x65fd800]::volumeChanged(0x6604800, 75, 0)  
VoodooHDAEngine[0x65fd800]::volumeChanged(0x6604f00, 75, 0)  
VoodooHDAEngine[0x65fd800]::outputMuteChanged(0x4ec3500, 0, 1)

Link to comment
Share on other sites

Anyone has smbios.plist from MacBookPro6,2 with real board and serial number?

 

Try these ones:

 

  <key>SMboardproduct</key>
 <string>Mac-F22686C8</string>
 <key>SMproductname</key>
 <string>MacBookPro6,2</string>
 <key>SMserial</key>
 <string>W8041081AGY</string>

Link to comment
Share on other sites

Note to self - model must be MacBookPro6,1 due to check in FB kext:

 

__data:00013880 _osinfoList dd offset aMacbookpro61

__data:00013888 dd offset aMacbookpro62

 

 

Anyone has smbios.plist from MacBookPro6,2 with real board and serial number?

 

 

Hi oki,

 

why did you say Fb is looking for smbios 6,1 and you are looking for 6,2?

 

thanks

Marco

 

by the way the applegraphicscontrol values to pass to Fb could be included in gfx string as well I think

 

bye marco

Link to comment
Share on other sites

Hi oki,

 

why did you say Fb is looking for smbios 6,1 and you are looking for 6,2?

 

thanks

Marco

 

by the way the applegraphicscontrol values to pass to Fb could be included in gfx string as well I think

 

bye marco

 

Hi morkb,

 

it searches for either 6,1 or 6,2 so it was the same to me.

 

1) Static values can be passed using EFI string.

2) Dynamic values are passed through commandgate interface (in this case fb is server, agc is client)

3) AGC takes care of all interrupts raised by GPU (plug/unplug of monitor to external interface/temperature sensors/etc etc...)

 

Not simple at all :-).

 

Oki

Link to comment
Share on other sites

Hey guys, can I ask something?

 

Well anyways I was looking at the IORegistry dumps from the official MacBook Pro 6,1 and MacBook Pro 8,1. I've noticed that both of these MacBook Pros refer Intel HD Graphics as "IGPU@2". See the screenshots below:

 

post-620531-1313632702_thumb.pngpost-620531-1313632717_thumb.png

 

On the MacBook Pro 6,1 there is a reference called GFX0@0 which is where the NVidia graphics card is located. However it seems that Intel HD Graphics can work by itself.

 

post-620531-1313634087_thumb.png

 

On our hackintoshes, I'll use mine as an example, refers Intel HD Graphics as "GFX0@2".

 

post-620531-1313632859_thumb.png

 

Can someone explain why is it referred to as GFX0@2? ;) Anyways can this be changed in the DSDT? Maybe this is why Intel HD Graphics has difficulty detecting our display?

Link to comment
Share on other sites

			Device (GFX0)
		{
			Name (_ADR, 0x00020000)
			Method (PCPC, 0, NotSerialized)
			{
				ECST (0x6F)
			}

			Method (PAPR, 0, NotSerialized)
			{
				Return (Zero)
			}

			Method (_DOS, 1, NotSerialized)
			{
				Store (And (Arg0, 0x07), DSEN)
				If (LEqual (And (Arg0, 0x03), Zero))
				{
					If (CondRefOf (HDOS))
					{
						HDOS ()
					}
				}
			}

			Method (_DOD, 0, NotSerialized)
			{
				If (CondRefOf (IDAB)) {}
				Else
				{
					Store (Zero, NDID)
					If (LNotEqual (DIDL, Zero))
					{
						Store (SDDL (DIDL), DID1)
					}

					If (LNotEqual (DDL2, Zero))
					{
						Store (SDDL (DDL2), DID2)
					}

					If (LNotEqual (DDL3, Zero))
					{
						Store (SDDL (DDL3), DID3)
					}

					If (LNotEqual (DDL4, Zero))
					{
						Store (SDDL (DDL4), DID4)
					}

					If (LNotEqual (DDL5, Zero))
					{
						Store (SDDL (DDL5), DID5)
					}

					If (LNotEqual (DDL6, Zero))
					{
						Store (SDDL (DDL6), DID6)
					}

					If (LNotEqual (DDL7, Zero))
					{
						Store (SDDL (DDL7), DID7)
					}

					If (LNotEqual (DDL8, Zero))
					{
						Store (SDDL (DDL8), DID8)
					}
				}

				If (LEqual (NDID, One))
				{
					Name (TMP1, Package (0x01)
					{
						0xFFFFFFFF
					})
					Store (Or (0x00010000, DID1), Index (TMP1, Zero))
					Return (TMP1)
				}

				If (LEqual (NDID, 0x02))
				{
					Name (TMP2, Package (0x02)
					{
						0xFFFFFFFF, 
						0xFFFFFFFF
					})
					Store (Or (0x00010000, DID1), Index (TMP2, Zero))
					Store (Or (0x00010000, DID2), Index (TMP2, One))
					Return (TMP2)
				}

				If (LEqual (NDID, 0x03))
				{
					Name (TMP3, Package (0x03)
					{
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF
					})
					Store (Or (0x00010000, DID1), Index (TMP3, Zero))
					Store (Or (0x00010000, DID2), Index (TMP3, One))
					Store (Or (0x00010000, DID3), Index (TMP3, 0x02))
					Return (TMP3)
				}

				If (LEqual (NDID, 0x04))
				{
					Name (TMP4, Package (0x04)
					{
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF
					})
					Store (Or (0x00010000, DID1), Index (TMP4, Zero))
					Store (Or (0x00010000, DID2), Index (TMP4, One))
					Store (Or (0x00010000, DID3), Index (TMP4, 0x02))
					Store (Or (0x00010000, DID4), Index (TMP4, 0x03))
					Return (TMP4)
				}

				If (LEqual (NDID, 0x05))
				{
					Name (TMP5, Package (0x05)
					{
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF
					})
					Store (Or (0x00010000, DID1), Index (TMP5, Zero))
					Store (Or (0x00010000, DID2), Index (TMP5, One))
					Store (Or (0x00010000, DID3), Index (TMP5, 0x02))
					Store (Or (0x00010000, DID4), Index (TMP5, 0x03))
					Store (Or (0x00010000, DID5), Index (TMP5, 0x04))
					Return (TMP5)
				}

				If (LEqual (NDID, 0x06))
				{
					Name (TMP6, Package (0x06)
					{
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF
					})
					Store (Or (0x00010000, DID1), Index (TMP6, Zero))
					Store (Or (0x00010000, DID2), Index (TMP6, One))
					Store (Or (0x00010000, DID3), Index (TMP6, 0x02))
					Store (Or (0x00010000, DID4), Index (TMP6, 0x03))
					Store (Or (0x00010000, DID5), Index (TMP6, 0x04))
					Store (Or (0x00010000, DID6), Index (TMP6, 0x05))
					Return (TMP6)
				}

				If (LEqual (NDID, 0x07))
				{
					Name (TMP7, Package (0x07)
					{
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF
					})
					Store (Or (0x00010000, DID1), Index (TMP7, Zero))
					Store (Or (0x00010000, DID2), Index (TMP7, One))
					Store (Or (0x00010000, DID3), Index (TMP7, 0x02))
					Store (Or (0x00010000, DID4), Index (TMP7, 0x03))
					Store (Or (0x00010000, DID5), Index (TMP7, 0x04))
					Store (Or (0x00010000, DID6), Index (TMP7, 0x05))
					Store (Or (0x00010000, DID7), Index (TMP7, 0x06))
					Return (TMP7)
				}

				If (LEqual (NDID, 0x08))
				{
					Name (TMP8, Package (0x08)
					{
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF, 
						0xFFFFFFFF
					})
					Store (Or (0x00010000, DID1), Index (TMP8, Zero))
					Store (Or (0x00010000, DID2), Index (TMP8, One))
					Store (Or (0x00010000, DID3), Index (TMP8, 0x02))
					Store (Or (0x00010000, DID4), Index (TMP8, 0x03))
					Store (Or (0x00010000, DID5), Index (TMP8, 0x04))
					Store (Or (0x00010000, DID6), Index (TMP8, 0x05))
					Store (Or (0x00010000, DID7), Index (TMP8, 0x06))
					Store (Or (0x00010000, DID8), Index (TMP8, 0x07))
					Return (TMP8)
				}

				Return (Package (0x01)
				{
					0x0400
				})
			}

 

I changed it...

IGPU.tiff

Link to comment
Share on other sites

Hi guys

 

I thing this is v.impotant about GMUX

 

We have to add DSDT

 

I find MacBookPro 6.2 ioreg

 

How can Any guide/Any idia?

apple support

 

https://discussions.apple.com/thread/242019...45&tstart=0

post-413859-1313674682_thumb.png

Link to comment
Share on other sites

Hi guys

 

I thing this is v.impotant about GMUX

 

We have to add DSDT

 

I find MacBookPro 6.2 ioreg

 

How can Any guide/Any idia?

apple support

 

https://discussions.apple.com/thread/242019...45&tstart=0

sample

 

Intel HD Graphics:

 

Chipset Model: Intel HD Graphics

Type: GPU

Bus: Built-In

VRAM (Total): 288 MB

Vendor: Intel (0x8086)

Device ID: 0x0046

Revision ID: 0x0012

gMux Version: 1.9.21

Displays:

Color LCD:

Resolution: 1440 x 900

Pixel Depth: 32-Bit Color (ARGB8888)

Main Display: Yes

Mirror: Off

Online: Yes

Built-In: Yes

Link to comment
Share on other sites

Is GMUX really necessary even if we don't have a dedicated graphics card? :)

 

Well anyways I think now is the time to install and test out GFXCardStatus. If you guys don't know GFXCardStatus is a little menubar utility that allows you to switch between NVidia dedicated graphics and Intel HD Graphics.

 

GFXCardStatus Homepage

 

As for this GMUX thing, well here is the code that you can add to your DSDT. This is from the original MacBook Pro 6,1 and MacBook Pro 6,2. Don't know if it will do anything.

 

Device (GMUX)
               {
                   Name (_HID, EisaId ("APP000B"))
                   Name (_CID, "gmux")
                   Name (_STA, 0x0B)
                   Name (_CRS, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x0700,             // Range Minimum
                           0x07FF,             // Range Maximum
                           0x01,               // Alignment
                           0xFF,               // Length
                           )
                   })
                   Name (_PRW, Package (0x02)
                   {
                       0x16, 
                       0x03
                   })
                   Scope (\_GPE)
                   {
                       Method (_L16, 0, NotSerialized)
                       {
                           Notify (\_SB.PCI0.LPCB.GMUX, 0x80)
                       }
                   }

                   Name (GMGP, 0x16)
                   Method (GMSP, 1, NotSerialized)
                   {
                       If (LLessEqual (Arg0, 0x01))
                       {
                           Or (GP06, Arg0, GP06)
                       }
                   }

                   Method (GMLV, 0, NotSerialized)
                   {
                       Return (GP06)
                   }
               }
           }

Link to comment
Share on other sites

GFXCardstatus is about GMUX card switching. So if we wanted to use GFXCardStatus, we had to have GMUX loadded then only it will work.. Try looking in the source code of gfxcardstatus and u will find out GMUX handling, GMUX card switching..

 

If we put the GMUX code in our DSDT, its loaded in ioreg, u can refer post before this as people already tried to insert gmux in..

 

Refer :

http://www.insanelymac.com/forum/lofiversi...223754-550.html

 

Is GMUX really necessary even if we don't have a dedicated graphics card? :)

 

Well anyways I think now is the time to install and test out GFXCardStatus. If you guys don't know GFXCardStatus is a little menubar utility that allows you to switch between NVidia dedicated graphics and Intel HD Graphics.

 

GFXCardStatus Homepage

 

As for this GMUX thing, well here is the code that you can add to your DSDT. This is from the original MacBook Pro 6,1 and MacBook Pro 6,2. Don't know if it will do anything.

 

Device (GMUX)
               {
                   Name (_HID, EisaId ("APP000B"))
                   Name (_CID, "gmux")
                   Name (_STA, 0x0B)
                   Name (_CRS, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x0700,             // Range Minimum
                           0x07FF,             // Range Maximum
                           0x01,               // Alignment
                           0xFF,               // Length
                           )
                   })
                   Name (_PRW, Package (0x02)
                   {
                       0x16, 
                       0x03
                   })
                   Scope (\_GPE)
                   {
                       Method (_L16, 0, NotSerialized)
                       {
                           Notify (\_SB.PCI0.LPCB.GMUX, 0x80)
                       }
                   }

                   Name (GMGP, 0x16)
                   Method (GMSP, 1, NotSerialized)
                   {
                       If (LLessEqual (Arg0, 0x01))
                       {
                           Or (GP06, Arg0, GP06)
                       }
                   }

                   Method (GMLV, 0, NotSerialized)
                   {
                       Return (GP06)
                   }
               }
           }

Link to comment
Share on other sites

GFXCardstatus is about GMUX card switching. So if we wanted to use GFXCardStatus, we had to have GMUX loadded then only it will work.. Try looking in the source code of gfxcardstatus and u will find out GMUX handling, GMUX card switching..

 

If we put the GMUX code in our DSDT, its loaded in ioreg, u can refer post before this as people already tried to insert gmux in..

 

Refer :

http://www.insanelymac.com/forum/lofiversi...223754-550.html

when I add dsdt many errors can you add for me I upload my if you can.

dsdt.rar

Link to comment
Share on other sites

when I add dsdt many errors can you add for me I upload my if you can.

 

Sorry about that Manor and anybody else who wants to modify their DSDT so it can resemble a MacBook Pro 6,1 or MacBook Pro 6,2.

 

Here is the official DSDT of the 2010 MacBook Pro. Remember to not copy and paste. That can lead to a lot of compiling errors. Best to edit them manually. :)

 

MBP2010DSDT.aml.zip

 

Inside the DSDT you will find IGPU, GMUX, GFX0 and all sorts of stuff. We should all begin experimenting. :P

Link to comment
Share on other sites

Sorry about that Manor and anybody else who wants to modify their DSDT so it can resemble a MacBook Pro 6,1 or MacBook Pro 6,2.

 

Here is the official DSDT of the 2010 MacBook Pro. Remember to not copy and paste. That can lead to a lot of compiling errors. Best to edit them manually. :)

 

MBP2010DSDT.aml.zip

 

Inside the DSDT you will find IGPU, GMUX, GFX0 and all sorts of stuff. We should all begin experimenting. :P

thanks I know its not easy.DSDTSE v.hard to edit.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...