Jump to content

Intel HD Graphics 4600 (Haswell) working displayport

ig-platform-id

Best Answer ErmaC, 29 July 2013 - 01:35 AM

Also would be nice get the complete name scheme:
Here the incomplete (probably with error) list:

	/* Haswell */
//	{ 0x80860402, "HD Graphics ????"        }, // Haswell Integrated Graphics Controller
	{ 0x80860406, "HD Graphics 4200 Mobile" }, // Haswell Integrated Graphics Controller - AppleIntelHD5000Graphics.kext
//	{ 0x8086040a, "HD Graphics 4400"        }, // Haswell Integrated Graphics Controller
	{ 0x80860412, "HD Graphics 4600"        }, // Haswell Integrated Graphics Controller - AppleIntelHD5000Graphics.kext
	{ 0x80860416, "HD Graphics 4600 Mobile"	}, // Haswell Integrated Graphics Controller - AppleIntelHD5000Graphics.kext
//	{ 0x8086041a, "HD Graphics P4600/P4700" }, // Haswell Integrated Graphics Controller
//	{ 0x80860422, "HD Graphics "		}, // Haswell Integrated Graphics Controller
	{ 0x80860426, "HD Graphics 4600 Mobile"	}, // Haswell Integrated Graphics Controller - AppleIntelHD5000Graphics.kext
//	{ 0x8086042a, "HD Graphics "		}, // Haswell Integrated Graphics Controller
	/* - - */
//	{ 0x80860a06, "HD Graphics ???? Mobile" }, // Haswell-ULT Integrated Graphics Controller
//	{ 0x80860a0e, "HD Graphics ???? Mobile" },
//	{ 0x80860a16, "HD Graphics ???? Mobile" }, // Haswell-ULT Integrated Graphics Controller - AppleIntelHD5000Graphics.kext
//	{ 0x80860a1e, "HD Graphics ???? Mobile" },
//	{ 0x80860a22, "????"                    }, // Haswell-ULT Integrated Graphics Controller
	{ 0x80860a26, "HD Graphics 5000 Mobile" }, // Haswell-ULT Integrated Graphics Controller - AppleIntelHD5000Graphics.kext
//	{ 0x80860a2a, "????"                    }, // Haswell-ULT Integrated Graphics Controller
	{ 0x80860a2e, "HD Graphics 5100 Mobile" }, // AppleIntelHD5000Graphics.kext

//	{ 0x80860c02, "Haswell HD Graphics"	},
	{ 0x80860c06, "HD Graphics Mobile"	}, // AppleIntelHD5000Graphics.kext
//	{ 0x80860c12, "Haswell HD Graphics"	},
	{ 0x80860c16, "HD Graphics Mobile"	}, // AppleIntelHD5000Graphics.kext
	{ 0x80860c22, "HD Graphics"		}, // AppleIntelHD5000Graphics.kext
	{ 0x80860c26, "HD Graphics Mobile"	}, // AppleIntelHD5000Graphics.kext
//	{ 0x80860d12, "HD Graphics 4600"	},
	{ 0x80860d22, "HD Graphics 5200"	}, // AppleIntelHD5000Graphics.kext
//	{ 0x80860d16, "HD Graphics 4600 Mobile"	}, // Crystal Well Integrated Graphics Controller
	{ 0x80860d26, "HD Graphics 5200 Mobile" }, // Crystal Well Integrated Graphics Controller - AppleIntelHD5000Graphics.kext
//	{ 0x80860d36, "????"			}, // Crystal Well Integrated Graphics Controller

	/* - - */
Go to the full post


  • Please log in to reply
188 replies to this topic

#41
jsl

jsl

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 325 posts

My gigabyte bios has 'Internal Graphics Memory Size' set to the default of 64M; no panic with any of the 3 discussed ig-platform-ids. 0x03 0x00 0x22 0x0d is not 0MB. If you look at offset 0xc for that layout, FramebufferMemorySize, it is 0x1 which is 64MB.
Thanks, seems like we need a master how-to thread on simplified SSDT edits for uefi systems.
I don't believe you. At least with chameleon, the system SSDTs should be picked up regardless unless you've configured dropssdt.
For example, I'm patching HDEF and GFX0 via /Extra/SSDT.dsl, and my ioregistry has:
"PCITopLevel" = ("GFX0","B0D3","XHC","GLAN","EHC2","HDEF","EHC1","LPCB","SAT0","SBUS")

