Jump to content

HD4000 full acceleration for 10.8 / 10.7.5

HD4000 3770 Mountain Lion Lion

  • Please log in to reply
124 replies to this topic

#61
chad3000

chad3000

    InsanelyMac Protégé

  • Members
  • Pip
  • 38 posts
I was having some issues with the information here, but I found this blog that explained things much better and even has a a modified chameleon installer package which worked great for me. So anyone thats having
any problems just click the link below and you wont have to weed through all the unnecessary posts try to to make sense of it all. This is a great tutorial on how to get the HD 4000 up and running.


http://blog.stuffedc...i-acceleration/

#62
franky1111

franky1111

    InsanelyMac Protégé

  • Members
  • Pip
  • 3 posts
Just maybe a stupid question: I only have a VGA Monitor does the VGA on the HD4000 work? Or do i need DVI or HDMI?

#63
McDan

McDan

    InsanelyMac Protégé

  • Members
  • Pip
  • 10 posts
I cant say about DVD player, as I dont yet even have a DVD drive in my hack - But I havent had a single crash, never mind a KP or anything, since I got this HD4000 enabled!

All in all, I am very very pleased!

#64
chad3000

chad3000

    InsanelyMac Protégé

  • Members
  • Pip
  • 38 posts

Just maybe a stupid question: I only have a VGA Monitor does the VGA on the HD4000 work? Or do i need DVI or HDMI?


I never tried VGA and since its not used on any new Macintosh computers my guess would be no, it wont work with VGA. I could be wrong? How can you have a HD Graphics 4000 processor with no DVI?

I never tried VGA and since its not used on any new Macintosh computers my guess would be no, it wont work with VGA. I could be wrong? How can you have a HD Graphics 4000 processor with no DVI?



What should work though is when you use the VGA to DVI adapter!! I think then its ok?

#65
chad3000

chad3000

    InsanelyMac Protégé

  • Members
  • Pip
  • 38 posts
Intel Graphics 4000 made easy! Just set your Graphics Memory in your BIOS to 96mb and install this modified chameleon bootloader and your done! Both DVI and HDMI will work....

http://www.osx86.net...do=file&id=2946

#66
franky1111

franky1111

    InsanelyMac Protégé

  • Members
  • Pip
  • 3 posts

I never tried VGA and since its not used on any new Macintosh computers my guess would be no, it wont work with VGA. I could be wrong? How can you have a HD Graphics 4000 processor with no DVI?
What should work though is when you use the VGA to DVI adapter!! I think then its ok?

My board has DVI-D, VGA and HDMI, however my Screen is VGA only. DVI to VGA will not work (or only an aktiv one) but how about this HDMI Adapter:

http://www.ebay.de/i...984.m1438.l2649

or would this work with the HD4000 as well?:

http://www.tonymacx8...=36335&start=40
or something like this
http://www.osx86.net...lsnbgra_...html

Thanks

franky

#67
be11o

be11o

    InsanelyMac Protégé

  • Members
  • Pip
  • 7 posts

I was having some issues with the information here, but I found this blog that explained things much better and even has a a modified chameleon installer package which worked great for me. So anyone thats having
any problems just click the link below and you wont have to weed through all the unnecessary posts try to to make sense of it all. This is a great tutorial on how to get the HD 4000 up and running.


http://blog.stuffedc...i-acceleration/

Also, the graphics memory size for the configuration

must


match the setting in BIOS. If they don’t match, the driver may crash (kernel panic at

gen7_memory.cpp:721

), or the display may be corrupted. For example, using configuration

0x01660000

(96 MB, 3 pipes, 4 ports), set the Graphics Memory Size to 96 MB to match. It appears that OS X doesn’t obey the DVMT Total Memory Size setting (always 512 MB with 8 GB system RAM), so I just left it as MAX to match.

this 1 just {censored} i have mine set to 128m and i use *005 aka

01620005 32 2 3

only thing u must have is (mac os must "see") 8Gb+ ram to set 128, bet if u have 16gb u can set 512 or 1024

for agpm to load u must edit AppleGraphicsPowerManagement.kext by adding

<key>Vendor8086Device0162</key>
<dict>
<key>GFX0</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>

GFX0 subject to change depending wut u use in dsdt (or bios use if u dont have dsdt)
pardon my english its not my native

#68
henry128

henry128

    InsanelyMac Protégé

  • Members
  • Pip
  • 2 posts

