Contribute
Register

i5-2500k (device ID 0x0112) owners thread: HD 3000 QE/CI

Status
Not open for further replies.
Joined
May 3, 2012
Messages
56
Motherboard
GA-Z68A-D3H-B3 (UEFI bios, Clover legacy)
CPU
i5-2500k/Z68
Graphics
HD 3000 (2 monitors) + GTX 580 (1 monitor)
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
Has anyone here managed to get the HD 3000 on the i5-2500k chip (vendor 0x8086 device ID 0x0112) working without hacks? Despite Chameleon having support for the HD 3000 chips I've found that with or without GraphicsEnabler the GPU is still detected as 0x0112 by the OS and a DSDT hack is required to inject a fake device ID such as 0x0126. Once the injection is done it works flawlessly, so it looks like something's gone amiss somewhere since it's not a hardware incompatibility. For those interested, I posted details on doing this here: http://www.tonymacx86.com/mountain-...or-intel-hd3000-integrated-nvidia-gtx460.html

I recently flashed my board with UEFI BIOS and so I no longer use a DSDT, and therefore have lost QE/CI on the HD 3000 onboard graphics. Has anyone else with the i5-2500k found a solution to this problem?


As well, is this a bug in OS X or Chameleon? I may be wrong, but it is of my understanding that GraphicsEnabler=yes injects the device ID 0x0126 for HD 3000 graphics, leading me to believe this may be a bug in Chameleon.

Edit: I should note that I've already tried adding "0x01128086" as well as "01128086" to the kexts and it didn't change anything.
Edit 2: For those still wanting to use the HD 3000 without QE/CI, use "GraphicsMode=WidthxHeightxDepth" in /Extras/org.chameleon.boot.plist, for example:
Code:
    ...
    <key>Graphics Mode</key>
    <string>1920x1080x32</string>
</dict>
</plist>
 
Wow - I did some testing and it turns out that getting the 0x0112 HD 3000 fully working on the new Gigabyte UEFI BIOS is incredibly easy without using any DSDT patches!

I took the following steps to get it working:
  • In BIOS, set Init Display First to "IGFX" (the HD 3000). It will NOT work on PEG or Auto.
  • In BIOS, set IGFX memory to 384MB or higher
  • Install Mountain Lion
  • Edit the following two files:
    Code:
    /System/Library/Extensions/AppleIntelHD3000Graphics.kext/Contents/Info.plist
    /System/Library/Extensions/AppleIntelSNBGraphicsFB.kext/Contents/Info.plist
    In both you will see a key called IOPCIPrimaryMatch where its corresponding value contains a list of device IDs such as 0x01268086 0x01168086 <etc>. Add 0x01128086 to it.
  • Regenerate the kernel cache:
    Code:
    sudo kextcache -system-prelinked-kernel -arch x86_64
    sudo kextcache -system-caches -arch x86_64
  • Reboot

If it doesn't work, you may need to run Repair Permissions to ensure that the edits are accepted; afterwards Info.plist should be owned by root/wheel with permission 644:
Code:
# ls -l /System/Library/Extensions/AppleIntelHD3000Graphics.kext/Contents/Info.plist /System/Library/Extensions/AppleIntelSNBGraphicsFB.kext/Contents/Info.plist
-rw-r--r--  1 root  wheel  2740 31 Aug 18:16 /System/Library/Extensions/AppleIntelHD3000Graphics.kext/Contents/Info.plist
-rw-r--r--@ 1 root  wheel  7363 31 Aug 18:16 /System/Library/Extensions/AppleIntelSNBGraphicsFB.kext/Contents/Info.plist
 
i really cant find solution for change resolution any idea?
so many thanx
 
Wow - I did some testing and it turns out that getting the 0x0112 HD 3000 fully working on the new Gigabyte UEFI BIOS is incredibly easy without using any DSDT patches!