where B0D3 is only defined in my BIOS's SSDT4. So SSDT4 is being picked up automatically.
Maybe you need my dart=0 recommendation to avoid the VT-d booting problem? http://www.insanelym...p/#entry1867000
The most authoritative list of intel graphics PCIids is probably that from intel_driver.h in intel's xf86-video-intel source code release. Unfortunately that list is mapping the PCIids to the internal GT[123] names, not the marketing names...
I think it's a losing battle to make your config command use intel's marketing name. For haswell they already have 2 different naming schemes besides the internal GT[123] names (iris and hd graphics 4/5xxx)

Maybe you should just have a keyword like intel-integrated-hd and let the user specify all 4 bytes for AAPL,ig-platform-id as the value.

Thanks for your kind instruction and help.

You are right for that there is no need for /Extra SSDT-1~SSDT-7.aml. Only edited SSDT.aml is required.

However adding dart=0 does not work for my Asus Z87 Deluxe Dual. Originally Intel vd was disabled in BIOS.

I think kernelcache was not completely working because I had edited three kexts for IO80211(Airportbrcm4360), IOBluetoothFamily(BCM chip), and IOAHCIFamily.

By sudo kextcache -system-prelinked-kernel showed warn invalid signature for these 3 kexts.

Still waiting for further solution  from the expert like you.



#42
andrew89898

andrew89898

    InsanelyMac Protégé

  • Members
  • Pip
  • 16 posts
  • Gender:Male
Hi I am trying to make my Intel HD 4600 Graphics work on my machine, I have tried many DSDT edits but they have not worked. When I extracted my DSDT it had errors which I had and it had no IGPU device so I added it with the dsm method but I removed the line DTGP because it had a error now I realise I needed to add the method ! But I think I added it in the wrong scope and much more. As my DSDT didn't have anything about GFX0 or IGPU in it, I'm assuming it it's in the SSDT so I want to do a SSDT edit, I have booted back into windows opened Aida64 to find I have seven SSDTs.. Which one do I use and add the method to? Then do I just put it in /Extra/SSDT.aml? Thanks guys :) My mobo is a Gigabyte z87-hd3 with a i5 4670k no dedicated GPU.

edit: Did another edited dsdt with the dsm from the first post and now I black screen like others. Is this because its for display port and I'm hdmi? Do I need to change the aapl Id or edit appleintelftamebuffer.kext?

Thanks again. I'm on dp4. Using intel hd 4600 with hdmi did want to use VGA but someone told me this patch doesn't work with it and only hdmi.

#43
Cobra03

Cobra03

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 104 posts
  • Gender:Male
  • Location:US

Post your DSDT



#44
Demonbane

Demonbane

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 133 posts

anybody tried these ig-platform-ids on Laptop(Haswell-HD4400)?

 

Maybe it can also work! 

 

Has anybody tried?



#45
TimeWalker75a

TimeWalker75a

    InsanelyMac Legend

  • Gurus
  • 1,147 posts
  • Gender:Male

Any news re: HDMi audio on HD4600 ? I finally got my board delivered and after performing all the *usual* edits my HDACodecDevice is dead empty as mentioned earlier in the thread.



#46
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,741 posts
  • Gender:Male
  • Location:Canary Islands

The most authoritative list of intel graphics PCIids is probably that from intel_driver.h in intel's xf86-video-intel source code release. Unfortunately that list is mapping the PCIids to the internal GT[123] names, not the marketing names...
I think it's a losing battle to make your config command use intel's marketing name. For haswell they already have 2 different naming schemes besides the internal GT[123] names (iris and hd graphics 4/5xxx)

Maybe you should just have a keyword like intel-integrated-hd and let the user specify all 4 bytes for AAPL,ig-platform-id as the value.


Hi again... like this?
http://cgit.freedesk.../intel_driver.h

ErmaC

#47
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male

Hi again... like this?
http://cgit.freedesk.../intel_driver.h

ErmaC

Yes, exactly.

Any news re: HDMi audio on HD4600 ? I finally got my board delivered and after performing all the *usual* edits my HDACodecDevice is dead empty as mentioned earlier in the thread.