this 1 just {censored} i have mine set to 128m and i use *005 aka [/size][/font][/color][/left]
[left][color=#000000][font=verdana, arial, sans-serif][size=3]
only thing u must have is (mac os must "see") 8Gb+ ram to set 128, bet if u have 16gb u can set 512 or 1024


Be aware that Intel's GPUs use dynamic allocation of video RAM (DVMT, handled by the driver), so there are two memory size settings in BIOS. One controls the pre-allocated memory, the other sets the limit for dynamic allocation. The driver cares about the first, and seems to ignore the second.

I tested all of the platform-ids, and had odd problems when setting the pre-allocated memory below *or* above what the driver expects. I've had kernel panics, and I've also had it work ok with only a corrupted mouse pointer. I didn't exhaustively try all of the mismatched combinations, but none of the mismatched configurations I tried worked for me. It's clear the driver doesn't actually verify/enforce this value, so your configuration may simply be lucky.

The upper limit appears to be ignored by Mac OS, so the OS always reports 512MB for me (8 GB RAM). Since graphics memory is dynamically-allocated, I don't see much of a point in pre-allocating more (even if it works), since the total size will always be 512 MB anyway.

#69
be11o

be11o

    InsanelyMac Protégé

  • Members
  • Pip
  • 7 posts

Be aware that Intel's GPUs use dynamic allocation of video RAM (DVMT, handled by the driver), so there are two memory size settings in BIOS. One controls the pre-allocated memory, the other sets the limit for dynamic allocation. The driver cares about the first, and seems to ignore the second.

I tested all of the platform-ids, and had odd problems when setting the pre-allocated memory below *or* above what the driver expects. I've had kernel panics, and I've also had it work ok with only a corrupted mouse pointer. I didn't exhaustively try all of the mismatched combinations, but none of the mismatched configurations I tried worked for me. It's clear the driver doesn't actually verify/enforce this value, so your configuration may simply be lucky.

The upper limit appears to be ignored by Mac OS, so the OS always reports 512MB for me (8 GB RAM). Since graphics memory is dynamically-allocated, I don't see much of a point in pre-allocating more (even if it works), since the total size will always be 512 MB anyway.

differens 5Fps in unigine between 64 and 128 @ medium settings, i ran test few times in both 64 and 128 with restart between em just to be sure.

#70
tombosch

tombosch

    InsanelyMac Protégé

  • Members
  • Pip
  • 3 posts

@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:


Where do I must fill in the 'ig-platform-id'? Can't find my device ID either. Anybody knows how to find it on Mac?

#71
henry128

henry128

    InsanelyMac Protégé

  • Members
  • Pip
  • 2 posts

Where do I must fill in the 'ig-platform-id'? Can't find my device ID either. Anybody knows how to find it on Mac?


The PCI vendor and device IDs are listed in ioreg. (e.g., ioreg -l -p IODeviceTree). For me, it's vendor_id=86800000, device_id=62010000 (vendor 8086, device 0162).

"AAPL,ig-platform-id" is a device property set for the integrated GPU device. Setting a device property can be done by creating a "device-properties" string placed in org.chameleon.Boot.plist as in the post you quoted (the string is a plist with the property assignment encoded inside), or it can be done by the GraphicsEnabler code (one possibility is using the patch I posted here: http://blog.stuffedc...i-acceleration/). The two methods are equivalent.

#72
dta

dta

    InsanelyMac Protégé

  • Members
  • Pip
  • 17 posts
I found some additional device properties from MacBookAir5,2 and MacBookPro9,2 on this site http://tdev.me/2010/...ardware-dumps/.
Not sure if something is useful.

MacBookAir5,2:

<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<string>0x01660009</string>
<key>boot-gamma-restored</key>
<data>
AAAAAAAAAAA=
</data>
<key>graphic-options</key>
<string>0x0000000c</string>
<key>saved-config</key>
<data>
VQAAAAAAAAAAAAAAAAAAAAEAAgAJAGYBAAAAAgDSAPoAQAAAACYCEAeoBAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDAwEA
BhDwnAIBYAAAAAAAAAABApBaTAWgBYQDoAAAABoAAAAwACAAAwAGAKAFhAMA
GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA=
</data>
</dict>

MacBookPro9,2:

<key>PciRoot(0x0)/Pci(0x2,0x0)</key>
<dict>
<key>AAPL,ig-platform-id</key>
<data>
AwBmAQ==
</data>
<key>AAPL00,DataJustify</key>
<data>
AQAAAA==
</data>
<key>AAPL00,Dither</key>
<data>
AAAAAA==
</data>
<key>AAPL00,DualLink</key>
<data>
AAAAAA==
</data>
<key>AAPL00,InverterFrequency</key>
<data>
AAAAAA==
</data>
<key>AAPL00,LinkFormat</key>
<data>
AAAAAA==
</data>
<key>AAPL00,LinkType</key>
<data>
AQAAAA==
</data>
<key>AAPL00,PixelFormat</key>
<data>
AAAAAA==
</data>
<key>AAPL00,T1</key>
<data>
AAAAAA==
</data>
<key>AAPL00,T2</key>
<data>
AQAAAA==
</data>
<key>AAPL00,T3</key>
<data>
yAAAAA==
</data>
<key>AAPL00,T4</key>
<data>
yAAAAA==
</data>
<key>AAPL00,T5</key>
<data>
AQAAAA==
</data>
<key>AAPL00,T6</key>
<data>
AAAAAA==
</data>
<key>AAPL00,T7</key>
<data>
kAEAAA==
</data>
<key>boot-gamma-restored</key>
<data>
AAAAAAAAAAA=
</data>
<key>graphic-options</key>
<data>
BAAAAA==
</data>
<key>saved-config</key>
<data>
VQAAAAAAAAAAAAAAAAAAAAEAAgADAGYBAAAAAADIAMgAAAAAAF4BEAcPAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgUA
BhDFnAIBAAQAAAAAAAAAACBDUgQABSADjwAAAC4AAAAwACAAAwAGAAAFIAMA
FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA=
</data>
</dict>


#73
iHackintosh_PT

iHackintosh_PT

    InsanelyMac Protégé

  • Members
  • PipPip
  • 62 posts
  • Gender:Male
chad3000 its more easy just use a modified chameleon, instead of explain the necessary thing you should now, if you are a Hackintosh user..... thats why the world its so stupid and ignorant.....

#74
dta

dta

    InsanelyMac Protégé

  • Members
  • Pip
  • 17 posts
I fixed the sleep issue with the monitor staying black and not powering back on after wake!
It was USB related. I compared DSDTs from Apple's new MacBookAir5,2 and MacBookPro9,2 as well as the IOREGs.
You have to use a known USB fix and edit your DSDT and put the following DSM methods inside your USB devices (mine where EHC1, EHC2, XHC):


Method (_DSM, 4, NotSerialized)
{
	Store (Package (0x09)
		{
			"AAPL,current-available",
			0x0834,
			"AAPL,current-extra",
			0x0898,
			"AAPL,current-extra-in-sleep",
			0x0640,
			"AAPL,max-port-current-in-sleep",
			0x0834,
			Buffer (One)
			{
				 0x00
			}
		}, Local0)
	DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
	Return (Local0)
}

Please let me know if this fixes your wake issues.

#75
rr7

rr7

    InsanelyMac Protégé

  • Members
  • PipPip
  • 80 posts
  • Gender:Male
Hi,

i can inject the platform id via DSDT but when it boots i get a blank screen, as in the screen looks to be off, rather than any colour. this happens in nsafe mode too. i tried GE in chimera but it has the same effect.

all the while the computer still seems to be alive, just no display.

i suspect that the injector/hd4000 element is fine, there must be something else. the display is connected via LVDS as its an internal display. i was hoping to find answers as i'm sure this issue must affect laptop users?

i'm not sure where else to poke around....

#76
rr7

rr7

    InsanelyMac Protégé

  • Members
  • PipPip
  • 80 posts
  • Gender:Male

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.


Hi can you just tell me what symptoms you had before you worked all this out? i have an H61 chipset but apparrently there isnt much difference just some overclocking features etc disabled.

but i get a totally blank screen, even the backlight goes off. its connected via internal display LVDS > Displayport adaptor (desktop chipset doesnt have LVDS direct).

thanks!

#77
eroxm

eroxm

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts
My HD4000 (Core i5 3570k on ASRock Z77 Extreme 4) works with full Resolution and QE/CI enabled. What ist not working is my second screen. The first one is connected to the DVI port, the second one to the HDMI port. I tried the VGA port alternatively for the second screen, but the result is the same. Everything I see on the screen is garbaged stripes. Do you think an EFI string could fix this? I have the latest Chimera installed running with GraphicsEnabler=yes.

#78
rr7

rr7

    InsanelyMac Protégé

  • Members
  • PipPip
  • 80 posts
  • Gender:Male

My HD4000 (Core i5 3570k on ASRock Z77 Extreme 4) works with full Resolution and QE/CI enabled. What ist not working is my second screen. The first one is connected to the DVI port, the second one to the HDMI port. I tried the VGA port alternatively for the second screen, but the result is the same. Everything I see on the screen is garbaged stripes. Do you think an EFI string could fix this? I have the latest Chimera installed running with GraphicsEnabler=yes.


sounds like our problems are similar, except i have no primary screen. can you post your DSDT and ioreg?

#79
eroxm

eroxm

    InsanelyMac Protégé

  • Members
  • Pip
  • 24 posts
I installed using ####### with ####### setting (no DSDT) to get the system to work at first and now I try to work out everything that's not how it's supposed to be. First thing that I did now was getting native power management to work with the help of a modified BIOS patched by samisnake (tonymacx86 forums, don't know if he's active here too). Next step is now getting the graphics to work properly (with two screens) and get a good DSDT and SSDT. If posting my ioreg is helpful I can do it, but to be honest, I don't know how to get it ^_^

#80
rr7

rr7

    InsanelyMac Protégé

  • Members
  • PipPip
  • 80 posts
  • Gender:Male
Google "dsdt se" and download it, it does dsdt, ssdt and ioreg :)





Also tagged with one or more of these keywords: HD4000, 3770, Mountain Lion, Lion


2 user(s) are reading this topic

0 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