I took the following steps to get it working:
  • In BIOS, set Init Display First to "IGFX" (the HD 3000). It will NOT work on PEG or Auto.
  • In BIOS, set IGFX memory to 384MB or higher
  • Install Mountain Lion
  • Edit the following two files:
    Code:
    /System/Library/Extensions/AppleIntelHD3000Graphics.kext/Contents/Info.plist
    /System/Library/Extensions/AppleIntelSNBGraphicsFB.kext/Contents/Info.plist
    In both you will see a key called IOPCIPrimaryMatch where its corresponding value contains a list of device IDs such as 0x01268086 0x01168086 <etc>. Add 0x01128086 to it.
  • Regenerate the kernel cache:
    Code:
    sudo kextcache -system-prelinked-kernel -arch x86_64
    sudo kextcache -system-caches -arch x86_64
  • Reboot

If it doesn't work, you may need to run Repair Permissions to ensure that the edits are accepted; afterwards Info.plist should be owned by root/wheel with permission 644:
Code:
# ls -l /System/Library/Extensions/AppleIntelHD3000Graphics.kext/Contents/Info.plist /System/Library/Extensions/AppleIntelSNBGraphicsFB.kext/Contents/Info.plist
-rw-r--r--  1 root  wheel  2740 31 Aug 18:16 /System/Library/Extensions/AppleIntelHD3000Graphics.kext/Contents/Info.plist
-rw-r--r--@ 1 root  wheel  7363 31 Aug 18:16 /System/Library/Extensions/AppleIntelSNBGraphicsFB.kext/Contents/Info.plist

The disadvantage of doing it this way is that every time there is an update to OS X you will need to do this again. If you are okay with that, then of course this is fine.

Contrary to what you might think, you can still use DSDT with UEFI bios. It just means you have to extract your DSDT from the system and then add the patch for HD 3000. It isn't too hard and then once the DSDT has been patched you will never need to patch those kexts.... you also of course will then be able to add patches to get your HDMI audio working.

There are many ways to extract your DSDT. One simple way is to copy and paste this script into terminal:

sudo perl -e 'open(CMD, "ioreg -lw0 \| grep DSDT|") or die; while(<CMD>) { chomp; if($_ =~ /\"DSDT\.?\d?\"=<([^>]*)>/) { $buff = $1; open(PIP, "|xxd -r -p > ~/Desktop/dsdt.aml") or die; print PIP "$1"; } }'

It will ask you for your password and after you have input that it will put your DSDT.aml file onto your desktop. Then you can add any patch you want.
 
The disadvantage of doing it this way is that every time there is an update to OS X you will need to do this again. If you are okay with that, then of course this is fine.

Contrary to what you might think, you can still use DSDT with UEFI bios. It just means you have to extract your DSDT from the system and then add the patch for HD 3000. It isn't too hard and then once the DSDT has been patched you will never need to patch those kexts.... you also of course will then be able to add patches to get your HDMI audio working.

There are many ways to extract your DSDT. One simple way is to copy and paste this script into terminal:

sudo perl -e 'open(CMD, "ioreg -lw0 \| grep DSDT|") or die; while(<CMD>) { chomp; if($_ =~ /\"DSDT\.?\d?\"=<([^>]*)>/) { $buff = $1; open(PIP, "|xxd -r -p > ~/Desktop/dsdt.aml") or die; print PIP "$1"; } }'

It will ask you for your password and after you have input that it will put your DSDT.aml file onto your desktop. Then you can add any patch you want.

Does this solution work for anyone? I've been searching for HD3000 full qe/ci with 10.8.4, and have had only partial success. I have ID x0112, and have been able to get dual monitor and full resolution working, however, I don't have full acceleration. I have Chimera 2.1 (I think off the top of my head) installed, and I have injected the kexts as shown above. Am I missing something, or am I just out of luck?

Also, the graphics show up as full HD3000 512mb (if that helps)...

Any help would be so much appreciated...
 
How are you testing for full acceleration? As well, be sure that you ran the cache regeneration steps... I've found that you can get some bizarre results if you don't.
 
How are you testing for full acceleration? As well, be sure that you ran the cache regeneration steps... I've found that you can get some bizarre results if you don't.

I open the DVD Player app and it fails. Also, VLC tells me that QE is not enabled and the video won't play. I'm assuming by cache regeneration you mean to repair permissions and caches after installing kexts? If so, then yes, I have done that every time. If you mean something else, could you please explain?

Thanks for replying!
 
Status
Not open for further replies.
Back
Top