Jump to content
proteinshake

HD4000 full acceleration for 10.8 / 10.7.5

126 posts in this topic

Recommended Posts

No, I don't need a dedicated gfx-card. The HD4000 integrated into Ivy Bridge 3770 will do for me, as well as for many others. I thought I'd share the little I know about how to get it to run actually. Depending on your hardware this may or may not work - it works perfectly fine for me. Okay, let's get started by dumping some lines of DSDT:

 

 

		Device (MEI)
		{
			Name (_ADR, 0x00160000)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id",
						Buffer (0x04)
						{
							0x3a, 0x1e, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
		}

 

I've got a H67 Chipset here, so I'm using device MEI to change my device-id from 3A1C to 3A1E.

Otherwise AppleIntelSNBGraphicsFB.kext will block AppleIntelFramebufferCapri.kext.

 

 

		Device (IGPU)
		{
			Name (_ADR, 0x00020000)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x0C)
					{
						"AAPL,ig-platform-id",
						Buffer (0x04)
						{
							0x09, 0x00, 0x66, 0x01
						},
						"device-id",
						Buffer (0x04)
						{
							0x66, 0x01, 0x00, 0x00
						},
						"vendor-id",
						Buffer (0x04)
						{
							0x86, 0x80, 0x00, 0x00
						},
						"subsystem-vendor-id",
						Buffer (0x04)
						{
							0x6b, 0x10, 0x00, 0x00
						},
						"subsystem-id",
						Buffer (0x04)
						{
							0xea, 0x00, 0x00, 0x00
						},
						"revision-id",
						Buffer (0x04)
						{
							0x09, 0x00, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}
		}

 

AAPL,ig-platform-id was the key to get the HD4000 kext's to load. No go without it. Lastly you may want to modify AppleGraphicsPowerManagement.kext. I'm using the macmini5,1 definition, so this is my edit:

 

 

 

 



<key>Mac-8ED6AF5B48C039E1</key>
<dict>
  <key>IGPU</key>
  <dict>
  <key>Heuristic</key>
  <dict>
	 <key>EnableOverride</key>
	 <integer>0</integer>
	 <key>ID</key>
	 <integer>2</integer>
  </dict>
	 <key>control-id</key>
	 <integer>16</integer>
	<key>max-power-state</key>
	<integer>10</integer>
	<key>min-power-state</key>
	<integer>0</integer>
  </dict>
</dict>


 

Good luck! :wink2:

 

Cinebench R11.5 is around 23fps with 12A256 btw.

Share this post


Link to post
Share on other sites
Advertisement

This sound promising. I am planning to buy the gigabyte GA-Z77-DS3H with i5-3570K do you think it will work at what are the strings I would have to add?

Not a total noob (god a acer AOA150 running and fully working with 10.6.6) but now i would like to upgrade my desktop PC.......and run Lion and soon Mountain Lion.

Share this post


Link to post
Share on other sites

Hi,iv got core i73610QM 2.3 Ghz ... i didn't need to change nothing on DSDT.aml to load AppleIntelFramebufferCapri.kext ... Also it loads the AppleIntelHD4000Graphics.kext AGPM not loading.... no qe/ci at the moment..... Lion 10.7.5 / Mountain Lion 10.8 GM (12A269) Asus A55VD Core i7 3610QM IntelHD4000 Nvidia GeForce GT610M 2 GB 6 GB RAM

Share this post


Link to post
Share on other sites

Hey!

 

I've got i5-3570K, GA-Z77X-UD5H, injected HD 4000 successfully as described above, but still no qe/ci .. I guess it's cause the AppleGraphicsPowerManagement.kext makes trouble at startup (or rather doesn't get loaded):

 

Jul  9 20:57:47 Mac-Pro kernel[0]: kxld[com.apple.driver.AGPM]: The following symbols are unresolved for this kext:
Jul  9 20:57:47 Mac-Pro kernel[0]: kxld[com.apple.driver.AGPM]:  __ZN15AGPMEventSource9metaClassE
Jul  9 20:57:47 Mac-Pro kernel[0]: kxld[com.apple.driver.AGPM]:  __ZN4AGPM17newAGPMHeuristic4Ev
Jul  9 20:57:47 Mac-Pro kernel[0]: Cant load kext com.apple.driver.AGPM - link failed.
Jul  9 20:57:47 Mac-Pro kernel[0]: Failed to load executable for kext com.apple.driver.AGPM.
Jul  9 20:57:47 Mac-Pro kernel[0]: Kext com.apple.driver.AGPM failed to load (0xdc008016).
Jul  9 20:57:47 Mac-Pro kernel[0]: Failed to load kext com.apple.driver.AGPM (error 0xdc008016).

 

.. any idea? It loads AppleIntelFramebufferCapri.kext btw

 

edit: some info about AAPL,ig-platform-id I found: #####

Share this post


Link to post
Share on other sites

I have a Z77X-UD5H too, but with a 3770k - can you point me in the right direction to apply the instructions above? I couldnt really see where in my DSDT i was supposed to make the edits to add the IGPU device (its not there at present)

 

I understand that it doesn't result in qe/ci being enabled but is a step forward at least. its the only thing left for me to get working on this otherwise great setup.

 

Cheers

Share this post


Link to post
Share on other sites

if the IGPU device doesn't appear in your DSDT, it's just named differently (like eg GFX0), I think you should rename it (and any appearance of course) to IGPU, since it seems to be the name, Apple uses for internal graphics

Share this post


Link to post
Share on other sites

Really... it was all about one device-properties string on org,chameleon.Boot.plist iv used ( ig-platform-id: 01660003, Stolen RAM for FB: 64MB, Pipes: 2, Ports: 2, FBMem: 2 ) from the topic of Wollvieh .... i can post mi entire string and then you just need to try all those combinations only changing the last number .... first i tried 01660009,but gave me a black screen... second try, buummmmm... QE/CI .... iv just changed the 9 to a 3 .....

Share this post


Link to post
Share on other sites

Can

Really... it was all about one device-properties string on org,chameleon.Boot.plist i use (

ig-platform-id: 01660003, Stolen RAM for FB: 64MB, Pipes: 2, Ports: 2, FBMem: 2)

 

Can you post your dsdt.aml ?

Share this post


Link to post
Share on other sites

Yes, i can post my DSDT, but i didn't changed nothing on the dsdt.... it was all about this simple string generated with gfxutil.app ( thank´s to Oldnapalm ) and to artur_pt for his help also .... proteinshake for his tip.... respect to all of you......

 

Asus A55VD Extra Folder with the string on org.chamelon.Boot.plist http://www.sendspace.com/file/0thtu0

Share this post


Link to post
Share on other sites

Hey!

 

I've got i5-3570K, GA-Z77X-UD5H, injected HD 4000 successfully as described above, but still no qe/ci .. I guess it's cause the AppleGraphicsPowerManagement.kext makes trouble at startup (or rather doesn't get loaded):

 

Jul  9 20:57:47 Mac-Pro kernel[0]: kxld[com.apple.driver.AGPM]: The following symbols are unresolved for this kext:
Jul  9 20:57:47 Mac-Pro kernel[0]: kxld[com.apple.driver.AGPM]:  __ZN15AGPMEventSource9metaClassE
Jul  9 20:57:47 Mac-Pro kernel[0]: kxld[com.apple.driver.AGPM]:  __ZN4AGPM17newAGPMHeuristic4Ev
Jul  9 20:57:47 Mac-Pro kernel[0]: Cant load kext com.apple.driver.AGPM - link failed.
Jul  9 20:57:47 Mac-Pro kernel[0]: Failed to load executable for kext com.apple.driver.AGPM.
Jul  9 20:57:47 Mac-Pro kernel[0]: Kext com.apple.driver.AGPM failed to load (0xdc008016).
Jul  9 20:57:47 Mac-Pro kernel[0]: Failed to load kext com.apple.driver.AGPM (error 0xdc008016).

 

.. any idea? It loads AppleIntelFramebufferCapri.kext btw

 

edit: some info about AAPL,ig-platform-id I found: http://www.tonymacx8...p?f=169&t=65592

 

Hi, I have the same board as you, can you post your dsdt ?

Share this post


Link to post
Share on other sites

This is all about just a simple efi-string...i dont no where are the supposed GURUS ..... but like always, peopple came here to pick up information on how to get it to work,and then they will post on those {censored} forums saying that its they work.....

Share this post


Link to post
Share on other sites
Yes, i can post my DSDT, but i didn't changed nothing on the dsdt.... it was all about this simple string generated with gfxutil.app ( thank´s to Oldnapalm ) and to artur_pt for his help also .... proteinshake for his tip.... respect to all of you...... Asus A55VD Extra Folder with the string on org.chamelon.Boot.plist http://www.sendspace.com/file/0thtu0

its not dsdt nor string, its InstallGenieo...

Share this post


Link to post
Share on other sites

I can confirm that this works. Tried it on my MSI Z77A-G43 with i7 3770K and ig-platform-id: 01660009. I did this using EFI string injection. Will do some more test on what is actually needed and what not.

 

Update:

OK, there's actually nothing more needed than this simple EFI string ... no DSDT or whatsoever. Thank you so much for figuring this out!

Share this post


Link to post
Share on other sites

@dta: would you share your EFI string? I'm still stuck (KPs, funny stripes, ...)

 

edit: got it! works for me now with this one:

ig-platform-id: 01620005, Stolen RAM for FB: 32MB, Pipes: 2, Ports: 3, FBMem: 2

 

-> EFI string for device-properties in org.chameleon.Boot.plist:

8800000001000000010000007c0000000200000002010c00d041030a000000000101060000027fff0400100000006d006f00640065006c0000001a000000496e74656c20484420477261706869637320343030302c0000004100410050004c002c00690067002d0070006c006100740066006f0072006d002d006900640000000800000005006201

 

:trumpet:

Share this post


Link to post
Share on other sites

@dta: would you share your EFI string? I'm still stuck (KPs, funny stripes, ...)

 

edit: got it! works for me now with this one:

ig-platform-id: 01620005, Stolen RAM for FB: 32MB, Pipes: 2, Ports: 3, FBMem: 2

 

-> EFI string for device-properties in org.chameleon.Boot.plist:

8800000001000000010000007c0000000200000002010c00d041030a000000000101060000027fff0400100000006d006f00640065006c0000001a000000496e74656c20484420477261706869637320343030302c0000004100410050004c002c00690067002d0070006c006100740066006f0072006d002d006900640000000800000005006201

 

:trumpet:

 

Your platform ID does also work on my board. I think using your ig-platform-id: 01620005 is a better idea because 0162 is actually the desktop chipset which has a variable clock rate from 650-1150 while the mobile chipsets (0166) have a clock rate from 350-1300.

As proteinshake pointed out it might be neccessary to edit AppleGraphicsPowerManagement.kext.

Share this post


Link to post
Share on other sites

yes, also mobile ig-platform-ids didn't work for me at all .. (and I edited the AGPM kext, don't know if it'd work without that)

Share this post


Link to post
Share on other sites

I have a GA-Z77X UD5H and a GTX 560 TI, with the EFI string I got to the desktop UI, I could check that the AirPlay to Apple TV showed up but didn't had time for much more because it panics. Is it possible to have both HD4000 and GTX 560ti enabled ?

Share this post


Link to post
Share on other sites

Hmm, I can't get AGPM to load. Tried different models in SMBIOS, but nothing worked. Also I've noticed that there is now no more TurboBoost, highest clock is standard clock ... but I think this might be normal due to max TDP restrictions? Not normal should be that I'm now only getting 2 pstates using the generators in Chameleon. Before enabling the HD4000 I've been getting a minimum of 6 pstates.

 

Update:

I have fixed the TurboBoost issue (had to enable "Adjust CPU Frequency in OS" in BIOS), weird because with HD4000 disabled I didn't had to do that. Pstates are still not working correctly, Chameleon simply doesn't generate them. I suppose it would work if I would create my own SSDT.

 

Update2:

Everything Fixed! See post #41

Share this post


Link to post
Share on other sites

Taruga

Is it possible to have both HD4000 and GTX 560ti enabled ?

 

 

When I try HD4000 and GTX570, I get the following error message in bdmesg:

 

nVidia GeForce GTX 570 -4095MB NV1ff [10de:1086] :: PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)

ERROR: dcbtable_version is 0x7

ERROR: nVidia ROM Patching Failed

 

Usually KPs. It does boot successfully after many tries (10 - 20) and on restart, same problem. Appears to be a Chameleon problem.

 

Works perfectly with HD6870/HD4000.

Share this post


Link to post
Share on other sites

Taruga

Is it possible to have both HD4000 and GTX 560ti enabled ?

 

 

When I try HD4000 and GTX570, I get the following error message in bdmesg:

 

nVidia GeForce GTX 570 -4095MB NV1ff [10de:1086] :: PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)

ERROR: dcbtable_version is 0x7

ERROR: nVidia ROM Patching Failed

 

Usually KPs. It does boot successfully after many tries (10 - 20) and on restart, same problem. Appears to be a Chameleon problem.

 

Works perfectly with HD6870/HD4000.

 

Are you using EFI string and graphicsenabler together?

Share this post


Link to post
Share on other sites
Your platform ID does also work on my board. I think using your ig-platform-id: 01620005 is a better idea because 0162 is actually the desktop chipset which has a variable clock rate from 650-1150 while the mobile chipsets (0166) have a clock rate from 350-1300. As proteinshake pointed out it might be neccessary to edit AppleGraphicsPowerManagement.kext.
can u post efi string you used thx

Share this post


Link to post
Share on other sites

Any ideas how to stop AppleIntelSNBGraphicsFB.kext

from blocking

AppleIntelFramebufferCapri.kext without DSDT ?

I have a Z68X board with the new UEFI bios (so I don't have/use a DSDT) and the Capri kext is getting blocked no matter what EFI string I use. Could it be possible to change the device-id of the MEI device using another EFI string ? Also, does Chameleon support multiple EFI strings, and if it does, how to put them in the plist ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By twikoffin
      Hello. My hardware is:
      AMD Athlon X2 7750 dual-core
      Gigabyte NVIDIA 8400GS 512MB ( [VGA] ,HDMI,DVI)
      Motherboard Gigabyte based on NFORCE without AHCI support (only IDE)
      I have successfully installed Mac OS Yosemite, Mavericks and El Capitan with AppleNFORCEATA.kext
      But I can't use it with Mac OS 10.8, don't know why, it just gives error and my internal HDD's are not appearing in Disk Utility.

       
         
    • By fagner_sbs
      Hello! Sorry for the way of writing in English, I'm using google translator.
      I am several days trying to make my Mojave hakintosh work perfectly. However, I have reached a point where I can no longer proceed without help.
      Almost all hardawares were installed and recognized (using the clover). However, still have a panic kernel (capture attached). Every time, when connecting the MAC it restarts 2 or 3 times to be able to show the dekstop and to function normal. I also think that having problem with video graphics sometimes freezes the entire display system if video appears on a web page.
      I've attached a file with used files: clover, bios capture, complete hardware information, error capture(https://1drv.ms/u/s!AvhW45_HBY8zgfsySZPWZ-SZXFiMfA). Can someone help me?
       
      Notebook:
      Mobile DualCore Intel Core i7-3537U, 2000 MHz (20 x 100), 4 threads
      Asus K46CB Series Notebook
      Intel Panther Point HM76, Intel Ivy Bridge-MB
      16269 MB  (DDR3 SDRAM)
      BIOS AMI (05/17/2013)
      Vídeo:
      Intel(R) HD Graphics 4000                         10.18.10.4358
      NVIDIA GeForce GT 740M                            25.21.14.1634
    • By Vinesh
      Ola, tenho um problema meu Hackintosh só reconhece 4MB da placa gráfica e isso de certa forma deixa meu sistema lento demais.
       
      Minha config.plist: config.plist
    • By hornpipe2
      I have a Mac Mini 2006 (upgraded) with Intel GMA950 graphics, running MLPostFactor 10.8.5.  It is connected to an ASUS VS197 LCD panel using DVI-D.  This is natively a 1366x768 panel that is recognized and works fine.
       
      However, the other choices for resolution are 4:3 800x600 and 1024x768, and then the oddballs 832x624 and 1360x768.  None of these are useful as a low-resolution widescreen for gaming or watching DVD content.  Specifically I want to get access to 848x480 or 854x480, and also 1024x576.  SwitchResX makes these choices available, but it doesn't work with a "full screen" game, presumably because the game directly queries OSX Display to get a list of valid resolutions and SwitchResX is bypassing that system instead.
       
      So the solution is obvious: buy a new computer pull the monitor's EDID data, hack it to enable new resolutions, and then tell OSX to use this custom EDID instead of the one retrieved from the monitor.
       
      Following the steps of the EDID injection guide, here is where I am:
       
      * Retrieve EDID, DisplayVendorID etc from ioreg.
      00 FF FF FF FF FF FF 00 04 69 F2 19 24 94 00 00 31 16 01 03 80 29 17 78 EA F5 45 A4 55 50 9E 27 0F 50 54 BD EE 00 81 C0 01 01 01 01 01 01 01 01 01 01 01 01 01 01 66 21 56 AA 51 00 1E 30 46 8F 33 00 9A E6 10 00 00 1E 00 00 00 FD 00 32 4B 18 53 11 00 0A 20 20 20 20 20 20 00 00 00 FC 00 41 53 55 53 20 56 53 31 39 37 0A 20 20 00 00 00 FF 00 43 43 4C 4D 54 46 30 33 37 39 32 34 0A 00 F1 * Use an EDID editor to enable new 848x477 and 1024x576 resolutions.  (Verify with an online EDID tool, and compare to the previous version)
      00 FF FF FF FF FF FF 00 04 69 F2 19 24 94 00 00 31 16 01 03 80 29 17 78 EA F5 45 A4 55 50 9E 27 0F 50 54 BD EE 00 81 C0 4B C0 4B CA 4B CF 61 C0 61 CA 61 CF 01 01 66 21 56 AA 51 00 1E 30 46 8F 33 00 9A E6 10 00 00 1E 00 00 00 FD 00 32 4B 18 53 11 00 0A 20 20 20 20 20 20 00 00 00 FC 00 41 53 55 53 20 56 53 31 39 37 0A 20 20 00 00 00 FF 00 43 43 4C 4D 54 46 30 33 37 39 32 34 0A 00 47 * Create a new subfolder and plist within /System/Library/Overrides/Display/ containing the new EDID string and monitor name.
      * Reboot.
       
      Now the problems begin.  Even though the plist file is being read (which I know because the Monitor Name has changed in Displays), the custom EDID is not being used.  When I dig into IORegExplorer I am able to come up with AAPL00,EDID string and it is the unmodified one read from the monitor.  I even tried a plug-and-unplug while OSX is running, and also tried to reset the SMC and NVRAM, but no dice.
       
      Do I need to start digging into DSDT hacking?  Is the Intel driver pulling down EDID during boot and I need to override it somewhere else?  What am I missing here?
    • By lenny11
      I have that machine with an HP Advanced Docking Station. Everything else works great. I have 3 drives set up with OS X Sierra, Windows, and Linux. I can use three external monitors with Windows 10 and Ubuntu 16, works flawlessly. I also have a desktop Nvidia Hackintosh that can. The monitors are DELL U2410f DisplayPort(two monitors must be DP or Active Adapters for 3 screens to work). The machine is a rev 9 HD4000 with a 1600X900 panel.
       
      However OS X struggles to detect the third monitor. It will activate the third monitor and put it right to sleep.
      Docking station has
      DVI.  DVI
      DP.    DP
      (using DP)
       
      Notebook Has a DP out
       
      VGA never used, No HDMI
       
      I can use any combination of two screens, internal or external.
       
      Here is my frame buffer for starters, 
      Here is the original AppleCapriFrameBuffer: 09 00 66 01 01 03 03 03 00 00 00 04 . - 09/ 3 ports 00 00 00 01 00 00 00 60 10 07 00 00 - 10 07 00 00 00 00 00 00 00 00 00 00 - 00 00 00 00 50 29 04 00 00 00 00 00 - 01 00 00 00 02 00 00 00 30 00 00 00 - LVDS 02 05 00 00 00 04 00 00 07 01 00 00 - DVI 03 04 00 00 00 04 00 00 07 01 00 00 -DP I edited it to this, but did not really get a change: 09 00 66 01 01 03 04 03 00 00 00 04 - 4th port 00 00 00 01 00 00 00 60 10 07 00 00 10 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 29 04 00 00 00 00 00 01 00 00 00 02 00 00 00 30 00 00 00 02 05 00 00 00 04 00 00 07 01 00 00 03 04 00 00 00 04 00 00 07 01 00 00 03 04 00 00 00 04 00 00 07 01 00 00 - Another dp? Is there anything else to try? I saw some stuff for desktop, but I'm not sure if it applies to notebooks.
      Thanks
×