If the usual edits don't work (didn't do anything for me either; but then I didn't plug into a device with audio EDID so it shouldn't have worked...), then the next thing to check might be av-signal-type in the ioregistry (has to be 0x8 at least with nvidia HDMI http://www.projectos...ndpost&p=13585)

edit: see also connector-type

#48
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,741 posts
  • Gender:Male
  • Location:Canary Islands
well...
looking at the same "source" we can see useful name "scheme" http://cgit.freedesk.../intel_module.c
 
Spoiler


thanks again for point me here.

ErmaC

#49
TimeWalker75a

TimeWalker75a

    InsanelyMac Legend

  • Gurus
  • 1,147 posts
  • Gender:Male

If the usual edits don't work (didn't do anything for me either; but then I didn't plug into a device with audio EDID so it shouldn't have worked...), then the next thing to check might be av-signal-type in the ioregistry (has to be 0x8 at least with nvidia HDMI http://www.projectos...ndpost&p=13585)

edit: see also connector-type

av-signal-type is reported as digital HDMI (08 00 00 00), connector-type is reported as HDMI (00 08 00 00). No joy here .. codec device won't appear no matter what, as described above by @toleda.



#50
Cobra03

Cobra03

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 104 posts
  • Gender:Male
  • Location:US

This may or may not help. Im not really up on audio injection/HDA patching yet so take it a face value only. But HDMI will show in About this Mac and under speaker options in System preferences as a selectable item. I however, can't test as my monitor only has DVI input.

 

 

Attached Files



#51
toleda

toleda

    InsanelyMac Legend

  • Gurus
  • 1,182 posts
  • Gender:Male

This may or may not help. Im not really up on audio injection/HDA patching yet so take it a face value only. But HDMI will show in About this Mac and under speaker options in System preferences as a selectable item. I however, can't test as my monitor only has DVI input.

Voodoo and HDAEnabler1 see the codec, AppleHDA.kext does not.  Codec 0x80862807 is present in AppleHDA binary (Mavericks DPs).  I can make the HDMI/DP connector show up in System Information, unfortunately, cosmetic only.  Perhaps a native MacBookAir6,1 AppleHDA.kext might show something special.



#52
Cobra03

Cobra03

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 104 posts
  • Gender:Male
  • Location:US

Voodoo and HDAEnabler1 see the codec, AppleHDA.kext does not.  Codec 0x80862807 is present in AppleHDA binary (Mavericks DPs).  I can make the HDMI/DP connector show up in System Information, unfortunately, cosmetic only.  Perhaps a native MacBookAir6,1 AppleHDA.kext might show something special.

Well I wasn't sure Just getting into patching AppleHDA. But I see what you mean about Voodoo seeing the codec. I can tell you MacBookAir6,2 has no affect on Hdmi. I use this as my smbios and it is very complete. I did notice that a lot of my SSDT's contain much information about video and audio in my Z87 bios. There is B0D3 which is in SSDT that appears to have something to do with HDMI audio. However, renaming in to HDAU(as in real macbookair6,2) and injecting "audio onboard-1 or 2" still has no effect. See below:

Device (HDAU)
                {
                    Name (_ADR, 0x01)
                    OperationRegion (HDAH, PCI_Config, 0x00, 0x40)
                    Field (HDAH, ByteAcc, NoLock, Preserve)
                    {
                        VID0,   16, 
                        DID0,   16
                    }

                    Method (_DSM, 4, 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 (LNotEqual (And (VID0, 0xFFFF), 0xFFFF))
                            {
                                Store (Package (0x02)
                                    {
                                        "hda-gfx", 
                                        Buffer (0x0A)
                                        {
                                            "onboard-2"
                                        }
                                    }, Local0)
                                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                                Return (Local0)
                            }
                        }

                        Return (0x80000002)
                    }
                }
            }

This is DSDT.dsl from real Mac6,2



#53
Simonej

Simonej

    InsanelyMac Protégé

  • Members
  • PipPip
  • 62 posts
  • Gender:Male
  • Location:Venice(Italy)

there is a way to use EFI strings in OCB plist to enable HD4600? 



#54
Cobra03

Cobra03

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 104 posts
  • Gender:Male
  • Location:US

