Jump to content

[GUIDE] 1st Generation Intel HD Graphics QE/CI

Intel GMA HD Arrandale Intel GMA 5700HD

  • Please log in to reply
962 replies to this topic

#1
GhostRaider

GhostRaider

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 379 posts
  • Gender:Male

*
POPULAR

RJ0Kr.png

Welcome to the Intel® HD Graphics guide for computers with a 1st Generation Intel® Core™ Processor (Arrandale). Before you begin, you will need to have OS X working properly on your computer before you attempt to enable graphics acceleration. This is to ensure that everything will work out as smoothly as possible. If you do not have OS X working on your computer, you can find more information about how to install OS X on your computer by searching around the InsanelyMac forums. Please keep in mind that every computer will be different. In other words, your computer's performance will vary and not all computers will have graphics acceleration due to the OEM's hardware configuration.

OS X was never designed for PCs, but you can make it work like a Mac! Don't expect everything to be working though. In the case of your Intel® HD Graphics IGPU, your mileage may vary (YMMV). More information about this will be presented as you read along.

Before we begin, with the help of the community, this guide was made possible. I want to give all credit to iWin32, RemC, Mehdymehdy, Verteks, Giofrida, mnorthern, and voidRunner from the InsanelyMac community, and Orlian, dmazar, Slice for their discoveries as well as all of the InsanelyMac community members who continue to tinker around and helping the community out to enhance our Intel® HD Graphics experience!

If this guide has helped you, be sure to press the like button. :)

Now, let's begin!

 

3rPRq.png

 

Hardware is what basically makes a computer work. For this guide, you need to have an Intel® processor. These processors were released in 2010 which means that if you bought a laptop that was made in 2010, then most likely it will have an Intel Arrandale processor. Inside this processor, there is a integrated graphics processing unit, or IGPU for short. This IGPU is known as simply Intel® HD Graphics. 

 

Note: Intel also uses the name "Intel® HD Graphics" for the IGPU inside Sandy Bridge, Ivy Bridge, and Haswell Celeron and Pentium processors. This guide is only for Arrandale processors only.

 

In short, your computer must have one of these processors for this guide:

 

Gq7h.png

Note: If your i3-3xxM, i5-5xxM or i7-7xxM model is not listed, do not panic! It's only a sample list.

 

All of these processors include the Intel® HD Graphics IGPU. They also have Device ID as 0042 or 0046 and Vendor ID as 8086.

If your computer has one of these processors, you are good to go and you can continue to read the other sections!

 

But wait, what if your computer has a dedicated graphics GPU such as NVIDIA or ATI? Here are the choices you can do if you have either of these:

 

ATI:

 

1) Disable your ATI GPU from BIOS and enable the Intel® HD Graphics IGPU.

2) Disable your Intel® HD Graphics IGPU and enable graphics acceleration for your ATI GPU. Some ATI GPUs will work on OS X while others won't. Check if your ATI GPU is compatible with OS X.

 

NVIDIA:

 

1) Disable your NVIDIA GPU from BIOS and enable the Intel® HD Graphics IGPU.

 

Note: Graphics switching is not supported. Either you use the Intel® HD Graphics IGPU or you use the dedicated GPU.

 

xRbrp.png

 

OS X is the world's most advanced desktop operating system that runs on all of Apple's Mac products such as the iMac, Mac Mini, Mac Pro, MacBook Pro and MacBook Air. It is designed and built by Apple in California. PCs on the other hand run Windows, and is designed and built my Microsoft. 

 

Since you are here, this is telling me that you want to run Apple's operating system on your PC. I will only explain the installation processes for computers with a 1st Generation Intel® Core™ Processor (Arrandale) with Intel® HD Graphics.

 

Installation:

 

1) Create a bootable USB drive with OS X. (There are guides on the InsanelyMac forums that tell you how to do this.)

2) Remove the Intel HD Graphics Kexts from the bootable USB drive.

  • We must remove these kexts because they will prevent you from booting up the OS X installer. 

   To do this, click on your USB drive and go to System/Library/Extensions and delete:

  • AppleIntelHDGraphics.kext
  • AppleIntelHDGraphicsFB.kext

   If you can't see these folders, they are hidden so you may have to show all hidden files using terminal.

 

3) Install OS X and eventually you will be asked to restart. (May take a while.)

4) Follow the onscreen first boot instructions to setup OS X on your PC.

5) After completing the first boot setup instructions, your desktop should now appear. Welcome to OS X!

 

Note: You may notice that the resolution is stretched. This is normal because graphics acceleration is not working.

 

Post Installation:

 

Now that you have OS X installed and booting, you need to know if you want to dual boot Windows on your PC. If you want to dual boot Windows, you must install Windows now. The reason why is because Windows will install its own bootloader and will overwrite Chameleon or Clover. 

 

After you install Windows and boots properly, boot to your OS X partition using your bootable USB drive.

 

If you are not planning to dual boot Windows, don't worry about anything said previously. 

 

Post Installation: Bootloader

 

We want to boot OS X without using the bootable USB drive, so we need to install a bootloader. There are two bootloaders to choose from:

  • Chameleon
  • Clover

The Chameleon bootloader is the classic bootloader that will work in all cases. It is simple to configure and supports themes. The Clover bootloader however is newer, is constantly being worked on, supports legacy BIOS and supports newer computers that use UEFI. The downside of Clover is that it is not user friendly in terms of configuration compared to Chameleon. 

 

Which bootloader should you choose? That is up to you to decide. The bootloader I'm using is Clover and there's a reason I use it which I will explain later on in the guide. 

 

No matter which bootloader you choose:

 

1) Install the bootloader.

2) Configure the bootloader and configure the bootloader to use the ​MacBookPro 6,1 or MacBookPro 6,2 SMBIOS. 

 

Post Installation: Install Other Kexts

 

Before you enable graphics acceleration for the Intel® HD Graphics IGPU, install any other kexts you need such as FakeSMC, audio, ethernet, keyboard, touchpad, etc. 

 

After Post Installation:

 

After you installed the other kexts you need, its time to work on fixing the Intel® HD Graphics IGPU.

 

AUopM.png

 

A laptop has two types of display connectors, LVDS and eDP. Each computer manufacturer chooses the type of display connector for their products. For example, Apple uses the LVDS display connector for all of their MacBook laptops. For comparison:

 

LVDS (Low Voltage Differential Signaling):

  • Older technology
  • Limitations in display bandwidth and resolutions
  • Used in the 2010 MacBook Pro (Also known as MacBookPro6,1 and MacBookPro6,2)

eDP (Embedded DisplayPort):

  • Newer technology
  • Higher display bandwidth, compact, and supports higher resolution

While eDP is better in a lot of ways, Apple did not use this connector for their 2010 MacBook Pro laptops. What this means is that the framebuffer kext (a kext that detects your display and sets the proper configurations for that specific display) for the Intel® HD Graphics IGPU is programmed to use the LVDS connector.

 

Before we continue, we must determine the display connector used in your PC. To do this, you will need to boot to a Linux distro. You can create a live USB Linux distro to quickly determine your display connector. For this guide, I will be using the Linux distro known as Ubuntu.

 

Check Display Connector:

 

1) Boot up Ubuntu using the live USB.

2) Open Terminal and type:

  • sudo intel_reg_dumper

hIDJk.png

 

3) Press Enter and you will see all of this information on the Terminal window. 

 

Wwm9T.png

 

4) Copy the information on the Terminal window. Open gEdit and paste the information inside the text file. Save the text file somewhere. You may want to use this text file later for automatic framebuffer patching. 

 

dvjwt.png

 

5) Inside the text file, search for a line similar to this. It will either have Enabled or Disabled on it:

  • PCH_LVDS: 0x80308302 (enabled, pipe A, 18 bit, 1 channel)

      or

  • PCH_LVDS: 0x80308302 (disabled, pipe A, 18 bit, 1 channel)

Now that you found this line and it says either Enabled or Disabled, take the appropriate actions below:

 

Enabled:

 

Congratulations! Your computer is using the LVDS display connector! Your PC can enable full graphics acceleration. You can go to the Enable Quartz Extreme with Core Image (QE/CI) section to finish fixing your Intel® HD Graphics IGPU.

 

Disabled: 

 

Your PC is using the eDP display connector. Your computer does not qualify for full graphics acceleration using the built-in eDP display. Go to the eDP Users Only section for more information on what you can do to improve your OS X experience using the Intel® HD Graphics IGPU.

 

l7nDv.png

 

Now that you know that your PC uses an eDP display, what can you do?

 

Fix Incorrect Screen Resolution: 

 

The problem for eDP users is that you cannot load the Intel® HD Graphics framebuffer because it does not support the eDP display connector. The framebuffer was necessary to enable full acceleration (QE/CI) as well as native resolution. However, there are workarounds that can solve this problem.

 

The way to fix the incorrect screen resolution is by modifying the bootloader and hoping that it will patch the Intel® vBIOS and give you a native resolution when you boot up OS X. 

 

As said earlier, there are two bootloaders, Chameleon and Clover. 

 

Fix Incorrect Screen Resolution: Chameleon Bootloader

 

For Chameleon bootloader, there is a module that can patch the Intel® vBIOS and force a screen resolution. What this will do is it will overwrite one the VESA resolutions to the custom resolution chosen in the org.chameleon.Boot.plist file. 

 

1) Open Finder and go to your Extra folder. Open the org.Chameleon.Boot.plist with TextEdit. Add the following code:

<key>Graphics Mode</key>
<string>1366x768x32</string> (EDIT THIS STRING TO YOUR NATIVE RESOLUTION) 

Note: Remember to change the string to your display's native resolution. For example, if the display's native resolution was 1280x720, then you would replace the above string as "1280x720x32". Always include the "x32" suffix as it represents 32 bit colors.

 

2) In the Extra folder, create a folder called "Modules".

jubk4.png

3) Download the attached Resolution Module ZIP file below. Next, extract the ZIP file and inside the folder there should be a "Resolution.dylib" file. Drag that file to the Modules folder you created in the Extra folder.

MEr8t.png

4) Now, restart your computer. When the Chameleon bootloader screen appears, it should now be at the resolution you set in the plist file. Continue to boot to OS X and now your desktop should no longer be stretched anymore!

 

Note: If for some reason your screen still looks stretched, make sure that your display can handle the resolution you set on the plist file. If this still doesn't work, you may want to switch to using the Clover bootloader.

 

Fix Incorrect Screen Resolution: Clover Bootloader

 

On my current laptop, I use the Clover bootloader because it emulates a UEFI system and because of the extra features that are available compared to Chameleon. One of the nice features that Clover has is automatic vBIOS patching, the option to enter a custom EDID, and also to automatically inject your display's EDID to Clover.

 

Assuming that you already have Clover bootloader working on your computer:

 

1) Download Clover Configurator. (This will allow to edit Clover settings using a graphical user interface.) 

2) Open Clover Configurator and open up the config.plist. (Usually located in Clover's EFI folder.)

3) Go to the "Graphics" tab. You should see this:

uxPct.png

4) Make sure "Patch VBios" is checked. Anything else should be unchecked and blank, exactly like the screenshot above.

5) Save the file and restart your PC. When the Clover bootloader screen appears, it should now automatically set Clover to your display's native resolution. Continue to boot to OS X and now your desktop should no longer be stretched anymore!

 

Note: If for some reason your screen still looks stretched, you may have to play around with the EDID settings in Clover Configurator. I have not tested these settings so I'm not sure if this will work.

 

Enable Partial Acceleration by Enabling Core Image Only:

 

If you have successfully enabled native resolution on your eDP display, it is now time to enable partial acceleration. In OS X, full acceleration requires that both Quartz Extreme and Core Image (QE/CI) to work together. Since your display uses the eDP connector, you will not be able to enable Quartz Extreme (QE) as this technology requires the Intel® HD Graphics framebuffer to work correctly. You can however enable Core Image (CI).

 

In short, Core Image (CI) is a technology that enhances image processing effects by utilizing the graphics processing unit (GPU). Luckly, all eDP users can enable Core Image (CI) to make their Intel® HD Graphics IGPU partially work.

 

Now, Let's begin!

 

PC Requirements:

 

1. OS X Mountain Lion 10.8.5 or OS X Mavericks 10.9.x
2. 1st Generation Intel® HD Graphics IGPU (Already integrated with 2010 Intel® Arrandale CPUs)
3. Internal LCD display uses the eDP connector
4. Intel® HD Graphics CI ZIP file (Click on the image below to download.)

vjVHp.png

Note: My packages are now available exclusively to all InsanelyMac members in the InsanelyMac Downloads section. You must log in to download them.

 

Note 2: If you are using Clover Bootloader, you may end up with distorted screen once Core Image is enabled. If you are having this problem, a workaround for this is to use Chameleon Bootloader.

Steps:

1) Open Finder and go to System/Library/Extensions. Inside the folder find these kexts:

AppleIntelHDGraphics.kext
AppleIntelHDGraphicsFB.kext
AppleIntelHDGraphicsGA.plugin
AppleIntelHDGraphicsGLDriver.bundle
AppleIntelHDGraphicsVADriver.bundle

Delete all of these kexts from the Extensions folder. Rebuild cache and restart your computer.

2) Download the Intel® HD Graphics CI ZIP file above if you haven't yet. Remember to choose the ZIP file that corresponds to your version of OS X. Extract the ZIP file. Inside the extracted ZIP file you should see this:
K83DF.png
3) Install these kexts with Kext Utility or some other kext installer. Rebuild cache and restart your computer.
sG1dP.png
4) Open up System Preferences > Desktop & Screensaver > Screen Saver. Click on one of the slideshows. If you see the preview of the slideshow, Core Image is now enabled!

 

1c9td.png

 More to come!...

 

a9MvX.png

OS X uses technologies like Quartz Extreme and Core Image to utilize the GPU to perform various graphical elements such as animations, image processing, rendering, OpenGL and the overall window compositing environment. In order to enable these technologies for your Intel® HD Graphics IGPU, you must use a patched Intel® HD Graphics framebuffer kext. 

 

The Intel® HD Graphics framebuffer kext is essential in order to enable detection of the built-in LCD display, native resolution, and to enable technologies like Quartz Extreme and Core Image (QE/CI) to provide graphics acceleration. 

 

With a graphics accelerated desktop, you can:

  • Watch YouTube videos smoothly
  • Use iPhoto, iMovie, and GarageBand
  • Play games
  • Native display resolution
  • Use other applications that require graphics acceleration

Now, let's begin!

 

PC Requirements:

1. OS X Mountain Lion 10.8.5, OS X Mavericks 10.9.x, or OS X Yosemite 10.10.x
2. 1st Generation Intel® HD Graphics (Already integrated with 2010 Intel® Arrandale CPUs)
3. Internal LCD display uses the LVDS connector
4. Intel® HD Graphics QE/CI ZIP file (Click on the image below to download.)

ZXlo0.png

Note: My packages are now available exclusively to all InsanelyMac members in the InsanelyMac Downloads section. You must log in to download them.

 

Note 2: You also have the option to patch the Intel® HD Graphics framebuffer yourself and customize certain framebuffer features using Giofrida's Intel® HD Graphics Patcher. You can find it in the InsanelyMac Downloads section or by clicking here.

 

Steps:

1) You must do this step if you are using Chameleon Bootloader. If you are using Clover Bootloader, skip to Step 2. Open Finder and go to your Extra folder. Open the org.Chameleon.Boot.plist with TextEdit. Add the following code:

<key>GraphicsEnabler</key>
<string>Yes</string>

70m.png

Note: If you are using OS X Yosemite, you must also add the following code to your org.Chameleon.Boot.plist:

<key>Kernel Flags</key>
<string>kext-dev-mode=1</string>

2) You must do this step if you are using Clover Bootloader. If you are using Chameleon Bootloader, skip to Step 3. Check your Clover Bootloader settings and make sure everything is checked off except for "Patch vBIOS" in the Graphics tab section. Make sure "Inject Intel" is checked off or you will have a distorted screen.

CloverSettings1.png

Note: If you are using OS X Yosemite, you must enable "kext-dev-mode=1" in Clover. 

CloverSettings2.png

3) Open Finder and go to System/Library/Extensions. Inside the folder find these kexts:

AppleIntelHDGraphics.kext
AppleIntelHDGraphicsFB.kext
AppleIntelHDGraphicsGA.plugin
AppleIntelHDGraphicsGLDriver.bundle
AppleIntelHDGraphicsVADriver.bundle

Delete all of them from the Extensions folder. Rebuild cache and restart your computer.

4) Download the Intel® HD Graphics QE/CI ZIP file above if you haven't yet. Remember to choose the ZIP file that corresponds to your version of OS X. Extract the ZIP file. Inside the extracted ZIP file you should see this:
GftW0.png
If you notice, there is a folder called "Choose Framebuffer". In here, you will need to select a framebuffer to install for your computer. I have prepatched these for you so all you have to do is install it with the other Intel HD Graphics kexts.
8tPKp.png

So, how do you choose with framebuffer to install? There are two types of framebuffers:

  • SingleLink
  • DualLink 

Choose a SingleLink framebuffer if your PC's internal LCD display has a native resolution of 1366x768 or lower. Choose a DualLink framebuffer if your PC's internal LCD display has a native resolution higher than 1366x768. 

 

Once you know what type of framebuffer to install, there are 3 categories to choose from:

  • Normal
  • Alternate
  • Alternate 2

If you are new to this, you may want to start by selecting a Normal framebuffer. You will have to retry and experiment with these 3 categories if one of them doesn't work. The reason is because each PC is different and not all PCs will be able to boot using a specific category.

 

Let me explain these three categories:

 

Choose a Normal framebuffer if your PC has no problem booting and successfully shows the desktop with the default plist features enabled.

 

If your PC freezes during boot when you use the Normal framebuffer, you may have to use the Alternate framebuffer. The Alternative framebuffer has all the plist features set to zero. 

 

If your PC freezes during boot when you use the Alternative framebuffer, you may have to use the Alternate 2 framebuffer. The Alternate 2 framebuffer has all the plist features set to zero and a slightly modified IOPCIClassMatch code.

 

No matter which of the 3 framebuffer categories you choose, you will now have to select the output. There are two outputs to choose from:

  • LCD + VGA
  • VGA

For most users, LCD + VGA is recommended. This option will give you output to your PC's internal LCD display.

 

Note: Remember, this guide is for laptops only. Desktops are not supported.

 

VGA is used for PCs that are always in clamshell mode (using your laptop as the computer, closing the lid, and connecting an external VGA display to the VGA port, like a Mac Mini). More information on this in the External Display section.

 

Inside these 2 outputs, there are:

  • LW1
  • LW2
  • LW3
  • LW4

LW stands for Link Width. For most users, LW1 will work. If for some reason you see a distorted display, you may need to test out LW2-LW4.

 

Note: Again, if this your first time choosing, pick the LW1 framebuffer and go to step 5. If you see a distorted display when you boot to the desktop, you may need to use a higher LW framebuffer. If it doesn't boot at all, you may need to choose another framebuffer category.

 

Before you continueBecause this is a trial and error situation, you may have to delete the framebuffer and install another framebuffer if it doesn't work. If you are still having issues and tried all framebuffers, check the troubleshooting information section after the steps for help.

 

5) Install the chosen Intel® HD Graphics framebuffer with the other Intel® HD Graphics kexts with Kext Utility or some other kext installer. Rebuild cache and restart your computer.
3yHX.png
6) When you log into the desktop, you will see that your computer's native resolution is already working. You will also see a transparent menubar.

Translucent_SM.png

Display_SM.png

 

bnAr2.png

 

If you still want to confirm that you officially have QE/CI working, open DVD Player, click on the "Help" menu and click on "Show Supported Features".
 

ZD8t.png

 

Enjoy OS X on your PC!

 

Troubleshooting Information:

 

Some users may have trouble finding which framebuffer works on their computer. I have listed a few common problems that users encounter.

 

Problem 1: When you installed the Intel® HD Graphics framebuffer, the spinning wheel on the Apple boot screen freezes. 

 

When the spinning wheel freezes on the Apple boot screen, this means that you chose the wrong framebuffer category. For example, if you installed the Normal framebuffer and the spinning wheel freezes, you will have to install either the Alternate or Alternate 2 framebuffer.

 

Problem 2: When you installed the Intel® HD Graphics framebuffer, the spinning wheel on the Apple boot screen spins forever and the desktop never appears. 

 

When the spinning wheel on the Apple boot screen spins forever and never shows the desktop, it means that OS X failed to recognize your Intel® HD Graphics IGPU. Some PCs suffer from this problem and the only way to fix this is by injecting the information of your Intel® HD Graphics IGPU manually using a DSDT (Differentiated System Description Table) or using the Natit kext.

 

In order to inject this information onto the DSDT, your DSDT must be patched so that it compiles correctly. The information that you have to inject to the DSDT is the model, OS-Info, and VRAM. Go to the DSDT section for more information. (This method is recommended).

 

The other way to fix this is by installing the Natit kext. This kext will inject the information of your Intel® HD Graphics IGPU automatically. While this may solve the problem on some computers, I don't recommended it. The reason is because this kext also sets values that are useless and can cause conflict. On some computers, Natit injects the wrong information and corrupts the display. You can try it, but it is only a temporary solution. When you have time, I highly recommend you patch your DSDT so that you never have to install Natit.

 

TIP: If your computer has an dedicated NVIDIA Optimus or AMD Radeon GPU, you need to disable all types of graphics acceleration in Chameleon or Clover Bootloaders if your going to use the Intel® HD Graphics IGPU.

 

TIP: Make sure that you are using the correct type of framebuffer. Do not use a DualLink framebuffer on a computer that uses SingleLink and do not use a SingleLink framebuffer on a computer that uses DualLink.

 

TIP: Remember, this guide is only for laptop computers. Desktop computers are not supported by theIntel® HD Graphics kexts.

 

More to come!...

 

wsumR.png

The question that many users ask is can they connect an external display to their laptop while running OS X? The answer is yes and no. Let me explain.

 

There are usually 3 different kind of display ports that a laptop may have:

  • VGA (Video Graphics Array)
  • HDMI (High Definition Multimedia Interface)
  • DP (DisplayPort)

The only port that currently works, and is also experimental, is the VGA port. HDMI and DP ports are not supported. Although the VGA port works, its functionality is very limited. You cannot mirror displays and you cannot extend displays.

 

If the VGA port cannot extend displays and you cannot mirror displays, what can it actually do? One functionality that it can do, and is experimental, is clamshell mode.

 

Clamshell mode is when you use your laptop like a Mac Mini. In other words, you connect an external monitor to the laptop's VGA port and close the lid. You will see your desktop on the external monitor. Because you will use the external monitor and the laptop lid is closed, you may want to have an external mouse and keyboard.

 

Note: While this may be possible, I am no longer going to explain how to do it in my guide. Enabling the external VGA monitor is very experimental and most of the time the display looks scrambled and unusable. It becomes more of a hassle. I will give you the tools you need if you want to try this out for yourself. Also for future releases, I am no longer including the Intel® HD Graphics patched VGA framebuffers in my Intel® HD Graphics kexts packages. I believe users don't use these framebuffers. If you need to patch the framebuffer for VGA, use Giofrida's Intel® HD Graphics Patcher.

 

AAPL, OS-Info:

The AAPL, OS-Info code is the code than enables the display. This code comes from the Intel® HD Graphics framebuffer itself and can be seen using a utility called IORegistryExplorer. 

 

This AAPL, OS-Info code enables the internal LCD display:

 

30 49 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

 

If you notice, the blue number (01) in this part of the code is responsible for enabling the internal LCD display. Now let's look at the AAPL, OS-Info code that enables VGA output:

 

30 49 00 00 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

 

Similarly, the blue number (04) in this part of the code is responsible for enabling the VGA port. What this means is that you can only enable 1 display at a time. Either you enable the internal LCD display or you enable the VGA port. You cannot have both working together which explains why mirroring and extend displays doesn't work. 

 

In order to modify this code, you have to inject it to your DSDT. Assuming that you already patched your DSDT (if not, read the DSDT preparation and Hacks section), this code is added in the GFX0 (or IGPU or VID, depending on your computer manufacturer) section in your DSDT.

"AAPL,os-info", 
Buffer (0x14)
{
0x30, 0x49, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
0x00, 0x00, 0x00, 0x00
}, 

*This code enables the VGA port. You can copy this code onto your DSDT to save time.

 

This is what your GFX0 (or IGPU or VID, etc) section should look like with the added code:

Q3s2E.png

Once this code has been added, your internal LCD display will become disabled and the VGA port will now output your desktop once you reboot.

 

Patch Intel® HD Graphics Framebuffer for VGA:

Another thing that you need to have in order to use an external VGA display is a patched framebuffer that enables VGA output. You can patch the framebuffer using Giofrida's Intel® HD Graphics Patcher

284tK.png

To patch the framebuffer for VGA output, check the VGA box. If you like, you can patch LVDS (Internal LCD Display) and VGA at the same time. After patching the framebuffer, use Kext Utility or another kext installer to install it. 

 

From here, you're on your own to experiment. If you discover anything interesting, feel free to share!

 

5yqu.png

1. Natit
Sometimes, if a computer does not have Natit installed, the framebuffer will make OS X not boot to the desktop. In other words, the spinning wheel will spin forever and you will be stuck in the boot screen forever. This usually happens when the OS-Info from the framebuffer fails to inject itself.

Natit will also add Intel HD Graphics information to your System Infomation>Graphics/Display section. This is useful for users that still have an "Unknown" graphics name in About This Mac and System Information. Click on the image below to download.

Natit_File.png

Install this kext with Kext Utility or some other kext installer. Rebuild cache and restart your computer.
Natit_Extensions.png

2. Backlight and Brightness
(Discovered by mnorthern)

Please read and follow mnorthern's thread for his work as well as any questions regarding the backlight and brightness fix for Intel HD Graphics IGPU.

http://www.insanelym...hd-gma-5700mhd/

3. Improve Core Image Performance
(Discovered by voidRunner)

:excl: This applies to users that cannot enable Quartz Extreme. If you only have only Core Image working, you might be interested in improving its performance.

Please read and follow voidRunner's thread for his guide on how to improve the performance of Core Image as well as any questions regarding his guide.

http://www.insanelym...mebuffer-howto/

4. Power Management

:excl: This applies to users that use Chameleon Bootloader.

If you have enabled only Core Image or if you enabled Quartz Extreme with Core Image, it is important to have power management working correctly. If you don't then the computer will overheat and possibly turn off without warning.

Computers that have a 2010 1st Generation Intel Core i Series processor (Core i3, Core i5, Core i7) are able to natively use the AppleIntelCPUPowerManagement.kext without any problem.

:excl: Before proceeding, make sure you are not using NullCPUPowerManagement.kext. If you are using it, delete it and rebuild cache.

Steps:

1. Open Finder and go to your Extra folder. Open the org.Chameleon.Boot.plist with TextEdit. Add the following code:

<key>GenerateCStates</key><string>Yes</string><key>GeneratePStates</key><string>Yes</string>

PMBoot_Plist.png
2. Restart your computer. Boot into OS X and native power management should now start working. You can check CPU temperature and SpeedStep processor speeds using HWMonitor.

HWMonitor.png
*HWMonitor requires certain sensor kexts to function. All information can be found in the InsanelyMac forums.

5. AppleIntelHDGraphicsFB.kext Plist File

Remember when you had to choose a framebuffer to enable Quartz Extreme with Core Image? If your one of the users who had to use the Alternative or Alternative 2 framebuffer, there is a reason why.

This is a normal framebuffer Plist file.
FBNPlist.png
Now, lets see the Plist file that the Alternative and Alternative 2 framebuffers have.
FBAPlist.png
What is the difference between these two plist files? The Alternative and Alternative 2 Plist files have the Feature Controls set to 0, but the framebuffer works fine without these features enabled. It is unknown if these features do anything even if they're enabled.

For users using the Alternative or Alternative 2 framebuffers, you can technically enable all of these features except for two. This is the Plist I'm using on my computer.
FBMPlist.png
As you can see, GPUInterruptHandling is always set to 0 so leave it like that. There is one particular feature that is disabled and that is PowerStates. PowerStates is the only feature that causes some computer to freeze when booting. Enabling everything else will work just fine.

Again, this is optional. If you want, enable everything except for GPUInterruptHandling and PowerStates.

7. Giofrida's Intel HD Graphics Patcher

Our InsanelyMac friend Giofrida has made a framebuffer patcher that is now easy to use. You can find it at InsanelyMac Downloads or by clicking here.

Giofrida's Intel HD Graphics Patcher allows you to patch your own framebuffer. You can customize which ports to patch, choose whether to enable DualLink, choose which Link Width to enable and select which OS X version to patch the framebuffer for. The patcher fully supports OS X Mountain Lion (10.8) and OS X Mavericks (10.9).

When you launch the Intel HD Graphics Patcher, you will see the main menu. There are two options to choose from. "Manual Patch" allows you customize what to patch and "Linux Dump Analyzer" allows you to copy and paste the sudo intel_reg_dumper information into a text box and the patcher will automatically select the appropriate options to patch automatically.

RxMSz.png
If you prefer to patch your framebuffer manually, select the "Manual Patch" button. You will see this:

GIHGP2.png
Drag the framebuffer kext into the blue highlighted box and press "Check". The patcher will verify if the framebuffer kext is compatible and valid. After verification, all of the options will now enable and the white oval box should say "Binary Found".
GIHGP3.png
The patching options are self explanatory. Select the options you like and once you are ready, click the "Patch" button. You will need to enter your password and once that is done, you will see a new folder called "Patched Framebuffer" on your desktop. Inside the folder you will see this:
GIHGP4.png
This is your patched framebuffer. Install this kext with Kext Utility or some other kext installer. Rebuild cache and restart your computer.

Now, if you prefer to patch your framebuffer automatically, select "Linux Dump Analyzer". You will see this:

GIHGP5.png
You will need to run sudo intel_reg_dumper in Ubuntu and copy all of the information in a text file. Bring the text file to OS X and copy and paste all of the content inside the text file into the text box.

GIHGP6.png
Press the "Analyze" button and the oval box should say "Parameters set! Now go to Manual Patch".

GIHGP7.png
Click the "Manual Patch" button and drag the framebuffer kext into the blue highlighted box and press "Check". The patcher will verify if the framebuffer kext is compatible and valid. After verification, press the "Patch" button. You will need to enter your password and once that is done, you will see a new folder called "Patched Framebuffer" on your desktop. Inside the folder you will see this:
GIHGP4.png
This is your patched framebuffer. Install this kext with Kext Utility or some other kext installer. Rebuild cache and restart your computer.

RxGVU.png

 

So what is the DSDT? The DSDT (Differentiated System Description Table) is a table that is part of the ACPI (Advanced Configuration Power Interface) specification. Basically it contains information about hardware and power events. The problem with DSDTs is that they are incomplete or problematic for OS X. This is one of the reasons why many people patch their DSDTs so that OS X can function properly with their PC hardware.

For this guide, I will be talking about how to patch your DSDT so that you no longer need to use the Natit kext and to inject information about your Intel® HD Graphics IGPU. For any other hardware, you will need to search the InsanelyMac forums for more information.

 

​Extracting Your PC's DSDT Table:

There are many ways to extract your PC's DSDT table, but the best way to get an unmodified copy of your DSDT is by booting to a Linux distro. You can use the same live USB Linux distro that you used to determine if your PC's display connector. For this example, I will be using Ubuntu.

 

1) Boot up Ubuntu using the live USB.

2) Open Terminal and type:

  • sudo cat /sys/firmware/acpi/tables/DSDT >dsdt.aml

3) Press Enter.

4) The dsdt.aml file will be saved in the Home folder. Copy the dsdt.aml file somewhere so that you can edit it in OS X.

 

Open Your PC's dsdt.aml file on OS X:

So now that you have your DSDT file extracted, it is time to open it up. In order to open and edit your DSDT, you need an application called MaciASL

 

http://sourceforge.n...ojects/maciasl/

 

Download MaciASL and install it in your Applications folder. Now that you have MaciASL installed:

 

1) Launch MaciASL.

2) Go to File > Open and find and open your dsdt.aml file.

 

Repairing the DSDT:

We have to repair the DSDT before we apply any patches. The reason is since the DSDT is incomplete, if you compile it now, there will be errors and we need a DSDT that compiles successfully. 

CmXip.png

The screenshot above is MaciASL and I have opened up my extracted Gateway NV5932u dsdt.aml file. Take a look around the application so that you can feel comfortable using it. 

 

Once you have your PC's dsdt.aml file open, click on "Compile". 

 

iBj56.png

 

Look at all these errors! On my extracted DSDT, there are 6 errors, 14 warnings, 41 remarks and 3 optimizations. 

 

Note: Your DSDT may have more errors or less errors depending on your computer manufacturer. Some DSDTs may have different errors as shown here. However, you can search on Google and see if someone else has fixed that particular error. 

 

These are the errors that the compiler throws out. They repeat multiple times:

  • Code 5111 - Use of compiler reserved name (_T_#) (# can mean 0, 1, 2, 3, 4, etc.)
  • Code 1088 - Not all control paths return a value ()
  • Code 1099 - Unknown reserved name ()
  • Code 1081 - Reserved method must return a value (Package required for _DOD)
  • Code 4080 - Invalid object type for reserved name (found BUFFER, requires Package)

Let's fix these problems one by one. The first one:

  • Code 5111 - Use of compiler reserved name (_T_#) (# can mean 0, 1, 2, 3, 4, etc.)

There are 41 remarks of these which means I have to fix 41 lines of code that contain this remark. This is easy to fix. All you have to do is this:

  • Remove the beginning _ from (_T_#) so it looks like (T_#). 

Let's take a look at this. For example, according to the compiler on lines 6764 and 6765 this problem appears. 

 

yFBrU.png

 

Lets edit the DSDT by applying this fix:

 

UucxA.png

 

By applying this fix to all of the 41 remarks, I have reduced my remarks to 0. 

 

kNxQe.png

 

However, it has increased my errors to 140 and there is a new error:

  • Code 4064 - Object does not exist (_T_#) (# can mean 0, 1, 2, 3, 4, etc.)

Surprisingly this is easy to fix too. All you have to do is the same fix as before:

  • Remove the beginning _ from (_T_#) so it looks like (T_#). 

Let's take a look at this. For example, according to the compiler on lines 6772 and 6773 this problem appears.

 

yKcEB.png

 

Lets edit the DSDT by applying this fix:

 

26gKR.png

 

By applying this fix to all of the lines that have this error, I have reduced my errors back to 6!

 

oXN1G.png

 

Now, let's fix the second problem:

  • Code 1088 - Not all control paths return a value ()

There are about 8 lines of code that have this problem. How do you fix this problem? Very simple. The reason you get this problem is because one of the control paths does not return anything. To fix this we need this:

Return (Zero) 

We need to add this code at the end of the method box. Let's look at an example. We have this problem on line 12267.

 

l7vO.png

 

Add the code "Return (Zero)" in the middle of the last 2 brackets.

 

73Aiz.png

 

By applying this fix to all of the lines that have this warning, I have reduced my warnings to 9.

 

T65E.png

 

You may be wondering why I chose not to fix 2 lines of code that have the 1088 problem. The reason is because these same lines also have the 1081 code. By fixing the lines of codes that have the 1081 problem, you also eliminate the 1088 problem as well. 

 

So let's fix the 1081 problem:

  • Code 1081 - Reserved method must return a value (Package required for _DOD)

According to the compiler, this problem exists on line 14429. If you notice from the screenshot above, 14429 also has the 1088 problem. To eliminate problem 1081, you have to add this code at the end of the method box:

Return (Package (0x02)
{
     Zero, 
     Zero
})

Let's look at the code on line 14429.

 

2P5lB.png

 

To fix this, let's add the code above to this line. 

 

NrY5h.png

 

By adding this fix to the 2 warnings that have this problem, we have also automatically eliminated 1088. Now there are 6 errors and 3 warnings. Almost there!

 

x0C17.png

 

Let's fix the 1099 problem:

  • Code 1099 - Unknown reserved name ()

This is an easy problem to fix. If you notice, the reserved name (_WDG) and (_WED) have an underscore "_" in front. In the DSDT however, these names are defined as (WDG) and (WED) with no underscore. Let's look at line 12268:

 

nGvjD.png

 

All you have to do to fix this problem is to delete the underscore "_".

 

rm68Y.png

 

Almost done, now we only have 6 errors with problem code 4080.

 

DBGty.png

 

Let's look at problem 4080:

  • Code 4080 - Invalid object type for reserved name (found BUFFER, requires Package)

This error means that the code is suppose to have the name "Package" instead of "Buffer". Let's look at line 16054.

 

uchJe.png

 

As you can see, the object type name is "Buffer" but this is wrong. It is suppose to be "Package". For the error code 4080, all you have to do is rename the part that says "Buffer" to "Package".

 

7qT3I.png

 

After applying this fix to the remaining errors, the DSDT is fixed, cleaned, and ready for patching!

 

mI4vR.png

 

****************************************************************************************************************************************************************

 

:excl: The DSDT screenshots here may look different from yours. Every computer manufacturer has their own style of writing a DSDT.

What this means is that certain DSDT sections may have a different name. For example GFX0 might be named as IGPU instead. They both mean the same thing, just different name. Also, the locations of these sections may be different. With a little bit of exploring, you can find it. Again, same thing but different location.

Take a look at this DSDT:
DSDT1.png
There is a lot of stuff to see. But its not as bad as it looks once you get comfortable. Let's begin with some simple hacks.

1.1 Find DSDT Integrated Graphics Section

What is this integrated graphics section in the DSDT? This section is where your IGPU properties are located. How do we find this section in the DSDT? We can use IORegistryExplorer to find it. Let's look at a sample IORegistryExplorer screenshot with the IGPU highlighted.
IOReg1.png
On the left side, you notice that GFX0@2 is highlighted. This is the IGPU. Your computer might have the name different. Sometimes it can be called just IGPU or VID or something similar. Same thing but different name.

On the right side, look at the acpi-path line. This will give us the location of the IGPU in our DSDT. Let's examine the address: "IOACPIPlane:/_SB/PCI0@0/GFX0@20000".

Think of "IOACPIPane:" as "DefinitionBlock "DSDT.aml".

DSDTDB.png

The next part is "/_SB". Think of that as "Scope _SB". However, there is a problem. There are multiple Scope _SB folders. What now?

DSDTSB.png

This is why the IORegistryExplorer address is useful. We know that inside "Scope_SB" there should be "/PCI0@0" section. It turns out that the first "Scope_SB" folder has "/PCI0@0" section. Think of "/PCI0@0" as just "PCI0".

DSDTPCI0.png

The last thing we need to find is "GFX0@20000". Opening up "PCI0", we can already see GFX0. Think of "GFX0@20000" as just "GFX0" under the 20000 address.

DSDTGFX0.png

That's it. We found the integrated graphics section. If your still curious about the 20000 address, the red line highlights where that address number comes from.

1.2 DSDT Integrated Graphics Section - Get Rid of Natit Kext

:excl: Before continuing, your DSDT needs to be patched with the DTGP method already. All DSDT hacks require this method or you will get compilation errors.

Let's say that your one of the users that has to use the Natit kext in order for you to boot into the desktop. We can do the same thing that Natit does by injecting that information into the DSDT. That way, you will never use that Natit kext anymore!

In order to get rid of Natit, we will need to inject three essential codes. They are called "AAPL,os-info", "VRAM,totalsize", and "model".

Before we do that, we need to prepare the GFX0 (IGPU/VID) section. If you never edited this section, this is how it looks like:
DSDT2.png
In order for our hacks to work, we need to add the DSM method into this section. This is the DSM method code.

DSDTDSM.png

Method (_DSM, 4, NotSerialized){Store (Package (){//Hacks are put in here.//}, Local0)DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))Return (Local0)}

*You can copy and paste this code into the DSDT if you like to save time.

This code goes under Name (_ADR, 0x00020000) or something similar.

DSDTDSM2.png

This is how it should look like overall:
DSDT3.png
Now, we are ready to start. First we need "AAPL,os-info". 1st Generation Intel HD Graphics IGPU has 3 known os-info codes.

30 49 01 11 01 10 08 00 00 01 00 00 00 00 00 00 FF FF FF FF30 49 00 14 14 14 08 04 00 00 00 00 00 00 00 00 FF FF FF FF30 49 01 01 01 00 08 00 00 00 00 00 00 00 00 00 FF FF FF FF

For this guide, the first os-info code is recommended. This is the same code that the original 2010 MacBook Pro (6,1/6,2) uses and it is the default code that the AppleIntelHDGraphicsFB.kext outputs as well. We need to inject this information into the DSDT. This is the format used:

"AAPL,os-info",Buffer (){0x30, 0x49, 0x01, 0x11, 0x01, 0x10, 0x08, 0x00,0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0xFF, 0xFF, 0xFF, 0xFF}

*You can copy and paste this code into the DSDT if you like to save time.

The reason why the os-info numbers need a "0x" prefix is because this tells OS X that these numbers are hexadecimal numbers. Let's put this into the DSDT. This is how it should look like:

DSDTOSINFO.png

It looks right, but there is a problem. We need to add two more codes. The problem that we have here is this bracket here.

DSDTBRKT.png

If os-info was the final code that we were going to add into the DSM method, then ending the code with "}" is correct. But because we need to tell OS X that there are other codes that needs to be read, we have to add a comma after that bracket. It should be "}," instead. Add a comma after the bracket and this is how it should look like:

DSDTBRKTC.png

Next, we need to add "VRAM,totalsize". This tells OS X how much VRAM the Intel HD Graphics IGPU has. When the Intel HD Graphics IGPU is enabled, it only has a maximum of 288MB of VRAM. You can confirm this number by looking at OpenGL Extensions Viewer.

You can change this code to say 128MB or 512MB or 768MB or whatever number you want. It will display this number in About This Mac and System Information. However the IGPU will always use 288MB so its only cosmetic. This is the code needed:

DSDTVRAM.png

"VRAM,totalsize",Buffer (){0x00, 0x00, 0x00, 0x12}

*You can copy and paste this code into the DSDT if you like to save time.

This code is in hexadecimal format. The code correctly states 288MB. Remember to add a comma after the bracket because we still have one more code to add. This is what you should have so far:

DSDTVRAM2.png

The last thing we need to get rid of Natit kext is to add "model" into the DSDT. This is the "model" code.

DSDTModel.png

"model",Buffer (){"Intel HD Graphics"}

*You can copy and paste this code into the DSDT if you like to save time.

This code adds the model name of the IGPU to About This Mac and System Information. Because we are using 1st Generation Intel HD Graphics, Apple calls our IGPU as simply "Intel HD Graphics". Again, you can change this code to anything you want like "Apple Graphics 5000" or "I Love Mac Graphics" but its only cosmetic so there's no benefit.

Because this is the last code, we don't need to add a comma. This tells OS X that all final injected codes stop here. This is what it should look like overall:

DSDT4.png

That's it! All you need to do now is compile it, save it, configure your bootloader to use it, remove Natit kext and rebuild cache. After that, restart your computer and your desktop should now load without Natit anymore.

:excl: Once a DSDT is compiled, the compiler will fill in numbers inside the Buffer() and Package() paranthesis. If you are going to edit these codes again, you have do delete these numbers inside the parenthesis or you will get compilation errors.

1.3 DSDT - Brightness Values for Internal LCD

:excl: Before continuing, your must have already followed mnorthern's guide to enable brightness functionality on your computer. If you have not read his thread, then this will not work.

Remember when you had to add the PNLF section into your DSDT? This method allows OS X to recognize your internal LCD and enable brightness functionality. This is also the place where all your brightness levels are located. Let's take a look at this PNLF section:
DSDTPNLF.png
*Your DSDT may look different from the one shown here.

If you don't remember where it is, it is suppose to be located just before Scope_PR. In my case, it was located under the Scope_SB folder. The code is a bit longer than what is shown in the screenshot. Here is the full PNLF code that I use for my computer:

Device (PNLF)	 {		 Name (_HID, EisaId ("APP0002"))		 Name (_CID, "backlight")		 Name (_UID, 0x0A)		 Name (_STA, 0x0B)		 Method (_BCL, 0, NotSerialized)		 {			 Return (Package (0x13)			 {				 0x0384,				 0x0384,				 Zero,				 0x012C,				 0x0258,				 0x0384,				 0x04B0,				 0x05DC,				 0x0708,				 0x0834,				 0x0960,				 0x0AC8,				 0x0BB8,				 0x0CE4,				 0x0E10,				 0x0F3C,				 0x10CC,				 0x1194,				 0x12C0			 })		 }		 Method (_BCM, 1, NotSerialized)		 {			 Store (0x80000000, LEVW)			 Store (0x13121312, LEVX)			 Store (0x80000000, LEV2)			 Store (Arg0, LEVL)		 }		 Method (_BQC, 0, NotSerialized)		 {			 Return (BRTL)		 }		 Method (_DOS, 1, NotSerialized)		 {			 ^^PCI0.GFX0._DOS (Arg0)		 }	 }}

*You cannot copy this code. You must find the values that work for your internal LCD. Continue to read.

For this section, we will be focusing on this part of the code:

PNLFBrightness.png

And to be more exact, we're going to focus on the BCL method inside the PLNF section:


PNFLBCL.png

Let's look at the code piece by piece. This is the first part:

Method (_BCL, 0, NotSerialized)		 {			 Return (Package (0x13)			 {

Method (_BCL, 0, NotSerialized) is a box that holds all of the brightness values. We will open the box with an open bracket "{". To make our lives easier, Return (Package (0x13) tells us how many things there are inside this box in hexadecimal format. For this BCL method, you cannot change this. I will explain why in a bit. Let's continue to look inside the box by using another open bracket "{".

0x0384,				 0x0384,				 Zero,				 0x012C,				 0x0258,				 0x0384,				 0x04B0,				 0x05DC,				 0x0708,				 0x0834,				 0x0960,				 0x0AC8,				 0x0BB8,				 0x0CE4,				 0x0E10,				 0x0F3C,				 0x10CC,				 0x1194,				 0x12C0

What you see here are numbers in hexadecimal format. Look at this diagram:

BCLValues.png

There are 19 values total but the top 2 values belong to brightness preset values and the other 17 values belong to the brightness slider in OS X. You cannot change the order of these values.

Now the question that you are asking is what do the hexadecimal numbers stand for? Here are the hexadecimal numbers converted to regular numbers:

0x012C means the number 300.
0x0258 means the number 600.
0x0384 means the number 900.
0x04B0 means the number 1200.
0x05DC means the number 1500.
0x0708 means the number 1800.
0x0834 means the number 2100.
0x0960 means the number 2400.
0x0AC8 means the number 2700.
0x0BB8 means the number 3000.
0x0CE4 means the number 3300.
0x0E10 means the number 3600.
0x0F3C means the number 3900.
0x010CC means the number 4200.
0x01194 means the number 4500.
0x012C0 means the number 4800.

:excl: Remember, the brightness values must be converted to hexadecimal format or they will not work. That is how OS X reads them.

Now that you know what the numbers stand for, lets look at first part. These are the brightness preset values.

0x0384,				 0x0384,

Now the order of these two codes are important. The top part switches the brightness level to 900 when the computer boots up with AC is connected or when you connect the AC to charge the battery. The bottom part switches the brightness level to 900 when the computer boots up using battery or when you disconnect the AC.

0x0384, (Brightness value when AC is connected) 0x0384, (Brightness value when Battery is being used)

Now lets look at the second part. These are the 17 brightness levels.

Zero,				 0x012C,				 0x0258,				 0x0384,				 0x04B0,				 0x05DC,				 0x0708,				 0x0834,				 0x0960,				 0x0AC8,				 0x0BB8,				 0x0CE4,				 0x0E10,				 0x0F3C,				 0x10CC,				 0x1194,				 0x12C0

The order is common sense. The lowest brightness value is 0 (Zero). The highest brightness value is 4800 (0x12C0).

:excl: The values for the brightness preset values must be from the 17 brightness levels.

To make things easier to read:

1. Zero, (Lowest Level - Zero means black screen)2. 0x012C,3. 0x0258,4. 0x0384,5. 0x04B0,6. 0x05DC,7. 0x0708,8. 0x0834,9. 0x0960,10. 0x0AC8,11. 0x0BB8,12. 0x0CE4,13. 0x0E10,14. 0x0F3C,15. 0x10CC,16. 0x1194,17. 0x12C0 (Highest Level)

The reason why there are 17 levels of brightness is because that is the maximum amount of levels that the slider can change to. If there are less or too much than 17, it will not work. You must come up with 17 values. You can repeat values if you want as long as there are 17.

Under construction...

Attached Files



#2
macandrea

macandrea

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts
  • Gender:Male
Thank you for collecting the information in a single place, it works on my DELL laptop also :)

#3
GhostRaider

GhostRaider

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 379 posts
  • Gender:Male

Thank you for collecting the information in a single place, it works on my DELL laptop also :)


Glad this guide helped you. :) I've seen in other places where users ask questions on how to do this or that and I decided put all of that information here. Any other discoveries, suggestions, are always welcome.

Remember the line "Once you go Mac, you never go back?" I've have not dual booted to Windows 8 ever since I did all of the things in this guide lol. There are more problems in native Windows than in a hacked OS X. :P

#4
jaller

jaller

    InsanelyMac Protégé

  • Members
  • Pip
  • 35 posts
  • Gender:Male
  • Location:Pescara,Italy
the graphics card is still bugged.i'll wait QE before delete dualboot.Anyway thank you for this guide you helped me with my IntelHD+Nvidia 540m(yes,i have optimus :( )

#5
lance76

lance76

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
Wow, I am soooo happy to have come back here and find this. Absolutely amazing. My Lenovo and I thank all of those involved for their awesome work in making this possible to all of us Intel HD laptop owners. Great, great job! Thanks again!! :)

#6
freebo007

freebo007

    InsanelyMac Protégé

  • Members
  • Pip
  • 1 posts
Hello,
For what OS version will these driver be working?
I got the arrandale / intel integrated / Radeon HD5000 (ATI Madison) in my HP dv7-4177 and would like mountain lion on it.
Install disk don't even boot.. :(
What's possible to do ? i used myhack to put the retail install on a usb stick.
thanks for any help, maybe just a link, one of you propably felt onto a "local apic KP" as i do, whatever the parameter i enter on chameleon?
Thanks to save me time, i suspect some myhack parameters to be able to solve my problem, but i don't find which!

#7
Van Gog

Van Gog

    InsanelyMac Protégé

  • Members
  • Pip
  • 11 posts
  • Gender:Male
  • Location:Russia
Thank you! It's cool! My FPS in OpenGL viewer is stand 50 FPS instead 5 before. Has anyone tried use AppleIntelHDGraphicsFB with edited AAPL,os-info and this kext?
What was edited in MLDP2AppleIntelHDGraphicskext ?
It's kext from 10.8.3?

#8
timbos

timbos

    InsanelyMac Protégé

  • Members
  • Pip
  • 2 posts
Thanks for this. Now got a semi working system TM2 with i5 430 cpu.

Do anyone know how to get the HDMI port working?

#9
mehdymehdy

mehdymehdy

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 149 posts

Thanks for this. Now got a semi working system TM2 with i5 430 cpu.

Do anyone know how to get the HDMI port working?

the only way I can think of is by editing DSDT.aml that's if you can get the right set of numbers which enables hdmi. hdmi and vga should be enabled through appleintelhdgraphicsFB.kext since that doesn't work. there is 2 options one is for a group of developers to work on another module which enables that just like how resolution was enabled. or through editing DSDT. for me i'm done with intelhdgraphics. because last night in a process of fixing my laptop's power jack something went wrong and a power surge burnt my motherboard. so my intelhdgraphic adventure time is over. hope u guys have more success :D

#10
mendietinha

mendietinha

    mendi

  • Members
  • PipPipPipPipPipPipPip
  • 508 posts
  • Gender:Male
  • Interests:full hackintosh.
that's very good. i suffer for a while trying to make my old hp to work.

#11
dcrui3

dcrui3

    InsanelyMac Protégé

  • Members
  • Pip
  • 2 posts
  • Gender:Male
Hi,

Ive been able to get Core Image and Custom Resolution to work with my Intel HD Graphics Card which is all thanks to all the hard work you guys have put into this... So, Thank you!

Im just having one problem with my graphics card atm. When I click on the Launchpad in ML my pc starts lagging and going slow until the Launchpad is closed, So I checked my graphics card info in System Information and below is what it reads...




35]Unknown:


35] Chipset Model: Unknown

35] Type: GPU

35] Bus: Built-In

35] VRAM (Total): 64 MB of Shared System Memory

35] Vendor: Intel (0x8086)

35] Device ID: 0x0046

35] Revision ID: 0x0018

35] Displays:

65]Display:

65] Resolution: 1366 x 768

65] Pixel Depth: 32-Bit Color (ARGB8888)

65] Main Display: Yes

65] Mirror: Off

65] Online: Yes



It seems as if the card isn't being properly detected at all including the graphics memory. I don't know the specs on the graphics cards memory or if this is the way it

is for is for all of us. If someone could please have a look and give me a hand. Thank you!



#12
GhostRaider

GhostRaider

    InsanelyMac Sage

  • Members
  • PipPipPipPipPipPip
  • 379 posts
  • Gender:Male

Hi,

Ive been able to get Core Image and Custom Resolution to work with my Intel HD Graphics Card which is all thanks to all the hard work you guys have put into this... So, Thank you!

Im just having one problem with my graphics card atm. When I click on the Launchpad in ML my pc starts lagging and going slow until the Launchpad is closed, So I checked my graphics card info in System Information and below is what it reads...




35]Unknown:


35] Chipset Model: Unknown

35] Type: GPU

35] Bus: Built-In

35] VRAM (Total): 64 MB of Shared System Memory

35] Vendor: Intel (0x8086)

35] Device ID: 0x0046

35] Revision ID: 0x0018

35] Displays:

65]Display:

65] Resolution: 1366 x 768

65] Pixel Depth: 32-Bit Color (ARGB8888)

65] Main Display: Yes

65] Mirror: Off

65] Online: Yes


It seems as if the card isn't being properly detected at all including the graphics memory. I don't know the specs on the graphics cards memory or if this is the way it
is for is for all of us. If someone could please have a look and give me a hand. Thank you!



Launchpad will lag even if we have Core Image. This is because Quartz Extreme is not enabled. QE is used to smooth out the animations. Think of Core Image as the bread of the cake and Quartz Extreme as the icing on the cake. As of now there isn't a solution to enable it. However it's better than nothing.

As for your unrecognized graphics chip, you will probably need to inject that infromation to the DSDT. I don't really have time to write out how to do it but I will later on in the future and add it in this guide. Of course there are threads and tutorials around the Insanelymac community to get you started. :)

#13
warraisraw

warraisraw

    InsanelyMac Protégé

  • Members
  • Pip
  • 45 posts
  • Gender:Male

Hi,

Ive been able to get Core Image and Custom Resolution to work with my Intel HD Graphics Card which is all thanks to all the hard work you guys have put into this... So, Thank you!

Im just having one problem with my graphics card atm. When I click on the Launchpad in ML my pc starts lagging and going slow until the Launchpad is closed, So I checked my graphics card info in System Information and below is what it reads...




35]Unknown:


35] Chipset Model: Unknown

35] Type: GPU

35] Bus: Built-In

35] VRAM (Total): 64 MB of Shared System Memory

35] Vendor: Intel (0x8086)

35] Device ID: 0x0046

35] Revision ID: 0x0018

35] Displays:

65]Display:

65] Resolution: 1366 x 768

65] Pixel Depth: 32-Bit Color (ARGB8888)

65] Main Display: Yes

65] Mirror: Off

65] Online: Yes



It seems as if the card isn't being properly detected at all including the graphics memory. I don't know the specs on the graphics cards memory or if this is the way it

is for is for all of us. If someone could please have a look and give me a hand. Thank you!



Hi, I had the same problem and solved it by installing Natit.kext, now my graphics card is recognized correctly and even noticed a small improvement. I hope help.

Thanks for this guide!

Attached Files



#14
manor

manor

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 318 posts
  • Gender:Male
thanks guys for good effect I need to fix about this mac not work and memory also say there was an error please help 10.8.2
Sony laptop
processor: i5 460M
Clockfrequency: 2.53GHZ
RAM: 4Gb
DDR3
Mem clockfreq.: 1333 Mhz

#15
timbos

timbos

    InsanelyMac Protégé

  • Members
  • Pip
  • 2 posts
Thanks for the Natit tip.

Anyone got any ideas how to enable my HMDI port with this?

#16
2bad0

2bad0

    InsanelyMac Protégé

  • Members
  • PipPip
  • 68 posts
Actualy, i thought someone had already discovered this,hence i never posted about it, :(.

To go a step further if you add the hdframebuffer kext you will get a blackscreen or even grey depending on which AAPP-OS-INFO you use.I just used natit.kext to inject mine

Upon connecting via vnc you will realize that there is qe/ci, well to be more precise translucent menu bar.

But the problem is getting it to output to the internal LCD.



To be very clear,if you add the kext i have attached i'm 90% sure you will get a black/grey screen with backlight or even a kernel panic.

You will only be able to access you desktop via VNC, meaning you will have to enable screen sharing in advance,and know your ip adress.

in order for you to access you desktop via another machine with VNC client.


Side Note

If i boot from bios with an external display hooked up to vga it will result in an immediate restart after the frambuffer kext loads.
However if i plug in the external screen after the bootloader has loaded i get a fuzzy somewhat unusable screen.

#17
manor

manor

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 318 posts
  • Gender:Male
I test screenserver its not work

#18
Mageek

Mageek

    InsanelyMac Protégé

  • Members
  • Pip
  • 10 posts
I have an i5-430 cpu @2.66 w/hm57 chipset running only intel hd graphics it is a Dell 17R n7010 laptop. Currently i am running at 1440x900 graphics on ML 10.8.2
i was following the initial work of Rem and got it to work with the modules edit. What I just realized is that one of the reasons for this working was the fact that I had an external monitor connected to my laptop. If I remove it, it goes back to 1024x768. i will try the new kexts and see if this changes.

#19
manor

manor

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 318 posts
  • Gender:Male
Hi Ghostraider can you upload your ioreg file. I need find right "AAPL,os-info" I don't know how to find "AAPL,os-info" for our card thankyou.

#20
2bad0

2bad0

    InsanelyMac Protégé

  • Members
  • PipPip
  • 68 posts
Manor

The Hd Kext Has Four Values Here They Are


30490111111108000001f01f0100000010070000
30490111011008000001000000000000FFFFFFFF
30490014141408040000000000000000ffffffff
30490101010008000000000000000000FFFFFFFF





Also tagged with one or more of these keywords: Intel GMA HD, Arrandale, Intel GMA 5700HD


7 user(s) are reading this topic

0 members, 7 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