Try this:

7e0000000100000001000000720000000200000002010c00d041030a000000000101060000027fff0400180000004400650076006900630065002d00690064000000080000000300220d2c0000004100410050004c002c00690067002d0070006c006100740066006f0072006d002d00690064000000080000000300220d


#55
Demonbane

Demonbane

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 133 posts

Has anyone already tried this on I5-U4200(HD4400)?

 

If succeed, inform me plz!



#56
TimeWalker75a

TimeWalker75a

    InsanelyMac Legend

  • Gurus
  • 1,147 posts
  • Gender:Male

Hmm, been using 0000160a for some time and decided to spice things up a little. I've discovered that setting igd-platform to 0300220D makes my monitor (plugged in via HDMI) go all fuzzy on boot, but after about 10 seconds of tv-like fuzziness it switches on and reports to use LVDS connector-type (02 00 00 00).  I know that the port number for HDMI on my board is 0x6 so I went ahead and modified the 03 06 10 00 00 04 00 00 11 00 00 00 connector to be HDMI (00 04 -> 00 08) and left 11 as is (which to this days I have no idea what this byte stands for?) and screen remained fuzzy on boot. I then tried 11-> 06 as suggested by @toleda on the first page of this thread and it remained fuzzy. No changes with 07 or 82 either, connector-type remains LVDS. Reverting back to stock fb and setting igd-platform back to 0000160a again set the connector type on port 0x6 to HDMI (0008). How come LVDS connector appears in 0300220D if it's not there to begin with?



#57
Cobra03

Cobra03

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 104 posts
  • Gender:Male
  • Location:US

03 00 22 0D 00 03 03 03 00 00 00 02 00 00 00 01
00 00 00 00 00 00 00 40 99 14 00 00 99 14 00 00
00 00 00 00 00 00 00 00 
03 06 10 00 01 00 00 00
00 00 00 00 
01 05 12 00 04 00 00 00 00 00 00 00
02 04 14 00 00 08 00 00 00 00 00 00 FF 00 01 00
01 00 00 00 40 00 00 00 02 00 00 00 01 01 00 00
04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00

 

Try this. LVDS is there but there is a delay that set priority. The higher the delay the higher the priority. Not sure if thats what your after but its the best I got!  :) 



#58
TimeWalker75a

TimeWalker75a

    InsanelyMac Legend

  • Gurus
  • 1,147 posts
  • Gender:Male

Try this. LVDS is there but there is a delay that set priority. The higher the delay the higher the priority. Not sure if thats what your after but its the best I got!  :) 

Ughh .. So which is the actual byte that defines the delay ? And how come the higher the delay the higher the priority, this doesn't make sense to me .. it's like "waiting for and hour is faster than waiting for a minute"... Also, what kind of connector is 01 00 ??

03 06 10 00 01 00 00 00 00 00 00 00 
01 05 12 00 04 00 00 00 00 00 00 00
02 04 14 00 00 08 00 00 00 00 00 00
 

#59
Cobra03

Cobra03

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 104 posts
  • Gender:Male
  • Location:US

In original Framebuffer 82000000 32000000 04000000. It is removed from here to bypass a bug that showed up in DP4. Causing black screen on boot. However, this should still work now even with DP5 and fixed bug. Because we set order direct by 10 12 or 14. Changing order now give you ports 5,6,7. Well its actually 7,5,6 in this case.

 

I don't know that I completely understand the delay order 100%. But, it "appears" the longer delay is used first to check for external monitor on port we will call xx. If no external on xx than fall back to next priority yy(next highest).



#60
TimeWalker75a

TimeWalker75a

    InsanelyMac Legend

  • Gurus
  • 1,147 posts
  • Gender:Male

Ah, I see from where this comes now - Pike's blog .. should have read the post he made, but I couldn't be bothered since I don't have 10.9 nor do I plan installing any of DPs. Will give it a shot.

 

UPD:

Yeah, it appears to work flawlessly here, though I'm not sure what I've gained from it :D

HDMI codec is still not seen by the OS no matter what I had tried (also, I've tried getting a codec dump for it today from Ubuntu 12.04 and it was unable to detect HDMI codec either).







3 user(s) are reading this topic

1 members, 2 guests, 0 anonymous users


© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy